Fix menus when simulations are displayed and the device is rotated. The preference...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Sun, 5 Feb 2012 01:53:43 +0000 (01:53 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Sun, 5 Feb 2012 01:53:43 +0000 (01:53 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@393 180e2498-e6e9-4542-8430-84ac67f01cd8

android/src/net/sf/openrocket/android/simulation/SimulationFragment.java
android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java

index dfcd57155b523f3a15965a8497cd2e820443327b..60c8682216628d6d9e4dc383ae13c5fb683155ac 100644 (file)
@@ -39,7 +39,7 @@ public class SimulationFragment extends Fragment implements SimulationSeriesDial
 \r
        @Override\r
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {\r
-               setRetainInstance(false);\r
+               setRetainInstance(true);\r
                setHasOptionsMenu(true);\r
                OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
 \r
@@ -54,9 +54,6 @@ public class SimulationFragment extends Fragment implements SimulationSeriesDial
 \r
        @Override\r
        public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {\r
-               // TODO without the clear it seems to create multiple copies\r
-               // of the menu items on orientation change.\r
-               menu.clear();\r
                inflater.inflate(R.menu.simulation_option_menu, menu);\r
        }\r
 \r
index ec0895daba7f916c97bd7c192eb340097c566a30..8a478ab4def6347225ea6df0967ad4865ff17803 100644 (file)
@@ -15,6 +15,8 @@
  */\r
 package net.sf.openrocket.android.simulation;\r
 \r
+import net.sf.openrocket.R;\r
+import net.sf.openrocket.android.ActivityHelpers;\r
 import net.sf.openrocket.android.Application;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.document.Simulation;\r
@@ -22,6 +24,8 @@ import android.os.Bundle;
 import android.support.v4.app.Fragment;\r
 import android.support.v4.app.FragmentActivity;\r
 import android.support.v4.app.FragmentTransaction;\r
+import android.view.Menu;\r
+import android.view.MenuItem;\r
 \r
 /**\r
  * An activity that encapsulates a graphical view of the chart.\r
@@ -37,7 +41,7 @@ public class SimulationViewActivity extends FragmentActivity {
                final OpenRocketDocument rocketDocument = ((Application)getApplication()).getRocketDocument();\r
 \r
                Simulation sim = rocketDocument.getSimulation(simulationNumber);\r
-               \r
+\r
                SimulationChart chart = new SimulationChart( simulationNumber);\r
                chart.setSeries1(sim.getSimulatedData().getBranch(0).getTypes()[1]);\r
                chart.setSeries2(sim.getSimulatedData().getBranch(0).getTypes()[2]);\r
@@ -45,8 +49,25 @@ public class SimulationViewActivity extends FragmentActivity {
                Fragment graph = SimulationFragment.newInstance(chart);\r
 \r
                FragmentTransaction ft = getSupportFragmentManager().beginTransaction();\r
-               ft.add(android.R.id.content, graph);\r
+               ft.replace(android.R.id.content, graph);\r
                ft.commit();\r
        }\r
 \r
+       @Override\r
+       public boolean onMenuItemSelected(int featureId, MenuItem item) {\r
+               switch (item.getItemId()) {\r
+               case R.id.preference_menu_option:\r
+                       ActivityHelpers.startPreferences(this);\r
+                       return true;\r
+               }\r
+               return super.onMenuItemSelected(featureId, item);\r
+       }\r
+\r
+       @Override\r
+       public boolean onCreateOptionsMenu(Menu menu) {\r
+               MenuItem prefItem = menu.add(Menu.NONE, R.id.preference_menu_option, Menu.CATEGORY_SYSTEM, R.string.Preferences);\r
+               prefItem.setIcon(R.drawable.ic_menu_preferences);\r
+               return true;\r
+       }\r
+\r
 }
\ No newline at end of file