From 36703525f19bbe49dd2e32beb3e76db2caf37ef7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 17 Jan 2011 20:55:22 +0100 Subject: [PATCH] Allow CapacityPicker to work without bindings Add methods to get the current value and set it. FEA: ItEr68OTS05IntroducionLimiteSobreasignacionCalendarios --- .../web/common/components/CapacityPicker.java | 42 ++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/CapacityPicker.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/CapacityPicker.java index f76d210fe..e4a9b0a3e 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/CapacityPicker.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/CapacityPicker.java @@ -35,24 +35,41 @@ public class CapacityPicker { public static CapacityPicker workWith(Checkbox checkbox, EffortDurationPicker standardEffortPicker, - EffortDurationPicker extraHoursPicker, - final Getter getter, + EffortDurationPicker extraHoursPicker, Getter getter, Setter setter) { return new CapacityPicker(checkbox, standardEffortPicker, extraHoursPicker, getter.get(), setter); } + public static CapacityPicker workWith(Checkbox checkbox, + EffortDurationPicker standardEffortPicker, + EffortDurationPicker extraHoursPicker, + final Capacity initialCapacity) { + return new CapacityPicker(checkbox, standardEffortPicker, + extraHoursPicker, initialCapacity, null); + } + private Capacity currentCapacity; private final Setter setter; - private CapacityPicker(Checkbox checkbox, + private final Checkbox overAssignableWithoutLimitCheckbox; + + private final EffortDurationPicker standardEffortPicker; + + private final EffortDurationPicker extraEffortPicker; + + private CapacityPicker(Checkbox overAssignableWithoutLimitCheckbox, EffortDurationPicker standardEffortPicker, final EffortDurationPicker extraEffortPicker, Capacity initialCapacity, Setter setter) { + this.overAssignableWithoutLimitCheckbox = overAssignableWithoutLimitCheckbox; + this.standardEffortPicker = standardEffortPicker; + this.extraEffortPicker = extraEffortPicker; this.currentCapacity = initialCapacity; this.setter = setter; + standardEffortPicker.bind(new Getter() { @Override @@ -82,7 +99,7 @@ public class CapacityPicker { updateCapacity(currentCapacity.extraEffort(value)); } }); - Util.bind(checkbox, new Getter() { + Util.bind(overAssignableWithoutLimitCheckbox, new Getter() { @Override public Boolean get() { @@ -108,7 +125,22 @@ public class CapacityPicker { private void updateCapacity(Capacity newCapacity) { this.currentCapacity = newCapacity; - this.setter.set(currentCapacity); + if (this.setter != null) { + this.setter.set(currentCapacity); + } + } + + public Capacity getValue() { + return currentCapacity; + } + + public void setValue(Capacity capacity) { + overAssignableWithoutLimitCheckbox.setChecked(capacity + .isOverAssignable()); + standardEffortPicker.setValue(capacity.getStandardEffort()); + extraEffortPicker.setValue(capacity.getAllowedExtraEffort()); + currentCapacity = capacity; + updateExtraEffortDisability(extraEffortPicker); } }