2 package net.sf.openrocket.android.rocket;
\r
4 import net.sf.openrocket.R;
\r
5 import net.sf.openrocket.android.CurrentRocketHolder;
\r
6 import net.sf.openrocket.document.OpenRocketDocument;
\r
7 import net.sf.openrocket.document.Simulation;
\r
8 import net.sf.openrocket.simulation.SimulationOptions;
\r
9 import net.sf.openrocket.unit.UnitGroup;
\r
10 import android.os.Bundle;
\r
11 import android.support.v4.app.DialogFragment;
\r
12 import android.view.LayoutInflater;
\r
13 import android.view.View;
\r
14 import android.view.View.OnClickListener;
\r
15 import android.view.ViewGroup;
\r
16 import android.widget.Button;
\r
17 import android.widget.EditText;
\r
19 import com.actionbarsherlock.app.SherlockDialogFragment;
\r
22 * An activity that encapsulates a graphical view of the chart.
\r
24 public class SimulationEditFragment extends SherlockDialogFragment {
\r
26 private int simulationId;
\r
28 private EditText windspeedField;
\r
29 private EditText rodlengthField;
\r
30 private EditText rodangleField;
\r
31 private EditText roddirectionField;
\r
32 private MotorConfigSpinner motorSpinner;
\r
34 public static SimulationEditFragment newInstance( int simulationId ) {
\r
35 SimulationEditFragment frag = new SimulationEditFragment();
\r
36 Bundle b = new Bundle();
\r
37 b.putInt("simulationId", simulationId);
\r
38 frag.setArguments(b);
\r
43 public void onCreate(Bundle savedInstanceState) {
\r
44 super.onCreate(savedInstanceState);
\r
45 setStyle(DialogFragment.STYLE_NO_TITLE,getTheme());
\r
47 if ( savedInstanceState != null ) {
\r
48 simulationId = savedInstanceState.getInt("simulationId");
\r
50 Bundle b = getArguments();
\r
51 simulationId = b.getInt("simulationId");
\r
56 public View onCreateView(LayoutInflater inflater, ViewGroup container,
\r
57 Bundle savedInstanceState) {
\r
58 View v = inflater.inflate(R.layout.simulation_condition_dialog, container, false);
\r
60 Button deleteButton = (Button) v.findViewById(R.id.simulationConditionDelete);
\r
61 deleteButton.setOnClickListener( new OnClickListener() {
\r
64 public void onClick(View v) {
\r
69 windspeedField = (EditText) v.findViewById(R.id.simulation_condition_windspeed);
\r
70 rodlengthField = (EditText) v.findViewById(R.id.simulation_condition_rodlength);
\r
71 rodangleField = (EditText) v.findViewById(R.id.simulation_condition_rodangle);
\r
72 roddirectionField = (EditText) v.findViewById(R.id.simulation_condition_roddirection);
\r
74 motorSpinner = (MotorConfigSpinner) v.findViewById(R.id.simulationConditionConfigurationSpinner);
\r
76 OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();
\r
78 motorSpinner.createAdapter(rocketDocument.getRocket());
\r
80 Simulation sim = rocketDocument.getSimulation(simulationId);
\r
82 SimulationOptions options = sim.getOptions();
\r
83 if ( options != null ) {
\r
84 windspeedField.setText( UnitGroup.UNITS_VELOCITY.toString( options.getWindSpeedAverage() ));
\r
85 rodlengthField.setText( UnitGroup.UNITS_LENGTH.toString( options.getLaunchRodLength() ));
\r
86 rodangleField.setText( String.valueOf( options.getLaunchRodLength() ));
\r
87 roddirectionField.setText( String.valueOf( options.getLaunchRodDirection() ));
\r
88 motorSpinner.setSelectedConfiguration(options.getMotorConfigurationID());
\r
95 public void onSaveInstanceState(Bundle outState) {
\r
96 super.onSaveInstanceState(outState);
\r
97 outState.putInt("simulationId", simulationId);
\r
101 public void onDelete( ) {
\r
102 CurrentRocketHolder.getCurrentRocket().deleteSimulation(simulationId);
\r
103 getDialog().dismiss();
\r