aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/gui/GUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/gui/GUI.java')
-rw-r--r--src/jcgp/gui/GUI.java25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/jcgp/gui/GUI.java b/src/jcgp/gui/GUI.java
index eaca077..5a7a16d 100644
--- a/src/jcgp/gui/GUI.java
+++ b/src/jcgp/gui/GUI.java
@@ -46,11 +46,11 @@ public class GUI extends Application {
private PopulationPane populationPane;
- private GUIConsole console = new GUIConsole();
+ private GUIConsole console;
private SettingsPane settingsPane;
- private boolean evolving = false;
+ private static boolean working = false;
private Object printLock = new Object();
@@ -93,16 +93,13 @@ public class GUI extends Application {
};
public static void main(String[] args) {
-// jcgp = new JCGP();
-// resources = jcgp.getResources();
-//
-// functionSelector =
launch();
}
@Override
public void start(Stage primaryStage) throws Exception {
+ console = new GUIConsole();
jcgp.setConsole(console);
/*
@@ -142,7 +139,7 @@ public class GUI extends Application {
public void runPause() {
if (!jcgp.isFinished() && settingsPane.areParametersValid()) {
- if (!evolving) {
+ if (!working) {
runningMode(true);
cgpService.restart();
} else {
@@ -153,7 +150,7 @@ public class GUI extends Application {
}
public void step() {
- if (!evolving && !jcgp.isFinished() && settingsPane.areParametersValid()) {
+ if (!working && !jcgp.isFinished() && settingsPane.areParametersValid()) {
if (settingsPane.isResetRequired()) {
reset();
}
@@ -164,12 +161,12 @@ public class GUI extends Application {
populationPane.updateGenes();
populationPane.relockOutputs();
-
+ settingsPane.revalidateParameters();
}
}
public void reset() {
- if (!evolving && settingsPane.areParametersValid()) {
+ if (!working && settingsPane.areParametersValid()) {
settingsPane.applyParameters();
jcgp.reset();
populationPane.remakeTabs(jcgp.getPopulation(), jcgp.getResources());
@@ -182,7 +179,7 @@ public class GUI extends Application {
private void runningMode(boolean value) {
populationPane.setDisable(value);
settingsPane.updateControls(value, jcgp.isFinished());
-
+
if (value) {
populationPane.unlockOutputs();
if (settingsPane.isResetRequired()) {
@@ -191,12 +188,16 @@ public class GUI extends Application {
} else {
populationPane.updateGenes();
populationPane.relockOutputs();
+ settingsPane.revalidateParameters();
}
- evolving = value;
+ working = value;
}
public static void updateFunctionSelector() {
functionSelector.remakeFunctions(resources.getFunctionSet());
}
+ public static boolean isWorking() {
+ return working;
+ }
}