Add GPS height to the usual plot
[fw/altos] / altosui / AltosGraphUI.java
index b7c2e92e74c07ea3cad46cba633e71f88fe5bc71..43cfb27b12833af469f9a03805c01f540807dd22 100644 (file)
@@ -10,12 +10,13 @@ import java.util.ArrayList;
 import java.awt.*;
 import javax.swing.*;
 import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altosuilib.*;
 
 import org.jfree.chart.ChartPanel;
 import org.jfree.chart.JFreeChart;
 import org.jfree.ui.RefineryUtilities;
 
-public class AltosGraphUI extends AltosFrame 
+public class AltosGraphUI extends AltosUIFrame 
 {
     JTabbedPane        pane;
 
@@ -37,6 +38,15 @@ public class AltosGraphUI extends AltosFrame
                 } 
             };
     
+        AltosGraphTime.Element gps_height = 
+               new AltosGraphTime.TimeSeries("Height", AltosConvert.height.show_units(), "GPS Height (AGL)", magenta) {
+                public void gotTimeData(double time, AltosDataPoint d) {
+                       double  height = d.gps_height();
+                       if (height != AltosRecord.MISSING)
+                               series.add(time, AltosConvert.height.value(height));
+                } 
+            };
+    
         AltosGraphTime.Element speed =
                new AltosGraphTime.TimeSeries("Speed", AltosConvert.speed.show_units(), "Vertical Speed", green) { 
                 public void gotTimeData(double time, AltosDataPoint d) {
@@ -112,6 +122,7 @@ public class AltosGraphUI extends AltosFrame
     
            graphs.add( myAltosGraphTime("Summary")
                        .addElement(height)
+                       .addElement(gps_height)
                        .addElement(speed)
                        .addElement(acceleration) );