diff options
| author | Paul Buetow <paul@buetow.org> | 2008-06-11 09:48:10 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-06-11 09:48:10 +0000 |
| commit | 0e2e70d5a393024f3ae4a3a3560b4df51075000a (patch) | |
| tree | 27c659d282bec3508304d5fa80a34a1662185950 /sources/simulator/VSSimulatorFrame.java | |
| parent | 412a1ac0e6311fe39452ae41b6eada4ef17cce34 (diff) | |
More javadoc.
Several bugfixes.
New feauture: Boolean: sim.periodic
A lot of more which i forgot!
Diffstat (limited to 'sources/simulator/VSSimulatorFrame.java')
| -rw-r--r-- | sources/simulator/VSSimulatorFrame.java | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/sources/simulator/VSSimulatorFrame.java b/sources/simulator/VSSimulatorFrame.java index 1fb5cab..caf06cb 100644 --- a/sources/simulator/VSSimulatorFrame.java +++ b/sources/simulator/VSSimulatorFrame.java @@ -149,21 +149,35 @@ public class VSSimulatorFrame extends VSFrame { } else if (sourceText.equals( finalPrefs.getString("lang.save"))) { + VSSimulatorCanvas simulatorCanvas = + currentSimulator.getSimulatorCanvas(); + boolean flag = !simulatorCanvas.isPaused() + && !simulatorCanvas.hasFinished(); + + if (flag) + pauseCurrentSimulator(); - pauseCurrentSimulator(); - resetCurrentSimulator(); VSSerialize serialize = new VSSerialize(); serialize.saveSimulator(VSSerialize.LAST_FILENAME, currentSimulator); + if (flag) + startCurrentSimulator(); } else if (sourceText.equals( finalPrefs.getString("lang.saveas"))) { + VSSimulatorCanvas simulatorCanvas = + currentSimulator.getSimulatorCanvas(); + boolean flag = !simulatorCanvas.isPaused() + && !simulatorCanvas.hasFinished(); + if (flag) + pauseCurrentSimulator(); - pauseCurrentSimulator(); - resetCurrentSimulator(); VSSerialize serialize = new VSSerialize(); serialize.saveSimulator(currentSimulator); + if (flag) + startCurrentSimulator(); + } else if (sourceText.equals( finalPrefs.getString("lang.about"))) { new VSAbout(finalPrefs, VSSimulatorFrame.this); @@ -174,14 +188,7 @@ public class VSSimulatorFrame extends VSFrame { } else if (sourceText.equals( finalPrefs.getString("lang.start"))) { - VSMenuItemStates menuItemState = - currentSimulator.getMenuItemStates(); - menuItemState.setStart(false); - menuItemState.setPause(true); - menuItemState.setReset(false); - menuItemState.setReplay(true); - currentSimulator.getSimulatorCanvas().play(); - updateSimulatorMenu(); + startCurrentSimulator(); } else if (sourceText.equals( finalPrefs.getString("lang.pause"))) { @@ -537,6 +544,20 @@ public class VSSimulatorFrame extends VSFrame { } /** + * Starts the current simulator + */ + public void startCurrentSimulator() { + VSMenuItemStates menuItemState = + currentSimulator.getMenuItemStates(); + menuItemState.setStart(false); + menuItemState.setPause(true); + menuItemState.setReset(false); + menuItemState.setReplay(true); + currentSimulator.getSimulatorCanvas().play(); + updateSimulatorMenu(); + } + + /** * Pauses the current simulator */ public void pauseCurrentSimulator() { |
