X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosuilib%2FAltosUIPreferences.java;h=fc14f24b5a3417190ad4445d36f50cb861e386d8;hp=485cb582f1cd13f93af714433f459afdbe6b08b7;hb=b1f3525afa801038f7087a3a2caf369f2460a5db;hpb=65b512c890a3ccf487655b79305ab1cfcf49259c diff --git a/altosuilib/AltosUIPreferences.java b/altosuilib/AltosUIPreferences.java index 485cb582..fc14f24b 100644 --- a/altosuilib/AltosUIPreferences.java +++ b/altosuilib/AltosUIPreferences.java @@ -15,13 +15,13 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altosuilib; +package org.altusmetrum.altosuilib_1; import java.io.*; import java.util.*; import java.awt.Component; import javax.swing.*; -import org.altusmetrum.AltosLib.*; +import org.altusmetrum.altoslib_2.*; public class AltosUIPreferences extends AltosPreferences { @@ -31,6 +31,9 @@ public class AltosUIPreferences extends AltosPreferences { /* Look&Feel preference name */ final static String lookAndFeelPreference = "LOOK-AND-FEEL"; + /* Window position preference name */ + final static String positionPreference = "POSITION"; + /* UI Component to pop dialogs up */ static Component component; @@ -45,6 +48,10 @@ public class AltosUIPreferences extends AltosPreferences { /* Serial debug */ public static boolean serial_debug; + static LinkedList position_listeners; + + public static int position = AltosUILib.position_top_left; + public static void init() { AltosPreferences.init(new AltosUIPreferencesBackend()); @@ -56,7 +63,11 @@ public class AltosUIPreferences extends AltosPreferences { ui_listeners = new LinkedList(); serial_debug = backend.getBoolean(serialDebugPreference, false); + AltosLink.set_debug(serial_debug); + + position = backend.getInt(positionPreference, AltosUILib.position_top_left); + position_listeners = new LinkedList(); } static { init(); } @@ -177,4 +188,31 @@ public class AltosUIPreferences extends AltosPreferences { } } + public static void register_position_listener(AltosPositionListener l) { + synchronized(backend) { + position_listeners.add(l); + } + } + + public static void unregister_position_listener(AltosPositionListener l) { + synchronized (backend) { + position_listeners.remove(l); + } + } + + public static void set_position(int new_position) { + synchronized (backend) { + position = new_position; + backend.putInt(positionPreference, position); + flush_preferences(); + for (AltosPositionListener l : position_listeners) + l.position_changed(position); + } + } + + public static int position() { + synchronized (backend) { + return position; + } + } }