JLabel product_value;
JLabel version_value;
JLabel serial_value;
+ JMenuBar radio_frequency_menu_bar;
AltosFreqList radio_frequency_value;
JLabel radio_calibration_value;
c.anchor = GridBagConstraints.LINE_START;
c.insets = ir;
c.ipady = 5;
- radio_frequency_value = new AltosFreqList();
+ radio_frequency_value = new AltosFreqList(false);
radio_frequency_value.addItemListener(this);
- pane.add(radio_frequency_value, c);
+ radio_frequency_menu_bar = new JMenuBar();
+ radio_frequency_menu_bar.add(radio_frequency_value);
+ pane.add(radio_frequency_menu_bar, c);
radio_frequency_value.setToolTipText("Telemetry, RDF and packet frequency");
/* Radio Calibration */
}
public void set_radio_frequency(double new_radio_frequency) {
- int i;
- for (i = 0; i < radio_frequency_value.getItemCount(); i++) {
- AltosFrequency f = (AltosFrequency) radio_frequency_value.getItemAt(i);
-
- if (f.close(new_radio_frequency)) {
- radio_frequency_value.setSelectedIndex(i);
- return;
- }
- }
- for (i = 0; i < radio_frequency_value.getItemCount(); i++) {
- AltosFrequency f = (AltosFrequency) radio_frequency_value.getItemAt(i);
-
- if (new_radio_frequency < f.frequency)
- break;
- }
- String description = String.format("%s serial %s",
- product_value.getText(),
- serial_value.getText());
- AltosFrequency new_frequency = new AltosFrequency(new_radio_frequency, description);
- AltosPreferences.add_common_frequency(new_frequency);
- radio_frequency_value.insertItemAt(new_frequency, i);
- radio_frequency_value.setSelectedIndex(i);
+ radio_frequency_value.set_frequency(new_radio_frequency);
}
public double radio_frequency() {
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();
}
}
}
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);
}
}