blob: 4b74c6ed0b7cede52d0a85ed9ec07dffe094bd6c (
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
50
51
|
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.DoubleParameter;
import jcgp.gui.GUI;
public class GUIDoubleParameter extends GUIParameter {
GUIDoubleParameter(DoubleParameter 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(((DoubleParameter) parameter).get()));
}
@Override
public boolean applyChange() {
if (Double.valueOf(((TextField) value).getText()) != ((DoubleParameter) parameter).get() && (!parameter.isMonitor())) {
// apply value
((DoubleParameter) parameter).set(Double.valueOf(((TextField) value).getText()));
if (parameter.isCritical()) {
return true;
}
}
return false;
}
}
|