summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-12-18 02:03:15 -0800
committerKeith Packard <keithp@keithp.com>2013-12-18 02:03:15 -0800
commit77b04d662a6704f5db10522a2f9b169d31df5bea (patch)
treef699a5e250057d4090bb98d211725d651480b9af
parent012abeda6ae846d74729e96e7ed7c8af2edca572 (diff)
altosui: Hide non-applicable altimeter config values
This makes configuring EasyMini a lot easier... Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altoslib/AltosConfigData.java4
-rw-r--r--altosui/AltosConfigUI.java39
-rw-r--r--altosui/AltosFreqList.java6
3 files changed, 22 insertions, 27 deletions
diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java
index d92f42c3..1c3085bd 100644
--- a/altoslib/AltosConfigData.java
+++ b/altoslib/AltosConfigData.java
@@ -336,6 +336,10 @@ public class AltosConfigData implements Iterable<String> {
public double frequency() {
int channel = radio_channel;
int setting = radio_setting;
+
+ if (radio_frequency < 0 && channel < 0 && setting < 0)
+ return -1;
+
if (channel < 0)
channel = 0;
if (setting < 0)
diff --git a/altosui/AltosConfigUI.java b/altosui/AltosConfigUI.java
index e07984b9..a7d95903 100644
--- a/altosui/AltosConfigUI.java
+++ b/altosui/AltosConfigUI.java
@@ -786,28 +786,7 @@ public class AltosConfigUI
}
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);
- AltosUIPreferences.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() {
@@ -815,7 +794,11 @@ public class AltosConfigUI
}
public void set_radio_calibration(int new_radio_calibration) {
- radio_calibration_value.setText(String.format("%d", new_radio_calibration));
+ radio_calibration_value.setVisible(new_radio_calibration >= 0);
+ if (new_radio_calibration < 0)
+ radio_calibration_value.setText("Disabled");
+ else
+ radio_calibration_value.setText(String.format("%d", new_radio_calibration));
}
public int radio_calibration() {
@@ -828,6 +811,7 @@ public class AltosConfigUI
radio_enable_value.setEnabled(true);
} else {
radio_enable_value.setSelected(true);
+ radio_enable_value.setVisible(radio_frequency() > 0);
radio_enable_value.setEnabled(false);
}
set_radio_enable_tool_tip();
@@ -841,6 +825,7 @@ public class AltosConfigUI
}
public void set_callsign(String new_callsign) {
+ callsign_value.setVisible(new_callsign != null);
callsign_value.setText(new_callsign);
}
@@ -900,10 +885,10 @@ public class AltosConfigUI
if (new_pad_orientation >= pad_orientation_values.length)
new_pad_orientation = 0;
if (new_pad_orientation < 0) {
- pad_orientation_value.setEnabled(false);
+ pad_orientation_value.setVisible(false);
new_pad_orientation = 0;
} else {
- pad_orientation_value.setEnabled(true);
+ pad_orientation_value.setVisible(true);
}
pad_orientation_value.setSelectedIndex(new_pad_orientation);
set_pad_orientation_tool_tip();
@@ -918,7 +903,7 @@ public class AltosConfigUI
public void set_pyros(AltosPyro[] new_pyros) {
pyros = new_pyros;
- pyro.setEnabled(pyros != null);
+ pyro.setVisible(pyros != null);
if (pyros != null && pyro_ui != null)
pyro_ui.set_pyros(pyros);
}
@@ -937,7 +922,7 @@ public class AltosConfigUI
else
s = Integer.toString(new_aprs_interval);
aprs_interval_value.setSelectedItem(s);
- aprs_interval_value.setEnabled(new_aprs_interval >= 0);
+ aprs_interval_value.setVisible(new_aprs_interval >= 0);
set_aprs_interval_tool_tip();
}
diff --git a/altosui/AltosFreqList.java b/altosui/AltosFreqList.java
index 917ac364..17a995d4 100644
--- a/altosui/AltosFreqList.java
+++ b/altosui/AltosFreqList.java
@@ -29,6 +29,12 @@ public class AltosFreqList extends JComboBox {
public void set_frequency(double new_frequency) {
int i;
+
+ if (new_frequency < 0) {
+ setVisible(false);
+ return;
+ }
+
for (i = 0; i < getItemCount(); i++) {
AltosFrequency f = (AltosFrequency) getItemAt(i);