summaryrefslogtreecommitdiff
path: root/altosuilib
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-06-16 22:48:25 -0700
committerKeith Packard <keithp@keithp.com>2014-06-16 22:48:25 -0700
commit75766b0e7ee30fb3bfbf90ecb68f7758bac6eeba (patch)
tree5f03b22b1fb7117bbfcb01f2ce564e0f40472de6 /altosuilib
parented38b1b596062b2232fa78a3181f6eaf5818b651 (diff)
altosui: Fix ground station configure frequency list
Fix the API to match the switch to a menu, wrap in a menu bar to make it work. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosuilib')
-rw-r--r--altosuilib/AltosFreqList.java43
1 files changed, 35 insertions, 8 deletions
diff --git a/altosuilib/AltosFreqList.java b/altosuilib/AltosFreqList.java
index b985d472..a4c3e36a 100644
--- a/altosuilib/AltosFreqList.java
+++ b/altosuilib/AltosFreqList.java
@@ -59,14 +59,30 @@ public class AltosFreqList extends JMenu implements ActionListener {
l.actionPerformed(event);
}
+ boolean label = true;
+
+ public void set_label(boolean label) {
+ this.label = label;
+ set_label();
+ }
+
+ private void set_label() {
+ String new_text = "";
+ if (0 <= selected && selected < frequencies.length) {
+ AltosFrequency frequency = frequencies[selected];
+ new_text = String.format("%s%7.3f MHz (%s) ▾",
+ label ? "Frequency: " : "",
+ frequency.frequency,
+ frequency.description);
+ }
+ setText(new_text);
+ }
+
private void set_selected(AltosFrequency frequency) {
for (int i = 0; i < frequencies.length; i++) {
if (frequencies[i].frequency == frequency.frequency) {
selected = i;
- String new_text = String.format("Frequency: %7.3f MHz (%s) ▾",
- frequency.frequency,
- frequency.description);
- setText(new_text);
+ set_label();
}
}
}
@@ -164,16 +180,27 @@ public class AltosFreqList extends JMenu implements ActionListener {
return 434.550;
}
- public AltosFreqList () {
+ public AltosFreqList(double in_frequency, boolean label) {
super();
+ this.label = label;
+
for (AltosFrequency frequency: AltosUIPreferences.common_frequencies())
add(frequency);
product = "Unknown";
serial = 0;
- }
+ if (in_frequency != 0)
+ set_frequency(in_frequency);
+ }
public AltosFreqList(double in_frequency) {
- this();
- set_frequency(in_frequency);
+ this(in_frequency, true);
+ }
+
+ public AltosFreqList (boolean label) {
+ this(0, label);
+ }
+
+ public AltosFreqList () {
+ this(0, true);
}
}