Rework the CustomExpression evaluation to use SimulationListeners. Removed the OpenR...
[debian/openrocket] / android / src / net / sf / openrocket / android / simulation / Simulations.java
index 61ef2a411bb2350b33a60a3a1564acbf6ba31fea..4d8314ae2262aab5ba772bb1b556fbc61062bf7f 100644 (file)
@@ -136,7 +136,11 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                simulationList.setOnItemClickListener( new OnItemClickListener() {\r
                        @Override\r
                        public void onItemClick(AdapterView l, View v, int position, long id) {\r
-                               if (listener != null ) {\r
+                               Simulation sim = CurrentRocketHolder.getCurrentRocket().getRocketDocument().getSimulation(position);\r
+                               // Check if there is data for this simulation.\r
+                               if ( sim.getSimulatedData() == null || sim.getSimulatedData().getBranchCount() == 0 ) {\r
+                                       openEditor(position);\r
+                               } else if (listener != null ) {\r
                                        listener.onSimulationSelected(position);\r
                                }\r
                        }\r
@@ -147,10 +151,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                        @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
+                               openEditor(position);\r
 \r
                                return true;\r
                        }\r
@@ -159,9 +160,16 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                simulationList.setAdapter(sims);\r
 \r
        }\r
+       \r
+       private void openEditor( int position ) {\r
+               final SimulationEditFragment f = SimulationEditFragment.newInstance(position);\r
+               FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();\r
+               ft.add(f, wizardFrag);\r
+               ft.commit();\r
+       }\r
 \r
        private void addSimulation() {\r
-               CurrentRocketHolder.getCurrentRocket().addNewSimulation();\r
+               CurrentRocketHolder.getCurrentRocket().addNewSimulation(getActivity());\r
        }\r
        \r
 }\r