diff options
Diffstat (limited to 'src/jcgp/gui/settings/SettingsPane.java')
-rw-r--r-- | src/jcgp/gui/settings/SettingsPane.java | 56 |
1 files changed, 25 insertions, 31 deletions
diff --git a/src/jcgp/gui/settings/SettingsPane.java b/src/jcgp/gui/settings/SettingsPane.java index 302e96d..7fc5621 100644 --- a/src/jcgp/gui/settings/SettingsPane.java +++ b/src/jcgp/gui/settings/SettingsPane.java @@ -126,17 +126,13 @@ public class SettingsPane extends AnchorPane { final VBox eaParameters = new VBox(2); - if (jcgp.getEvolutionaryStrategy().getLocalParameters() != null) { - refreshParameters(jcgp.getEvolutionaryStrategy().getLocalParameters(), eaParameters); - } + refreshParameters(jcgp.getEvolutionaryStrategy().getLocalParameters(), eaParameters); eaCBox.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { jcgp.setEvolutionaryStrategy(eaCBox.getSelectionModel().getSelectedIndex()); - if (eaCBox.getSelectionModel().getSelectedItem().getLocalParameters() != null) { - refreshParameters(eaCBox.getSelectionModel().getSelectedItem().getLocalParameters(), eaParameters); - } + refreshParameters(eaCBox.getSelectionModel().getSelectedItem().getLocalParameters(), eaParameters); } }); @@ -157,17 +153,13 @@ public class SettingsPane extends AnchorPane { mutatorCBox.prefWidthProperty().bind(mainContainer.widthProperty()); final VBox mutatorParameters = new VBox(2); - if (jcgp.getEvolutionaryStrategy().getLocalParameters() != null) { - refreshParameters(jcgp.getMutator().getLocalParameters(), mutatorParameters); - } + refreshParameters(jcgp.getMutator().getLocalParameters(), mutatorParameters); mutatorCBox.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { jcgp.setMutator(mutatorCBox.getSelectionModel().getSelectedIndex()); - if (mutatorCBox.getSelectionModel().getSelectedItem().getLocalParameters() != null) { - refreshParameters(mutatorCBox.getSelectionModel().getSelectedItem().getLocalParameters(), mutatorParameters); - } + refreshParameters(mutatorCBox.getSelectionModel().getSelectedItem().getLocalParameters(), mutatorParameters); } }); @@ -189,22 +181,22 @@ public class SettingsPane extends AnchorPane { final VBox problemParameters = new VBox(2); problemParameters.setPadding(new Insets(0, 0, 4, 0)); - if (jcgp.getProblem().getLocalParameters() != null) { - refreshParameters(jcgp.getProblem().getLocalParameters(), problemParameters); - } + refreshParameters(jcgp.getProblem().getLocalParameters(), problemParameters); final HBox testCaseControlContainer = new HBox(2); final Button showTestCaseButton = makeTestCaseButton(); - final Button loadTestCaseButton = makeLoadTestCaseButton(); + final Button loadProblemDataButton = makeLoadTestCaseButton(); HBox.setHgrow(showTestCaseButton, Priority.ALWAYS); showTestCaseButton.setMaxWidth(Double.MAX_VALUE); - HBox.setHgrow(loadTestCaseButton, Priority.ALWAYS); - loadTestCaseButton.setMaxWidth(Double.MAX_VALUE); + HBox.setHgrow(loadProblemDataButton, Priority.ALWAYS); + loadProblemDataButton.setMaxWidth(Double.MAX_VALUE); if (jcgp.getProblem() instanceof TestCaseProblem<?>) { - testCaseControlContainer.getChildren().addAll(showTestCaseButton, loadTestCaseButton); + testCaseControlContainer.getChildren().addAll(showTestCaseButton, loadProblemDataButton); remakeTestCaseTable(); + } else { + testCaseControlContainer.getChildren().add(loadProblemDataButton); } nodeFunctions = new VBox(2); @@ -215,16 +207,16 @@ public class SettingsPane extends AnchorPane { @Override public void handle(ActionEvent event) { jcgp.setProblem(problemCBox.getSelectionModel().getSelectedIndex()); - if (jcgp.getProblem().getLocalParameters() != null) { - refreshParameters(jcgp.getProblem().getLocalParameters(), problemParameters); - } + refreshParameters(jcgp.getProblem().getLocalParameters(), problemParameters); testCaseTable.close(); gui.setEvaluating(false); refreshFunctions(); testCaseControlContainer.getChildren().clear(); if (jcgp.getProblem() instanceof TestCaseProblem) { - testCaseControlContainer.getChildren().addAll(showTestCaseButton, loadTestCaseButton); + testCaseControlContainer.getChildren().addAll(showTestCaseButton, loadProblemDataButton); remakeTestCaseTable(); + } else { + testCaseControlContainer.getChildren().add(loadProblemDataButton); } gui.reset(); } @@ -236,17 +228,17 @@ public class SettingsPane extends AnchorPane { } private Button makeLoadTestCaseButton() { - Button b = new Button("Load test cases"); + Button b = new Button("Load problem data"); b.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { FileChooser fc = new FileChooser(); - fc.setTitle("Open test case file..."); + fc.setTitle("Open problem file..."); fc.getExtensionFilters().add(new ExtensionFilter("CGP " + gui.getExperiment().getProblem() + " files", "*" + ((TestCaseProblem<?>) gui.getExperiment().getProblem()).getFileExtension())); fc.getExtensionFilters().add(new ExtensionFilter("All files", "*.*")); File chrFile = fc.showOpenDialog(gui.getStage()); if (chrFile != null) { - gui.getExperiment().loadTestCases(chrFile); + gui.getExperiment().loadProblemData(chrFile); remakeTestCaseTable(); gui.reDraw(); } @@ -369,10 +361,12 @@ public class SettingsPane extends AnchorPane { private void refreshParameters(Parameter<?>[] newParameters, VBox vb) { parameters.removeAll(vb.getChildren()); vb.getChildren().clear(); - for (int i = 0; i < newParameters.length; i++) { - GUIParameter<?> gp = GUIParameter.create(newParameters[i], this); - parameters.add(gp); - vb.getChildren().add(gp); + if (newParameters != null) { + for (int i = 0; i < newParameters.length; i++) { + GUIParameter<?> gp = GUIParameter.create(newParameters[i], this); + parameters.add(gp); + vb.getChildren().add(gp); + } } revalidateParameters(); } @@ -386,7 +380,7 @@ public class SettingsPane extends AnchorPane { CheckBox cb; final FunctionSet fs = gui.getExperiment().getResources().getFunctionSet(); for (int i = 0; i < fs.getTotalFunctionCount(); i++) { - cb = new CheckBox(fs.getFunction(i).getName()); + cb = new CheckBox(fs.getFunction(i).toString()); cb.setId(String.valueOf(i)); cb.setSelected(fs.isEnabled(fs.getFunction(i))); final int index = i; |