summaryrefslogtreecommitdiff
path: root/telegps/TeleGPSGraphUI.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-06-07 11:52:28 -0700
committerKeith Packard <keithp@keithp.com>2014-06-07 12:34:15 -0700
commitd550c3b3eccbb0283c588b5df69edb2e9b44b4cc (patch)
tree838eccb03fc795a361268395048c98d59284b74f /telegps/TeleGPSGraphUI.java
parent9f2189e0b99aa32b788ecb4576dcb9bcc926f4e2 (diff)
telegps: Track graph windows as one of the TeleGPS windows
TeleGPS exits when the number of windows goes to zero; track graphing windows in addition to the usual flight monitoring windows. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'telegps/TeleGPSGraphUI.java')
-rw-r--r--telegps/TeleGPSGraphUI.java24
1 files changed, 23 insertions, 1 deletions
diff --git a/telegps/TeleGPSGraphUI.java b/telegps/TeleGPSGraphUI.java
index b7c17780..84c80815 100644
--- a/telegps/TeleGPSGraphUI.java
+++ b/telegps/TeleGPSGraphUI.java
@@ -21,7 +21,11 @@ import java.io.*;
import java.util.ArrayList;
import java.awt.*;
+import java.awt.event.*;
import javax.swing.*;
+import java.io.*;
+import java.util.concurrent.*;
+import java.util.*;
import org.altusmetrum.altoslib_4.*;
import org.altusmetrum.altosuilib_2.*;
@@ -46,6 +50,12 @@ public class TeleGPSGraphUI extends AltosUIFrame
}
}
+ private void close() {
+ setVisible(false);
+ dispose();
+ TeleGPS.subtract_window();
+ }
+
TeleGPSGraphUI(AltosStateIterable states, File file) throws InterruptedException, IOException {
super(file.getName());
state = null;
@@ -65,11 +75,23 @@ public class TeleGPSGraphUI extends AltosUIFrame
setContentPane (pane);
+ addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosing(WindowEvent e) {
+ close();
+ }
+ });
+
pack();
- setDefaultCloseOperation(DISPOSE_ON_CLOSE);
+ setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+
+ TeleGPS.add_window();
+
setVisible(true);
+
if (state != null)
map.centre(state);
+
}
}