summaryrefslogtreecommitdiff
path: root/sources/simulator
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-06-02 00:21:43 +0000
committerPaul Buetow <paul@buetow.org>2008-06-02 00:21:43 +0000
commit378c2674fc704b2a6bbf0e6a01b721a7aea7c2e2 (patch)
treeae228c2fb8c1387d2667322f60a649032c52c152 /sources/simulator
parenta24f52761a623afa3c041b7823004952d8c5286e (diff)
saveing seems work, but may have bugs
Diffstat (limited to 'sources/simulator')
-rw-r--r--sources/simulator/VSSimulator.java5
-rw-r--r--sources/simulator/VSSimulatorCanvas.java4
-rw-r--r--sources/simulator/VSSimulatorFrame.java51
3 files changed, 39 insertions, 21 deletions
diff --git a/sources/simulator/VSSimulator.java b/sources/simulator/VSSimulator.java
index f376719..4323190 100644
--- a/sources/simulator/VSSimulator.java
+++ b/sources/simulator/VSSimulator.java
@@ -402,7 +402,7 @@ public class VSSimulator extends JPanel implements VSSerializable {
this.globalTextFields = new ArrayList<String>();
/* Not null if init has been called from the deserialization */
- if (logging == null)
+ if (this.logging == null)
this.logging = new VSLogging();
logging.logg(prefs.getString("lang.simulator.new"));
@@ -443,7 +443,7 @@ public class VSSimulator extends JPanel implements VSSerializable {
splitPaneV = new JSplitPane();
/* Not null if init has been called from the deserialization */
- if (simulatorCanvas == null)
+ if (this.simulatorCanvas == null)
simulatorCanvas = new VSSimulatorCanvas(prefs, this, logging);
taskManager = simulatorCanvas.getTaskManager();
@@ -873,6 +873,7 @@ public class VSSimulator extends JPanel implements VSSerializable {
for (VSProcess process : processes) {
VSTask task = createTask.createTask(process, time,
localTasks);
+ System.out.println(task);
taskManager.addTask(task, VSTaskManager.PROGRAMMED);
if (selectedProcess == null ||
diff --git a/sources/simulator/VSSimulatorCanvas.java b/sources/simulator/VSSimulatorCanvas.java
index cfc6549..1d12a06 100644
--- a/sources/simulator/VSSimulatorCanvas.java
+++ b/sources/simulator/VSSimulatorCanvas.java
@@ -495,11 +495,11 @@ public class VSSimulatorCanvas extends Canvas
this.messageLinesToRemove = new LinkedList<VSMessageLine>();
/* May be not null if called from deserialization */
- if (taskManager == null)
+ if (this.taskManager == null)
this.taskManager = new VSTaskManager(prefs, this);
/* May be not null if called from deserialization */
- if (processes == null) {
+ if (this.processes == null) {
this.processes = new ArrayList<VSProcess>();
numProcesses = prefs.getInteger("sim.process.num");
diff --git a/sources/simulator/VSSimulatorFrame.java b/sources/simulator/VSSimulatorFrame.java
index aff8787..c538284 100644
--- a/sources/simulator/VSSimulatorFrame.java
+++ b/sources/simulator/VSSimulatorFrame.java
@@ -145,7 +145,8 @@ public class VSSimulatorFrame extends VSFrame {
} else if (sourceText.equals(
finalPrefs.getString("lang.open"))) {
-
+ pauseCurrentSimulator();
+ resetCurrentSimulator();
VSSerialize serialize = new VSSerialize();
VSSimulator simulator = serialize.openSimulator(
VSSerialize.STANDARD_FILENAME,
@@ -155,6 +156,8 @@ public class VSSimulatorFrame extends VSFrame {
} else if (sourceText.equals(
finalPrefs.getString("lang.save"))) {
+ pauseCurrentSimulator();
+ resetCurrentSimulator();
VSSerialize serialize = new VSSerialize();
serialize.saveSimulator(VSSerialize.STANDARD_FILENAME,
currentSimulator);
@@ -180,25 +183,11 @@ public class VSSimulatorFrame extends VSFrame {
} else if (sourceText.equals(
finalPrefs.getString("lang.pause"))) {
- VSMenuItemStates menuItemState =
- currentSimulator.getMenuItemStates();
- menuItemState.setStart(true);
- menuItemState.setPause(false);
- menuItemState.setReset(true);
- menuItemState.setReplay(true);
- currentSimulator.getSimulatorCanvas().pause();
- updateSimulatorMenu();
+ pauseCurrentSimulator();
} else if (sourceText.equals(
finalPrefs.getString("lang.reset"))) {
- VSMenuItemStates menuItemState =
- currentSimulator.getMenuItemStates();
- menuItemState.setStart(true);
- menuItemState.setPause(false);
- menuItemState.setReset(false);
- menuItemState.setReplay(false);
- currentSimulator.getSimulatorCanvas().reset();
- updateSimulatorMenu();
+ resetCurrentSimulator();
} else if (sourceText.equals(
finalPrefs.getString("lang.replay"))) {
@@ -532,6 +521,34 @@ public class VSSimulatorFrame extends VSFrame {
}
/**
+ * Resets the current simulator
+ */
+ public void resetCurrentSimulator() {
+ VSMenuItemStates menuItemState =
+ currentSimulator.getMenuItemStates();
+ menuItemState.setStart(true);
+ menuItemState.setPause(false);
+ menuItemState.setReset(false);
+ menuItemState.setReplay(false);
+ currentSimulator.getSimulatorCanvas().reset();
+ updateSimulatorMenu();
+ }
+
+ /**
+ * Pauses the current simulator
+ */
+ public void pauseCurrentSimulator() {
+ VSMenuItemStates menuItemState =
+ currentSimulator.getMenuItemStates();
+ menuItemState.setStart(true);
+ menuItemState.setPause(false);
+ menuItemState.setReset(true);
+ menuItemState.setReplay(true);
+ currentSimulator.getSimulatorCanvas().pause();
+ updateSimulatorMenu();
+ }
+
+ /**
* Gets the image icon.
*
* @param name the name