X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosGraphUI.java;h=376e99109569eb89acc0a2d98a85f96196dbb3ce;hb=de8d9c5630ae46378c50faf97f7d2e97fe139e30;hp=2f3575a4387bbbd9e39f0e58a4a8394ce53a1f27;hpb=2120d362cefceba69e75996b6391d9558978c01d;p=fw%2Faltos diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java index 2f3575a4..376e9910 100644 --- a/altosui/AltosGraphUI.java +++ b/altosui/AltosGraphUI.java @@ -26,20 +26,21 @@ public class AltosGraphUI extends AltosUIFrame AltosGraphDataSet graphDataSet; AltosFlightStats stats; AltosFlightStatsTable statsTable; + boolean has_gps; - boolean fill_map(AltosRecordIterable records) { + void fill_map(AltosStateIterable states) { boolean any_gps = false; - for (AltosRecord record : records) { - state = new AltosState(record, state); - if (state.gps.locked && state.gps.nsat >= 4) { - map.show(state, 0); - any_gps = true; + for (AltosState state : states) { + if (state.gps != null && state.gps.locked && state.gps.nsat >= 4) { + if (map == null) + map = new AltosSiteMap(); + map.show(state, null); + has_gps = true; } } - return any_gps; } - AltosGraphUI(AltosRecordIterable records, File file) throws InterruptedException, IOException { + AltosGraphUI(AltosStateIterable states, File file) throws InterruptedException, IOException { super(file.getName()); state = null; @@ -47,20 +48,20 @@ public class AltosGraphUI extends AltosUIFrame enable = new AltosUIEnable(); - stats = new AltosFlightStats(records); - graphDataSet = new AltosGraphDataSet(records); + stats = new AltosFlightStats(states); + graphDataSet = new AltosGraphDataSet(states); graph = new AltosGraph(enable, stats, graphDataSet); statsTable = new AltosFlightStatsTable(stats); - map = new AltosSiteMap(); - pane.add("Flight Graph", graph.panel); pane.add("Configure Graph", enable); pane.add("Flight Statistics", statsTable); - if (fill_map(records)) + has_gps = false; + fill_map(states); + if (has_gps) pane.add("Map", map); setContentPane (pane); @@ -69,7 +70,7 @@ public class AltosGraphUI extends AltosUIFrame setDefaultCloseOperation(DISPOSE_ON_CLOSE); setVisible(true); - if (state != null) + if (state != null && has_gps) map.centre(state); } }