aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/gui/settings/parameters/GUIParameter.java
diff options
context:
space:
mode:
authorEduardo Pedroni <ep625@york.ac.uk>2014-04-04 17:14:44 +0100
committerEduardo Pedroni <ep625@york.ac.uk>2014-04-04 17:14:44 +0100
commitc7969623b44f375e30fa3f15dcd7581609276a0f (patch)
treed1743df21e685fed93b7a12dd91a524e44fa42bd /src/jcgp/gui/settings/parameters/GUIParameter.java
parent0dbf126fc524bc029d9f5803d849b7c8f43fe389 (diff)
Parameter validation refactored and fully functional.
Diffstat (limited to 'src/jcgp/gui/settings/parameters/GUIParameter.java')
-rw-r--r--src/jcgp/gui/settings/parameters/GUIParameter.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/jcgp/gui/settings/parameters/GUIParameter.java b/src/jcgp/gui/settings/parameters/GUIParameter.java
index 9d6f07a..da2fe86 100644
--- a/src/jcgp/gui/settings/parameters/GUIParameter.java
+++ b/src/jcgp/gui/settings/parameters/GUIParameter.java
@@ -14,6 +14,8 @@ import jcgp.backend.parameters.BooleanParameter;
import jcgp.backend.parameters.DoubleParameter;
import jcgp.backend.parameters.IntegerParameter;
import jcgp.backend.parameters.Parameter;
+import jcgp.backend.parameters.ParameterStatus;
+import jcgp.gui.settings.SettingsPane;
public abstract class GUIParameter extends HBox {
@@ -59,15 +61,23 @@ public abstract class GUIParameter extends HBox {
public abstract void applyValue();
- public static GUIParameter create(Parameter parameter) {
+ public abstract void validate();
+
+ public static GUIParameter create(Parameter parameter, SettingsPane sp) {
if (parameter instanceof IntegerParameter) {
- return new GUIIntegerParameter((IntegerParameter) parameter);
+ return new GUIIntegerParameter((IntegerParameter) parameter, sp);
} else if (parameter instanceof DoubleParameter) {
- return new GUIDoubleParameter((DoubleParameter) parameter);
+ return new GUIDoubleParameter((DoubleParameter) parameter, sp);
} else if (parameter instanceof BooleanParameter) {
- return new GUIBooleanParameter((BooleanParameter) parameter);
+ return new GUIBooleanParameter((BooleanParameter) parameter, sp);
} else {
throw new ClassCastException("No GUIParameter subclass exists for argument of type " + parameter.getClass());
}
}
+
+ public boolean isValid() {
+ return parameter.getStatus() == ParameterStatus.VALID
+ || parameter.getStatus() == ParameterStatus.WARNING
+ || parameter.getStatus() == ParameterStatus.WARNING_RESET;
+ }
}