X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=telegps%2FTeleGPS.java;h=0e46a78006072f887c910c1230b3d5735ed85fde;hb=f41fe2291891b28327c332098bdc601bc75fc4c0;hp=a4b221e814b5444df1630fb46cd82fb15273b580;hpb=6f2a4c610dfacbf500650db0eeeca6623bb49c5c;p=fw%2Faltos diff --git a/telegps/TeleGPS.java b/telegps/TeleGPS.java index a4b221e8..0e46a780 100644 --- a/telegps/TeleGPS.java +++ b/telegps/TeleGPS.java @@ -23,8 +23,9 @@ import javax.swing.*; import java.io.*; import java.util.concurrent.*; import java.util.*; -import org.altusmetrum.altoslib_5.*; -import org.altusmetrum.altosuilib_3.*; +import java.text.*; +import org.altusmetrum.altoslib_7.*; +import org.altusmetrum.altosuilib_7.*; public class TeleGPS extends AltosUIFrame @@ -67,11 +68,10 @@ public class TeleGPS TeleGPSStatus telegps_status; TeleGPSStatusUpdate status_update; - javax.swing.Timer status_timer; JTabbedPane pane; - AltosUIMap map; + AltosUIMapNew map; TeleGPSInfo gps_info; TeleGPSState gps_state; AltosInfoTable info_table; @@ -147,6 +147,7 @@ public class TeleGPS public void show(AltosState state, AltosListenerState listener_state) { try { status_update.saved_state = state; + status_update.saved_listener_state = listener_state; if (state == null) state = new AltosState(); @@ -172,17 +173,13 @@ public class TeleGPS } void load_maps() { - new AltosUIMapPreload(this); + new AltosUIMapPreloadNew(this); } void disconnect() { setTitle("TeleGPS"); stop_display(); - if (status_timer != null) { - status_timer.stop(); - status_timer = null; - status_update = null; - } + telegps_status.stop(); telegps_status.disable_receive(); disable_frequency_menu(); @@ -404,8 +401,7 @@ public class TeleGPS public void set_reader(AltosFlightReader reader, AltosDevice device) { status_update = new TeleGPSStatusUpdate(telegps_status); - status_timer = new javax.swing.Timer(100, status_update); - status_timer.start(); + telegps_status.start(status_update); setTitle(String.format("TeleGPS %s", reader.name)); thread = new TeleGPSDisplayThread(this, voice(), this, reader); @@ -546,7 +542,7 @@ public class TeleGPS c.gridwidth = 2; bag.add(pane, c); - map = new AltosUIMap(); + map = new AltosUIMapNew(); pane.add(map.getName(), map); displays.add(map); @@ -684,9 +680,13 @@ public class TeleGPS if (args.length < i + 3) { help(1); } else { - double lat = Double.parseDouble(args[i+1]); - double lon = Double.parseDouble(args[i+2]); + try { + double lat = AltosParse.parse_double_locale(args[i+1]); + double lon = AltosParse.parse_double_locale(args[i+2]); AltosUIMap.prefetch_maps(lat, lon); + } catch (ParseException e) { + System.out.printf("Can't parse number %s\n", e.toString()); + } i += 2; } } else if (args[i].equals("--replay"))