X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosFlightUI.java;h=0d21d296f66558a7a237238b5dadfaa1c84b08a4;hp=423cf10c04cd52ba35ae41cae94d4f77f446aaa9;hb=9e18c524fa2d1f648f265b3c3105f5ceacf06c10;hpb=de8d9c5630ae46378c50faf97f7d2e97fe139e30 diff --git a/altosui/AltosFlightUI.java b/altosui/AltosFlightUI.java index 423cf10c..0d21d296 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); @@ -209,7 +226,7 @@ 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++) + 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);