summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-05-21 01:54:06 +0000
committerPaul Buetow <paul@buetow.org>2008-05-21 01:54:06 +0000
commit6059b54e23e742db068da5e4a53b8b1b046db121 (patch)
tree72e51fefd35efe5d013d16b4ac26240d7216660f /sources
parent8d5c21477617e4d08bd098069c7628830675abb7 (diff)
Introduced a new VSEditorFrame.
No more need for the VSProtcolEditor!
Diffstat (limited to 'sources')
-rw-r--r--sources/prefs/editors/VSBetterEditor.java185
-rw-r--r--sources/prefs/editors/VSEditor.java28
-rw-r--r--sources/prefs/editors/VSEditorFrame.java177
-rw-r--r--sources/prefs/editors/VSProcessEditor.java36
-rw-r--r--sources/prefs/editors/VSProtocolEditor.java61
-rw-r--r--sources/prefs/editors/VSSimulationEditor.java21
-rw-r--r--sources/simulator/VSMain.java2
-rw-r--r--sources/simulator/VSSimulation.java11
-rw-r--r--sources/simulator/VSSimulationCanvas.java3
-rw-r--r--sources/simulator/VSSimulatorFrame.java3
10 files changed, 264 insertions, 263 deletions
diff --git a/sources/prefs/editors/VSBetterEditor.java b/sources/prefs/editors/VSBetterEditor.java
index 799436d..b280edc 100644
--- a/sources/prefs/editors/VSBetterEditor.java
+++ b/sources/prefs/editors/VSBetterEditor.java
@@ -13,44 +13,44 @@ import simulator.*;
import utils.*;
public abstract class VSBetterEditor extends VSEditor {
+ private Container contentPane;
protected VSInfoArea infoArea;
- protected VSFrame frame;
+ private String title;
- public VSBetterEditor(VSPrefs prefs, Component relativeTo, VSPrefs prefsToEdit, String title) {
+ public VSBetterEditor(VSPrefs prefs, VSPrefs prefsToEdit, String title) {
super(prefs, prefsToEdit);
- frame = new VSFrame(title, relativeTo);
- init();
+ this.title = title;
+ this.contentPane = createContentPane();
}
- public VSBetterEditor(VSPrefs prefs, Component relativeTo, VSPrefs prefsToEdit, String title, int prefsCategory) {
+ public VSBetterEditor(VSPrefs prefs, VSPrefs prefsToEdit, String title, int prefsCategory) {
super(prefs, prefsToEdit, prefsCategory);
- frame = new VSFrame(title, relativeTo);
- init();
+ this.title = title;
+ this.contentPane = createContentPane();
}
- private void init() {
- frame.setJMenuBar(createJMenuBar());
- frame.setContentPane(createContentPane());
- frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- frame.setSize(prefs.getInteger("window.prefs.xsize"),
- prefs.getInteger("window.prefs.ysize"));
- frame.setResizable(false);
- frame.setVisible(true);
+ public String getTitle() {
+ return title;
}
- private Container createContentPane() {
- Container contentPane = frame.getContentPane();
+ public Container getContentPane() {
+ return contentPane;
+ }
+
+ private JPanel createContentPane() {
+ JPanel panel = new JPanel();
+ panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
infoArea = new VSInfoArea();
JPanel editPanel = super.editPanel;
JPanel buttonPanel = createButtonPanel();
JScrollPane scrollPane = new JScrollPane(editPanel);
- contentPane.add(infoArea, BorderLayout.NORTH);
- contentPane.add(scrollPane, BorderLayout.CENTER);
- contentPane.add(buttonPanel, BorderLayout.SOUTH);
+ panel.add(infoArea, BorderLayout.NORTH);
+ panel.add(scrollPane, BorderLayout.CENTER);
+ panel.add(buttonPanel, BorderLayout.SOUTH);
- return contentPane;
+ return panel;
}
protected void addToEditPanelFront(JPanel editPanel) { }
@@ -69,149 +69,12 @@ public abstract class VSBetterEditor extends VSEditor {
return buttonPanel;
}
- private JMenuBar createJMenuBar() {
- /* File menu */
- JMenu menuFile = new JMenu(
- prefs.getString("lang.file"));
- menuFile.setMnemonic(prefs.getInteger("keyevent.file"));
- JMenuItem menuItem;
-
- menuItem = new JMenuItem(
- prefs.getString("lang.save"));
- menuItem.setAccelerator(KeyStroke.getKeyStroke(
- prefs.getInteger("keyevent.save"),
- ActionEvent.ALT_MASK));
- menuItem.addActionListener(this);
- menuFile.add(menuItem);
-
- if (!(this instanceof VSSimulationEditor))
- menuItem.setEnabled(false);
-
- menuItem = new JMenuItem(
- prefs.getString("lang.saveas"));
- menuItem.setAccelerator(KeyStroke.getKeyStroke(
- prefs.getInteger("keyevent.saveas"),
- ActionEvent.ALT_MASK));
- menuItem.addActionListener(this);
- menuFile.add(menuItem);
-
- if (!(this instanceof VSSimulationEditor))
- menuItem.setEnabled(false);
-
- menuItem = new JMenuItem(
- prefs.getString("lang.open"));
- menuItem.setAccelerator(KeyStroke.getKeyStroke(
- prefs.getInteger("keyevent.open"),
- ActionEvent.ALT_MASK));
- menuItem.addActionListener(this);
- menuFile.add(menuItem);
-
- if (!(this instanceof VSSimulationEditor))
- menuItem.setEnabled(false);
-
- menuFile.addSeparator();
-
- menuItem = new JMenuItem(
- prefs.getString("lang.close"));
- menuItem.setAccelerator(KeyStroke.getKeyStroke(
- prefs.getInteger("keyevent.close"),
- ActionEvent.ALT_MASK));
- menuItem.addActionListener(this);
- menuFile.add(menuItem);
-
- /* Edit menu */
- JMenu menuEdit = new JMenu(
- prefs.getString("lang.edit"));
- menuEdit.setMnemonic(prefs.getInteger("keyevent.edit"));
-
- menuItem = new JMenuItem(
- prefs.getString("lang.default"));
- menuItem.setAccelerator(KeyStroke.getKeyStroke(
- prefs.getInteger("keyevent.default"),
- ActionEvent.ALT_MASK));
- menuItem.addActionListener(this);
- menuEdit.add(menuItem);
-
- if (!(this instanceof VSSimulationEditor))
- menuItem.setEnabled(false);
-
- menuEdit.addSeparator();
-
- menuItem = new JMenuItem(prefs.getString("lang.prefs"));
- /*
- if (super.prefsCategory == ALL_PREFERENCES) {
- menuItem.setAccelerator(KeyStroke.getKeyStroke(
- prefs.getInteger("keyevent.prefs"),
- ActionEvent.ALT_MASK));
- menuItem.addActionListener(this);
- }
- */
- menuItem.setEnabled(false);
- menuEdit.add(menuItem);
-
- menuItem = new JMenuItem(prefs.getString("lang.prefs.ext"));
- if (super.prefsCategory == SIMULATION_PREFERENCES) {
- menuItem.setAccelerator(KeyStroke.getKeyStroke(
- prefs.getInteger("keyevent.prefs.ext"),
- ActionEvent.ALT_MASK));
- menuItem.addActionListener(this);
- } else {
- menuItem.setEnabled(false);
- }
- menuEdit.add(menuItem);
-
- JMenuBar mainMenuBar = new JMenuBar();
- mainMenuBar.add(menuFile);
- mainMenuBar.add(menuEdit);
-
- return mainMenuBar;
- }
-
public void actionPerformed(ActionEvent e) {
- String actionCommand = e.getActionCommand();
-
- if (actionCommand.equals(prefs.getString("lang.close"))) {
- frame.dispose();
-
- } else if (actionCommand.equals(prefs.getString("lang.saveas"))) {
- JFileChooser fileChooser = new JFileChooser();
- int ret = fileChooser.showSaveDialog(frame);
+ //String actionCommand = e.getActionCommand();
- if (ret == JFileChooser.APPROVE_OPTION) {
- File file = fileChooser.getSelectedFile();
- savePrefs();
- prefs.saveFile(file.getName());
- }
-
- } else if (actionCommand.equals(prefs.getString("lang.open"))) {
- JFileChooser fileChooser = new JFileChooser();
- fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
- int ret = fileChooser.showOpenDialog(frame);
-
- if (ret == JFileChooser.APPROVE_OPTION) {
- File file = fileChooser.getSelectedFile();
- prefsToEdit = prefs = VSDefaultPrefs.init(file.getName());
- resetEditPanel();
- }
-
- } else if (actionCommand.equals(prefs.getString("lang.cancel"))) {
- frame.dispose();
-
- } else if (actionCommand.equals(prefs.getString("lang.prefs"))) {
- newVSEditorInstance(prefs, prefs, VSEditor.SIMULATION_PREFERENCES);
-
- } else if (actionCommand.equals(prefs.getString("lang.prefs.ext"))) {
- newVSEditorInstance(prefs, prefs, VSEditor.ALL_PREFERENCES);
-
- } else {
- /* More action in the super class!!! */
- super.actionPerformed(e);
- }
+ /* More action in the super class!!! */
+ super.actionPerformed(e);
}
public void newVSEditorInstance(VSPrefs prefs, VSPrefs prefsToEdit, int prefsCategory) { };
-
- protected VSFrame getFrame() {
- return frame;
- }
}
diff --git a/sources/prefs/editors/VSEditor.java b/sources/prefs/editors/VSEditor.java
index dc87a34..5b60e75 100644
--- a/sources/prefs/editors/VSEditor.java
+++ b/sources/prefs/editors/VSEditor.java
@@ -39,6 +39,7 @@ abstract class VSEditor implements ActionListener {
//protected Insets insetsTopSpaceing = new Insets(15, 0, 0, 0);
protected Insets insetsTopSpaceing = new Insets(0, 0, 0, 0);
protected Insets insets = new Insets(0, 0, 0, 0);
+ private VSFrame frame;
public VSEditor(VSPrefs prefs, VSPrefs prefsToEdit) {
init(prefs, prefsToEdit, SIMULATION_PREFERENCES);
@@ -48,6 +49,31 @@ abstract class VSEditor implements ActionListener {
init(prefs, prefsToEdit, prefsCategory);
}
+ public int getPrefsCategory() {
+ return prefsCategory;
+ }
+
+ public void setPrefs(VSPrefs prefs) {
+ this.prefs = prefs;
+ }
+
+ public void setPrefsToEdit(VSPrefs prefsToEdit) {
+ this.prefsToEdit = prefsToEdit;
+ }
+
+ public void setFrame(VSFrame frame) {
+ this.frame = frame;
+ }
+
+ public VSFrame getFrame() {
+ return frame;
+ }
+
+ protected void disposeFrameIfExists() {
+ if (frame != null)
+ frame.dispose();
+ }
+
private void init(VSPrefs prefs, VSPrefs prefsToEdit, int prefsCategory) {
this.prefs = prefs;
this.prefsToEdit = prefsToEdit;
@@ -509,6 +535,4 @@ abstract class VSEditor implements ActionListener {
public JPanel getButtonPanel() {
return buttonPanel;
}
-
- abstract protected JFrame getFrame();
}
diff --git a/sources/prefs/editors/VSEditorFrame.java b/sources/prefs/editors/VSEditorFrame.java
new file mode 100644
index 0000000..918b307
--- /dev/null
+++ b/sources/prefs/editors/VSEditorFrame.java
@@ -0,0 +1,177 @@
+package prefs.editors;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import javax.swing.filechooser.*;
+import java.util.*;
+import java.io.File;
+
+import prefs.*;
+import simulator.*;
+import utils.*;
+
+public class VSEditorFrame extends VSFrame implements ActionListener {
+ private VSBetterEditor editor;
+ private VSPrefs prefs;
+
+ public VSEditorFrame(VSPrefs prefs, Component relativeTo, VSBetterEditor editor) {
+ super(editor.getTitle(), relativeTo);
+ this.prefs = prefs;
+ this.editor = editor;
+ init();
+ }
+
+ private void init() {
+ editor.setFrame(this);
+ setJMenuBar(createJMenuBar());
+ setContentPane(editor.getContentPane());
+ setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+ setSize(prefs.getInteger("window.prefs.xsize"),
+ prefs.getInteger("window.prefs.ysize"));
+ setResizable(false);
+ setVisible(true);
+ }
+
+ private JMenuBar createJMenuBar() {
+ /* File menu */
+ JMenu menuFile = new JMenu(
+ prefs.getString("lang.file"));
+ menuFile.setMnemonic(prefs.getInteger("keyevent.file"));
+ JMenuItem menuItem;
+
+ menuItem = new JMenuItem(
+ prefs.getString("lang.save"));
+ menuItem.setAccelerator(KeyStroke.getKeyStroke(
+ prefs.getInteger("keyevent.save"),
+ ActionEvent.ALT_MASK));
+ menuItem.addActionListener(this);
+ menuFile.add(menuItem);
+
+ if (!(editor instanceof VSSimulationEditor))
+ menuItem.setEnabled(false);
+
+ menuItem = new JMenuItem(
+ prefs.getString("lang.saveas"));
+ menuItem.setAccelerator(KeyStroke.getKeyStroke(
+ prefs.getInteger("keyevent.saveas"),
+ ActionEvent.ALT_MASK));
+ menuItem.addActionListener(this);
+ menuFile.add(menuItem);
+
+ if (!(editor instanceof VSSimulationEditor))
+ menuItem.setEnabled(false);
+
+ menuItem = new JMenuItem(
+ prefs.getString("lang.open"));
+ menuItem.setAccelerator(KeyStroke.getKeyStroke(
+ prefs.getInteger("keyevent.open"),
+ ActionEvent.ALT_MASK));
+ menuItem.addActionListener(this);
+ menuFile.add(menuItem);
+
+ if (!(editor instanceof VSSimulationEditor))
+ menuItem.setEnabled(false);
+
+ menuFile.addSeparator();
+
+ menuItem = new JMenuItem(
+ prefs.getString("lang.close"));
+ menuItem.setAccelerator(KeyStroke.getKeyStroke(
+ prefs.getInteger("keyevent.close"),
+ ActionEvent.ALT_MASK));
+ menuItem.addActionListener(this);
+ menuFile.add(menuItem);
+
+ /* Edit menu */
+ JMenu menuEdit = new JMenu(
+ prefs.getString("lang.edit"));
+ menuEdit.setMnemonic(prefs.getInteger("keyevent.edit"));
+
+ menuItem = new JMenuItem(
+ prefs.getString("lang.default"));
+ menuItem.setAccelerator(KeyStroke.getKeyStroke(
+ prefs.getInteger("keyevent.default"),
+ ActionEvent.ALT_MASK));
+ menuItem.addActionListener(this);
+ menuEdit.add(menuItem);
+
+ if (!(editor instanceof VSSimulationEditor))
+ menuItem.setEnabled(false);
+
+ menuEdit.addSeparator();
+
+ menuItem = new JMenuItem(prefs.getString("lang.prefs"));
+ /*
+ if (editor.getOrefsCategory() == ALL_PREFERENCES) {
+ menuItem.setAccelerator(KeyStroke.getKeyStroke(
+ prefs.getInteger("keyevent.prefs"),
+ ActionEvent.ALT_MASK));
+ menuItem.addActionListener(this);
+ }
+ */
+ menuItem.setEnabled(false);
+ menuEdit.add(menuItem);
+
+ menuItem = new JMenuItem(prefs.getString("lang.prefs.ext"));
+ if (editor.getPrefsCategory() == VSEditor.SIMULATION_PREFERENCES) {
+ menuItem.setAccelerator(KeyStroke.getKeyStroke(
+ prefs.getInteger("keyevent.prefs.ext"),
+ ActionEvent.ALT_MASK));
+ menuItem.addActionListener(this);
+ } else {
+ menuItem.setEnabled(false);
+ }
+ menuEdit.add(menuItem);
+
+ JMenuBar mainMenuBar = new JMenuBar();
+ mainMenuBar.add(menuFile);
+ mainMenuBar.add(menuEdit);
+
+ return mainMenuBar;
+ }
+
+ public void actionPerformed(ActionEvent e) {
+ String actionCommand = e.getActionCommand();
+
+ if (actionCommand.equals(prefs.getString("lang.close"))) {
+ dispose();
+
+ } else if (actionCommand.equals(prefs.getString("lang.saveas"))) {
+ JFileChooser fileChooser = new JFileChooser();
+ int ret = fileChooser.showSaveDialog(this);
+
+ if (ret == JFileChooser.APPROVE_OPTION) {
+ File file = fileChooser.getSelectedFile();
+ editor.savePrefs();
+ prefs.saveFile(file.getName());
+ }
+
+ } else if (actionCommand.equals(prefs.getString("lang.open"))) {
+ JFileChooser fileChooser = new JFileChooser();
+ fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
+ int ret = fileChooser.showOpenDialog(this);
+
+ if (ret == JFileChooser.APPROVE_OPTION) {
+ File file = fileChooser.getSelectedFile();
+ VSPrefs newPrefs = VSDefaultPrefs.init(file.getName());
+ editor.setPrefs(newPrefs);
+ editor.setPrefsToEdit(newPrefs);
+ editor.resetEditPanel();
+ }
+
+ } else if (actionCommand.equals(prefs.getString("lang.cancel"))) {
+ dispose();
+
+ } else if (actionCommand.equals(prefs.getString("lang.prefs"))) {
+ editor.newVSEditorInstance(prefs, prefs, VSEditor.SIMULATION_PREFERENCES);
+
+ } else if (actionCommand.equals(prefs.getString("lang.prefs.ext"))) {
+ editor.newVSEditorInstance(prefs, prefs, VSEditor.ALL_PREFERENCES);
+
+ } else {
+ editor.actionPerformed(e);
+ }
+ }
+}
diff --git a/sources/prefs/editors/VSProcessEditor.java b/sources/prefs/editors/VSProcessEditor.java
index c26f743..0d55e86 100644
--- a/sources/prefs/editors/VSProcessEditor.java
+++ b/sources/prefs/editors/VSProcessEditor.java
@@ -18,33 +18,34 @@ import prefs.VSPrefs;
public class VSProcessEditor extends VSBetterEditor {
private VSProcess process;
+ private String title;
- public VSProcessEditor(VSPrefs prefs, Component relativeTo, VSProcess process) {
- super(prefs, relativeTo, process, prefs.getString("name") + " - "
- + prefs.getString("lang.prefs.process"));
-
+ public VSProcessEditor(VSPrefs prefs, VSProcess process) {
+ super(prefs, process, prefs.getString("name") + " - " + prefs.getString("lang.prefs.process"));;
this.process = process;
-
init();
}
- public VSProcessEditor(VSPrefs prefs, Component relativeTo, VSProcess process, int prefsCategory) {
- super(prefs, relativeTo, process, prefs.getString("name") + " - "
- + prefs.getString("lang.prefs.process"
- + (prefsCategory == ALL_PREFERENCES ? ".ext" : "")),
- prefsCategory);
+ public VSProcessEditor(VSPrefs prefs, VSProcess process, int prefsCategory) {
+ super(prefs, process, prefs.getString("name") + " - " + prefs.getString("lang.prefs.process"
+ + (prefsCategory == ALL_PREFERENCES ? ".ext" : "")), prefsCategory);
this.process = process;
-
init();
}
private void init() {
- super.infoArea.setText(prefs.getString("lang.prefs.process.info!"));
- getFrame().disposeWithParent();
+ infoArea.setText(prefs.getString("lang.prefs.process.info!"));
+ VSFrame frame = getFrame();
+ if (frame != null)
+ frame.disposeWithParent();
createButtonPanel();
}
+ public String getTitle() {
+ return title;
+ }
+
protected void addToEditPanelFront(JPanel editPanel) {
super.addToEditPanelFront(editPanel);
@@ -109,7 +110,7 @@ public class VSProcessEditor extends VSBetterEditor {
process.setObject(eventClassname, protocol);
}
- new VSProtocolEditor(prefs, frame, protocol);
+ //new VSProtocolEditor(prefs, frame, protocol);
}
}
});
@@ -145,7 +146,7 @@ public class VSProcessEditor extends VSBetterEditor {
if (actionCommand.equals(prefs.getString("lang.ok"))) {
savePrefs();
process.updateFromVSPrefs();
- frame.dispose();
+ disposeFrameIfExists();
} else if (actionCommand.equals(prefs.getString("lang.takeover"))) {
savePrefs();
@@ -159,10 +160,7 @@ public class VSProcessEditor extends VSBetterEditor {
public void newVSEditorInstance(VSPrefs prefs, VSPrefs prefsToEdit, int prefsCategory) {
if (prefsToEdit instanceof VSProcess) {
VSProcess process = (VSProcess) prefsToEdit;
- new VSProcessEditor(prefs, frame, process, prefsCategory);
-
- } else {
- new VSProcessEditor(prefs, frame, process, prefsCategory);
+ new VSEditorFrame(prefs, getFrame(), new VSProcessEditor(prefs, process, prefsCategory));
}
}
}
diff --git a/sources/prefs/editors/VSProtocolEditor.java b/sources/prefs/editors/VSProtocolEditor.java
deleted file mode 100644
index f2e6a1a..0000000
--- a/sources/prefs/editors/VSProtocolEditor.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package prefs.editors;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.io.File;
-import java.util.*;
-import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.event.*;
-import javax.swing.filechooser.*;
-
-import protocols.*;
-import utils.*;
-import core.*;
-import prefs.VSPrefs;
-
-public class VSProtocolEditor extends VSBetterEditor {
- private VSProtocol protocol;
- private JTextField textField;
-
- public VSProtocolEditor(VSPrefs prefs, Component relativeTo, VSProtocol protocol) {
- super(prefs, relativeTo, protocol, prefs.getString("name") + " - "
- + protocol.getName() + " " + prefs.getString("lang.editor"), ALL_PREFERENCES);
-
- this.protocol = protocol;
- init();
- }
-
- private void init() {
- super.getFrame().disposeWithParent();
- super.infoArea.setText(prefs.getString("lang.prefs.protocol.info!"));
- createButtonPanel();
- }
-
- private JPanel createButtonPanel() {
- JPanel buttonPanel = super.buttonPanel;
-
- JButton cancelButton = new JButton(
- prefs.getString("lang.takeover"));
- cancelButton.setMnemonic(prefs.getInteger("keyevent.takeover"));
- cancelButton.addActionListener(this);
- buttonPanel.add(cancelButton);
-
- return buttonPanel;
- }
-
- public void actionPerformed(ActionEvent e) {
- String actionCommand = e.getActionCommand();
-
- if (actionCommand.equals(prefs.getString("lang.ok"))) {
- savePrefs();
- frame.dispose();
-
- } else if (actionCommand.equals(prefs.getString("lang.takeover"))) {
- savePrefs();
-
- } else {
- super.actionPerformed(e);
- }
- }
-}
diff --git a/sources/prefs/editors/VSSimulationEditor.java b/sources/prefs/editors/VSSimulationEditor.java
index dd502b2..b4566ef 100644
--- a/sources/prefs/editors/VSSimulationEditor.java
+++ b/sources/prefs/editors/VSSimulationEditor.java
@@ -10,23 +10,23 @@ import java.io.File;
import simulator.*;
import utils.*;
-import prefs.VSPrefs;
+import prefs.*;
public class VSSimulationEditor extends VSBetterEditor {
private boolean startNewSimulation;
private VSSimulatorFrame simulatorFrame;
- public VSSimulationEditor(VSPrefs prefs, Component relativeTo) {
- super(prefs, relativeTo, prefs, prefs.getString("name")
+ public VSSimulationEditor(VSPrefs prefs, VSSimulatorFrame simulatorFrame) {
+ super(prefs, prefs, prefs.getString("name")
+ " - " + prefs.getString("lang.prefs"));
- this.simulatorFrame = (VSSimulatorFrame) relativeTo;
+ this.simulatorFrame = simulatorFrame;
startNewSimulation = true;
init();
}
- public VSSimulationEditor(VSPrefs prefs, Component relativeTo, int prefsCategory) {
- super(prefs, relativeTo, prefs, prefs.getString("name")
+ public VSSimulationEditor(VSPrefs prefs, int prefsCategory) {
+ super(prefs, prefs, prefs.getString("name")
+ " - " + prefs.getString("lang.prefs"
+ (prefsCategory == ALL_PREFERENCES ? ".ext" : "")),
prefsCategory);
@@ -36,7 +36,7 @@ public class VSSimulationEditor extends VSBetterEditor {
}
private void init() {
- super.infoArea.setText(prefs.getString("lang.prefs.info!"));
+ infoArea.setText(prefs.getString("lang.prefs.info!"));
}
public void actionPerformed(ActionEvent e) {
@@ -46,7 +46,9 @@ public class VSSimulationEditor extends VSBetterEditor {
super.actionPerformed(e);
prefsToEdit.saveFile();
- frame.dispose();
+ VSFrame frame = getFrame();
+ if (frame != null)
+ frame.dispose();
if (startNewSimulation)
simulatorFrame.addSimulation(
@@ -58,6 +60,7 @@ public class VSSimulationEditor extends VSBetterEditor {
}
public void newVSEditorInstance(VSPrefs prefs, VSPrefs prefsToEdit, int prefsCategory) {
- new VSSimulationEditor(prefs, getFrame(), prefsCategory);
+ VSPrefs newPrefs = VSDefaultPrefs.init();
+ new VSEditorFrame(newPrefs, getFrame(), new VSSimulationEditor(prefs, prefsCategory));
}
}
diff --git a/sources/simulator/VSMain.java b/sources/simulator/VSMain.java
index 53560f4..926f450 100644
--- a/sources/simulator/VSMain.java
+++ b/sources/simulator/VSMain.java
@@ -19,7 +19,7 @@ public class VSMain {
private void init(VSPrefs prefs, Component relativeTo) {
VSSimulatorFrame simulatorFrame = new VSSimulatorFrame(prefs, relativeTo);
- new VSSimulationEditor(prefs, simulatorFrame);
+ new VSEditorFrame(prefs, relativeTo, new VSSimulationEditor(prefs, simulatorFrame));
}
public static void main(String[] args) {
diff --git a/sources/simulator/VSSimulation.java b/sources/simulator/VSSimulation.java
index cf1e677..bd19ff0 100644
--- a/sources/simulator/VSSimulation.java
+++ b/sources/simulator/VSSimulation.java
@@ -307,13 +307,6 @@ public class VSSimulation extends JPanel {
splitPane1.setOneTouchExpandable(true);
tabbedPane.addTab(prefs.getString("lang.events"), splitPane1);
- //JSplitPane splitPane2 = new JSplitPane();
- //splitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT);
- //splitPane2.setTopComponent(processesComboBox);
- //splitPane2.setBottomComponent(tabbedPane);
- editPanel.add(processesComboBox);
- editPanel.add(tabbedPane);
-
processesComboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
localTextFields.set(lastSelectedProcessNum, localTextField.getText());
@@ -352,7 +345,9 @@ public class VSSimulation extends JPanel {
globalVariablesPanel = new JPanel();
tabbedPane.add(prefs.getString("lang.variables"), variablesPanel);
tabbedPane.add(prefs.getString("lang.variables.global"), globalVariablesPanel);
- //tabbedPane.add(prefs.getString("lang.variables.global"), new JTextArea(0, 0));
+
+ editPanel.add(processesComboBox);
+ editPanel.add(tabbedPane);
return editPanel;
}
diff --git a/sources/simulator/VSSimulationCanvas.java b/sources/simulator/VSSimulationCanvas.java
index 37f5f51..3fb6add 100644
--- a/sources/simulator/VSSimulationCanvas.java
+++ b/sources/simulator/VSSimulationCanvas.java
@@ -740,7 +740,8 @@ public class VSSimulationCanvas extends Canvas implements Runnable, MouseMotionL
public void editProcess(VSProcess process) {
if (process != null) {
process.updatePrefs();
- new VSProcessEditor(prefs, simulation.getSimulatorFrame(), process);
+ new VSEditorFrame(prefs, simulation.getSimulatorFrame(),
+ new VSProcessEditor(prefs, process));
}
}
diff --git a/sources/simulator/VSSimulatorFrame.java b/sources/simulator/VSSimulatorFrame.java
index e27f896..37c0900 100644
--- a/sources/simulator/VSSimulatorFrame.java
+++ b/sources/simulator/VSSimulatorFrame.java
@@ -203,7 +203,8 @@ public class VSSimulatorFrame extends VSFrame implements ActionListener {
removeCurrentSimulation();
} else if (source.getText().equals(prefs.getString("lang.simulation.new"))) {
- new VSSimulationEditor(VSDefaultPrefs.init(), this);
+ VSPrefs newPrefs = VSDefaultPrefs.init();
+ new VSEditorFrame(newPrefs, this, new VSSimulationEditor(newPrefs, this));
} else if (source.getText().equals(prefs.getString("lang.window.new"))) {
new VSMain(VSDefaultPrefs.init(), this);