diff options
| author | Paul Buetow <paul@buetow.org> | 2008-06-14 02:42:02 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-06-14 02:42:02 +0000 |
| commit | d0a6bcb2d758dc488013edc16b3280a0fb2a6a71 (patch) | |
| tree | af3f7ba8f2c3b9565c5935f3ff683be2e85851c0 /sources | |
| parent | 02eb6a4ff881ad9878a1105c6737e1583c94ed7e (diff) | |
deserialized processes always open with 'All processes' tab.
Diffstat (limited to 'sources')
| -rw-r--r-- | sources/prefs/VSDefaultPrefs.java | 4 | ||||
| -rw-r--r-- | sources/simulator/VSSimulator.java | 1 | ||||
| -rw-r--r-- | sources/simulator/VSSimulatorCanvas.java | 51 |
3 files changed, 55 insertions, 1 deletions
diff --git a/sources/prefs/VSDefaultPrefs.java b/sources/prefs/VSDefaultPrefs.java index 988aad8..88b6a2a 100644 --- a/sources/prefs/VSDefaultPrefs.java +++ b/sources/prefs/VSDefaultPrefs.java @@ -94,6 +94,9 @@ public class VSDefaultPrefs extends VSPrefs { initString("lang.edit", "Editieren"); initString("lang.editor", "Editor"); initString("lang.event", "Ereignis"); + initString("lang.event.add.time", "bei"); + initString("lang.event.add.local", "Lokales Ereignis einfügen"); + initString("lang.event.add.global", "Globales Ereignis einfügen"); initString("lang.events", "Ereignisse"); initString("lang.events.process", "Prozessereignisse"); //initString("lang.events.protocol", "Protokollereignisse"); @@ -169,6 +172,7 @@ public class VSDefaultPrefs extends VSPrefs { initString("lang.time", "Zeit"); initString("lang.time.lamport", "Lamportzeit"); initString("lang.time.vector", "Vektorzeit"); + initString("lang.process.selected", "Aktuell ausgewählter Prozess"); initString("lang.timed.global", "Globale Ereignisse"); initString("lang.timed.local", "Lokale Ereignisse"); initString("lang.type", "Typ"); diff --git a/sources/simulator/VSSimulator.java b/sources/simulator/VSSimulator.java index 222fe62..8795c43 100644 --- a/sources/simulator/VSSimulator.java +++ b/sources/simulator/VSSimulator.java @@ -1505,5 +1505,6 @@ public class VSSimulator extends JPanel implements VSSerializable { updateFromPrefs(); updateTaskManagerTable(); updateProcessesComboBox(); + processesComboBox.setSelectedIndex(processesComboBox.getItemCount()-1); } } diff --git a/sources/simulator/VSSimulatorCanvas.java b/sources/simulator/VSSimulatorCanvas.java index 7309d75..e0be2e8 100644 --- a/sources/simulator/VSSimulatorCanvas.java +++ b/sources/simulator/VSSimulatorCanvas.java @@ -556,6 +556,13 @@ public class VSSimulatorCanvas extends Canvas JPopupMenu popup = new JPopupMenu(); JMenuItem item = new JMenuItem( + finalPrefs.getString("lang.process.selected") + + ": " + process.getProcessID()); + item.setEnabled(false); + popup.add(item); + popup.addSeparator(); + + item = new JMenuItem( finalPrefs.getString("lang.process.edit")); if (process == null) item.setEnabled(false); @@ -594,6 +601,29 @@ public class VSSimulatorCanvas extends Canvas popup.addSeparator(); + long xPosTime = getXPositionTime(me.getX()); + String timeString = finalPrefs.getString( + "lang.event.add.time") + + " " + xPosTime + "ms"; + + item = new JMenuItem( + finalPrefs.getString("lang.event.add.local") + + " " + timeString); + item.addActionListener(actionListener); + item.setEnabled(false); + popup.add(item); + + if (finalPrefs.getBoolean("sim.mode.expert")) { + item = new JMenuItem( + finalPrefs.getString("lang.event.add.global") + + " " + timeString); + item.addActionListener(actionListener); + item.setEnabled(false); + popup.add(item); + } + + popup.addSeparator(); + item = new JMenuItem( finalPrefs.getString("lang.process.add.new")); @@ -1045,7 +1075,7 @@ public class VSSimulatorCanvas extends Canvas } /** - * Gets the time x position. + * Gets the x position of the given time. * * @param time the time * @@ -1056,6 +1086,25 @@ public class VSSimulatorCanvas extends Canvas } /** + * Gets the time of a given x position + * + * @param xPos the x position + * + * @return the time + */ + private long getXPositionTime(double xPos) { + xPos -= XOFFSET; + + if (xPos <= 0) + return 0; + + else if (xPos >= xPaintSize) + return untilTime; + + return (long) ((untilTime/xPaintSize) * xPos); + } + + /** * Gets the process y position. * * @param i the process num |
