diff options
author | Bdale Garbee <bdale@gag.com> | 2011-08-24 01:38:58 -0600 |
---|---|---|
committer | Bdale Garbee <bdale@gag.com> | 2011-08-24 01:38:58 -0600 |
commit | 4d94e8f9f807a0bbeab0cdead011e74eeca1d1b6 (patch) | |
tree | 1cf403c89bfdc979f7597d2fbf1e0dab75116afe /altosui | |
parent | 4b5369dc3da2fc8441eeacbf094537b0cf52240d (diff) | |
parent | 3b0a9a1c87390747492bfef435ac8e0829ec748f (diff) |
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Diffstat (limited to 'altosui')
-rw-r--r-- | altosui/AltosConfigUI.java | 78 | ||||
-rw-r--r-- | altosui/AltosConfigureUI.java | 6 | ||||
-rw-r--r-- | altosui/AltosFlightUI.java | 7 | ||||
-rw-r--r-- | altosui/AltosIgniteUI.java | 5 | ||||
-rw-r--r-- | altosui/AltosScanUI.java | 2 | ||||
-rw-r--r-- | altosui/AltosUI.java | 4 |
6 files changed, 96 insertions, 6 deletions
diff --git a/altosui/AltosConfigUI.java b/altosui/AltosConfigUI.java index bb9e1cd2..d20dd073 100644 --- a/altosui/AltosConfigUI.java +++ b/altosui/AltosConfigUI.java @@ -116,6 +116,63 @@ public class AltosConfigUI } } + boolean is_telemini() { + String product = product_value.getText(); + return product != null && product.startsWith("TeleMini"); + } + + boolean is_telemetrum() { + String product = product_value.getText(); + return product != null && product.startsWith("TeleMetrum"); + } + + void set_radio_calibration_tool_tip() { + if (radio_calibration_value.isEnabled()) + radio_calibration_value.setToolTipText("Tune radio output to match desired frequency"); + else + radio_calibration_value.setToolTipText("Cannot tune radio while connected over packet mode"); + } + + void set_radio_enable_tool_tip() { + if (radio_enable_value.isEnabled()) + radio_enable_value.setToolTipText("Enable/Disable telemetry and RDF transmissions"); + else + radio_enable_value.setToolTipText("Firmware version does not support disabling radio"); + } + + void set_flight_log_max_tool_tip() { + if (flight_log_max_value.isEnabled()) + flight_log_max_value.setToolTipText("Size reserved for each flight log (in kB)"); + else { + if (is_telemetrum()) + flight_log_max_value.setToolTipText("Cannot set max value with flight logs in memory"); + else if (is_telemini()) + flight_log_max_value.setToolTipText("TeleMini stores only one flight"); + else + flight_log_max_value.setToolTipText("Cannot set max flight log value"); + } + } + + void set_ignite_mode_tool_tip() { + if (ignite_mode_value.isEnabled()) + ignite_mode_value.setToolTipText("Select when igniters will be fired"); + else + ignite_mode_value.setToolTipText("Older firmware could not select ignite mode"); + } + + void set_pad_orientation_tool_tip() { + if (pad_orientation_value.isEnabled()) + pad_orientation_value.setToolTipText("How will TeleMetrum be mounted in the airframe"); + else { + if (is_telemetrum()) + pad_orientation_value.setToolTipText("Older TeleMetrum firmware must fly antenna forward"); + else if (is_telemini()) + pad_orientation_value.setToolTipText("TeleMini doesn't care how it is mounted"); + else + pad_orientation_value.setToolTipText("Can't select orientation"); + } + } + /* Build the UI using a grid bag */ public AltosConfigUI(JFrame in_owner, boolean remote) { super (in_owner, "Configure TeleMetrum", false); @@ -216,6 +273,7 @@ public class AltosConfigUI main_deploy_value.setEditable(true); main_deploy_value.addItemListener(this); pane.add(main_deploy_value, c); + main_deploy_value.setToolTipText("Height above pad altitude to fire main charge"); /* Apogee delay */ c = new GridBagConstraints(); @@ -240,6 +298,7 @@ public class AltosConfigUI apogee_delay_value.setEditable(true); apogee_delay_value.addItemListener(this); pane.add(apogee_delay_value, c); + apogee_delay_value.setToolTipText("Delay after apogee before charge fires"); /* Frequency */ c = new GridBagConstraints(); @@ -263,6 +322,7 @@ public class AltosConfigUI radio_frequency_value = new AltosFreqList(); radio_frequency_value.addItemListener(this); pane.add(radio_frequency_value, c); + radio_frequency_value.setToolTipText("Telemetry, RDF and packet frequency"); /* Radio Calibration */ c = new GridBagConstraints(); @@ -288,6 +348,7 @@ public class AltosConfigUI if (remote) radio_calibration_value.setEnabled(false); pane.add(radio_calibration_value, c); + set_radio_calibration_tool_tip(); /* Radio Enable */ c = new GridBagConstraints(); @@ -311,6 +372,7 @@ public class AltosConfigUI radio_enable_value = new JRadioButton("Enabled"); radio_enable_value.addItemListener(this); pane.add(radio_enable_value, c); + set_radio_enable_tool_tip(); /* Callsign */ c = new GridBagConstraints(); @@ -334,6 +396,7 @@ public class AltosConfigUI callsign_value = new JTextField(AltosPreferences.callsign()); callsign_value.getDocument().addDocumentListener(this); pane.add(callsign_value, c); + callsign_value.setToolTipText("Callsign reported in telemetry data"); /* Flight log max */ c = new GridBagConstraints(); @@ -358,6 +421,7 @@ public class AltosConfigUI flight_log_max_value.setEditable(true); flight_log_max_value.addItemListener(this); pane.add(flight_log_max_value, c); + set_flight_log_max_tool_tip(); /* Ignite mode */ c = new GridBagConstraints(); @@ -382,6 +446,7 @@ public class AltosConfigUI ignite_mode_value.setEditable(false); ignite_mode_value.addItemListener(this); pane.add(ignite_mode_value, c); + set_ignite_mode_tool_tip(); /* Pad orientation */ c = new GridBagConstraints(); @@ -406,6 +471,7 @@ public class AltosConfigUI pad_orientation_value.setEditable(false); pad_orientation_value.addItemListener(this); pane.add(pad_orientation_value, c); + set_pad_orientation_tool_tip(); /* Buttons */ c = new GridBagConstraints(); @@ -521,6 +587,8 @@ public class AltosConfigUI public void set_product(String product) { radio_frequency_value.set_product(product); product_value.setText(product); + set_pad_orientation_tool_tip(); + set_flight_log_max_tool_tip(); } public void set_version(String version) { @@ -585,12 +653,14 @@ public class AltosConfigUI } public void set_radio_enable(int new_radio_enable) { - if (new_radio_enable >= 0) + if (new_radio_enable >= 0) { radio_enable_value.setSelected(new_radio_enable > 0); - else { + radio_enable_value.setEnabled(true); + } else { radio_enable_value.setSelected(true); radio_enable_value.setEnabled(false); } + set_radio_enable_tool_tip(); } public int radio_enable() { @@ -612,10 +682,12 @@ public class AltosConfigUI if (new_flight_log_max == 0) flight_log_max_value.setEnabled(false); flight_log_max_value.setSelectedItem(Integer.toString(new_flight_log_max)); + set_flight_log_max_tool_tip(); } public void set_flight_log_max_enabled(boolean enable) { flight_log_max_value.setEnabled(enable); + set_flight_log_max_tool_tip(); } public int flight_log_max() { @@ -642,6 +714,7 @@ public class AltosConfigUI ignite_mode_value.setEnabled(true); } ignite_mode_value.setSelectedIndex(new_ignite_mode); + set_ignite_mode_tool_tip(); } public int ignite_mode() { @@ -660,6 +733,7 @@ public class AltosConfigUI pad_orientation_value.setEnabled(true); } pad_orientation_value.setSelectedIndex(new_pad_orientation); + set_pad_orientation_tool_tip(); } public int pad_orientation() { diff --git a/altosui/AltosConfigureUI.java b/altosui/AltosConfigureUI.java index abb54c74..0c865d0e 100644 --- a/altosui/AltosConfigureUI.java +++ b/altosui/AltosConfigureUI.java @@ -125,6 +125,7 @@ public class AltosConfigureUI c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.WEST; pane.add(enable_voice, c); + enable_voice.setToolTipText("Enable/Disable all audio in-flight announcements"); c.gridx = 2; c.gridy = 2; @@ -139,6 +140,7 @@ public class AltosConfigureUI } }); pane.add(test_voice, c); + test_voice.setToolTipText("Play a stock audio clip to check volume"); /* Log directory settings */ c.gridx = 0; @@ -161,6 +163,7 @@ public class AltosConfigureUI c.fill = GridBagConstraints.BOTH; c.anchor = GridBagConstraints.WEST; pane.add(configure_log, c); + configure_log.setToolTipText("Which directory flight logs are stored in"); /* Callsign setting */ c.gridx = 0; @@ -178,6 +181,7 @@ public class AltosConfigureUI c.fill = GridBagConstraints.BOTH; c.anchor = GridBagConstraints.WEST; pane.add(callsign_value, c); + callsign_value.setToolTipText("Callsign sent in packet mode"); /* Serial debug setting */ c.gridx = 0; @@ -195,6 +199,7 @@ public class AltosConfigureUI AltosPreferences.set_serial_debug(enabled); } }); + serial_debug.setToolTipText("Enable/Disable USB I/O getting sent to the console"); c.gridx = 1; c.gridy = 5; @@ -223,6 +228,7 @@ public class AltosConfigureUI AltosConfigFreqUI.show(owner); } }); + manage_frequencies.setToolTipText("Configure which values are shown in frequency menus"); // BLUETOOTH // c.gridx = 2; c.gridx = 1; diff --git a/altosui/AltosFlightUI.java b/altosui/AltosFlightUI.java index 51768046..abe08a18 100644 --- a/altosui/AltosFlightUI.java +++ b/altosui/AltosFlightUI.java @@ -172,7 +172,10 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { }); c.gridx = 0; c.gridy = 0; + c.weightx = 0; + c.weighty = 0; c.insets = new Insets(3, 3, 3, 3); + c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.WEST; bag.add (frequencies, c); @@ -186,6 +189,8 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { telemetry = Altos.ao_telemetry_standard; telemetries.setSelectedIndex(telemetry - 1); telemetries.setMaximumRowCount(Altos.ao_telemetry_max); + telemetries.setPreferredSize(null); + telemetries.revalidate(); telemetries.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int telemetry = telemetries.getSelectedIndex() + 1; @@ -195,6 +200,8 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { }); c.gridx = 1; c.gridy = 0; + c.weightx = 0; + c.weighty = 0; c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.WEST; bag.add (telemetries, c); diff --git a/altosui/AltosIgniteUI.java b/altosui/AltosIgniteUI.java index 806b87b9..c11a8614 100644 --- a/altosui/AltosIgniteUI.java +++ b/altosui/AltosIgniteUI.java @@ -341,8 +341,8 @@ public class AltosIgniteUI c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.CENTER; c.insets = i; - c.weightx = 1; - c.weighty = 1; + c.weightx = 0; + c.weighty = 0; c.gridx = 0; c.gridy = 0; @@ -412,7 +412,6 @@ public class AltosIgniteUI close.addActionListener(this); close.setActionCommand("close"); - pack(); setLocationRelativeTo(owner); diff --git a/altosui/AltosScanUI.java b/altosui/AltosScanUI.java index dd6672aa..bce4b32c 100644 --- a/altosui/AltosScanUI.java +++ b/altosui/AltosScanUI.java @@ -386,7 +386,7 @@ public class AltosScanUI set_label(); - c.fill = GridBagConstraints.NONE; + c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.WEST; c.insets = i; c.weightx = 1; diff --git a/altosui/AltosUI.java b/altosui/AltosUI.java index 36c08882..27c41838 100644 --- a/altosui/AltosUI.java +++ b/altosui/AltosUI.java @@ -508,6 +508,10 @@ public class AltosUI extends JFrame { } public static void main(final String[] args) { + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Exception e) { + } /* Handle batch-mode */ if (args.length == 0) { AltosUI altosui = new AltosUI(); |