From 0e2e70d5a393024f3ae4a3a3560b4df51075000a Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 11 Jun 2008 09:48:10 +0000 Subject: More javadoc. Several bugfixes. New feauture: Boolean: sim.periodic A lot of more which i forgot! --- sources/simulator/VSSimulatorFrame.java | 45 ++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 12 deletions(-) (limited to 'sources/simulator/VSSimulatorFrame.java') 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"))) { @@ -536,6 +543,20 @@ public class VSSimulatorFrame extends VSFrame { updateSimulatorMenu(); } + /** + * 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 */ -- cgit v1.2.3