diff --git a/android/res/layout-land/simulation_event_item.xml b/android/res/layout-land/simulation_event_item.xml
new file mode 100644
index 000000000..8d3c123f9
--- /dev/null
+++ b/android/res/layout-land/simulation_event_item.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/res/layout/simulation_event_dialog.xml b/android/res/layout/simulation_event_dialog.xml
index 1fc4426f5..d92b42f76 100644
--- a/android/res/layout/simulation_event_dialog.xml
+++ b/android/res/layout/simulation_event_dialog.xml
@@ -1,12 +1,13 @@
-
-
-
+
+
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
-
\ No newline at end of file
+
+
diff --git a/android/res/layout/simulation_event_item.xml b/android/res/layout/simulation_event_item.xml
new file mode 100644
index 000000000..e50a2c266
--- /dev/null
+++ b/android/res/layout/simulation_event_item.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/src/net/sf/openrocket/android/simulation/SimulationEventsDialog.java b/android/src/net/sf/openrocket/android/simulation/SimulationEventsDialog.java
index 21a7e78d9..5cbae80a5 100644
--- a/android/src/net/sf/openrocket/android/simulation/SimulationEventsDialog.java
+++ b/android/src/net/sf/openrocket/android/simulation/SimulationEventsDialog.java
@@ -1,22 +1,27 @@
package net.sf.openrocket.android.simulation;
+import java.util.List;
+
import net.sf.openrocket.R;
import net.sf.openrocket.android.Application;
import net.sf.openrocket.document.OpenRocketDocument;
+import net.sf.openrocket.simulation.FlightDataBranch;
+import net.sf.openrocket.simulation.FlightDataType;
import net.sf.openrocket.simulation.FlightEvent;
+import net.sf.openrocket.unit.UnitGroup;
+import net.sf.openrocket.util.MathUtil;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
+import android.widget.TableLayout;
import android.widget.TextView;
public class SimulationEventsDialog extends DialogFragment {
private SimulationChart chart;
- private ListView eventList;
+ private TableLayout eventList;
public static SimulationEventsDialog newInstance( SimulationChart chart ) {
SimulationEventsDialog d = new SimulationEventsDialog();
@@ -29,32 +34,29 @@ public class SimulationEventsDialog extends DialogFragment {
View v = inflater.inflate(R.layout.simulation_event_dialog, container, false);
- eventList = (ListView) v.findViewById(R.id.simulationEventsList);
+ eventList = (TableLayout) v.findViewById(R.id.simulationEventsList);
+ eventList.setColumnShrinkable(0, true);
- OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();
- // Initialize the eventList
- ArrayAdapter events = new ArrayAdapter(
- getActivity(),
- android.R.layout.simple_list_item_1,
- chart.getFlightDataBranch(rocketDocument).getEvents() ) {
+ final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();
- @Override
- public View getView(int position, View convertView,
- ViewGroup parent) {
- View v = convertView;
- if ( v == null ) {
- LayoutInflater li = inflater;
- v = li.inflate(android.R.layout.simple_list_item_1,null);
- }
- FlightEvent event = this.getItem(position);
- ((TextView)v.findViewById(android.R.id.text1)).setText( event.getType().toString() + " " + event.getTime() + " (s)" );
- return v;
- }
+ List events = chart.getFlightDataBranch(rocketDocument).getEvents();
+
+ for ( FlightEvent event : events ) {
- };
- // Events are not selectable for plotting right now.
- //eventList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
- eventList.setAdapter(events);
+ View tableRow = inflater.inflate(R.layout.simulation_event_item,null);
+ ((TextView)tableRow.findViewById(R.id.eventName)).setText( event.getType().toString() );
+ ((TextView)tableRow.findViewById(R.id.eventTime)).setText( event.getTime() + " (s)" );
+
+ FlightDataBranch data = chart.getFlightDataBranch(rocketDocument);
+ double vel = MathUtil.interpolate(data.get(FlightDataType.TYPE_TIME), data.get(FlightDataType.TYPE_VELOCITY_TOTAL), event.getTime());
+ ((TextView)tableRow.findViewById(R.id.eventVelocity)).setText( UnitGroup.UNITS_VELOCITY.getDefaultUnit().toStringUnit(vel) );
+
+ double alt = MathUtil.interpolate(data.get(FlightDataType.TYPE_TIME), data.get(FlightDataType.TYPE_ALTITUDE), event.getTime());
+ ((TextView)tableRow.findViewById(R.id.eventAltitude)).setText( UnitGroup.UNITS_DISTANCE.getDefaultUnit().toStringUnit(alt) );
+
+ eventList.addView( tableRow );
+ }
+
return v;
}