From de75002c0ed928c574567809a3c74161576ee995 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (mars.fritz.box)" Date: Sun, 22 Dec 2013 14:27:18 +0100 Subject: cleanup packages branch --- sources/simulator/VSSimulatorFrame.java | 632 -------------------------------- 1 file changed, 632 deletions(-) delete mode 100644 sources/simulator/VSSimulatorFrame.java (limited to 'sources/simulator/VSSimulatorFrame.java') diff --git a/sources/simulator/VSSimulatorFrame.java b/sources/simulator/VSSimulatorFrame.java deleted file mode 100644 index f8396eb..0000000 --- a/sources/simulator/VSSimulatorFrame.java +++ /dev/null @@ -1,632 +0,0 @@ -/* * Copyright (c) 2008 Paul C. Buetow, vs@dev.buetow.org - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * All icons of the icons/ folder are under a Creative Commons - * Attribution-Noncommercial-Share Alike License a CC-by-nc-sa. - * - * The icon's homepage is http://code.google.com/p/ultimate-gnome/ - */ - -package simulator; - -import java.awt.*; -import java.awt.event.*; -//import java.io.*; -import java.util.*; -import javax.swing.*; -import javax.swing.event.*; - -import core.*; -import prefs.*; -import prefs.editors.*; -import serialize.*; -import utils.*; - -/** - * The class VSSimulatorFrame, an object of this class represents a window - * of the simulator. The window can have several tabs. Each tab contains - * an independent simulator. - * - * @author Paul C. Buetow - */ -public class VSSimulatorFrame extends VSFrame { - /** The serial version uid */ - private static final long serialVersionUID = 1L; - - /** The pause item. */ - private JMenuItem pauseItem; - - /** The replay item. */ - private JMenuItem replayItem; - - /** The reset item. */ - private JMenuItem resetItem; - - /** The start item. */ - private JMenuItem startItem; - - /** The pause button. */ - private JButton pauseButton; - - /** The replay button. */ - private JButton replayButton; - - /** The reset button. */ - private JButton resetButton; - - /** The start button. */ - private JButton startButton; - - /** The menu edit. */ - private JMenu menuEdit; - - /** 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; - - /** The tool bar. */ - private JToolBar toolBar; - - /** The prefs. */ - private VSPrefs prefs; - - /** The simulators. */ - private Vector simulators; - - /** The current simulator. */ - private VSSimulator currentSimulator; - - /** The tabbed pane. */ - private JTabbedPane tabbedPane; - - /** The action listener */ - private ActionListener actionListener; - - /** - * Instantiates a new VSSimulatorFrame object. - * - * @param prefs the prefs - * @param relativeTo the component to open the window relative to - */ - public VSSimulatorFrame(VSPrefs prefs, Component relativeTo) { - super(prefs.getString("lang.en.name"), relativeTo); - this.prefs = prefs; - this.simulators = new Vector(); - - final VSPrefs finalPrefs = this.prefs; - actionListener = new ActionListener() { - public void actionPerformed(ActionEvent e) { - Object source = e.getSource(); - String sourceText = null; - - if (source instanceof JMenuItem) - sourceText = ((JMenuItem) source).getText(); - else - sourceText = ((ImageIcon) ((JButton) source).getIcon()). - getDescription(); - - if (sourceText.equals( - finalPrefs.getString("lang.en.simulator.close"))) { - removeCurrentSimulator(); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.simulator.new"))) { - VSPrefs newPrefs = VSDefaultPrefs.init(); - VSSimulatorEditor simulatorEditor = - new VSSimulatorEditor(newPrefs, VSSimulatorFrame.this, - VSSimulatorEditor.OPENED_NEW_TAB); - new VSEditorFrame(newPrefs, VSSimulatorFrame.this, - simulatorEditor); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.window.new"))) { - new VSMain(VSDefaultPrefs.init(), - VSSimulatorFrame.this); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.window.close"))) { - dispose(); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.open"))) { - VSSerialize serialize = new VSSerialize(); - serialize.openSimulator(VSSimulatorFrame.this); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.save"))) { - VSSimulatorVisualization simulatorVisualization = - currentSimulator.getSimulatorCanvas(); - boolean flag = !simulatorVisualization.isPaused() - && !simulatorVisualization.isResetted() - && !simulatorVisualization.hasFinished(); - - if (flag) - pauseCurrentSimulator(); - - VSSerialize serialize = new VSSerialize(); - serialize.saveSimulator(VSSerialize.LAST_FILENAME, - currentSimulator); - if (flag) - startCurrentSimulator(); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.saveas"))) { - VSSimulatorVisualization simulatorVisualization = - currentSimulator.getSimulatorCanvas(); - boolean flag = !simulatorVisualization.isPaused() - && !simulatorVisualization.isResetted() - && !simulatorVisualization.hasFinished(); - if (flag) - pauseCurrentSimulator(); - - VSSerialize serialize = new VSSerialize(); - serialize.saveSimulator(currentSimulator); - - if (flag) - startCurrentSimulator(); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.about"))) { - new VSAboutFrame(finalPrefs, VSSimulatorFrame.this); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.quit"))) { - System.exit(0); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.start"))) { - startCurrentSimulator(); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.pause"))) { - pauseCurrentSimulator(); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.reset"))) { - resetCurrentSimulator(); - - } else if (sourceText.equals( - finalPrefs.getString("lang.en.replay"))) { - VSMenuItemStates menuItemState = - currentSimulator.getMenuItemStates(); - menuItemState.setStart(false); - menuItemState.setPause(true); - menuItemState.setReset(false); - menuItemState.setReplay(true); - currentSimulator.getSimulatorCanvas().reset(); - currentSimulator.getSimulatorCanvas().play(); - updateSimulatorMenu(); - } - } - }; - - setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - - setSize(prefs.getInteger("div.window.xsize"), - prefs.getInteger("div.window.ysize")); - - setJMenuBar(createMenuBar()); - setLayout(new BorderLayout()); - setContentPane(createContentPane()); - setVisible(true); - - 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); - } - - /** - * Creates the menu bar. - * - * @return the j menu bar - */ - private JMenuBar createMenuBar() { - /* File menu */ - menuFile = new JMenu(prefs.getString("lang.en.file")); - menuFile.setMnemonic(prefs.getInteger("keyevent.file")); - JMenuItem menuItem; - - menuItem = new JMenuItem(prefs.getString("lang.en.simulator.new")); - menuItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.new"), - ActionEvent.ALT_MASK)); - menuItem.addActionListener(actionListener); - menuFile.add(menuItem); - - closeItem = new JMenuItem( - prefs.getString("lang.en.simulator.close")); - closeItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.close"), - ActionEvent.ALT_MASK)); - closeItem.addActionListener(actionListener); - menuFile.add(closeItem); - - menuFile.addSeparator(); - - menuItem = new JMenuItem(prefs.getString("lang.en.window.new")); - menuItem.addActionListener(actionListener); - menuFile.add(menuItem); - - menuItem = new JMenuItem(prefs.getString("lang.en.window.close")); - menuItem.addActionListener(actionListener); - menuFile.add(menuItem); - - menuFile.addSeparator(); - - menuItem = new JMenuItem(prefs.getString("lang.en.open")); - menuItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.open"), - ActionEvent.ALT_MASK)); - menuItem.addActionListener(actionListener); - menuFile.add(menuItem); - - saveItem = new JMenuItem(prefs.getString("lang.en.save")); - saveItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.save"), - ActionEvent.ALT_MASK)); - saveItem.addActionListener(actionListener); - menuFile.add(saveItem); - - saveAsItem = new JMenuItem(prefs.getString("lang.en.saveas")); - saveAsItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.saveas"), - ActionEvent.ALT_MASK)); - saveAsItem.addActionListener(actionListener); - menuFile.add(saveAsItem); - - menuFile.addSeparator(); - - menuItem = new JMenuItem(prefs.getString("lang.en.about")); - menuItem.addActionListener(actionListener); - menuFile.add(menuItem); - - menuItem = new JMenuItem(prefs.getString("lang.en.quit")); - menuItem.addActionListener(actionListener); - menuFile.add(menuItem); - - /* Edit menu */ - menuEdit = new JMenu( - prefs.getString("lang.en.edit")); - menuEdit.setMnemonic(prefs.getInteger("keyevent.edit")); - updateEditMenu(); - - /* Simulator menu */ - toolBar = new JToolBar(); - menuSimulator = new JMenu( - prefs.getString("lang.en.simulator")); - menuSimulator.setMnemonic(prefs.getInteger("keyevent.simulator")); - - resetItem = new JMenuItem(prefs.getString("lang.en.reset")); - resetItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.reset"), - ActionEvent.ALT_MASK)); - resetItem.addActionListener(actionListener); - resetItem.setEnabled(false); - menuSimulator.add(resetItem); - resetButton = new JButton(getImageIcon("reset.png", - prefs.getString("lang.en.reset"))); - resetButton.addActionListener(actionListener); - toolBar.add(resetButton); - - replayItem = new JMenuItem( - prefs.getString("lang.en.replay")); - replayItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.replay"), - ActionEvent.ALT_MASK)); - replayItem.addActionListener(actionListener); - replayItem.setEnabled(false); - menuSimulator.add(replayItem); - replayButton = new JButton( - getImageIcon("replay.png", prefs.getString("lang.en.replay"))); - replayButton.addActionListener(actionListener); - toolBar.add(replayButton); - - pauseItem = new JMenuItem(prefs.getString("lang.en.pause")); - pauseItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.pause"), - ActionEvent.ALT_MASK)); - pauseItem.addActionListener(actionListener); - menuSimulator.add(pauseItem); - pauseItem.setEnabled(false); - pauseButton = new JButton(getImageIcon("pause.png", - prefs.getString("lang.en.pause"))); - pauseButton.addActionListener(actionListener); - toolBar.add(pauseButton); - - startItem = new JMenuItem(prefs.getString("lang.en.start")); - startItem.setAccelerator(KeyStroke.getKeyStroke( - prefs.getInteger("keyevent.start"), - ActionEvent.ALT_MASK)); - startItem.addActionListener(actionListener); - menuSimulator.add(startItem); - startButton = new JButton(getImageIcon("start.png", - prefs.getString("lang.en.start"))); - startButton.addActionListener(actionListener); - toolBar.add(startButton); - - - JMenuBar mainMenuBar = new JMenuBar(); - mainMenuBar.add(menuFile); - mainMenuBar.add(menuEdit); - mainMenuBar.add(menuSimulator); - - return mainMenuBar; - } - - /** - * Creates the content pane. - * - * @return the container - */ - private Container createContentPane() { - Container pane = getContentPane(); - tabbedPane = new JTabbedPane(JTabbedPane.BOTTOM, - JTabbedPane.SCROLL_TAB_LAYOUT); - - tabbedPane.addChangeListener(new ChangeListener() { - public void stateChanged(ChangeEvent ce) { - JTabbedPane pane = (JTabbedPane) ce.getSource(); - currentSimulator = (VSSimulator) pane.getSelectedComponent(); - if (currentSimulator != null) { - currentSimulator.getSimulatorCanvas().paint(); - updateEditMenu(); - updateSimulatorMenu(); - } - } - }); - - pane.add(toolBar, BorderLayout.PAGE_START); - pane.add(tabbedPane, BorderLayout.CENTER); - - return pane; - } - - /** - * Updates the edit menu. Called if another simulator tab has been selected - * or if processes have been added or removed. - */ - public void updateEditMenu() { - menuEdit.removeAll(); - - JMenuItem globalPrefsItem = new JMenuItem( - prefs.getString("lang.en.prefs")); - - globalPrefsItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent ae) { - VSPrefs simulatorPrefs = currentSimulator.getPrefs(); - VSSimulatorEditor.TAKEOVER_BUTTON = true; - VSSimulatorEditor simulatorEditor = new VSSimulatorEditor( - simulatorPrefs, VSSimulatorFrame.this, currentSimulator); - new VSEditorFrame(prefs, VSSimulatorFrame.this, - simulatorEditor); - } - }); - - menuEdit.add(globalPrefsItem); - menuEdit.addSeparator(); - - if (currentSimulator == null) - return; - - String processString = prefs.getString("lang.en.process"); - ArrayList arr = - currentSimulator.getSimulatorCanvas().getProcessesArray(); - - //int numProcesses = arr.size(); - int processNum = 0; - - for (VSInternalProcess process : arr) { - int processID = process.getProcessID(); - JMenuItem processItem = new JMenuItem(processString + " " + - processID); - if (processNum < 9) - processItem.setAccelerator( - KeyStroke.getKeyStroke(0x31+processNum, - ActionEvent.ALT_MASK)); - final int finalProcessNum = processNum++; - processItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent ae) { - currentSimulator.getSimulatorCanvas().editProcess( - finalProcessNum); - } - }); - menuEdit.add(processItem); - } - } - - /** - * Updates the simulator menu. Called if the simulator state has changed - * (e.g. start/play/stop/replay etc) - */ - public synchronized void updateSimulatorMenu() { - VSMenuItemStates menuItemState = currentSimulator.getMenuItemStates(); - - pauseItem.setEnabled(menuItemState.getPause()); - replayItem.setEnabled(menuItemState.getReplay()); - resetItem.setEnabled(menuItemState.getReset()); - startItem.setEnabled(menuItemState.getStart()); - - pauseButton.setEnabled(menuItemState.getPause()); - replayButton.setEnabled(menuItemState.getReplay()); - resetButton.setEnabled(menuItemState.getReset()); - startButton.setEnabled(menuItemState.getStart()); - } - - /* (non-Javadoc) - * @see java.awt.Window#dispose() - */ - public void dispose() { - synchronized (simulators) { - for (VSSimulator simulator : simulators) - simulator.getSimulatorCanvas().stopThread(); - } - super.dispose(); - } - - /** - * Adds the simulator. - * - * @param simulator the simulator - */ - public void addSimulator(VSSimulator simulator) { - simulator.setLayout(new GridLayout(1, 1, 3, 3)); - simulator.setMinimumSize(new Dimension(0, 0)); - simulator.setMaximumSize(new Dimension(0, 0)); - - simulators.add(simulator); - tabbedPane.addTab(prefs.getString("lang.en.simulator") - + " " + simulator.getSimulatorNum(), simulator); - tabbedPane.setSelectedComponent(simulator); - - if (simulators.size() == 1) { - menuEdit.setEnabled(true); - //menuFile.setEnabled(true); - closeItem.setEnabled(true); - saveItem.setEnabled(true); - saveAsItem.setEnabled(true); - menuSimulator.setEnabled(true); - } - } - - /** - * Removes the simulator. - * - * @param simulatorToRemove the simulator to remove - */ - public void removeSimulator(VSSimulator simulatorToRemove) { - if (simulators.size() == 1) { - 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(); - } - - /** - * Removes the current simulator. - */ - private void removeCurrentSimulator() { - removeSimulator(currentSimulator); - } - - /** - * Gets the current simulator. - * - * @return the current simulator - */ - public VSSimulator getCurrentSimulator() { - return currentSimulator; - } - - /** - * Resets the current simulator - */ - public void resetCurrentSimulator() { - if (currentSimulator == null) - return; - - VSMenuItemStates menuItemState = - currentSimulator.getMenuItemStates(); - menuItemState.setStart(true); - menuItemState.setPause(false); - menuItemState.setReset(false); - menuItemState.setReplay(false); - currentSimulator.getSimulatorCanvas().reset(); - updateSimulatorMenu(); - } - - /** - * Starts the current simulator - */ - public void startCurrentSimulator() { - VSMenuItemStates menuItemState = - currentSimulator.getMenuItemStates(); - menuItemState.setStart(false); - menuItemState.setPause(true); - menuItemState.setReset(false); - menuItemState.setReplay(true); - currentSimulator.getSimulatorCanvas().play(); - updateSimulatorMenu(); - } - - /** - * Pauses the current simulator - */ - public void pauseCurrentSimulator() { - VSMenuItemStates menuItemState = - currentSimulator.getMenuItemStates(); - menuItemState.setStart(true); - menuItemState.setPause(false); - menuItemState.setReset(true); - menuItemState.setReplay(true); - currentSimulator.getSimulatorCanvas().pause(); - updateSimulatorMenu(); - } - - /** - * Gets the image icon. - * - * @param name the name - * @param descr the descr - * - * @return the image icon - */ - private ImageIcon getImageIcon(String name, String descr) { - java.net.URL imageURL = getClass().getResource("/icons/"+name); - - if (imageURL == null) - return new ImageIcon("icons/"+name, descr); - - return new ImageIcon(imageURL, descr); - } - - /** - * Gets the prefs. - * - * @return the prefs - */ - public VSPrefs getPrefs() { - return prefs; - } -} -- cgit v1.2.3