diff options
author | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-13 10:41:25 +0100 |
---|---|---|
committer | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-13 10:41:25 +0100 |
commit | e7d7e8506a511d78f9e323ac09587f79ad503f42 (patch) | |
tree | 8d87a718af29470b5bb8e5dfeb0ce18865f185cb /src/jcgp/gui/settings | |
parent | dbae5ce2e0765f229e11b692a2aba570286980f4 (diff) |
Performance suddenly decreased, looking into why
Diffstat (limited to 'src/jcgp/gui/settings')
-rw-r--r-- | src/jcgp/gui/settings/SettingsPane.java | 20 | ||||
-rw-r--r-- | src/jcgp/gui/settings/testcase/TestCaseTable.java | 22 |
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; } } |