X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosGraphUI.java;h=16b0fd48552d77d4dcbbc3ec5ec022f8772d6519;hp=03aae65233f7a181a1418eeca04b5fa1e065207c;hb=6ac604d11de44cd824f09e4b467264a2b74be7bd;hpb=d0335f83c54df0b23c28d04d34c212a1bdffadd0 diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java index 03aae652..16b0fd48 100644 --- a/altosui/AltosGraphUI.java +++ b/altosui/AltosGraphUI.java @@ -7,8 +7,11 @@ package altosui; import java.io.*; import java.util.ArrayList; -import javax.swing.JFrame; -import java.awt.Color; +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.filechooser.FileNameExtensionFilter; +import javax.swing.table.*; import org.jfree.chart.ChartPanel; import org.jfree.chart.ChartUtilities; @@ -19,10 +22,15 @@ import org.jfree.ui.RefineryUtilities; public class AltosGraphUI extends JFrame { + JTabbedPane pane; + static final private Color red = new Color(194,31,31); static final private Color green = new Color(31,194,31); static final private Color blue = new Color(31,31,194); static final private Color black = new Color(31,31,31); + static final private Color yellow = new Color(194,194,31); + static final private Color cyan = new Color(31,194,194); + static final private Color magenta = new Color(194,31,194); static private class OverallGraphs { AltosGraphTime.Element height = @@ -71,7 +79,7 @@ public class AltosGraphUI extends JFrame }; AltosGraphTime.Element drogue_voltage = - new AltosGraphTime.TimeSeries("Voltage (V)", "Drogue Continuity", blue) + new AltosGraphTime.TimeSeries("Voltage (V)", "Drogue Continuity", yellow) { public void gotTimeData(double time, AltosDataPoint d) { double v = d.drogue_voltage(); @@ -81,7 +89,7 @@ public class AltosGraphUI extends JFrame }; AltosGraphTime.Element main_voltage = - new AltosGraphTime.TimeSeries("Voltage (V)", "Main Continuity", green) + new AltosGraphTime.TimeSeries("Voltage (V)", "Main Continuity", magenta) { public void gotTimeData(double time, AltosDataPoint d) { double v = d.main_voltage(); @@ -170,7 +178,7 @@ public class AltosGraphUI extends JFrame } } - public AltosGraphUI(AltosRecordIterable records) { + public AltosGraphUI(AltosRecordIterable records) throws InterruptedException, IOException { super("Altos Graph"); AltosDataPointReader reader = new AltosDataPointReader (records); @@ -178,25 +186,32 @@ public class AltosGraphUI extends JFrame return; if (reader.has_accel) - init(reader, 0); + init(reader, records, 0); else - init(reader, 1); + init(reader, records, 1); } - public AltosGraphUI(AltosDataPointReader data, int which) - { - super("Altos Graph"); - init(data, which); - } +// public AltosGraphUI(AltosDataPointReader data, int which) + // { +// super("Altos Graph"); +// init(data, which); +// } + + private void init(AltosDataPointReader data, AltosRecordIterable records, int which) throws InterruptedException, IOException { + pane = new JTabbedPane(); - private void init(AltosDataPointReader data, int which) { AltosGraph graph = createGraph(data, which); JFreeChart chart = graph.createChart(); ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setMouseWheelEnabled(true); chartPanel.setPreferredSize(new java.awt.Dimension(800, 500)); - setContentPane(chartPanel); + pane.add(graph.title, chartPanel); + + AltosFlightStatsTable stats = new AltosFlightStatsTable(new AltosFlightStats(records)); + pane.add("Flight Statistics", stats); + + setContentPane (pane); pack();