X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosFlightUI.java;h=b31de12c858ee6cf0f6c3a5ec10ce8051ef77bfc;hp=423cf10c04cd52ba35ae41cae94d4f77f446aaa9;hb=4ac7797d3efb9cc2d9fae88519f55e40b1050224;hpb=de8d9c5630ae46378c50faf97f7d2e97fe139e30 diff --git a/altosui/AltosFlightUI.java b/altosui/AltosFlightUI.java index 423cf10c..b31de12c 100644 --- a/altosui/AltosFlightUI.java +++ b/altosui/AltosFlightUI.java @@ -21,7 +21,7 @@ import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.concurrent.*; -import org.altusmetrum.altoslib_1.*; +import org.altusmetrum.altoslib_3.*; import org.altusmetrum.altosuilib_1.*; public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, AltosFontListener { @@ -32,6 +32,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, A JTabbedPane pane; AltosPad pad; + AltosIgnitor ignitor; AltosAscent ascent; AltosDescent descent; AltosLanded landed; @@ -40,6 +41,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, A boolean has_map; boolean has_companion; boolean has_state; + boolean has_ignitor; private AltosFlightStatus flightStatus; private AltosInfoTable flightInfo; @@ -73,6 +75,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, A public void reset() { pad.reset(); + ignitor.reset(); ascent.reset(); descent.reset(); landed.reset(); @@ -82,6 +85,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, A public void set_font() { pad.set_font(); + ignitor.set_font(); ascent.set_font(); descent.set_font(); landed.set_font(); @@ -102,7 +106,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, A status_update.saved_state = state; if (state == null) - state = new AltosState(new AltosRecord()); + state = new AltosState(); pad.show(state, listener_state); @@ -130,6 +134,19 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, A flightStatus.show(state, listener_state); flightInfo.show(state, listener_state); + if (ignitor.should_show(state)) { + if (!has_ignitor) { + pane.add("Ignitor", ignitor); + has_ignitor = true; + } + ignitor.show(state, listener_state); + } else { + if (has_ignitor) { + pane.remove(ignitor); + has_ignitor = false; + } + } + if (state.companion != null) { if (!has_companion) { pane.add("Companion", companion); @@ -162,7 +179,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, A Container bag; AltosFreqList frequencies; - JComboBox telemetries; + JComboBox telemetries; JLabel telemetry; ActionListener show_timer; @@ -208,8 +225,8 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, A // Telemetry format menu if (reader.supports_telemetry(Altos.ao_telemetry_standard)) { - telemetries = new JComboBox(); - for (int i = 1; i <= Altos.ao_telemetry_max; i++) + telemetries = new JComboBox(); + for (int i = 1; i <= Altos.ao_telemetry_max; i++) telemetries.addItem(Altos.telemetry_name(i)); int telemetry = AltosPreferences.telemetry(serial); if (telemetry <= Altos.ao_telemetry_off || @@ -274,6 +291,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay, A pad = new AltosPad(); pane.add("Status", pad); + ignitor = new AltosIgnitor(); ascent = new AltosAscent(); descent = new AltosDescent(); landed = new AltosLanded(reader);