X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosGraphUI.java;h=d8b8f6dd282d41b1bbce8b4724f7dac3212714a5;hb=04d7d0f829ba953ffeca8ad9887a4b6b2b5d5087;hp=2dded9a2cfe5486c9f5fcbf837d2a35e707d51ac;hpb=2a9ca1dcd00da2cfdd0a2ea616308dfb64ee80d4;p=fw%2Faltos diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java index 2dded9a2..d8b8f6dd 100644 --- a/altosui/AltosGraphUI.java +++ b/altosui/AltosGraphUI.java @@ -23,17 +23,22 @@ public class AltosGraphUI extends AltosUIFrame AltosUIEnable enable; AltosSiteMap map; AltosState state; + AltosGraphDataSet graphDataSet; + AltosFlightStats stats; + AltosFlightStatsTable statsTable; + boolean has_gps; - boolean fill_map(AltosRecordIterable records) { + void fill_map(AltosRecordIterable records) { boolean any_gps = false; for (AltosRecord record : records) { state = new AltosState(record, state); - if (state.data.gps != null) { - map.show(state, 0); - any_gps = true; + 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 { @@ -44,19 +49,20 @@ public class AltosGraphUI extends AltosUIFrame enable = new AltosUIEnable(); - AltosGraph graph = new AltosGraph(enable); + stats = new AltosFlightStats(records); + graphDataSet = new AltosGraphDataSet(records); - graph.setDataSet(new AltosGraphDataSet(records)); + graph = new AltosGraph(enable, stats, graphDataSet); - map = new AltosSiteMap(); + statsTable = new AltosFlightStatsTable(stats); pane.add("Flight Graph", graph.panel); pane.add("Configure Graph", enable); + pane.add("Flight Statistics", statsTable); - AltosFlightStatsTable stats = new AltosFlightStatsTable(new AltosFlightStats(records)); - pane.add("Flight Statistics", stats); - - if (fill_map(records)) + has_gps = false; + fill_map(records); + if (has_gps) pane.add("Map", map); setContentPane (pane); @@ -65,7 +71,7 @@ public class AltosGraphUI extends AltosUIFrame setDefaultCloseOperation(DISPOSE_ON_CLOSE); setVisible(true); - if (state != null) + if (state != null && has_gps) map.centre(state); } }