altosui: Update 'Imperial Units' checkbox when units change
authorKeith Packard <keithp@keithp.com>
Sat, 4 Oct 2014 07:10:03 +0000 (00:10 -0700)
committerKeith Packard <keithp@keithp.com>
Sat, 4 Oct 2014 07:10:03 +0000 (00:10 -0700)
If you have two graphs running, make sure the imperial units
checkboxes agree.

Signed-off-by: Keith Packard <keithp@keithp.com>
altosui/AltosGraphUI.java
altosuilib/AltosUIEnable.java

index 2d00fb45a74be84e0198d1c7c4c8c195c8b07544..df6f05408b9aaec1ec33285f5211963a74935598 100644 (file)
@@ -64,6 +64,8 @@ public class AltosGraphUI extends AltosUIFrame implements AltosFontListener, Alt
        public void units_changed(boolean imperial_units) {
                if (map != null)
                        map.units_changed(imperial_units);
+               if (enable != null)
+                       enable.units_changed(imperial_units);
        }
 
        AltosGraphUI(AltosStateIterable states, File file) throws InterruptedException, IOException {
index e227d2b774e283d6a9690f7b7ef614e0437f3672..c1e4967e564024ead48fc1e6c2afbfdd56392136 100644 (file)
@@ -37,12 +37,19 @@ import org.jfree.data.*;
 
 public class AltosUIEnable extends Container {
 
-       Insets  il, ir;
-       int     y;
-       int     x;
+       Insets          il, ir;
+       int             y;
+       int             x;
+       JCheckBox       imperial_units;
 
        static final int max_rows = 14;
 
+       public void units_changed(boolean imperial_units) {
+               if (this.imperial_units != null) {
+                       this.imperial_units.setSelected(imperial_units);
+               }
+       }
+
        class GraphElement implements ActionListener {
                AltosUIGrapher  grapher;
                JCheckBox       enable;
@@ -86,7 +93,7 @@ public class AltosUIEnable extends Container {
                /* Imperial units setting */
 
                /* Add label */
-               JCheckBox imperial_units = new JCheckBox("Imperial Units", AltosUIPreferences.imperial_units());
+               imperial_units = new JCheckBox("Imperial Units", AltosUIPreferences.imperial_units());
                imperial_units.addActionListener(new ActionListener() {
                                public void actionPerformed(ActionEvent e) {
                                        JCheckBox item = (JCheckBox) e.getSource();