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; | 
