altos: Expose ao_gps_set_rate from u-blox driver
[fw/altos] / micropeak / MicroStatsTable.java
index cf30fcb75c26bdf9cb757ade044dff81ab4ca684..ea1609ac7fac43ef935bdd7fce910261035b8bd7 100644 (file)
@@ -19,10 +19,10 @@ package org.altusmetrum.micropeak;
 
 import java.awt.*;
 import javax.swing.*;
-import org.altusmetrum.AltosLib.*;
-import org.altusmetrum.altosuilib.*;
+import org.altusmetrum.altoslib_3.*;
+import org.altusmetrum.altosuilib_1.*;
 
-public class MicroStatsTable extends JComponent {
+public class MicroStatsTable extends JComponent implements AltosFontListener {
        GridBagLayout   layout;
 
        class MicroStat {
@@ -35,6 +35,12 @@ public class MicroStatsTable extends JComponent {
                        }
                }
 
+               public void set_font() {
+                       for (int j = 0; j < texts.length; j++)
+                               texts[j].setFont(AltosUILib.value_font);
+                       label.setFont(AltosUILib.label_font);
+               }
+
                public MicroStat(GridBagLayout layout, int y, String label_text, String ... values) {
                        GridBagConstraints      c = new GridBagConstraints();
                        c.insets = new Insets(AltosUILib.tab_elt_pad, AltosUILib.tab_elt_pad, AltosUILib.tab_elt_pad, AltosUILib.tab_elt_pad);
@@ -94,8 +100,20 @@ public class MicroStatsTable extends JComponent {
                flight_time.set_values(String.format("%6.1f s", stats.landed_time));
        }
 
-       public void setData(MicroData data) {
-               setStats(new MicroStats(data));
+       public void set_font() {
+               max_height.set_font();
+               max_speed.set_font();
+               max_accel.set_font();
+               avg_accel.set_font();
+               boost_duration.set_font();
+               coast_duration.set_font();
+               descent_speed.set_font();
+               descent_duration.set_font();
+               flight_time.set_font();
+       }
+
+       public void font_size_changed(int font_size) {
+               set_font();
        }
 
        public MicroStatsTable(MicroStats stats) {
@@ -129,6 +147,13 @@ public class MicroStatsTable extends JComponent {
                                                 String.format("%6.1f s", stats.descent_duration()));
                flight_time = new MicroStat(layout, y++, "Flight Time",
                                            String.format("%6.1f s", stats.landed_time));
+               set_font();
+
+               AltosUIPreferences.register_font_listener(this);
+       }
+
+       public void tell_closing() {
+               AltosUIPreferences.unregister_font_listener(this);
        }
 
        public MicroStatsTable() {