]> git.gag.com Git - debian/openrocket/commitdiff
Wire in save for OpenRocketDocument.
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Tue, 15 May 2012 23:01:39 +0000 (23:01 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Tue, 15 May 2012 23:01:39 +0000 (23:01 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@684 180e2498-e6e9-4542-8430-84ac67f01cd8

android/res/menu/rocket_viewer_option_menu.xml
android/src/build.properties [new file with mode: 0644]
android/src/net/sf/openrocket/android/Application.java
android/src/net/sf/openrocket/android/rocket/OpenRocketLoaderActivity.java
android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java

index cc80d992a199d6cba252ae2d2c1d3fbfb4f780f9..ac2387e2e320a7e1e5979e51829490fdf4e7bdec 100644 (file)
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <menu xmlns:android="http://schemas.android.com/apk/res/android" >\r
 \r
+    <item\r
+        android:id="@+id/menu_save"\r
+        android:title="@string/save"/>\r
     <item\r
         android:id="@+id/motor_list_menu_option"\r
         android:icon="@drawable/ic_motorbrowser"\r
diff --git a/android/src/build.properties b/android/src/build.properties
new file mode 100644 (file)
index 0000000..b892c09
--- /dev/null
@@ -0,0 +1,2 @@
+build.version=12.03-droid-DEV\r
+build.source=source\r
index 668d7598c881016f7f939b77afcb4011c05740a0..a06fde4618ca246cf0aed29336f2177b890d3075 100644 (file)
@@ -1,24 +1,30 @@
 package net.sf.openrocket.android;\r
 \r
+import java.io.File;\r
+import java.io.IOException;\r
 import java.util.Locale;\r
 \r
 import net.sf.openrocket.aerodynamics.WarningSet;\r
 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
 import net.sf.openrocket.database.ComponentPresetDatabase;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
+import net.sf.openrocket.file.openrocket.OpenRocketSaver;\r
 import net.sf.openrocket.l10n.DebugTranslator;\r
 import net.sf.openrocket.l10n.ResourceBundleTranslator;\r
 import net.sf.openrocket.l10n.Translator;\r
+import android.net.Uri;\r
 import android.preference.PreferenceManager;\r
 \r
 public class Application extends android.app.Application {\r
 \r
        private OpenRocketDocument rocketDocument;\r
+       private Uri fileUri;\r
+\r
        private WarningSet warnings;\r
-       \r
+\r
        // Big B boolean so I can synchronize on it.\r
        private static Boolean initialized = false;\r
-       \r
+\r
        public void initialize() {\r
                synchronized (initialized) {\r
                        if ( initialized == true ) {\r
@@ -29,21 +35,21 @@ public class Application extends android.app.Application {
                        System.setProperty("org.xml.sax.driver","org.xmlpull.v1.sax2.Driver");\r
 \r
                        net.sf.openrocket.startup.Application.setLogger( new AndroidLogWrapper.LogHelper() );\r
-                       \r
+\r
                        net.sf.openrocket.startup.Application.setPreferences( new PreferencesAdapter() );\r
-                       \r
+\r
                        net.sf.openrocket.startup.Application.setComponentPresetDao( new ComponentPresetDatabase() );\r
-                       \r
+\r
                        MotorDatabaseAdapter db = new MotorDatabaseAdapter(this);\r
 \r
                        net.sf.openrocket.startup.Application.setMotorSetDatabase(db);\r
-                       \r
+\r
                        Translator t;\r
                        t = new ResourceBundleTranslator("l10n.messages");\r
                        if (Locale.getDefault().getLanguage().equals("xx")) {\r
                                t = new DebugTranslator(t);\r
                        }\r
-                       \r
+\r
                        net.sf.openrocket.startup.Application.setBaseTranslator(t);\r
 \r
                        initialized = true;\r
@@ -84,7 +90,18 @@ public class Application extends android.app.Application {
        public void setWarnings(WarningSet warnings) {\r
                this.warnings = warnings;\r
        }\r
-       \r
-       \r
-       \r
+\r
+       public Uri getFileUri() {\r
+               return fileUri;\r
+       }\r
+\r
+       public void setFileUri(Uri fileUri) {\r
+               this.fileUri = fileUri;\r
+       }\r
+\r
+       public void saveOpenRocketDocument() throws IOException {\r
+               OpenRocketSaver saver = new OpenRocketSaver();\r
+               saver.save(new File(fileUri.getPath()),rocketDocument);\r
+\r
+       }\r
 }\r
index 151a6e0f63753339b2a3111aa1c911f055e3a4a5..c17057fe6b79017603cee9eac4f0715ad2f1fd22 100644 (file)
@@ -46,6 +46,7 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO
        }\r
 \r
        private void loadOrkFile( Uri file ) {\r
+               ((Application)getApplication()).setFileUri( file );\r
                AndroidLogWrapper.d(OpenRocketLoaderActivity.class,"Use ork file: " + file);\r
                String path = file.getPath();\r
                File orkFile = new File(path);\r
index a061305f7be3b773cc65a208cd4bfa0becf7fdea..42aaff12ff95e378acf4d8de3ae5dd76a6ab4e50 100644 (file)
@@ -1,6 +1,8 @@
 package net.sf.openrocket.android.rocket;\r
 \r
 \r
+import java.io.IOException;\r
+\r
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.android.ActivityHelpers;\r
 import net.sf.openrocket.android.Application;\r
@@ -37,13 +39,13 @@ implements Simulations.OnSimulationSelectedListener
                setContentView(R.layout.openrocketviewer);\r
                ViewPager viewPager = (ViewPager)findViewById(R.id.pager);\r
                viewPager.setAdapter( new OpenRocketViewerPager( this.getSupportFragmentManager()));\r
-               \r
+\r
                setTitle(app.getRocketDocument().getRocket().getName());\r
-               \r
+\r
                getActionBarHelper().setDisplayHomeAsUpEnabled(true);\r
-               \r
+\r
        }\r
-       \r
+\r
        @Override\r
        public boolean onCreateOptionsMenu(Menu menu) {\r
                MenuInflater inflater = getMenuInflater();\r
@@ -55,6 +57,14 @@ implements Simulations.OnSimulationSelectedListener
        public boolean onMenuItemSelected(int featureId, MenuItem item) {\r
                AndroidLogWrapper.d(OpenRocketViewer.class,"onMenuItemSelected" + item.getItemId());\r
                switch(item.getItemId()) {\r
+               case R.id.menu_save:\r
+                       // FIXME - Probably want to open a dialog here.\r
+                       try {\r
+                               ((Application)getApplication()).saveOpenRocketDocument();\r
+                       } catch ( IOException iex ) {\r
+                               AndroidLogWrapper.d(OpenRocketViewer.class, iex.getMessage());\r
+                       }\r
+                       return true;\r
                case android.R.id.home:\r
                        ActivityHelpers.goHome(this);\r
                        return true;\r
@@ -73,7 +83,7 @@ implements Simulations.OnSimulationSelectedListener
 \r
        @Override\r
        public void onSimulationSelected(int simulationId) {\r
-               \r
+\r
                Simulation sim = app.getRocketDocument().getSimulation(simulationId);\r
                // Check if there is data for this simulation.\r
                if ( sim.getSimulatedData().getBranchCount() == 0 ) {\r
@@ -83,7 +93,7 @@ implements Simulations.OnSimulationSelectedListener
                        builder.show();\r
                        return;\r
                }\r
-               \r
+\r
                View sidepane = findViewById(R.id.sidepane);\r
                if ( /* if multi pane */ sidepane != null ) {\r
                        SimulationChart chart = new SimulationChart(simulationId);\r