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/AbstractComponent.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/AbstractComponent.java')
-rw-r--r-- | src/com/itmill/toolkit/ui/AbstractComponent.java | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/src/com/itmill/toolkit/ui/AbstractComponent.java b/src/com/itmill/toolkit/ui/AbstractComponent.java index 734204bd9f..a4408055e4 100644 --- a/src/com/itmill/toolkit/ui/AbstractComponent.java +++ b/src/com/itmill/toolkit/ui/AbstractComponent.java @@ -66,11 +66,6 @@ public abstract class AbstractComponent implements Component, MethodEventSource private boolean enabled = true; /** - * Has the component been disabled by the container - */ - private boolean disabledByContainer = false; - - /** * Is the component visible (it is rendered). */ private boolean visible = true; @@ -316,7 +311,7 @@ public abstract class AbstractComponent implements Component, MethodEventSource * here, we use the default documentation from implemented interface. */ public boolean isEnabled() { - return enabled && !disabledByContainer && isVisible(); + return enabled && (parent == null || parent.isEnabled()) && isVisible(); } /* @@ -325,23 +320,12 @@ public abstract class AbstractComponent implements Component, MethodEventSource */ public void setEnabled(boolean enabled) { if (this.enabled != enabled) { + boolean wasEnabled = isEnabled(); this.enabled = enabled; - requestRepaint(); - } - } - - /** - * Enable or disable the component by the container. Normally used to - * disable the component when the container is disabled without altering the - * actual enabled state of the component. - * - * @param disabledByContainer - * Should the component be disabled - */ - public void setDisabledByContainer(boolean disabledByContainer) { - if (disabledByContainer != this.disabledByContainer) { - this.disabledByContainer = disabledByContainer; - requestRepaint(); + // don't repaint if ancestor is disabled + if (wasEnabled != isEnabled()) { + requestRepaint(); + } } } |