import net.sf.openrocket.android.simulation.SimulationChart;\r
import net.sf.openrocket.android.simulation.SimulationViewActivity;\r
import net.sf.openrocket.android.simulation.SimulationViewFragment;\r
+import net.sf.openrocket.android.simulation.Simulations;\r
import net.sf.openrocket.android.util.AndroidLogWrapper;\r
import net.sf.openrocket.document.OpenRocketDocument;\r
import net.sf.openrocket.document.Simulation;\r
+++ /dev/null
-\r
-package net.sf.openrocket.android.rocket;\r
-\r
-import net.sf.openrocket.R;\r
-import net.sf.openrocket.android.CurrentRocketHolder;\r
-import net.sf.openrocket.android.simservice.SimulationService;\r
-import net.sf.openrocket.android.simservice.SimulationTask;\r
-import net.sf.openrocket.document.OpenRocketDocument;\r
-import net.sf.openrocket.document.Simulation;\r
-import net.sf.openrocket.simulation.SimulationOptions;\r
-import net.sf.openrocket.unit.UnitGroup;\r
-import android.os.Bundle;\r
-import android.support.v4.app.DialogFragment;\r
-import android.view.LayoutInflater;\r
-import android.view.View;\r
-import android.view.View.OnClickListener;\r
-import android.view.ViewGroup;\r
-import android.widget.Button;\r
-import android.widget.EditText;\r
-\r
-import com.actionbarsherlock.app.SherlockDialogFragment;\r
-\r
-/**\r
- * An activity that encapsulates a graphical view of the chart.\r
- */\r
-public class SimulationEditFragment extends SherlockDialogFragment {\r
-\r
- private int simulationId;\r
-\r
- private EditText windspeedField;\r
- private EditText rodlengthField;\r
- private EditText rodangleField;\r
- private EditText roddirectionField;\r
- private MotorConfigSpinner motorSpinner;\r
-\r
- public static SimulationEditFragment newInstance( int simulationId ) {\r
- SimulationEditFragment frag = new SimulationEditFragment();\r
- Bundle b = new Bundle();\r
- b.putInt("simulationId", simulationId);\r
- frag.setArguments(b);\r
- return frag;\r
- }\r
-\r
- @Override\r
- public void onCreate(Bundle savedInstanceState) {\r
- super.onCreate(savedInstanceState);\r
- setStyle(DialogFragment.STYLE_NO_TITLE,getTheme());\r
-\r
- if ( savedInstanceState != null ) {\r
- simulationId = savedInstanceState.getInt("simulationId");\r
- } else {\r
- Bundle b = getArguments();\r
- simulationId = b.getInt("simulationId");\r
- }\r
- }\r
-\r
- @Override\r
- public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
- Bundle savedInstanceState) {\r
- View v = inflater.inflate(R.layout.simulation_condition_dialog, container, false);\r
- \r
- Button deleteButton = (Button) v.findViewById(R.id.simulationConditionDelete);\r
- deleteButton.setOnClickListener( new OnClickListener() {\r
- @Override\r
- public void onClick(View v) {\r
- onDelete();\r
- }\r
- });\r
- \r
- Button runButton = (Button) v.findViewById(R.id.simulationConditionRun);\r
- runButton.setOnClickListener( new OnClickListener() {\r
- @Override\r
- public void onClick(View v) {\r
- onRun();\r
- }\r
- });\r
-\r
- windspeedField = (EditText) v.findViewById(R.id.simulation_condition_windspeed);\r
- rodlengthField = (EditText) v.findViewById(R.id.simulation_condition_rodlength);\r
- rodangleField = (EditText) v.findViewById(R.id.simulation_condition_rodangle);\r
- roddirectionField = (EditText) v.findViewById(R.id.simulation_condition_roddirection);\r
-\r
- motorSpinner = (MotorConfigSpinner) v.findViewById(R.id.simulationConditionConfigurationSpinner);\r
-\r
- OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
-\r
- motorSpinner.createAdapter(rocketDocument.getRocket());\r
-\r
- Simulation sim = rocketDocument.getSimulation(simulationId);\r
-\r
- SimulationOptions options = sim.getOptions();\r
- if ( options != null ) {\r
- windspeedField.setText( UnitGroup.UNITS_VELOCITY.toString( options.getWindSpeedAverage() ));\r
- rodlengthField.setText( UnitGroup.UNITS_LENGTH.toString( options.getLaunchRodLength() ));\r
- rodangleField.setText( UnitGroup.UNITS_ANGLE.toString( options.getLaunchRodAngle() ));\r
- roddirectionField.setText( UnitGroup.UNITS_ANGLE.toString( options.getLaunchRodDirection() ));\r
- motorSpinner.setSelectedConfiguration(options.getMotorConfigurationID());\r
- }\r
-\r
- return v;\r
- }\r
-\r
- @Override\r
- public void onSaveInstanceState(Bundle outState) {\r
- super.onSaveInstanceState(outState);\r
- outState.putInt("simulationId", simulationId);\r
-\r
- }\r
-\r
- public void onDelete( ) {\r
- CurrentRocketHolder.getCurrentRocket().deleteSimulation(simulationId);\r
- getDialog().dismiss();\r
- }\r
- \r
- public void onRun() {\r
- \r
- OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
- Simulation sim = rocketDocument.getSimulation(simulationId);\r
- SimulationOptions options = sim.getOptions();\r
-\r
- options.setWindSpeedAverage( UnitGroup.UNITS_VELOCITY.fromUnit(Double.parseDouble( windspeedField.getText().toString() )));\r
- options.setLaunchRodLength( UnitGroup.UNITS_LENGTH.fromUnit(Double.parseDouble( rodlengthField.getText().toString() )));\r
- options.setLaunchRodAngle( UnitGroup.UNITS_ANGLE.fromUnit(Double.parseDouble( rodangleField.getText().toString() )));\r
- options.setLaunchRodDirection( UnitGroup.UNITS_ANGLE.fromUnit(Double.parseDouble( roddirectionField.getText().toString() )));\r
- options.setMotorConfigurationID( motorSpinner.getSelectedConfiguration() );\r
- \r
- SimulationTask t = new SimulationTask(simulationId);\r
- SimulationService.executeSimulationTask(getActivity(), t);\r
- getDialog().dismiss();\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-package net.sf.openrocket.android.rocket;\r
-\r
-import net.sf.openrocket.R;\r
-import net.sf.openrocket.android.CurrentRocketHolder;\r
-import net.sf.openrocket.android.simulation.SimulationListItem;\r
-import net.sf.openrocket.android.util.AndroidLogWrapper;\r
-import net.sf.openrocket.document.OpenRocketDocument;\r
-import net.sf.openrocket.document.Simulation;\r
-import android.app.Activity;\r
-import android.content.SharedPreferences;\r
-import android.os.Bundle;\r
-import android.preference.PreferenceManager;\r
-import android.support.v4.app.FragmentTransaction;\r
-import android.view.LayoutInflater;\r
-import android.view.View;\r
-import android.view.ViewGroup;\r
-import android.widget.AdapterView;\r
-import android.widget.AdapterView.OnItemClickListener;\r
-import android.widget.AdapterView.OnItemLongClickListener;\r
-import android.widget.ArrayAdapter;\r
-import android.widget.ListView;\r
-\r
-import com.actionbarsherlock.app.SherlockFragment;\r
-import com.actionbarsherlock.view.Menu;\r
-import com.actionbarsherlock.view.MenuInflater;\r
-import com.actionbarsherlock.view.MenuItem;\r
-\r
-public class Simulations extends SherlockFragment\r
-implements SharedPreferences.OnSharedPreferenceChangeListener\r
-{\r
-\r
- private final static String wizardFrag = "wizardFrag";\r
-\r
- public interface OnSimulationSelectedListener {\r
- public void onSimulationSelected( int simulationId );\r
- }\r
-\r
- private ListView simulationList;\r
- private OnSimulationSelectedListener listener;\r
-\r
- @Override\r
- public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
- Bundle savedInstanceState) {\r
- setHasOptionsMenu(true);\r
- View v = inflater.inflate(R.layout.rocket_simulations, container, false);\r
- simulationList = (ListView) v.findViewById(R.id.openrocketviewerSimulationList);\r
- return v;\r
- }\r
- \r
- @Override\r
- public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {\r
- inflater.inflate(R.menu.rocket_viewer_simulation_option_menu, menu);\r
- }\r
-\r
- @Override\r
- public boolean onOptionsItemSelected(MenuItem item) {\r
- switch (item.getItemId())\r
- {\r
- case R.id.menu_add:\r
- addSimulation();\r
- return true;\r
- default:\r
- return super.onOptionsItemSelected(item);\r
- }\r
- }\r
-\r
- @Override\r
- public void onAttach(Activity activity) {\r
- super.onAttach(activity);\r
- if ( activity instanceof OnSimulationSelectedListener ) {\r
- listener = (OnSimulationSelectedListener) activity;\r
- }\r
- }\r
-\r
-\r
- public void setListener(OnSimulationSelectedListener listener) {\r
- this.listener = listener;\r
- }\r
-\r
- @Override\r
- public void onActivityCreated(Bundle savedInstanceState) {\r
- super.onActivityCreated(savedInstanceState);\r
-\r
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());\r
- prefs.registerOnSharedPreferenceChangeListener(this);\r
-\r
- }\r
-\r
- @Override\r
- public void onResume() {\r
- super.onResume();\r
- setup();\r
-\r
- }\r
-\r
- @Override\r
- public void onDestroy() {\r
- super.onDestroy();\r
-\r
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());\r
- prefs.unregisterOnSharedPreferenceChangeListener(this);\r
- }\r
-\r
- @Override\r
- public void onSharedPreferenceChanged(SharedPreferences arg0, String arg1) {\r
- if ( this.isVisible() ) {\r
- setup();\r
- }\r
- }\r
-\r
-\r
- public void refreshSimulationList() {\r
- setup();\r
- }\r
- \r
- private void setup() {\r
- final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
- AndroidLogWrapper.d(Simulations.class,"activity = {0}", this.getActivity());\r
-\r
- ArrayAdapter<Simulation> sims = new ArrayAdapter<Simulation>(this.getActivity(),android.R.layout.simple_list_item_2,rocketDocument.getSimulations()) {\r
-\r
- @Override\r
- public View getView(int position, View convertView, ViewGroup parent) {\r
- SimulationListItem listItemView = (SimulationListItem) convertView;\r
-\r
- if (listItemView == null) {\r
- listItemView = new SimulationListItem(parent.getContext());\r
- }\r
-\r
- Simulation sim = this.getItem(position);\r
- listItemView.setSimulation(sim);\r
-\r
- return listItemView;\r
- }\r
-\r
- };\r
- simulationList.setOnItemClickListener( new OnItemClickListener() {\r
- @Override\r
- public void onItemClick(AdapterView l, View v, int position, long id) {\r
- if (listener != null ) {\r
- listener.onSimulationSelected(position);\r
- }\r
- }\r
-\r
- });\r
- simulationList.setOnItemLongClickListener( new OnItemLongClickListener() {\r
-\r
- @Override\r
- public boolean onItemLongClick(AdapterView<?> parent, View view,\r
- int position, long id) {\r
- final SimulationEditFragment f = SimulationEditFragment.newInstance(position);\r
- FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();\r
- ft.add(f, wizardFrag);\r
- ft.commit();\r
-\r
- return true;\r
- }\r
- \r
- });\r
- simulationList.setAdapter(sims);\r
-\r
- }\r
-\r
- private void addSimulation() {\r
- CurrentRocketHolder.getCurrentRocket().addNewSimulation();\r
- }\r
- \r
-}\r
--- /dev/null
+\r
+package net.sf.openrocket.android.simulation;\r
+\r
+import net.sf.openrocket.R;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
+import net.sf.openrocket.android.rocket.MotorConfigSpinner;\r
+import net.sf.openrocket.android.simservice.SimulationService;\r
+import net.sf.openrocket.android.simservice.SimulationTask;\r
+import net.sf.openrocket.document.OpenRocketDocument;\r
+import net.sf.openrocket.document.Simulation;\r
+import net.sf.openrocket.simulation.SimulationOptions;\r
+import net.sf.openrocket.unit.UnitGroup;\r
+import android.os.Bundle;\r
+import android.support.v4.app.DialogFragment;\r
+import android.view.LayoutInflater;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.view.ViewGroup;\r
+import android.widget.Button;\r
+import android.widget.EditText;\r
+\r
+import com.actionbarsherlock.app.SherlockDialogFragment;\r
+\r
+/**\r
+ * An activity that encapsulates a graphical view of the chart.\r
+ */\r
+public class SimulationEditFragment extends SherlockDialogFragment {\r
+\r
+ private int simulationId;\r
+\r
+ private EditText windspeedField;\r
+ private EditText rodlengthField;\r
+ private EditText rodangleField;\r
+ private EditText roddirectionField;\r
+ private MotorConfigSpinner motorSpinner;\r
+\r
+ public static SimulationEditFragment newInstance( int simulationId ) {\r
+ SimulationEditFragment frag = new SimulationEditFragment();\r
+ Bundle b = new Bundle();\r
+ b.putInt("simulationId", simulationId);\r
+ frag.setArguments(b);\r
+ return frag;\r
+ }\r
+\r
+ @Override\r
+ public void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setStyle(DialogFragment.STYLE_NO_TITLE,getTheme());\r
+\r
+ if ( savedInstanceState != null ) {\r
+ simulationId = savedInstanceState.getInt("simulationId");\r
+ } else {\r
+ Bundle b = getArguments();\r
+ simulationId = b.getInt("simulationId");\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
+ Bundle savedInstanceState) {\r
+ View v = inflater.inflate(R.layout.simulation_condition_dialog, container, false);\r
+ \r
+ Button deleteButton = (Button) v.findViewById(R.id.simulationConditionDelete);\r
+ deleteButton.setOnClickListener( new OnClickListener() {\r
+ @Override\r
+ public void onClick(View v) {\r
+ onDelete();\r
+ }\r
+ });\r
+ \r
+ Button runButton = (Button) v.findViewById(R.id.simulationConditionRun);\r
+ runButton.setOnClickListener( new OnClickListener() {\r
+ @Override\r
+ public void onClick(View v) {\r
+ onRun();\r
+ }\r
+ });\r
+\r
+ windspeedField = (EditText) v.findViewById(R.id.simulation_condition_windspeed);\r
+ rodlengthField = (EditText) v.findViewById(R.id.simulation_condition_rodlength);\r
+ rodangleField = (EditText) v.findViewById(R.id.simulation_condition_rodangle);\r
+ roddirectionField = (EditText) v.findViewById(R.id.simulation_condition_roddirection);\r
+\r
+ motorSpinner = (MotorConfigSpinner) v.findViewById(R.id.simulationConditionConfigurationSpinner);\r
+\r
+ OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
+\r
+ motorSpinner.createAdapter(rocketDocument.getRocket());\r
+\r
+ Simulation sim = rocketDocument.getSimulation(simulationId);\r
+\r
+ SimulationOptions options = sim.getOptions();\r
+ if ( options != null ) {\r
+ windspeedField.setText( UnitGroup.UNITS_VELOCITY.toString( options.getWindSpeedAverage() ));\r
+ rodlengthField.setText( UnitGroup.UNITS_LENGTH.toString( options.getLaunchRodLength() ));\r
+ rodangleField.setText( UnitGroup.UNITS_ANGLE.toString( options.getLaunchRodAngle() ));\r
+ roddirectionField.setText( UnitGroup.UNITS_ANGLE.toString( options.getLaunchRodDirection() ));\r
+ motorSpinner.setSelectedConfiguration(options.getMotorConfigurationID());\r
+ }\r
+\r
+ return v;\r
+ }\r
+\r
+ @Override\r
+ public void onSaveInstanceState(Bundle outState) {\r
+ super.onSaveInstanceState(outState);\r
+ outState.putInt("simulationId", simulationId);\r
+\r
+ }\r
+\r
+ public void onDelete( ) {\r
+ CurrentRocketHolder.getCurrentRocket().deleteSimulation(simulationId);\r
+ getDialog().dismiss();\r
+ }\r
+ \r
+ public void onRun() {\r
+ \r
+ OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
+ Simulation sim = rocketDocument.getSimulation(simulationId);\r
+ SimulationOptions options = sim.getOptions();\r
+\r
+ options.setWindSpeedAverage( UnitGroup.UNITS_VELOCITY.fromUnit(Double.parseDouble( windspeedField.getText().toString() )));\r
+ options.setLaunchRodLength( UnitGroup.UNITS_LENGTH.fromUnit(Double.parseDouble( rodlengthField.getText().toString() )));\r
+ options.setLaunchRodAngle( UnitGroup.UNITS_ANGLE.fromUnit(Double.parseDouble( rodangleField.getText().toString() )));\r
+ options.setLaunchRodDirection( UnitGroup.UNITS_ANGLE.fromUnit(Double.parseDouble( roddirectionField.getText().toString() )));\r
+ options.setMotorConfigurationID( motorSpinner.getSelectedConfiguration() );\r
+ \r
+ SimulationTask t = new SimulationTask(simulationId);\r
+ SimulationService.executeSimulationTask(getActivity(), t);\r
+ getDialog().dismiss();\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+package net.sf.openrocket.android.simulation;\r
+\r
+import net.sf.openrocket.R;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
+import net.sf.openrocket.android.util.AndroidLogWrapper;\r
+import net.sf.openrocket.document.OpenRocketDocument;\r
+import net.sf.openrocket.document.Simulation;\r
+import android.app.Activity;\r
+import android.content.SharedPreferences;\r
+import android.os.Bundle;\r
+import android.preference.PreferenceManager;\r
+import android.support.v4.app.FragmentTransaction;\r
+import android.view.LayoutInflater;\r
+import android.view.View;\r
+import android.view.ViewGroup;\r
+import android.widget.AdapterView;\r
+import android.widget.AdapterView.OnItemClickListener;\r
+import android.widget.AdapterView.OnItemLongClickListener;\r
+import android.widget.ArrayAdapter;\r
+import android.widget.ListView;\r
+\r
+import com.actionbarsherlock.app.SherlockFragment;\r
+import com.actionbarsherlock.view.Menu;\r
+import com.actionbarsherlock.view.MenuInflater;\r
+import com.actionbarsherlock.view.MenuItem;\r
+\r
+public class Simulations extends SherlockFragment\r
+implements SharedPreferences.OnSharedPreferenceChangeListener\r
+{\r
+\r
+ private final static String wizardFrag = "wizardFrag";\r
+\r
+ public interface OnSimulationSelectedListener {\r
+ public void onSimulationSelected( int simulationId );\r
+ }\r
+\r
+ private ListView simulationList;\r
+ private OnSimulationSelectedListener listener;\r
+\r
+ @Override\r
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
+ Bundle savedInstanceState) {\r
+ setHasOptionsMenu(true);\r
+ View v = inflater.inflate(R.layout.rocket_simulations, container, false);\r
+ simulationList = (ListView) v.findViewById(R.id.openrocketviewerSimulationList);\r
+ return v;\r
+ }\r
+ \r
+ @Override\r
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {\r
+ inflater.inflate(R.menu.rocket_viewer_simulation_option_menu, menu);\r
+ }\r
+\r
+ @Override\r
+ public boolean onOptionsItemSelected(MenuItem item) {\r
+ switch (item.getItemId())\r
+ {\r
+ case R.id.menu_add:\r
+ addSimulation();\r
+ return true;\r
+ default:\r
+ return super.onOptionsItemSelected(item);\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void onAttach(Activity activity) {\r
+ super.onAttach(activity);\r
+ if ( activity instanceof OnSimulationSelectedListener ) {\r
+ listener = (OnSimulationSelectedListener) activity;\r
+ }\r
+ }\r
+\r
+\r
+ public void setListener(OnSimulationSelectedListener listener) {\r
+ this.listener = listener;\r
+ }\r
+\r
+ @Override\r
+ public void onActivityCreated(Bundle savedInstanceState) {\r
+ super.onActivityCreated(savedInstanceState);\r
+\r
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());\r
+ prefs.registerOnSharedPreferenceChangeListener(this);\r
+\r
+ }\r
+\r
+ @Override\r
+ public void onResume() {\r
+ super.onResume();\r
+ setup();\r
+\r
+ }\r
+\r
+ @Override\r
+ public void onDestroy() {\r
+ super.onDestroy();\r
+\r
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());\r
+ prefs.unregisterOnSharedPreferenceChangeListener(this);\r
+ }\r
+\r
+ @Override\r
+ public void onSharedPreferenceChanged(SharedPreferences arg0, String arg1) {\r
+ if ( this.isVisible() ) {\r
+ setup();\r
+ }\r
+ }\r
+\r
+\r
+ public void refreshSimulationList() {\r
+ setup();\r
+ }\r
+ \r
+ private void setup() {\r
+ final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
+ AndroidLogWrapper.d(Simulations.class,"activity = {0}", this.getActivity());\r
+\r
+ ArrayAdapter<Simulation> sims = new ArrayAdapter<Simulation>(this.getActivity(),android.R.layout.simple_list_item_2,rocketDocument.getSimulations()) {\r
+\r
+ @Override\r
+ public View getView(int position, View convertView, ViewGroup parent) {\r
+ SimulationListItem listItemView = (SimulationListItem) convertView;\r
+\r
+ if (listItemView == null) {\r
+ listItemView = new SimulationListItem(parent.getContext());\r
+ }\r
+\r
+ Simulation sim = this.getItem(position);\r
+ listItemView.setSimulation(sim);\r
+\r
+ return listItemView;\r
+ }\r
+\r
+ };\r
+ simulationList.setOnItemClickListener( new OnItemClickListener() {\r
+ @Override\r
+ public void onItemClick(AdapterView l, View v, int position, long id) {\r
+ if (listener != null ) {\r
+ listener.onSimulationSelected(position);\r
+ }\r
+ }\r
+\r
+ });\r
+ simulationList.setOnItemLongClickListener( new OnItemLongClickListener() {\r
+\r
+ @Override\r
+ public boolean onItemLongClick(AdapterView<?> parent, View view,\r
+ int position, long id) {\r
+ final SimulationEditFragment f = SimulationEditFragment.newInstance(position);\r
+ FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();\r
+ ft.add(f, wizardFrag);\r
+ ft.commit();\r
+\r
+ return true;\r
+ }\r
+ \r
+ });\r
+ simulationList.setAdapter(sims);\r
+\r
+ }\r
+\r
+ private void addSimulation() {\r
+ CurrentRocketHolder.getCurrentRocket().addNewSimulation();\r
+ }\r
+ \r
+}\r