diff options
| author | Paul Buetow <paul@buetow.org> | 2008-06-14 01:30:24 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-06-14 01:30:24 +0000 |
| commit | 02eb6a4ff881ad9878a1105c6737e1583c94ed7e (patch) | |
| tree | e25aa5c104b90145be1b7550a3cea2a797ae5c0d /sources/simulator/VSSimulatorFrame.java | |
| parent | faaadb9c546e376dd8e8dd6553017d334aa0e0c4 (diff) | |
if creating a new simulator frame, it has no simulation loaded. you can either
create a new simulation or load an old one using the 'File' menu!
Diffstat (limited to 'sources/simulator/VSSimulatorFrame.java')
| -rw-r--r-- | sources/simulator/VSSimulatorFrame.java | 82 |
1 files changed, 55 insertions, 27 deletions
diff --git a/sources/simulator/VSSimulatorFrame.java b/sources/simulator/VSSimulatorFrame.java index fde7996..beac858 100644 --- a/sources/simulator/VSSimulatorFrame.java +++ b/sources/simulator/VSSimulatorFrame.java @@ -76,6 +76,15 @@ public class VSSimulatorFrame extends VSFrame { /** The menu file. */ private JMenu menuFile; + /** The close item. */ + private JMenuItem closeItem; + + /** The save item. */ + private JMenuItem saveItem; + + /** The save as item. */ + private JMenuItem saveAsItem; + /** The menu simulator. */ private JMenu menuSimulator; @@ -228,7 +237,10 @@ public class VSSimulatorFrame extends VSFrame { resetButton.setEnabled(false); startButton.setEnabled(false); menuEdit.setEnabled(false); - menuFile.setEnabled(false); + //menuFile.setEnabled(false); + closeItem.setEnabled(false); + saveItem.setEnabled(false); + saveAsItem.setEnabled(false); menuSimulator.setEnabled(false); } @@ -250,13 +262,13 @@ public class VSSimulatorFrame extends VSFrame { menuItem.addActionListener(actionListener); menuFile.add(menuItem); - menuItem = new JMenuItem( + closeItem = new JMenuItem( prefs.getString("lang.simulator.close")); - menuItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.close"), - ActionEvent.ALT_MASK)); - menuItem.addActionListener(actionListener); - menuFile.add(menuItem); + closeItem.setAccelerator(KeyStroke.getKeyStroke( + prefs.getInteger("keyevent.close"), + ActionEvent.ALT_MASK)); + closeItem.addActionListener(actionListener); + menuFile.add(closeItem); menuFile.addSeparator(); @@ -277,19 +289,19 @@ public class VSSimulatorFrame extends VSFrame { menuItem.addActionListener(actionListener); menuFile.add(menuItem); - menuItem = new JMenuItem(prefs.getString("lang.save")); - menuItem.setAccelerator(KeyStroke.getKeyStroke( + saveItem = new JMenuItem(prefs.getString("lang.save")); + saveItem.setAccelerator(KeyStroke.getKeyStroke( prefs.getInteger("keyevent.save"), ActionEvent.ALT_MASK)); - menuItem.addActionListener(actionListener); - menuFile.add(menuItem); + saveItem.addActionListener(actionListener); + menuFile.add(saveItem); - menuItem = new JMenuItem(prefs.getString("lang.saveas")); - menuItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.saveas"), - ActionEvent.ALT_MASK)); - menuItem.addActionListener(actionListener); - menuFile.add(menuItem); + saveAsItem = new JMenuItem(prefs.getString("lang.saveas")); + saveAsItem.setAccelerator(KeyStroke.getKeyStroke( + prefs.getInteger("keyevent.saveas"), + ActionEvent.ALT_MASK)); + saveAsItem.addActionListener(actionListener); + menuFile.add(saveAsItem); menuFile.addSeparator(); @@ -384,9 +396,11 @@ public class VSSimulatorFrame extends VSFrame { public void stateChanged(ChangeEvent ce) { JTabbedPane pane = (JTabbedPane) ce.getSource(); currentSimulator = (VSSimulator) pane.getSelectedComponent(); - currentSimulator.getSimulatorCanvas().paint(); - updateEditMenu(); - updateSimulatorMenu(); + if (currentSimulator != null) { + currentSimulator.getSimulatorCanvas().paint(); + updateEditMenu(); + updateSimulatorMenu(); + } } }); @@ -495,7 +509,10 @@ public class VSSimulatorFrame extends VSFrame { if (simulators.size() == 1) { menuEdit.setEnabled(true); - menuFile.setEnabled(true); + //menuFile.setEnabled(true); + closeItem.setEnabled(true); + saveItem.setEnabled(true); + saveAsItem.setEnabled(true); menuSimulator.setEnabled(true); } } @@ -507,13 +524,21 @@ public class VSSimulatorFrame extends VSFrame { */ public void removeSimulator(VSSimulator simulatorToRemove) { if (simulators.size() == 1) { - dispose(); - - } else { - simulators.remove(simulatorToRemove); - tabbedPane.remove(simulatorToRemove); - simulatorToRemove.getSimulatorCanvas().stopThread(); + pauseButton.setEnabled(false); + replayButton.setEnabled(false); + resetButton.setEnabled(false); + startButton.setEnabled(false); + menuEdit.setEnabled(false); + //menuFile.setEnabled(false); + closeItem.setEnabled(false); + saveItem.setEnabled(false); + saveAsItem.setEnabled(false); + menuSimulator.setEnabled(false); } + + simulators.remove(simulatorToRemove); + tabbedPane.remove(simulatorToRemove); + simulatorToRemove.getSimulatorCanvas().stopThread(); } /** @@ -536,6 +561,9 @@ public class VSSimulatorFrame extends VSFrame { * Resets the current simulator */ public void resetCurrentSimulator() { + if (currentSimulator == null) + return; + VSMenuItemStates menuItemState = currentSimulator.getMenuItemStates(); menuItemState.setStart(true); |
