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 /telegps/TeleGPS.java | |
| parent | 5d4f912bcc6784f975c82f7b0ed8dc360e60aae8 (diff) | |
| parent | a0ccab8e4235934538a03f8be3b37aa1bbd6b144 (diff) | |
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Diffstat (limited to 'telegps/TeleGPS.java')
| -rw-r--r-- | telegps/TeleGPS.java | 45 | 
1 files changed, 33 insertions, 12 deletions
diff --git a/telegps/TeleGPS.java b/telegps/TeleGPS.java index 6e68dd30..e78c2124 100644 --- a/telegps/TeleGPS.java +++ b/telegps/TeleGPS.java @@ -23,8 +23,8 @@ import javax.swing.*;  import java.io.*;  import java.util.concurrent.*;  import java.util.*; -import org.altusmetrum.altoslib_4.*; -import org.altusmetrum.altosuilib_2.*; +import org.altusmetrum.altoslib_5.*; +import org.altusmetrum.altosuilib_3.*;  public class TeleGPS  	extends AltosUIFrame @@ -351,17 +351,18 @@ public class TeleGPS  		frequencies.set_product("Monitor");  		frequencies.set_serial(serial);  		frequencies.set_frequency(AltosUIPreferences.frequency(serial)); -		frequencies.setEnabled(true); +		menu_bar.add(frequencies); +		menu_bar.repaint();  	}  	void disable_frequency_menu() { -		if (frequency_listener != null) { -			frequencies.removeActionListener(frequency_listener); -			frequencies.setEnabled(false); -			frequency_listener = null; -		} - +		if (frequency_listener == null) +			return; +		frequencies.removeActionListener(frequency_listener); +		menu_bar.remove(frequencies); +		menu_bar.repaint(); +		frequency_listener = null;  	}  	public void set_reader(AltosFlightReader reader, AltosDevice device) { @@ -409,16 +410,38 @@ public class TeleGPS  	private JMenu make_menu(String label, String[][] items) {  		JMenu	menu = new JMenu(label); -		for (int i = 0; i < items.length; i++) +		for (int i = 0; i < items.length; i++) { +			if (MAC_OS_X) { +				if (items[i][1].equals("exit")) +					continue; +				if (items[i][1].equals("preferences")) +					continue; +			}  			add_menu(menu, items[i][0], items[i][1]); +		}  		menu_bar.add(menu);  		return menu;  	} +	/* OSXAdapter interfaces */ +	public void macosx_file_handler(String path) { +		process_graph(new File(path)); +	} + +	public void macosx_quit_handler() { +		System.exit(0); +	} + +	public void macosx_preferences_handler() { +		preferences(); +	} +  	public TeleGPS() {  		AltosUIPreferences.set_component(this); +		register_for_macosx_events(); +  		reader = null;  		bag = getContentPane(); @@ -435,8 +458,6 @@ public class TeleGPS  		monitor_menu = make_menu("Monitor", monitor_menu_entries);  		device_menu = make_menu("Device", device_menu_entries);  		frequencies = new AltosFreqList(); -		frequencies.setEnabled(false); -		menu_bar.add(frequencies);  		displays = new LinkedList<AltosFlightDisplay>();  | 
