diff options
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(); | 
