altosui: Make UI Look&Feel configurable
[fw/altos] / altosui / AltosIdleMonitorUI.java
index 988a797c963a85cdad456e530d16286983fd7fdc..a5f41e258891054732ee867a2ef9cb1ba468197a 100644 (file)
@@ -255,7 +255,7 @@ class AltosIdleMonitor extends Thread {
        }
 }
 
-public class AltosIdleMonitorUI extends JFrame implements AltosFlightDisplay {
+public class AltosIdleMonitorUI extends AltosFrame implements AltosFlightDisplay, AltosFontListener {
        AltosDevice             device;
        JTabbedPane             pane;
        AltosPad                pad;
@@ -289,6 +289,10 @@ public class AltosIdleMonitorUI extends JFrame implements AltosFlightDisplay {
                flightInfo.set_font();
        }
 
+       public void font_size_changed(int font_size) {
+               set_font();
+       }
+
        public void show(AltosState state, int crc_errors) {
                try {
                        pad.show(state, crc_errors);
@@ -377,12 +381,16 @@ public class AltosIdleMonitorUI extends JFrame implements AltosFlightDisplay {
                bag.add(pane, c);
 
                setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
+
+               AltosPreferences.register_font_listener(this);
+
                addWindowListener(new WindowAdapter() {
                                @Override
                                public void windowClosing(WindowEvent e) {
                                        disconnect();
                                        setVisible(false);
                                        dispose();
+                                       AltosPreferences.unregister_font_listener(AltosIdleMonitorUI.this);
                                }
                        });