blob: 70b78a656e99881529eb68746d188a8c798aac23 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
package jcgp.gui.settings.parameters;
import javafx.geometry.Pos;
import javafx.scene.control.TextField;
import javafx.scene.layout.Priority;
import javafx.scene.text.Text;
import jcgp.backend.parameters.IntegerParameter;
import jcgp.gui.GUI;
public class GUIIntegerParameter extends GUIParameter {
GUIIntegerParameter(IntegerParameter parameter) {
super();
this.parameter = parameter;
name = new Text(parameter.getName());
value = new TextField(String.valueOf(parameter.get()));
((TextField) value).setAlignment(Pos.CENTER_RIGHT);
setHgrow(value, Priority.ALWAYS);
name.setWrappingWidth(GUI.WRAP_WIDTH);
((TextField) value).setEditable(!parameter.isMonitor());
if (parameter.isMonitor()) {
makeLightBinding();
}
getChildren().addAll(name, value);
}
@Override
public void refreshValue() {
((TextField) value).setText(String.valueOf(((IntegerParameter) parameter).get()));
}
@Override
public boolean applyChange() {
if (Integer.valueOf(((TextField) value).getText()) != ((IntegerParameter) parameter).get() && (!parameter.isMonitor())) {
// apply value
((IntegerParameter) parameter).set(Integer.valueOf(((TextField) value).getText()));
return parameter.isCritical();
}
return false;
}
}
|