summaryrefslogtreecommitdiff
path: root/sources/prefs/editors/VSSimulationEditor.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/prefs/editors/VSSimulationEditor.java')
-rw-r--r--sources/prefs/editors/VSSimulationEditor.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/sources/prefs/editors/VSSimulationEditor.java b/sources/prefs/editors/VSSimulationEditor.java
index 8d3a010..f0106fd 100644
--- a/sources/prefs/editors/VSSimulationEditor.java
+++ b/sources/prefs/editors/VSSimulationEditor.java
@@ -14,7 +14,18 @@ import prefs.*;
public class VSSimulationEditor extends VSBetterEditor {
private VSSimulatorFrame simulatorFrame;
+ private VSSimulation simulation;
public static boolean TAKEOVER_BUTTON;
+ private boolean dontStartNewSimulation;
+
+ public VSSimulationEditor(VSPrefs prefs, VSSimulatorFrame simulatorFrame, VSSimulation simulation) {
+ super(prefs, prefs, prefs.getString("lang.name")
+ + " - " + prefs.getString("lang.prefs"));
+ this.dontStartNewSimulation = true;//simulation != null;
+ this.simulatorFrame = simulatorFrame;
+ this.simulation = simulation;
+ getInfoArea().setText(prefs.getString("lang.prefs.info!"));
+ }
public VSSimulationEditor(VSPrefs prefs, VSSimulatorFrame simulatorFrame) {
super(prefs, prefs, prefs.getString("lang.name")
@@ -39,11 +50,18 @@ public class VSSimulationEditor extends VSBetterEditor {
if (actionCommand.equals(prefs.getString("lang.takeover"))) {
savePrefs();
- simulatorFrame.getCurrentSimulation().updateFromPrefs();
+ if (expertModeChanged()) {
+ simulation.fireExpertModeChanged();
+ }
+ simulation.updateFromPrefs();
} else if (actionCommand.equals(prefs.getString("lang.ok"))) {
savePrefs();
- simulatorFrame.addSimulation(new VSSimulation(prefsToEdit, simulatorFrame));
+ if (expertModeChanged()) {
+ simulation.fireExpertModeChanged();
+ }
+ if (!dontStartNewSimulation)
+ simulatorFrame.addSimulation(new VSSimulation(prefsToEdit, simulatorFrame));
} else {
super.actionPerformed(e);