aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/gui/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/gui/settings')
-rw-r--r--src/jcgp/gui/settings/SettingsPane.java20
-rw-r--r--src/jcgp/gui/settings/testcase/TestCaseTable.java22
2 files changed, 26 insertions, 16 deletions
diff --git a/src/jcgp/gui/settings/SettingsPane.java b/src/jcgp/gui/settings/SettingsPane.java
index 9fcee8f..2ab9650 100644
--- a/src/jcgp/gui/settings/SettingsPane.java
+++ b/src/jcgp/gui/settings/SettingsPane.java
@@ -211,14 +211,15 @@ public class SettingsPane extends AnchorPane {
public void handle(ActionEvent event) {
jcgp.setProblem(problemCBox.getSelectionModel().getSelectedIndex());
if (jcgp.getProblem().getLocalParameters() != null) {
- showTestCaseContainer.getChildren().clear();
refreshParameters(jcgp.getProblem().getLocalParameters(), problemParameters);
- refreshFunctions(jcgp.getProblem().getFunctionSet(), nodeFunctions, gui);
- testCaseTable.close();
- if (jcgp.getProblem() instanceof TestCaseProblem) {
- showTestCaseContainer.getChildren().add(showTestCaseButton);
- testCaseTable = new TestCaseTable((TestCaseProblem<Object>) jcgp.getProblem(), gui);
- }
+ }
+ testCaseTable.close();
+ gui.setEvaluating(false);
+ refreshFunctions(jcgp.getProblem().getFunctionSet(), nodeFunctions, gui);
+ showTestCaseContainer.getChildren().clear();
+ if (jcgp.getProblem() instanceof TestCaseProblem) {
+ showTestCaseContainer.getChildren().add(showTestCaseButton);
+ testCaseTable = new TestCaseTable((TestCaseProblem<Object>) jcgp.getProblem(), gui);
}
gui.reset();
}
@@ -396,10 +397,12 @@ public class SettingsPane extends AnchorPane {
*/
public void revalidateParameters() {
runPause.setDisable(false);
+ step.setDisable(false);
for (GUIParameter<?> parameter : parameters) {
parameter.validate();
if (parameter.requiresReset()) {
runPause.setDisable(true);
+ step.setDisable(true);
}
}
}
@@ -429,10 +432,11 @@ public class SettingsPane extends AnchorPane {
problemPane.setDisable(running);
runPause.setText(running ? "Pause" : "Run");
- System.out.println("[updateControls] run pause disable: " + finished);
runPause.setDisable(finished);
step.setDisable(running || finished);
reset.setDisable(running);
+
+ testCaseTable.getTable().setDisable(running);
}
public TestCaseTable getTestCaseTable() {
diff --git a/src/jcgp/gui/settings/testcase/TestCaseTable.java b/src/jcgp/gui/settings/testcase/TestCaseTable.java
index 7e72cbd..b84f9ab 100644
--- a/src/jcgp/gui/settings/testcase/TestCaseTable.java
+++ b/src/jcgp/gui/settings/testcase/TestCaseTable.java
@@ -27,10 +27,12 @@ import jcgp.gui.GUI;
*/
public class TestCaseTable extends Stage {
+ private TableView<TestCase<Object>> table;
+
public TestCaseTable(final TestCaseProblem<Object> problem, final GUI gui) {
super();
- TableView<TestCase<Object>> tv = new TableView<TestCase<Object>>();
+ table = new TableView<TestCase<Object>>();
ObservableList<TestCase<Object>> testCaseList = problem.getTestCases();
ArrayList<TableColumn<TestCase<Object>, String>> inputs = new ArrayList<TableColumn<TestCase<Object>, String>>(problem.getInputCount());
@@ -48,7 +50,7 @@ public class TestCaseTable extends Stage {
}
});
tc.setSortable(false);
- tc.prefWidthProperty().bind(tv.widthProperty().divide(problem.getInputCount() + problem.getOutputCount()));
+ tc.prefWidthProperty().bind(table.widthProperty().divide(problem.getInputCount() + problem.getOutputCount()));
}
for (int o = 0; o < problem.getOutputCount(); o++) {
@@ -62,15 +64,15 @@ public class TestCaseTable extends Stage {
}
});
tc.setSortable(false);
- tc.prefWidthProperty().bind(tv.widthProperty().divide(problem.getInputCount() + problem.getOutputCount()));
+ tc.prefWidthProperty().bind(table.widthProperty().divide(problem.getInputCount() + problem.getOutputCount()));
}
- tv.getColumns().addAll(inputs);
- tv.getColumns().addAll(outputs);
+ table.getColumns().addAll(inputs);
+ table.getColumns().addAll(outputs);
- tv.setItems(testCaseList);
+ table.setItems(testCaseList);
- tv.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<TestCase<Object>>() {
+ table.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<TestCase<Object>>() {
@Override
public void changed(
ObservableValue<? extends TestCase<Object>> observable, TestCase<Object> oldValue, TestCase<Object> newValue) {
@@ -85,6 +87,10 @@ public class TestCaseTable extends Stage {
}
});
- setScene(new Scene(tv));
+ setScene(new Scene(table));
+ }
+
+ public TableView<TestCase<Object>> getTable() {
+ return table;
}
}