diff options
author | Marc Englund <marc.englund@itmill.com> | 2008-09-25 11:38:18 +0000 |
---|---|---|
committer | Marc Englund <marc.englund@itmill.com> | 2008-09-25 11:38:18 +0000 |
commit | 627a866d0a32548d1722c89571fda89ba5633965 (patch) | |
tree | a4e9e54d57b4b7c0b92d010f1f251e42c3563476 /src/com/itmill/toolkit/ui/Form.java | |
parent | 8ae61c179dfc860141dc7d1fb3e2859e441c5a6c (diff) | |
download | vaadin-framework-627a866d0a32548d1722c89571fda89ba5633965.tar.gz vaadin-framework-627a866d0a32548d1722c89571fda89ba5633965.zip |
setEnable(false) also disables descendants, for #677 - Table still not fixed.
svn changeset:5513/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/ui/Form.java')
-rw-r--r-- | src/com/itmill/toolkit/ui/Form.java | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/src/com/itmill/toolkit/ui/Form.java b/src/com/itmill/toolkit/ui/Form.java index d9f452a0e6..62b0daa2a0 100644 --- a/src/com/itmill/toolkit/ui/Form.java +++ b/src/com/itmill/toolkit/ui/Form.java @@ -1079,25 +1079,12 @@ public class Form extends AbstractField implements Item.Editor, Buffered, Item, public void setEnabled(boolean enabled) { super.setEnabled(enabled); - - updateComponentDisabledState(!enabled); - } - - public void setDisabledByContainer(boolean disabledByContainer) { - super.setDisabledByContainer(disabledByContainer); - - updateComponentDisabledState(disabledByContainer); - } - - private void updateComponentDisabledState(boolean disabled) { - // Update the disabledByContainer state for all subcomponents - for (Iterator i = fields.values().iterator(); i.hasNext();) { - Component c = (Component) i.next(); - if (c instanceof AbstractComponent) { - ((AbstractComponent) c).setDisabledByContainer(disabled); - } + if (getParent() != null && !getParent().isEnabled()) { + // some ancestor still disabled, don't update children + return; + } else { + getLayout().requestRepaintAll(); } - } } |