summaryrefslogtreecommitdiff
path: root/altosui/AltosIdleMonitorUI.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-10-30 21:59:45 -0700
committerKeith Packard <keithp@keithp.com>2014-10-30 21:59:45 -0700
commitb0e903a76276e33f531eade42ac721c9490c6758 (patch)
treeafdb7cb33056227b57f738ce4c18c2cf6ad011e1 /altosui/AltosIdleMonitorUI.java
parentef00182c79bd7a56fbc5d782cb8f4aa0079bb86f (diff)
altosui: Pop up 'Connecting' dialog during Monitor Idle
This was a bit harder than expected as I had to wire up a way to shut down the whole monitor idle window when you clicked on the cancel button. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosIdleMonitorUI.java')
-rw-r--r--altosui/AltosIdleMonitorUI.java36
1 files changed, 25 insertions, 11 deletions
diff --git a/altosui/AltosIdleMonitorUI.java b/altosui/AltosIdleMonitorUI.java
index 67b7a989..0230ff2f 100644
--- a/altosui/AltosIdleMonitorUI.java
+++ b/altosui/AltosIdleMonitorUI.java
@@ -102,6 +102,15 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
SwingUtilities.invokeLater(r);
}
+ public void failed() {
+ Runnable r = new Runnable() {
+ public void run() {
+ close();
+ }
+ };
+ SwingUtilities.invokeLater(r);
+ }
+
Container bag;
AltosUIFreqList frequencies;
JTextField callsign_value;
@@ -174,6 +183,19 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
}
}
+ private void close() {
+ try {
+ disconnect();
+ } catch (Exception ex) {
+ System.out.printf("Exception %s\n", ex.toString());
+ for (StackTraceElement el : ex.getStackTrace())
+ System.out.printf("%s\n", el.toString());
+ }
+ setVisible(false);
+ dispose();
+ AltosUIPreferences.unregister_font_listener(AltosIdleMonitorUI.this);
+ }
+
public AltosIdleMonitorUI(JFrame in_owner)
throws FileNotFoundException, TimeoutException, InterruptedException {
@@ -184,9 +206,10 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
serial = device.getSerial();
- AltosLink link;
+ AltosSerial link;
try {
link = new AltosSerial(device);
+ link.set_frame(this);
} catch (Exception ex) {
idle_exception(in_owner, ex);
return;
@@ -248,16 +271,7 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
- try {
- disconnect();
- } catch (Exception ex) {
- System.out.printf("Exception %s\n", ex.toString());
- for (StackTraceElement el : ex.getStackTrace())
- System.out.printf("%s\n", el.toString());
- }
- setVisible(false);
- dispose();
- AltosUIPreferences.unregister_font_listener(AltosIdleMonitorUI.this);
+ close();
}
});