diff options
| author | Bdale Garbee <bdale@gag.com> | 2015-07-16 13:36:59 -0600 | 
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2015-07-16 13:36:59 -0600 | 
| commit | f4f0f044df1251d64d44bf62d25b488fd04a05c8 (patch) | |
| tree | 12efee1447a67d8cf37b6f447c011708264b8266 /altosui/AltosIdleMonitorUI.java | |
| parent | b25690062ac04a588ad4d11740597c20e516eb1a (diff) | |
| parent | 570daace9caf7647a09c53d5c75593cc4c98b93b (diff) | |
Merge branch 'branch-1.6' into debian
Diffstat (limited to 'altosui/AltosIdleMonitorUI.java')
| -rw-r--r-- | altosui/AltosIdleMonitorUI.java | 69 | 
1 files changed, 36 insertions, 33 deletions
diff --git a/altosui/AltosIdleMonitorUI.java b/altosui/AltosIdleMonitorUI.java index 204d81ed..d54b05c5 100644 --- a/altosui/AltosIdleMonitorUI.java +++ b/altosui/AltosIdleMonitorUI.java @@ -24,8 +24,8 @@ import javax.swing.event.*;  import java.io.*;  import java.util.concurrent.*;  import java.util.Arrays; -import org.altusmetrum.altoslib_6.*; -import org.altusmetrum.altosuilib_6.*; +import org.altusmetrum.altoslib_8.*; +import org.altusmetrum.altosuilib_8.*;  public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDisplay, AltosIdleMonitorListener, DocumentListener {  	AltosDevice		device; @@ -35,9 +35,11 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl  	AltosFlightStatus	flightStatus;  	AltosIgnitor		ignitor;  	AltosIdleMonitor	thread; +	AltosUIMapNew      	sitemap;  	int			serial;  	boolean			remote;  	boolean			has_ignitor; +	boolean			has_map;  	void stop_display() {  		if (thread != null) { @@ -83,11 +85,26 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl  				has_ignitor = false;  			}  		} +		if (state.gps != null && state.gps.connected) { +			if (!has_map) { +				pane.add("Site Map", sitemap); +				has_map = true; +			} +		} else { +			if (has_map) { +				pane.remove(sitemap); +				has_map = false; +			} +		} +  //		try {  			pad.show(state, listener_state);  			flightStatus.show(state, listener_state);  			flightInfo.show(state, listener_state); -			ignitor.show(state, listener_state); +			if (has_ignitor) +				ignitor.show(state, listener_state); +			if (has_map) +				sitemap.show(state, listener_state);  //		} catch (Exception e) {  //			System.out.print("Show exception " + e);  //		} @@ -119,6 +136,7 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl  	public void changedUpdate(DocumentEvent e) {  		if (callsign_value != null) {  			String	callsign = callsign_value.getText(); +			System.out.printf("callsign set to %s\n", callsign);  			thread.set_callsign(callsign);  			AltosUIPreferences.set_callsign(callsign);  		} @@ -132,30 +150,6 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl  		changedUpdate(e);  	} -	int row = 0; - -	public GridBagConstraints constraints (int x, int width, int fill) { -		GridBagConstraints c = new GridBagConstraints(); -		Insets insets = new Insets(4, 4, 4, 4); - -		c.insets = insets; -		c.fill = fill; -		if (width == 3) -			c.anchor = GridBagConstraints.CENTER; -		else if (x == 2) -			c.anchor = GridBagConstraints.EAST; -		else -			c.anchor = GridBagConstraints.WEST; -		c.gridx = x; -		c.gridwidth = width; -		c.gridy = row; -		return c; -	} - -	public GridBagConstraints constraints(int x, int width) { -		return constraints(x, width, GridBagConstraints.NONE); -	} -  	void idle_exception(JFrame owner, Exception e) {  		if (e instanceof FileNotFoundException) {  			JOptionPane.showMessageDialog(owner, @@ -209,11 +203,14 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl  		AltosSerial link;  		try {  			link = new AltosSerial(device); -			link.set_frame(this);  		} catch (Exception ex) {  			idle_exception(in_owner, ex);  			return;  		} +		link.set_frame(this); + +		/* We let the user set the freq/callsign, so don't bother with the cancel dialog */ +		link.set_cancel_enable(false);  		bag = getContentPane();  		bag.setLayout(new GridBagLayout()); @@ -222,6 +219,8 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl  		/* Stick frequency selector at top of table for telemetry monitoring */  		if (remote && serial >= 0) { +			set_inset(3); +  			// Frequency menu  			frequencies = new AltosUIFreqList(AltosUIPreferences.frequency(serial));  			frequencies.addActionListener(new ActionListener() { @@ -238,15 +237,17 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl  			callsign_value = new JTextField(AltosUIPreferences.callsign());  			callsign_value.getDocument().addDocumentListener(this);  			callsign_value.setToolTipText("Callsign sent in packet mode"); -			bag.add(callsign_value, constraints(2, 1, GridBagConstraints.BOTH)); -			row++; +			bag.add(callsign_value, constraints(2, 1, GridBagConstraints.HORIZONTAL)); +			next_row();  		} +		set_inset(0);  		/* Flight status is always visible */  		flightStatus = new AltosFlightStatus(); -		bag.add(flightStatus, constraints(0, 3, GridBagConstraints.HORIZONTAL)); -		row++; +		bag.add(flightStatus, constraints(0, 4, GridBagConstraints.HORIZONTAL)); + +		next_row();  		/* The rest of the window uses a tabbed pane to  		 * show one of the alternate data views @@ -261,8 +262,10 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl  		ignitor = new AltosIgnitor(); +		sitemap = new AltosUIMapNew(); +  		/* Make the tabbed pane use the rest of the window space */ -		bag.add(pane, constraints(0, 3, GridBagConstraints.BOTH)); +		bag.add(pane, constraints(0, 4, GridBagConstraints.BOTH));  		setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);  | 
