diff options
author | Keith Packard <keithp@keithp.com> | 2014-06-16 22:48:25 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2014-06-16 22:48:25 -0700 |
commit | 75766b0e7ee30fb3bfbf90ecb68f7758bac6eeba (patch) | |
tree | 5f03b22b1fb7117bbfcb01f2ce564e0f40472de6 /altosuilib | |
parent | ed38b1b596062b2232fa78a3181f6eaf5818b651 (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.java | 43 |
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); } } |