aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/gui/settings/SettingsPane.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/gui/settings/SettingsPane.java')
-rw-r--r--src/jcgp/gui/settings/SettingsPane.java56
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;