X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosUI.java;h=c1a66b835692c695f232f401a1030002602ee583;hp=25c6c36b7845c374c9da499a61517b6b6e00f863;hb=9728b20a4ad9576ac1022dc9a5771f5a3eb92b3d;hpb=3c2f601139d36761de6a8a2210545d082ef16133 diff --git a/altosui/AltosUI.java b/altosui/AltosUI.java index 25c6c36b..c1a66b83 100644 --- a/altosui/AltosUI.java +++ b/altosui/AltosUI.java @@ -48,7 +48,7 @@ public class AltosUI extends AltosFrame { void telemetry_window(AltosDevice device) { try { - AltosFlightReader reader = new AltosTelemetryReader(device); + AltosFlightReader reader = new AltosTelemetryReader(new AltosSerial(device)); if (reader != null) new AltosFlightUI(voice, reader, device.getSerial()); } catch (FileNotFoundException ee) { @@ -105,10 +105,6 @@ public class AltosUI extends AltosFrame { load_library(null); - java.net.URL imgURL = AltosUI.class.getResource("/altus-metrum-16x16.jpg"); - if (imgURL != null) - setIconImage(new ImageIcon(imgURL).getImage()); - AltosUIPreferences.set_component(this); pane = getContentPane(); @@ -403,39 +399,43 @@ public class AltosUI extends AltosFrame { static final int process_replay = 4; static final int process_summary = 5; - static void process_csv(String input) { + static boolean process_csv(String input) { AltosRecordIterable iterable = open_logfile(input); if (iterable == null) - return; + return false; String output = Altos.replace_extension(input,".csv"); System.out.printf("Processing \"%s\" to \"%s\"\n", input, output); if (input.equals(output)) { System.out.printf("Not processing '%s'\n", input); + return false; } else { AltosWriter writer = open_csv(output); if (writer == null) - return; + return false; writer.write(iterable); writer.close(); } + return true; } - static void process_kml(String input) { + static boolean process_kml(String input) { AltosRecordIterable iterable = open_logfile(input); if (iterable == null) - return; + return false; String output = Altos.replace_extension(input,".kml"); System.out.printf("Processing \"%s\" to \"%s\"\n", input, output); if (input.equals(output)) { System.out.printf("Not processing '%s'\n", input); + return false; } else { AltosWriter writer = open_kml(output); if (writer == null) - return; + return false; writer.write(iterable); writer.close(); + return true; } } @@ -468,25 +468,32 @@ public class AltosUI extends AltosFrame { return new AltosReplayReader(recs.iterator(), new File(filename)); } - static void process_replay(String filename) { + static boolean process_replay(String filename) { AltosReplayReader reader = replay_file(filename); + if (reader == null) + return false; AltosFlightUI flight_ui = new AltosFlightUI(new AltosVoice(), reader); flight_ui.set_exit_on_close(); + return true; } - static void process_graph(String filename) { + static boolean process_graph(String filename) { AltosRecordIterable recs = record_iterable_file(filename); if (recs == null) - return; + return false; try { new AltosGraphUI(recs, filename); + return true; } catch (InterruptedException ie) { } catch (IOException ie) { } + return false; } - static void process_summary(String filename) { + static boolean process_summary(String filename) { AltosRecordIterable iterable = record_iterable_file(filename); + if (iterable == null) + return false; try { AltosFlightStats stats = new AltosFlightStats(iterable); if (stats.serial > 0) @@ -521,9 +528,11 @@ public class AltosUI extends AltosFrame { System.out.printf("Flight time: %6.0f s\n", stats.state_end[Altos.ao_flight_main] - stats.state_start[Altos.ao_flight_boost]); + return true; } catch (InterruptedException ie) { } catch (IOException ie) { } + return false; } public static void help(int code) { @@ -538,6 +547,8 @@ public class AltosUI extends AltosFrame { } public static void main(final String[] args) { + int errors = 0; + load_library(null); try { UIManager.setLookAndFeel(AltosUIPreferences.look_and_feel()); } catch (Exception e) { @@ -580,23 +591,30 @@ public class AltosUI extends AltosFrame { switch (process) { case process_none: case process_graph: - process_graph(args[i]); + if (!process_graph(args[i])) + ++errors; break; case process_replay: - process_replay(args[i]); + if (!process_replay(args[i])) + ++errors; break; case process_kml: - process_kml(args[i]); + if (!process_kml(args[i])) + ++errors; break; case process_csv: - process_csv(args[i]); + if (!process_csv(args[i])) + ++errors; break; case process_summary: - process_summary(args[i]); + if (!process_summary(args[i])) + ++errors; break; } } } } + if (errors != 0) + System.exit(errors); } }