X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosUI.java;h=918ed11e0094f51e2f456af3b3f14b16a240fdf3;hp=9dad8718507dd384c07a59c5506fb4d8234b2cc4;hb=08f07d0af123e1c307bc4c0c973da07fae8246b1;hpb=5b976a6651f4eb05d30afc08b9e1f27c7e52ae00 diff --git a/altosui/AltosUI.java b/altosui/AltosUI.java index 9dad8718..918ed11e 100644 --- a/altosui/AltosUI.java +++ b/altosui/AltosUI.java @@ -22,8 +22,8 @@ import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.concurrent.*; -import org.altusmetrum.altoslib_2.*; -import org.altusmetrum.altosuilib_1.*; +import org.altusmetrum.altoslib_5.*; +import org.altusmetrum.altosuilib_3.*; public class AltosUI extends AltosUIFrame { public AltosVoice voice = new AltosVoice(); @@ -74,6 +74,10 @@ public class AltosUI extends AltosUIFrame { } } + public void scan_device_selected(AltosDevice device) { + telemetry_window(device); + } + Container pane; GridBagLayout gridbag; @@ -95,10 +99,25 @@ public class AltosUI extends AltosUIFrame { return b; } + /* 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() { + ConfigureAltosUI(); + } + public AltosUI() { load_library(null); + register_for_macosx_events(); + AltosUIPreferences.set_component(this); pane = getContentPane(); @@ -233,7 +252,7 @@ public class AltosUI extends AltosUIFrame { }); setLocationByPlatform(false); - + /* Insets aren't set before the window is visible */ setVisible(true); } @@ -272,11 +291,11 @@ public class AltosUI extends AltosUIFrame { } void ScanChannels() { - new AltosScanUI(AltosUI.this); + new AltosScanUI(AltosUI.this, true); } void LoadMaps() { - new AltosSiteMapPreload(AltosUI.this); + new AltosUIMapPreload(AltosUI.this); } void LaunchController() { @@ -302,7 +321,7 @@ public class AltosUI extends AltosUIFrame { * a TeleDongle over the packet link */ private void SaveFlightData() { - new AltosEepromManage(AltosUI.this); + new AltosEepromManage(AltosUI.this, AltosLib.product_any); } /* Load a flight log file and write out a CSV file containing @@ -452,7 +471,6 @@ public class AltosUI extends AltosUIFrame { if (reader == null) return false; AltosFlightUI flight_ui = new AltosFlightUI(new AltosVoice(), reader); - flight_ui.set_exit_on_close(); return true; } @@ -468,7 +486,7 @@ public class AltosUI extends AltosUIFrame { } return false; } - + static boolean process_summary(File file) { AltosStateIterable states = record_iterable(file); if (states == null) @@ -540,14 +558,14 @@ public class AltosUI extends AltosUIFrame { public static void help(int code) { System.out.printf("Usage: altosui [OPTION]... [FILE]...\n"); System.out.printf(" Options:\n"); - System.out.printf(" --fetchmaps \tpre-fetch maps for site map view\n"); System.out.printf(" --replay \t\trelive the glory of past flights \n"); System.out.printf(" --graph \t\tgraph a flight\n"); + System.out.printf(" --summary \t\tText summary of a flight\n"); System.out.printf(" --csv\tgenerate comma separated output for spreadsheets, etc\n"); System.out.printf(" --kml\tgenerate KML output for use with Google Earth\n"); System.exit(code); } - + public static void main(final String[] args) { int errors = 0; load_library(null); @@ -555,13 +573,15 @@ public class AltosUI extends AltosUIFrame { UIManager.setLookAndFeel(AltosUIPreferences.look_and_feel()); } catch (Exception e) { } + AltosUI altosui = null; + /* Handle batch-mode */ if (args.length == 0) { - AltosUI altosui = new AltosUI(); - + altosui = new AltosUI(); java.util.List devices = AltosUSBDevice.list(Altos.product_basestation); - for (AltosDevice device : devices) - altosui.telemetry_window(device); + if (devices != null) + for (AltosDevice device : devices) + altosui.telemetry_window(device); } else { int process = process_none; for (int i = 0; i < args.length; i++) { @@ -573,7 +593,7 @@ public class AltosUI extends AltosUIFrame { } else { double lat = Double.parseDouble(args[i+1]); double lon = Double.parseDouble(args[i+2]); - AltosSiteMap.prefetchMaps(lat, lon, 5, 5); +// AltosSiteMap.prefetchMaps(lat, lon); i += 2; } } else if (args[i].equals("--replay")) @@ -595,10 +615,14 @@ public class AltosUI extends AltosUIFrame { switch (process) { case process_none: case process_graph: + if (altosui == null) + altosui = new AltosUI(); if (!process_graph(file)) ++errors; break; case process_replay: + if (altosui == null) + altosui = new AltosUI(); if (!process_replay(file)) ++errors; break;