summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ROADMAP3
-rw-r--r--sources/prefs/VSDefaultPrefs.java2
-rw-r--r--sources/simulator/VSCreateTask.java6
-rw-r--r--sources/simulator/VSSimulator.java32
-rw-r--r--sources/simulator/VSSimulatorCanvas.java80
5 files changed, 86 insertions, 37 deletions
diff --git a/ROADMAP b/ROADMAP
index 753e296..b907e68 100644
--- a/ROADMAP
+++ b/ROADMAP
@@ -1,9 +1,6 @@
Must do:
Warn if a file does not exists while trying to open!
Reliable Multicast
- Paint area right click:
- Add local event
- Add global event (in expert mode)
Evtl.:
Helper:
Print warning if not activated protocol while doing a protocol request
diff --git a/sources/prefs/VSDefaultPrefs.java b/sources/prefs/VSDefaultPrefs.java
index 8e38b53..f4705a3 100644
--- a/sources/prefs/VSDefaultPrefs.java
+++ b/sources/prefs/VSDefaultPrefs.java
@@ -108,7 +108,7 @@ public class VSDefaultPrefs extends VSPrefs {
initString("lang.message.recv", "Nachricht erhalten");
initString("lang.message.sent", "Nachricht versendet");
initString("lang.mode.expert", "Expertenmodus");
- initString("lang.name", "VS-Simulator v0.3-dev-II Lucky Luke");
+ initString("lang.name", "VS-Simulator v0.3-dev-III Joe Dalton");
initString("lang.ok", "OK");
initString("lang.open", "Öffnen");
initString("lang.pause", "Pausieren");
diff --git a/sources/simulator/VSCreateTask.java b/sources/simulator/VSCreateTask.java
index 660eae7..1363c6c 100644
--- a/sources/simulator/VSCreateTask.java
+++ b/sources/simulator/VSCreateTask.java
@@ -71,7 +71,7 @@ public class VSCreateTask {
* @param eventClassname the event classname
*/
public VSCreateTask(String menuText, String eventClassname) {
- this.menuText = menuText;
+ this.menuText = menuText;
this.eventClassname = eventClassname;
}
@@ -81,7 +81,7 @@ public class VSCreateTask {
* @param menuText the menu text
*/
public VSCreateTask(String menuText) {
- this.menuText = menuText;
+ this.menuText = menuText;
this.eventClassname = null;
}
@@ -159,7 +159,7 @@ public class VSCreateTask {
/**
* Gets the create tasks menu text.
*
- * @return The text
+ * @return The text
*/
public String getMenuText() {
return menuText;
diff --git a/sources/simulator/VSSimulator.java b/sources/simulator/VSSimulator.java
index d660d2e..9b0ef2a 100644
--- a/sources/simulator/VSSimulator.java
+++ b/sources/simulator/VSSimulator.java
@@ -1106,10 +1106,8 @@ public class VSSimulator extends JPanel implements VSSerializable {
VSRegisteredEvents.getNonProtocolClassnames();
comboBox.setMaximumRowCount(20);
- String menuText = "----- " +
- prefs.getString("lang.events.process") +
- " -----";
- comboBox.addItem(menuText);
+ String menuText = prefs.getString("lang.events.process");
+ comboBox.addItem("----- " + menuText + " -----");
if (createTaskFlag)
createTasks.add(new VSCreateTask(menuText));
@@ -1117,7 +1115,8 @@ public class VSSimulator extends JPanel implements VSSerializable {
for (String eventClassname : eventClassnames) {
String eventShortname =
VSRegisteredEvents.getShortnameByClassname(eventClassname);
- comboBox.addItem(eventShortname);
+ menuText = eventShortname;
+ comboBox.addItem(menuText);
if (createTaskFlag)
createTasks.add(new VSCreateTask(menuText, eventClassname));
}
@@ -1138,9 +1137,8 @@ public class VSSimulator extends JPanel implements VSSerializable {
VSRegisteredEvents.getShortnameByClassname(eventClassname);
String eventShortname = null;
- menuText = "----- " + eventShortname_ + " " +
- protocol + " -----";
- comboBox.addItem(menuText);
+ menuText = eventShortname_ + " " + protocol;
+ comboBox.addItem("----- " + menuText + " -----");
if (createTaskFlag)
createTasks.add(new VSCreateTask(menuText));
@@ -1150,18 +1148,18 @@ public class VSSimulator extends JPanel implements VSSerializable {
else
eventShortname = eventShortname_ + " " + clientRequest;
- menuText = eventShortname;
+ menuText = eventShortname;
comboBox.addItem(menuText);
if (createTaskFlag) {
VSCreateTask createTask = new VSCreateTask(menuText,
- eventClassname);
+ eventClassname);
createTask.setShortname(eventShortname);
createTask.isRequest(true);
createTasks.add(createTask);
}
eventShortname = eventShortname_ + " " + client + " " + activate;
- menuText = eventShortname;
+ menuText = eventShortname;
comboBox.addItem(menuText);
if (createTaskFlag) {
VSCreateTask createTask =
@@ -1174,7 +1172,7 @@ public class VSSimulator extends JPanel implements VSSerializable {
}
eventShortname = eventShortname_ + " " + client + " " + deactivate;
- menuText = eventShortname;
+ menuText = eventShortname;
comboBox.addItem(menuText);
if (createTaskFlag) {
VSCreateTask createTask =
@@ -1187,7 +1185,7 @@ public class VSSimulator extends JPanel implements VSSerializable {
}
eventShortname = eventShortname_ + " " + server + " " + activate;
- menuText = eventShortname;
+ menuText = eventShortname;
comboBox.addItem(menuText);
if (createTaskFlag) {
VSCreateTask createTask =
@@ -1200,7 +1198,7 @@ public class VSSimulator extends JPanel implements VSSerializable {
}
eventShortname = eventShortname_ + " " + server + " " + deactivate;
- menuText = eventShortname;
+ menuText = eventShortname;
comboBox.addItem(menuText);
if (createTaskFlag) {
VSCreateTask createTask =
@@ -1476,12 +1474,12 @@ public class VSSimulator extends JPanel implements VSSerializable {
/**
* Gets the create tasks objects. Those objects are for creating new tasks
- * via the task manager GUI or via right click on the paint area of the
- * simulator canvas!
+ * via the task manager GUI or via right click on the paint area of the
+ * simulator canvas!
*
* @return The create tasks objects
*/
- ArrayList<VSCreateTask> getCreateTasksObjects() {
+ ArrayList<VSCreateTask> getCreateTaskObjects() {
return createTasks;
}
diff --git a/sources/simulator/VSSimulatorCanvas.java b/sources/simulator/VSSimulatorCanvas.java
index 5480d13..a00d3ad 100644
--- a/sources/simulator/VSSimulatorCanvas.java
+++ b/sources/simulator/VSSimulatorCanvas.java
@@ -511,6 +511,8 @@ public class VSSimulatorCanvas extends Canvas
updateFromPrefs();
final VSPrefs finalPrefs = prefs;
+ final VSSimulator finalSimulator = simulator;
+
addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent me) {
final VSProcess process = getProcessAtYPos(me.getY());
@@ -608,7 +610,7 @@ public class VSSimulatorCanvas extends Canvas
popup.addSeparator();
- long xPosTime = getXPositionTime(me.getX());
+ final long xPosTime = getXPositionTime(me.getX());
String timeString = finalPrefs.getString(
"lang.event.add.time") +
" " + xPosTime + "ms";
@@ -616,22 +618,74 @@ public class VSSimulatorCanvas extends Canvas
JMenu subMenu = new JMenu(
finalPrefs.getString("lang.event.add.local")
+ " " + timeString);
- if (process == null)
+
+ ArrayList<VSCreateTask> createTasks =
+ finalSimulator.getCreateTaskObjects();
+
+ if (process == null) {
subMenu.setEnabled(false);
- //subMenu.addActionListener(actionListener);
+ } else {
+ JMenu subSubMenu = null;
+ for (final VSCreateTask createTask : createTasks) {
+ if (createTask.isDummy()) {
+ if (subSubMenu != null)
+ subMenu.add(subSubMenu);
+ subSubMenu = new JMenu(
+ createTask.getMenuText());
+ } else {
+ item = new JMenuItem(createTask.getMenuText());
+ item.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ VSTask task =
+ createTask.createTask(process,
+ xPosTime,
+ true);
+ taskManager.addTask(
+ task, VSTaskManager.PROGRAMMED);
+ finalSimulator.updateTaskManagerTable();
+ }
+ });
+ subSubMenu.add(item);
+ }
+ }
+ }
+
popup.add(subMenu);
- item = new JMenuItem("foo");
- subMenu.add(item);
-
- if (finalPrefs.getBoolean("sim.mode.expert")) {
- subMenu = new JMenu(
- finalPrefs.getString("lang.event.add.global")
- + " " + timeString);
- if (process == null)
- subMenu.setEnabled(false);
- popup.add(subMenu);
+
+ subMenu = new JMenu(
+ finalPrefs.getString("lang.event.add.global")
+ + " " + timeString);
+ if (process == null) {
+ subMenu.setEnabled(false);
+ } else {
+ JMenu subSubMenu = null;
+ for (final VSCreateTask createTask : createTasks) {
+ if (createTask.isDummy()) {
+ if (subSubMenu != null)
+ subMenu.add(subSubMenu);
+ subSubMenu = new JMenu(
+ createTask.getMenuText());
+ } else {
+ item = new JMenuItem(createTask.getMenuText());
+ item.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ VSTask task =
+ createTask.createTask(process,
+ xPosTime,
+ false);
+ taskManager.addTask(
+ task, VSTaskManager.PROGRAMMED);
+ finalSimulator.updateTaskManagerTable();
+ }
+ });
+ subSubMenu.add(item);
+ }
+ }
}
+ if (finalPrefs.getBoolean("sim.mode.expert"))
+ popup.add(subMenu);
+
popup.addSeparator();
item = new JMenuItem(