diff options
| author | Bdale Garbee <bdale@gag.com> | 2014-06-24 21:17:53 -0600 | 
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2014-06-24 21:17:53 -0600 | 
| commit | bd440afc2a6e37b74fffcf1b977e149485095316 (patch) | |
| tree | 3e42f1102d68d49dae3061b9592e23907e245f23 /altosui/AltosFlightUI.java | |
| parent | 5d4f912bcc6784f975c82f7b0ed8dc360e60aae8 (diff) | |
| parent | a0ccab8e4235934538a03f8be3b37aa1bbd6b144 (diff) | |
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Diffstat (limited to 'altosui/AltosFlightUI.java')
| -rw-r--r-- | altosui/AltosFlightUI.java | 61 | 
1 files changed, 19 insertions, 42 deletions
diff --git a/altosui/AltosFlightUI.java b/altosui/AltosFlightUI.java index 43deb631..5aff1817 100644 --- a/altosui/AltosFlightUI.java +++ b/altosui/AltosFlightUI.java @@ -22,8 +22,8 @@ import java.awt.event.*;  import javax.swing.*;  import java.util.*;  import java.util.concurrent.*; -import org.altusmetrum.altoslib_4.*; -import org.altusmetrum.altosuilib_2.*; +import org.altusmetrum.altoslib_5.*; +import org.altusmetrum.altosuilib_3.*;  public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay {  	AltosVoice		voice; @@ -170,13 +170,17 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay {  	}  	Container	bag; -	AltosFreqList	frequencies; -	JComboBox<String>	telemetries; -	JLabel		telemetry; + +	JMenuBar		menu_bar; +	AltosFreqList		frequencies; +	AltosUITelemetryMenu	telemetries; +	JLabel			telemetry;  	ActionListener	show_timer;  	public AltosFlightUI(AltosVoice in_voice, AltosFlightReader in_reader, final int serial) { +		super(); +  		AltosUIPreferences.set_component(this);  		displays = new LinkedList<AltosFlightDisplay>(); @@ -193,6 +197,10 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay {  		/* Stick channel selector at top of table for telemetry monitoring */  		if (serial >= 0) { + +			menu_bar = new JMenuBar(); +			setJMenuBar(menu_bar); +  			// Channel menu  			frequencies = new AltosFreqList(AltosUIPreferences.frequency(serial));  			frequencies.set_product("Monitor"); @@ -208,43 +216,19 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay {  						reader.save_frequency();  					}  			}); -			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); +			menu_bar.add (frequencies);  			// Telemetry format menu -			if (reader.supports_telemetry(Altos.ao_telemetry_standard)) { -				telemetries = new JComboBox<String>(); -				for (int i = 1; i <= Altos.ao_telemetry_max; i++) -					telemetries.addItem(Altos.telemetry_name(i)); -				int telemetry = AltosPreferences.telemetry(serial); -				if (telemetry <= Altos.ao_telemetry_off || -				    telemetry > Altos.ao_telemetry_max) -					telemetry = Altos.ao_telemetry_standard; -				telemetries.setSelectedIndex(telemetry - 1); -				telemetries.setMaximumRowCount(Altos.ao_telemetry_max); -				telemetries.setPreferredSize(null); -				telemetries.revalidate(); +			if (reader.supports_telemetry(AltosLib.ao_telemetry_standard)) { +				telemetries = new AltosUITelemetryMenu(serial);  				telemetries.addActionListener(new ActionListener() {  						public void actionPerformed(ActionEvent e) { -							int telemetry = telemetries.getSelectedIndex() + 1; +							int telemetry = telemetries.get_selected();  							reader.set_telemetry(telemetry);  							reader.save_telemetry();  						}  					}); -				c.gridx = 1; -				c.gridy = 0; -				c.weightx = 0; -				c.weighty = 0; -				c.fill = GridBagConstraints.NONE; -				c.anchor = GridBagConstraints.WEST; -				bag.add (telemetries, c); -				c.insets = new Insets(0, 0, 0, 0); +				menu_bar.add(telemetries);  			} else {  				String	version; @@ -256,14 +240,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay {  					version = "Telemetry: None";  				telemetry = new JLabel(version); -				c.gridx = 1; -				c.gridy = 0; -				c.weightx = 0; -				c.weighty = 0; -				c.fill = GridBagConstraints.NONE; -				c.anchor = GridBagConstraints.WEST; -				bag.add (telemetry, c); -				c.insets = new Insets(0, 0, 0, 0); +				menu_bar.add(telemetry);  			}  		}  | 
