altosuilib: Wrap radio frequency menu in JMenuBar when used in config
[fw/altos] / altosui / AltosConfigUI.java
index 56d0d2a7d4b5a07845d044fa2ac23329ec520f3e..a4e7aca6b6024b7bdff8bc653de9aa2ab2fb3066 100644 (file)
@@ -21,8 +21,8 @@ import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.event.*;
-import org.altusmetrum.altoslib_4.*;
-import org.altusmetrum.altosuilib_2.*;
+import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altosuilib_3.*;
 
 public class AltosConfigUI
        extends AltosUIDialog
@@ -419,7 +419,10 @@ public class AltosConfigUI
                c.ipady = 5;
                radio_frequency_value = new AltosFreqList();
                radio_frequency_value.addItemListener(this);
-               pane.add(radio_frequency_value, c);
+
+               JMenuBar menu_bar = new JMenuBar();
+               menu_bar.add(radio_frequency_value);
+               pane.add(menu_bar, c);
                radio_frequency_value.setToolTipText("Telemetry, RDF and packet frequency");
                row++;
 
@@ -1103,7 +1106,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 {
@@ -1111,7 +1121,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 {