altosui: Add map to MonitorIdle display
authorKeith Packard <keithp@keithp.com>
Tue, 10 Mar 2015 15:29:52 +0000 (09:29 -0600)
committerKeith Packard <keithp@keithp.com>
Tue, 10 Mar 2015 15:29:52 +0000 (09:29 -0600)
Nice to be able to verify that maps are working by using this mode,
instead of needing to use flight monitoring.

Signed-off-by: Keith Packard <keithp@keithp.com>
altosui/AltosIdleMonitorUI.java

index 204d81ed2c26c6d53df13d390e567c97393cd690..88243c5d396150eb744758305053dae89f752c1c 100644 (file)
@@ -35,9 +35,11 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
        AltosFlightStatus       flightStatus;
        AltosIgnitor            ignitor;
        AltosIdleMonitor        thread;
+       AltosUIMap              sitemap;
        int                     serial;
        boolean                 remote;
        boolean                 has_ignitor;
+       boolean                 has_map;
 
        void stop_display() {
                if (thread != null) {
@@ -83,11 +85,26 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
                                has_ignitor = false;
                        }
                }
+               if (state.gps != null && state.gps.connected) {
+                       if (!has_map) {
+                               pane.add("Site Map", sitemap);
+                               has_map = true;
+                       }
+               } else {
+                       if (has_map) {
+                               pane.remove(sitemap);
+                               has_map = false;
+                       }
+               }
+
 //             try {
                        pad.show(state, listener_state);
                        flightStatus.show(state, listener_state);
                        flightInfo.show(state, listener_state);
-                       ignitor.show(state, listener_state);
+                       if (has_ignitor)
+                               ignitor.show(state, listener_state);
+                       if (has_map)
+                               sitemap.show(state, listener_state);
 //             } catch (Exception e) {
 //                     System.out.print("Show exception " + e);
 //             }
@@ -261,6 +278,8 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
 
                ignitor = new AltosIgnitor();
 
+               sitemap = new AltosUIMap();
+
                /* Make the tabbed pane use the rest of the window space */
                bag.add(pane, constraints(0, 3, GridBagConstraints.BOTH));