From 8f4c26d71906f48257f532786c6103a88664010d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 17 May 2008 19:08:44 +0000 Subject: introduced "Edit" JMenu --- sources/prefs/VSDefaultPrefs.java | 3 +-- sources/simulator/VSSimulation.java | 38 ++++++++++++++++++++++++-------- sources/simulator/VSSimulationPanel.java | 9 ++++++++ 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/sources/prefs/VSDefaultPrefs.java b/sources/prefs/VSDefaultPrefs.java index 476d669..07876d6 100644 --- a/sources/prefs/VSDefaultPrefs.java +++ b/sources/prefs/VSDefaultPrefs.java @@ -91,11 +91,10 @@ public class VSDefaultPrefs extends VSPrefs { initString("lang.process.clock.variance", "Uhrabweichung"); initString("lang.process.id", "PID"); initString("lang.process.new", "Neuer Prozess"); - //initString("lang.process.prob.delay", "Verzögerungswahrscheinlichkeit"); - //initString("lang.process.prob.outage", "Ausfallwahrscheinlichkeit"); initString("lang.process.time.local", "Lokale Zeit"); initString("lang.quit", "Beenden"); initString("lang.replay", "Wiederholen"); + initString("lang.process", "Prozess"); initString("lang.reset", "Reset"); initString("lang.save", "Speichern"); initString("lang.saveas", "Speichern unter"); diff --git a/sources/simulator/VSSimulation.java b/sources/simulator/VSSimulation.java index 794801a..89cd873 100644 --- a/sources/simulator/VSSimulation.java +++ b/sources/simulator/VSSimulation.java @@ -37,8 +37,8 @@ public class VSSimulation extends VSFrame implements ActionListener { setSize(prefs.getInteger("window.xsize")+100, prefs.getInteger("window.ysize")); - setJMenuBar(createJMenuBar()); setContentPane(createContentPane()); + setJMenuBar(createJMenuBar()); setVisible(true); thread = new Thread(simulationPanel); @@ -83,10 +83,29 @@ public class VSSimulation extends VSFrame implements ActionListener { menuItem.addActionListener(this); menuFile.add(menuItem); - /* VSSimulation menu */ - JMenu menuVSSimulation = new JMenu( + /* Edit menu */ + JMenu menuEdit = new JMenu( + prefs.getString("lang.edit")); + menuEdit.setMnemonic(prefs.getInteger("keyevent.edit")); + int numProcesses = simulationPanel.getNumProcesses(); + final String processString = prefs.getString("lang.process"); + for (int i = 0; i < numProcesses; ++i) { + JMenuItem processItem = new JMenuItem(processString + " " + (i+1)); + processItem.setAccelerator(KeyStroke.getKeyStroke(0x31+i, + ActionEvent.ALT_MASK)); + final int processNum = i; + processItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + simulationPanel.editProcess(processNum); + } + }); + menuEdit.add(processItem); + } + + /* Simulation menu */ + JMenu menuSimulation = new JMenu( prefs.getString("lang.simulation")); - menuVSSimulation.setMnemonic(prefs.getInteger("keyevent.simulation")); + menuSimulation.setMnemonic(prefs.getInteger("keyevent.simulation")); startItem = new JMenuItem( prefs.getString("lang.start")); @@ -94,7 +113,7 @@ public class VSSimulation extends VSFrame implements ActionListener { prefs.getInteger("keyevent.start"), ActionEvent.ALT_MASK)); startItem.addActionListener(this); - menuVSSimulation.add(startItem); + menuSimulation.add(startItem); pauseItem = new JMenuItem( prefs.getString("lang.pause")); @@ -102,7 +121,7 @@ public class VSSimulation extends VSFrame implements ActionListener { prefs.getInteger("keyevent.pause"), ActionEvent.ALT_MASK)); pauseItem.addActionListener(this); - menuVSSimulation.add(pauseItem); + menuSimulation.add(pauseItem); pauseItem.setEnabled(false); resetItem = new JMenuItem( @@ -112,7 +131,7 @@ public class VSSimulation extends VSFrame implements ActionListener { ActionEvent.ALT_MASK)); resetItem.addActionListener(this); resetItem.setEnabled(false); - menuVSSimulation.add(resetItem); + menuSimulation.add(resetItem); replayItem = new JMenuItem( prefs.getString("lang.replay")); @@ -121,11 +140,12 @@ public class VSSimulation extends VSFrame implements ActionListener { ActionEvent.ALT_MASK)); replayItem.addActionListener(this); replayItem.setEnabled(false); - menuVSSimulation.add(replayItem); + menuSimulation.add(replayItem); JMenuBar mainMenuBar = new JMenuBar(); mainMenuBar.add(menuFile); - mainMenuBar.add(menuVSSimulation); + mainMenuBar.add(menuEdit); + mainMenuBar.add(menuSimulation); return mainMenuBar; } diff --git a/sources/simulator/VSSimulationPanel.java b/sources/simulator/VSSimulationPanel.java index 4159b5e..7fd0c23 100644 --- a/sources/simulator/VSSimulationPanel.java +++ b/sources/simulator/VSSimulationPanel.java @@ -604,6 +604,15 @@ public class VSSimulationPanel extends JPanel implements Runnable, MouseMotionLi public void mouseClicked(MouseEvent e) { VSProcess process = getProcessAtYPos(e.getY()); + editProcess(process); + } + + public void editProcess(int processNum) { + VSProcess process = processes.get(processNum); + editProcess(process); + } + + public void editProcess(VSProcess process) { if (process != null) { process.updatePrefs(); new VSProcessEditor(prefs, simulation, process); -- cgit v1.2.3