1 package net.sf.openrocket.android;
\r
4 import java.io.IOException;
\r
6 import net.sf.openrocket.aerodynamics.WarningSet;
\r
7 import net.sf.openrocket.document.OpenRocketDocument;
\r
8 import net.sf.openrocket.document.Simulation;
\r
9 import net.sf.openrocket.document.StorageOptions;
\r
10 import net.sf.openrocket.file.openrocket.OpenRocketSaver;
\r
11 import net.sf.openrocket.rocketcomponent.Rocket;
\r
12 import android.net.Uri;
\r
14 public class CurrentRocket {
\r
16 private Uri fileUri;
\r
18 private OpenRocketDocument rocketDocument;
\r
19 private WarningSet warnings;
\r
21 private RocketChangedEventHandler handler;
\r
23 private boolean isModified = false;
\r
25 public void setHandler( RocketChangedEventHandler handler ) {
\r
26 this.handler = handler;
\r
30 * @return the rocketDocument
\r
32 public OpenRocketDocument getRocketDocument() {
\r
33 return rocketDocument;
\r
36 public void notifySimsChanged() {
\r
38 if ( handler != null ) {
\r
39 handler.simsChangedMessage();
\r
43 public void addNewSimulation() {
\r
44 Rocket rocket = rocketDocument.getRocket();
\r
45 // FIXME - hopefully the change to the Simulation object will be reverted soon.
\r
46 Simulation newSim = new Simulation(rocketDocument, rocket);
\r
47 newSim.setName(rocketDocument.getNextSimulationName());
\r
48 rocketDocument.addSimulation(newSim);
\r
49 notifySimsChanged();
\r
52 public void deleteSimulation( int simulationPos ) {
\r
53 rocketDocument.removeSimulation( simulationPos );
\r
54 notifySimsChanged();
\r
57 public String addNewMotorConfig() {
\r
59 String configId = rocketDocument.getRocket().newMotorConfigurationID();
\r
60 if ( handler != null ) {
\r
61 handler.configsChangedMessage();
\r
66 * @param rocketDocument the rocketDocument to set
\r
68 public void setRocketDocument(OpenRocketDocument rocketDocument) {
\r
69 this.rocketDocument = rocketDocument;
\r
73 public WarningSet getWarnings() {
\r
77 public void setWarnings(WarningSet warnings) {
\r
78 this.warnings = warnings;
\r
81 public Uri getFileUri() {
\r
85 public void setFileUri(Uri fileUri) {
\r
86 this.fileUri = fileUri;
\r
89 public boolean isModified() {
\r
90 return this.isModified;
\r
93 public void saveOpenRocketDocument() throws IOException {
\r
94 OpenRocketSaver saver = new OpenRocketSaver();
\r
95 StorageOptions options = new StorageOptions();
\r
96 options.setCompressionEnabled(true);
\r
97 options.setSimulationTimeSkip(StorageOptions.SIMULATION_DATA_ALL);
\r
98 saver.save(new File(fileUri.getPath()),rocketDocument,options);
\r