X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=telegps%2FTeleGPS.java;h=307b56103091254848b3696dca027ab31adc657a;hb=191ea4a7bbcb22d70c648a9ba746f1061e6f74cb;hp=7117443632dcfa9553a706be58dba74fefaef2a2;hpb=d550c3b3eccbb0283c588b5df69edb2e9b44b4cc;p=fw%2Faltos diff --git a/telegps/TeleGPS.java b/telegps/TeleGPS.java index 71174436..307b5610 100644 --- a/telegps/TeleGPS.java +++ b/telegps/TeleGPS.java @@ -51,7 +51,7 @@ public class TeleGPS } AltosFlightReader reader; - AltosDisplayThread thread; + TeleGPSDisplayThread thread; JMenuBar menu_bar; @@ -67,8 +67,9 @@ public class TeleGPS JTabbedPane pane; - AltosSiteMap sitemap; + AltosUIMap map; TeleGPSInfo gps_info; + TeleGPSState gps_state; AltosInfoTable info_table; LinkedList displays; @@ -167,7 +168,7 @@ public class TeleGPS } void load_maps() { - new AltosSiteMapPreload(this); + new AltosUIMapPreload(this); } void disconnect() { @@ -323,6 +324,9 @@ public class TeleGPS void add_frequency_menu(int serial, final AltosFlightReader reader) { // Channel menu + if (frequencies != null) + return; + frequencies = new AltosFreqList(AltosUIPreferences.frequency(serial)); frequencies.set_product("Monitor"); frequencies.set_serial(serial); @@ -343,13 +347,14 @@ public class TeleGPS void remove_frequency_menu() { if (frequencies != null) { menu_bar.remove(frequencies); + menu_bar.repaint(); frequencies = null; } } public void set_reader(AltosFlightReader reader) { setTitle(String.format("TeleGPS %s", reader.name)); - thread = new AltosDisplayThread(this, voice(), this, reader); + thread = new TeleGPSDisplayThread(this, voice(), this, reader); thread.start(); } @@ -366,6 +371,7 @@ public class TeleGPS } private void close() { + disconnect(); AltosUIPreferences.unregister_font_listener(this); AltosPreferences.unregister_units_listener(this); setVisible(false); @@ -438,14 +444,18 @@ public class TeleGPS c.gridwidth = 2; bag.add(pane, c); - sitemap = new AltosSiteMap(); - pane.add("Site Map", sitemap); - displays.add(sitemap); + map = new AltosUIMap(); + pane.add(map.getName(), map); + displays.add(map); gps_info = new TeleGPSInfo(); - pane.add("Info", gps_info); + pane.add(gps_info.getName(), gps_info); displays.add(gps_info); + gps_state = new TeleGPSState(); + pane.add(gps_state.getName(), gps_state); + displays.add(gps_state); + info_table = new AltosInfoTable(); pane.add("Table", info_table); displays.add(info_table); @@ -578,7 +588,7 @@ public class TeleGPS } else { double lat = Double.parseDouble(args[i+1]); double lon = Double.parseDouble(args[i+2]); - AltosSiteMap.prefetchMaps(lat, lon); + AltosUIMap.prefetch_maps(lat, lon); i += 2; } } else if (args[i].equals("--replay"))