diff options
| author | Anthony Towns <aj@erisian.com.au> | 2010-11-20 17:40:49 +1000 | 
|---|---|---|
| committer | Anthony Towns <aj@erisian.com.au> | 2010-11-20 17:40:49 +1000 | 
| commit | 081fbd5715f9d3d81d98e149fb95d40447c07a79 (patch) | |
| tree | 073885e98179ef663f08aaaf52cb7e74c2c66427 /ao-tools/altosui/AltosFlightUI.java | |
| parent | 90b9bc4475011bead7117ed72fa5efa0f77b2813 (diff) | |
| parent | 7920ed5c34b088f45ce4213b061ddd1ffe22cee8 (diff) | |
Merge branch 'buttonbox' of git://git.gag.com/fw/altos into buttonbox
Conflicts:
	ao-tools/altosui/AltosFlightUI.java
Diffstat (limited to 'ao-tools/altosui/AltosFlightUI.java')
| -rw-r--r-- | ao-tools/altosui/AltosFlightUI.java | 62 | 
1 files changed, 34 insertions, 28 deletions
diff --git a/ao-tools/altosui/AltosFlightUI.java b/ao-tools/altosui/AltosFlightUI.java index 658d6f6f..21b41528 100644 --- a/ao-tools/altosui/AltosFlightUI.java +++ b/ao-tools/altosui/AltosFlightUI.java @@ -36,8 +36,6 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay {  	AltosFlightReader	reader;  	AltosDisplayThread	thread; -	private Box vbox; -  	JTabbedPane	pane;  	AltosPad	pad; @@ -132,22 +130,47 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay {  		exit_on_close = true;  	} +	Container	bag; +  	public AltosFlightUI(AltosVoice in_voice, AltosFlightReader in_reader, final int serial) {  		AltosPreferences.init(this);  		voice = in_voice;  		reader = in_reader; +		bag = getContentPane(); +		bag.setLayout(new GridBagLayout()); + +		GridBagConstraints c = new GridBagConstraints(); +  		java.net.URL imgURL = AltosUI.class.getResource("/altus-metrum-16x16.jpg");  		if (imgURL != null)  			setIconImage(new ImageIcon(imgURL).getImage());  		setTitle(String.format("AltOS %s", reader.name)); -		flightStatus = new AltosFlightStatus(); +		if (serial >= 0) { +			// Channel menu +			JComboBox channels = new AltosChannelMenu(AltosPreferences.channel(serial)); +			channels.addActionListener(new ActionListener() { +					public void actionPerformed(ActionEvent e) { +						int channel = Integer.parseInt(e.getActionCommand()); +						reader.set_channel(channel); +						AltosPreferences.set_channel(serial, channel); +					} +				}); +			c.gridx = 0; +			c.gridy = 0; +			c.anchor = GridBagConstraints.WEST; +			bag.add (channels, c); +		} -		vbox = new Box (BoxLayout.Y_AXIS); -		vbox.add(flightStatus); +		flightStatus = new AltosFlightStatus(); +		c.gridx = 0; +		c.gridy = 1; +		c.fill = GridBagConstraints.HORIZONTAL; +		c.weightx = 1; +		bag.add(flightStatus, c);  		pane = new JTabbedPane(); @@ -171,29 +194,12 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay {  		sitemapPane = new JScrollPane(sitemap);          pane.add("Site Map", sitemapPane); -		vbox.add(pane); - -		this.add(vbox); - -		if (serial >= 0) { -			JMenuBar menubar = new JMenuBar(); - -			// Channel menu -			{ -				JMenu menu = new AltosChannelMenu(AltosPreferences.channel(serial)); -				menu.addActionListener(new ActionListener() { -						public void actionPerformed(ActionEvent e) { -							int channel = Integer.parseInt(e.getActionCommand()); -							reader.set_channel(channel); -							AltosPreferences.set_channel(serial, channel); -						} -					}); -				menu.setMnemonic(KeyEvent.VK_C); -				menubar.add(menu); -			} - -			this.setJMenuBar(menubar); -		} +		c.gridx = 0; +		c.gridy = 2; +		c.fill = GridBagConstraints.BOTH; +		c.weightx = 1; +		c.weighty = 1; +		bag.add(pane, c);  		this.setSize(this.getPreferredSize());  		this.validate();  | 
