From 21282d8a04aa609ce2cf7dbd959ce4256d78d354 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 14 Jun 2008 19:37:01 +0000 Subject: inventet VSCreateTask dummy instances. This way all the menu texts can be included in those objects. --- sources/simulator/VSCreateTask.java | 39 +++++++++++++++++++++++-- sources/simulator/VSSimulator.java | 58 +++++++++++++++++++++++++------------ 2 files changed, 76 insertions(+), 21 deletions(-) diff --git a/sources/simulator/VSCreateTask.java b/sources/simulator/VSCreateTask.java index 75c5b08..660eae7 100644 --- a/sources/simulator/VSCreateTask.java +++ b/sources/simulator/VSCreateTask.java @@ -41,6 +41,9 @@ public class VSCreateTask { /** The event classname. */ private String eventClassname; + /** The create task menu string. */ + private String menuText; + /** The protocol classname. */ private String protocolClassname; @@ -64,12 +67,24 @@ public class VSCreateTask { /** * Instantiates a new VSCreateTask object. * + * @param menuText the menu text * @param eventClassname the event classname */ - public VSCreateTask(String eventClassname) { + public VSCreateTask(String menuText, String eventClassname) { + this.menuText = menuText; this.eventClassname = eventClassname; } + /** + * Instantiates a new VSCreateTask dummy object. + * + * @param menuText the menu text + */ + public VSCreateTask(String menuText) { + this.menuText = menuText; + this.eventClassname = null; + } + /** * Sets if it is a protocol activation task. * @@ -97,7 +112,7 @@ public class VSCreateTask { } /** - * Checks if is client protocol. + * Sets if it is a client protocol. * * @param isClientProtocol the is client protocol */ @@ -106,7 +121,7 @@ public class VSCreateTask { } /** - * Checks if is client request. + * Sets if it is a client request. * * @param isRequest the is client request */ @@ -114,6 +129,15 @@ public class VSCreateTask { this.isRequest = isRequest; } + /** + * Checks if it is a dummy object.. + * + * @return true, if dummy + */ + public boolean isDummy() { + return eventClassname == null; + } + /** * Sets the protocol classname. * @@ -132,6 +156,15 @@ public class VSCreateTask { this.shortname = shortname; } + /** + * Gets the create tasks menu text. + * + * @return The text + */ + public String getMenuText() { + return menuText; + } + /** * Creates the task. * diff --git a/sources/simulator/VSSimulator.java b/sources/simulator/VSSimulator.java index 24eda16..d660d2e 100644 --- a/sources/simulator/VSSimulator.java +++ b/sources/simulator/VSSimulator.java @@ -1073,7 +1073,7 @@ public class VSSimulator extends JPanel implements VSSerializable { int index = comboBox.getSelectedIndex(); VSCreateTask createTask = createTasks.get(index); - if (createTask == null) + if (createTask.isDummy()) return false; ArrayList processes = @@ -1106,17 +1106,20 @@ public class VSSimulator extends JPanel implements VSSerializable { VSRegisteredEvents.getNonProtocolClassnames(); comboBox.setMaximumRowCount(20); - comboBox.addItem("----- " + prefs.getString("lang.events.process") + - " -----"); + String menuText = "----- " + + prefs.getString("lang.events.process") + + " -----"; + comboBox.addItem(menuText); + if (createTaskFlag) - createTasks.add(null); + createTasks.add(new VSCreateTask(menuText)); for (String eventClassname : eventClassnames) { String eventShortname = VSRegisteredEvents.getShortnameByClassname(eventClassname); comboBox.addItem(eventShortname); if (createTaskFlag) - createTasks.add(new VSCreateTask(eventClassname)); + createTasks.add(new VSCreateTask(menuText, eventClassname)); } String activate = prefs.getString("lang.activate"); @@ -1135,29 +1138,34 @@ public class VSSimulator extends JPanel implements VSSerializable { VSRegisteredEvents.getShortnameByClassname(eventClassname); String eventShortname = null; - comboBox.addItem("----- " + eventShortname_ + " " + - protocol + " -----"); + menuText = "----- " + eventShortname_ + " " + + protocol + " -----"; + comboBox.addItem(menuText); + if (createTaskFlag) - createTasks.add(null); + createTasks.add(new VSCreateTask(menuText)); if (VSRegisteredEvents.isOnServerStartProtocol(eventClassname)) eventShortname = eventShortname_ + " " + serverRequest; else eventShortname = eventShortname_ + " " + clientRequest; - comboBox.addItem(eventShortname); + menuText = eventShortname; + comboBox.addItem(menuText); if (createTaskFlag) { - VSCreateTask createTask = new VSCreateTask(eventClassname); + VSCreateTask createTask = new VSCreateTask(menuText, + eventClassname); createTask.setShortname(eventShortname); createTask.isRequest(true); createTasks.add(createTask); } eventShortname = eventShortname_ + " " + client + " " + activate; - comboBox.addItem(eventShortname); + menuText = eventShortname; + comboBox.addItem(menuText); if (createTaskFlag) { VSCreateTask createTask = - new VSCreateTask(protocolEventClassname); + new VSCreateTask(menuText, protocolEventClassname); createTask.isProtocolActivation(true); createTask.isClientProtocol(true); createTask.setProtocolClassname(eventClassname); @@ -1166,10 +1174,11 @@ public class VSSimulator extends JPanel implements VSSerializable { } eventShortname = eventShortname_ + " " + client + " " + deactivate; - comboBox.addItem(eventShortname); + menuText = eventShortname; + comboBox.addItem(menuText); if (createTaskFlag) { VSCreateTask createTask = - new VSCreateTask(protocolEventClassname); + new VSCreateTask(menuText, protocolEventClassname); createTask.isProtocolDeactivation(true); createTask.isClientProtocol(true); createTask.setProtocolClassname(eventClassname); @@ -1178,10 +1187,11 @@ public class VSSimulator extends JPanel implements VSSerializable { } eventShortname = eventShortname_ + " " + server + " " + activate; - comboBox.addItem(eventShortname); + menuText = eventShortname; + comboBox.addItem(menuText); if (createTaskFlag) { VSCreateTask createTask = - new VSCreateTask(protocolEventClassname); + new VSCreateTask(menuText, protocolEventClassname); createTask.isProtocolActivation(true); createTask.isClientProtocol(false); createTask.setProtocolClassname(eventClassname); @@ -1190,10 +1200,11 @@ public class VSSimulator extends JPanel implements VSSerializable { } eventShortname = eventShortname_ + " " + server + " " + deactivate; - comboBox.addItem(eventShortname); + menuText = eventShortname; + comboBox.addItem(menuText); if (createTaskFlag) { VSCreateTask createTask = - new VSCreateTask(protocolEventClassname); + new VSCreateTask(menuText, protocolEventClassname); createTask.isProtocolDeactivation(true); createTask.isClientProtocol(false); createTask.setProtocolClassname(eventClassname); @@ -1463,6 +1474,17 @@ public class VSSimulator extends JPanel implements VSSerializable { return prefs; } + /** + * 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! + * + * @return The create tasks objects + */ + ArrayList getCreateTasksObjects() { + return createTasks; + } + /* (non-Javadoc) * @see serialize.VSSerializable#serialize(serialize.VSSerialize, * java.io.ObjectOutputStream) -- cgit v1.2.3