altosui/telegps: Reduce CPU time needed for flight displays
[fw/altos] / altosui / AltosIgnitor.java
index fcab7427f3aa060c97a37b919e1db1ba4e6fc86a..73318117bc7985152f7c9730c6b081b73661d088 100644 (file)
@@ -19,12 +19,13 @@ package altosui;
 
 import java.awt.*;
 import javax.swing.*;
-import org.altusmetrum.altoslib_3.*;
+import org.altusmetrum.altoslib_4.*;
+import org.altusmetrum.altosuilib_2.*;
 
 public class AltosIgnitor extends JComponent implements AltosFlightDisplay {
        GridBagLayout   layout;
 
-       public class LaunchStatus {
+       public class LaunchStatus implements AltosFontListener, AltosUnitsListener {
                JLabel          label;
                JTextField      value;
                AltosLights     lights;
@@ -65,11 +66,14 @@ public class AltosIgnitor extends JComponent implements AltosFlightDisplay {
                        hide();
                }
 
-               public void set_font() {
+               public void font_size_changed(int font_size) {
                        label.setFont(Altos.label_font);
                        value.setFont(Altos.value_font);
                }
 
+               public void units_changed(boolean imperial_units) {
+               }
+
                public void set_label(String text) {
                        label.setText(text);
                }
@@ -98,6 +102,7 @@ public class AltosIgnitor extends JComponent implements AltosFlightDisplay {
                        add(label);
 
                        value = new JTextField(Altos.text_width);
+                       value.setEditable(false);
                        value.setFont(Altos.value_font);
                        value.setHorizontalAlignment(SwingConstants.RIGHT);
                        c.gridx = 2; c.gridy = y;
@@ -110,10 +115,6 @@ public class AltosIgnitor extends JComponent implements AltosFlightDisplay {
                }
        }
 
-       public static String ignitor_name(int i) {
-               return String.format("Ignitor %c", 'A' + i);
-       }
-
        class Ignitor extends LaunchStatus {
                int ignitor;
 
@@ -127,7 +128,7 @@ public class AltosIgnitor extends JComponent implements AltosFlightDisplay {
                }
 
                public Ignitor (GridBagLayout layout, int y) {
-                       super(layout, y, String.format ("%s Voltage", ignitor_name(y)));
+                       super(layout, y, String.format ("%s Voltage", AltosLib.ignitor_name(y)));
                        ignitor = y;
                }
        }
@@ -141,11 +142,14 @@ public class AltosIgnitor extends JComponent implements AltosFlightDisplay {
                        ignitors[i].reset();
        }
 
-       public void set_font() {
+       public void font_size_changed(int font_size) {
                if (ignitors == null)
                        return;
                for (int i = 0; i < ignitors.length; i++)
-                       ignitors[i].set_font();
+                       ignitors[i].font_size_changed(font_size);
+       }
+
+       public void units_changed(boolean imperial_units) {
        }
 
        public void show(AltosState state, AltosListenerState listener_state) {