Have the SimulationPlotConfigDialog be populated with the currently selected items.
[debian/openrocket] / android / src / net / sf / openrocket / android / simulation / SimulationChart.java
index 807c58a77a48c74007ca2f9d709e8e7ac1db27b5..601bf859c92f9074e8cd501195ebe980445b9411 100644 (file)
@@ -24,6 +24,7 @@ import net.sf.openrocket.document.OpenRocketDocument;
 import net.sf.openrocket.document.Simulation;\r
 import net.sf.openrocket.simulation.FlightDataBranch;\r
 import net.sf.openrocket.simulation.FlightDataType;\r
+import net.sf.openrocket.simulation.FlightEvent;\r
 import net.sf.openrocket.unit.Unit;\r
 \r
 import org.achartengine.chart.LineChart;\r
@@ -55,6 +56,7 @@ public class SimulationChart implements Serializable {
        private final int simulationIndex;\r
        private transient FlightDataType series1;\r
        private transient FlightDataType series2;\r
+       private transient List<FlightEvent> events;\r
        \r
        // Define 4 different colors and point styles to use for the series.\r
        // For now only 2 series are supported though.\r
@@ -75,10 +77,26 @@ public class SimulationChart implements Serializable {
                this.series1 = series1;\r
        }\r
 \r
+       public FlightDataType getSeries1() {\r
+               return series1;\r
+       }\r
+\r
        public void setSeries2(FlightDataType series2) {\r
                this.series2 = series2;\r
        }\r
 \r
+       public FlightDataType getSeries2() {\r
+               return series2;\r
+       }\r
+\r
+       public void setEvents( List<FlightEvent> events ) {\r
+               this.events = events;\r
+       }\r
+       \r
+       public List<FlightEvent> getEvents() {\r
+               return events;\r
+       }\r
+\r
        public FlightDataBranch getFlightDataBranch( OpenRocketDocument rocketDocument ) {\r
                Simulation sim = rocketDocument.getSimulation(simulationIndex);\r
                FlightDataBranch flightDataBranch = sim.getSimulatedData().getBranch(0);\r
@@ -101,6 +119,13 @@ public class SimulationChart implements Serializable {
                if (series2== null) {\r
                        series2 = flightDataBranch.getTypes()[2];\r
                }\r
+               \r
+               if ( events == null ) {\r
+                       events = new ArrayList<FlightEvent>();\r
+                       for ( FlightEvent event : flightDataBranch.getEvents() ) {\r
+                               events.add(event);\r
+                       }\r
+               }\r
 \r
                /*\r
                 * TODO -\r
@@ -124,6 +149,12 @@ public class SimulationChart implements Serializable {
                renderer.setShowGrid(true);\r
                renderer.setZoomButtonsVisible(true);\r
                renderer.setChartTitle(sim.getName());\r
+               renderer.setShowCustomTextGrid(true);\r
+               renderer.setXLabelsAlign(Align.RIGHT);\r
+               renderer.setXLabelsAngle(90);  // rotate right\r
+               for( FlightEvent event : events ) {\r
+                       renderer.addXTextLabel(event.getTime(), event.getType().toString());\r
+               }\r
 \r
                renderer.setMargins(new int[] { 50, 30, 0, 20 });\r
                {\r