summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Towns <aj@erisian.com.au>2010-11-24 02:11:36 +1000
committerAnthony Towns <aj@erisian.com.au>2010-11-24 02:11:36 +1000
commitc7119c21baa9d4ca681975b8613ade6593f65577 (patch)
tree90c4713dd5bb9fe55f515e5776c9d415605c11c1
parentae55a107f12546dc65f04618c7abc17beb920d73 (diff)
altosui: don't switch away from user selected tab
-rw-r--r--ao-tools/altosui/AltosFlightUI.java34
1 files changed, 9 insertions, 25 deletions
diff --git a/ao-tools/altosui/AltosFlightUI.java b/ao-tools/altosui/AltosFlightUI.java
index 732f7395..b0cc521d 100644
--- a/ao-tools/altosui/AltosFlightUI.java
+++ b/ao-tools/altosui/AltosFlightUI.java
@@ -47,23 +47,17 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay {
private AltosFlightStatus flightStatus;
private AltosInfoTable flightInfo;
- static final int tab_pad = 1;
- static final int tab_ascent = 2;
- static final int tab_descent = 3;
- static final int tab_landed = 4;
-
- int cur_tab = 0;
-
boolean exit_on_close = false;
- int which_tab(AltosState state) {
+ JComponent cur_tab = null;
+ JComponent which_tab(AltosState state) {
if (state.state < Altos.ao_flight_boost)
- return tab_pad;
+ return pad;
if (state.state <= Altos.ao_flight_coast)
- return tab_ascent;
+ return ascent;
if (state.state <= Altos.ao_flight_main)
- return tab_descent;
- return tab_landed;
+ return descent;
+ return landed;
}
void stop_display() {
@@ -90,24 +84,14 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay {
}
public void show(AltosState state, int crc_errors) {
- int tab = which_tab(state);
+ JComponent tab = which_tab(state);
pad.show(state, crc_errors);
ascent.show(state, crc_errors);
descent.show(state, crc_errors);
landed.show(state, crc_errors);
if (tab != cur_tab) {
- switch (tab) {
- case tab_pad:
- pane.setSelectedComponent(pad);
- break;
- case tab_ascent:
- pane.setSelectedComponent(ascent);
- break;
- case tab_descent:
- pane.setSelectedComponent(descent);
- break;
- case tab_landed:
- pane.setSelectedComponent(landed);
+ if (cur_tab == pane.getSelectedComponent()) {
+ pane.setSelectedComponent(tab);
}
cur_tab = tab;
}