diff options
author | Joonas Lehtinen <joonas.lehtinen@itmill.com> | 2008-05-19 11:26:05 +0000 |
---|---|---|
committer | Joonas Lehtinen <joonas.lehtinen@itmill.com> | 2008-05-19 11:26:05 +0000 |
commit | 0aa8ae28f96fad5b87d2f66dd5be1ab67739922e (patch) | |
tree | dd3df0f26e32e74dc030526752025306b2a05dde /src/com/itmill/toolkit/ui/Form.java | |
parent | 89407bd4ade3eb8feaa7d2a0998f90c924e2fdd4 (diff) | |
download | vaadin-framework-0aa8ae28f96fad5b87d2f66dd5be1ab67739922e.tar.gz vaadin-framework-0aa8ae28f96fad5b87d2f66dd5be1ab67739922e.zip |
Fixes #1666 and #1665
svn changeset:4547/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/ui/Form.java')
-rw-r--r-- | src/com/itmill/toolkit/ui/Form.java | 63 |
1 files changed, 19 insertions, 44 deletions
diff --git a/src/com/itmill/toolkit/ui/Form.java b/src/com/itmill/toolkit/ui/Form.java index 42c2cf52ac..341b0c9a0c 100644 --- a/src/com/itmill/toolkit/ui/Form.java +++ b/src/com/itmill/toolkit/ui/Form.java @@ -14,7 +14,6 @@ import com.itmill.toolkit.data.Buffered; import com.itmill.toolkit.data.Item; import com.itmill.toolkit.data.Property; import com.itmill.toolkit.data.Validatable; -import com.itmill.toolkit.data.Validator; import com.itmill.toolkit.data.Validator.InvalidValueException; import com.itmill.toolkit.data.util.BeanItem; import com.itmill.toolkit.terminal.PaintException; @@ -97,11 +96,6 @@ public class Form extends AbstractField implements Item.Editor, Buffered, Item, private FieldFactory fieldFactory; /** - * Registered Validators. - */ - private LinkedList validators; - - /** * Visible item properties. */ private Collection visibleItemProperties; @@ -380,7 +374,9 @@ public class Form extends AbstractField implements Item.Editor, Buffered, Item, propertyIds.addLast(propertyId); field.setReadThrough(readThrough); field.setWriteThrough(writeThrough); - + if (isImmediate() && field instanceof AbstractComponent) { + ((AbstractComponent) field).setImmediate(true); + } if (layout instanceof CustomLayout) { ((CustomLayout) layout).addComponent(field, propertyId .toString()); @@ -703,42 +699,6 @@ public class Form extends AbstractField implements Item.Editor, Buffered, Item, } /** - * Adds a new validator for this object. - * - * @see com.itmill.toolkit.data.Validatable#addValidator(com.itmill.toolkit.data.Validator) - */ - public void addValidator(Validator validator) { - - if (validators == null) { - validators = new LinkedList(); - } - validators.add(validator); - } - - /** - * Removes a previously registered validator from the object. - * - * @see com.itmill.toolkit.data.Validatable#removeValidator(com.itmill.toolkit.data.Validator) - */ - public void removeValidator(Validator validator) { - if (validators != null) { - validators.remove(validator); - } - } - - /** - * Gets the Lists all validators currently registered for the object. - * - * @see com.itmill.toolkit.data.Validatable#getValidators() - */ - public Collection getValidators() { - if (validators == null) { - validators = new LinkedList(); - } - return validators; - } - - /** * Tests the current value of the object against all registered validators * * @see com.itmill.toolkit.data.Validatable#isValid() @@ -748,7 +708,7 @@ public class Form extends AbstractField implements Item.Editor, Buffered, Item, for (final Iterator i = propertyIds.iterator(); i.hasNext();) { valid &= ((Field) fields.get(i.next())).isValid(); } - return valid; + return valid && super.isValid(); } /** @@ -757,6 +717,7 @@ public class Form extends AbstractField implements Item.Editor, Buffered, Item, * @see com.itmill.toolkit.data.Validatable#validate() */ public void validate() throws InvalidValueException { + super.validate(); for (final Iterator i = propertyIds.iterator(); i.hasNext();) { ((Field) fields.get(i.next())).validate(); } @@ -941,4 +902,18 @@ public class Form extends AbstractField implements Item.Editor, Buffered, Item, (getField(i.next())).setTabIndex(tabIndex); } } + + /** + * Setting the form to be immediate also sets all the fields of the form to + * the same state. + */ + public void setImmediate(boolean immediate) { + super.setImmediate(immediate); + for (Iterator i = fields.values().iterator(); i.hasNext();) { + Field f = (Field) i.next(); + if (f instanceof AbstractComponent) { + ((AbstractComponent) f).setImmediate(immediate); + } + } + } } |