diff options
author | Artur Signell <artur.signell@itmill.com> | 2008-08-25 08:42:23 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2008-08-25 08:42:23 +0000 |
commit | 25009782651273d7ce8309b01fbaed2288a0ac74 (patch) | |
tree | 6a05203660ebf15760867d64b25b8decac5f9d3c /src/com/itmill/toolkit/ui/AbstractComponentContainer.java | |
parent | bdc3f94efde8402e714d0dff8706a6790ecdc638 (diff) | |
download | vaadin-framework-25009782651273d7ce8309b01fbaed2288a0ac74.tar.gz vaadin-framework-25009782651273d7ce8309b01fbaed2288a0ac74.zip |
Fixed #677 disabling components inside a disabled container
svn changeset:5252/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/ui/AbstractComponentContainer.java')
-rw-r--r-- | src/com/itmill/toolkit/ui/AbstractComponentContainer.java | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/com/itmill/toolkit/ui/AbstractComponentContainer.java b/src/com/itmill/toolkit/ui/AbstractComponentContainer.java index 93af36d248..bce552e3d9 100644 --- a/src/com/itmill/toolkit/ui/AbstractComponentContainer.java +++ b/src/com/itmill/toolkit/ui/AbstractComponentContainer.java @@ -205,4 +205,27 @@ public abstract class AbstractComponentContainer extends AbstractComponent } } -} + 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 = getComponentIterator(); i.hasNext();) { + Component c = (Component) i.next(); + if (c instanceof AbstractComponent) { + ((AbstractComponent) c).setDisabledByContainer(disabled); + } + } + + } + +}
\ No newline at end of file |