Refactored by moving the Simulations fragment and SimulationEditFragment from net...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Tue, 26 Jun 2012 18:30:06 +0000 (18:30 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Tue, 26 Jun 2012 18:30:06 +0000 (18:30 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@812 180e2498-e6e9-4542-8430-84ac67f01cd8

android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java
android/src/net/sf/openrocket/android/rocket/SimulationEditFragment.java [deleted file]
android/src/net/sf/openrocket/android/rocket/Simulations.java [deleted file]
android/src/net/sf/openrocket/android/simulation/SimulationEditFragment.java [new file with mode: 0644]
android/src/net/sf/openrocket/android/simulation/Simulations.java [new file with mode: 0644]

index 2cb08e20bd730c9cb477eae72b0e51a2aa59d367..2dc2f4595451eba978310ee5f97bd80368679a39 100644 (file)
@@ -7,6 +7,7 @@ import net.sf.openrocket.android.CurrentRocketHolder;
 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
diff --git a/android/src/net/sf/openrocket/android/rocket/SimulationEditFragment.java b/android/src/net/sf/openrocket/android/rocket/SimulationEditFragment.java
deleted file mode 100644 (file)
index 0170665..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-\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
diff --git a/android/src/net/sf/openrocket/android/rocket/Simulations.java b/android/src/net/sf/openrocket/android/rocket/Simulations.java
deleted file mode 100644 (file)
index 807d6be..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-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
diff --git a/android/src/net/sf/openrocket/android/simulation/SimulationEditFragment.java b/android/src/net/sf/openrocket/android/simulation/SimulationEditFragment.java
new file mode 100644 (file)
index 0000000..147dec9
--- /dev/null
@@ -0,0 +1,132 @@
+\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
diff --git a/android/src/net/sf/openrocket/android/simulation/Simulations.java b/android/src/net/sf/openrocket/android/simulation/Simulations.java
new file mode 100644 (file)
index 0000000..61ef2a4
--- /dev/null
@@ -0,0 +1,167 @@
+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