windows: Rename telemetrum.inf to altusmetrum.inf
[fw/altos] / altosui / AltosConfigUI.java
index ee54e31e30c32fe7457a7ab516c80d332f6ddbd8..1b5ff9881b0c2ee28458e9ff8772d778fcf3bf5e 100644 (file)
@@ -78,6 +78,7 @@ public class AltosConfigUI
        JButton                 close;
 
        AltosPyro[]             pyros;
+       double                  pyro_firing_time;
 
        ActionListener          listener;
 
@@ -792,7 +793,7 @@ public class AltosConfigUI
 
                if (cmd.equals("Pyro")) {
                        if (pyro_ui == null && pyros != null)
-                               pyro_ui = new AltosConfigPyroUI(this, pyros);
+                               pyro_ui = new AltosConfigPyroUI(this, pyros, pyro_firing_time);
                        if (pyro_ui != null)
                                pyro_ui.make_visible();
                        return;
@@ -1102,7 +1103,14 @@ public class AltosConfigUI
        }
 
        public void set_tracker_motion(int tracker_motion) {
-               tracker_motion_value.setSelectedItem(AltosConvert.height.say(tracker_motion));
+               if (tracker_motion < 0) {
+                       tracker_motion_label.setVisible(false);
+                       tracker_motion_value.setVisible(false);
+               } else {
+                       tracker_motion_label.setVisible(true);
+                       tracker_motion_value.setVisible(true);
+                       tracker_motion_value.setSelectedItem(AltosConvert.height.say(tracker_motion));
+               }
        }
 
        public int tracker_motion() throws AltosConfigDataException {
@@ -1110,7 +1118,14 @@ public class AltosConfigUI
        }
 
        public void set_tracker_interval(int tracker_interval) {
-               tracker_interval_value.setSelectedItem(String.format("%d", tracker_interval));
+               if (tracker_interval< 0) {
+                       tracker_interval_label.setVisible(false);
+                       tracker_interval_value.setVisible(false);
+               } else {
+                       tracker_interval_label.setVisible(true);
+                       tracker_interval_value.setVisible(true);
+                       tracker_interval_value.setSelectedItem(String.format("%d", tracker_interval));
+               }
        }
 
        public int tracker_interval() throws AltosConfigDataException {
@@ -1130,6 +1145,19 @@ public class AltosConfigUI
                return pyros;
        }
 
+       public void set_pyro_firing_time(double new_pyro_firing_time) {
+               pyro_firing_time = new_pyro_firing_time;
+               pyro.setVisible(pyro_firing_time >= 0);
+               if (pyro_firing_time >= 0 && pyro_ui != null)
+                       pyro_ui.set_pyro_firing_time(pyro_firing_time);
+       }
+
+       public double pyro_firing_time() throws AltosConfigDataException {
+               if (pyro_ui != null)
+                       pyro_firing_time = pyro_ui.get_pyro_firing_time();
+               return pyro_firing_time;
+       }
+
        public void set_aprs_interval(int new_aprs_interval) {
                String  s;