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/AbstractComponent.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/AbstractComponent.java')
-rw-r--r-- | src/com/itmill/toolkit/ui/AbstractComponent.java | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/com/itmill/toolkit/ui/AbstractComponent.java b/src/com/itmill/toolkit/ui/AbstractComponent.java index 634f58dbac..0aa9d74fdf 100644 --- a/src/com/itmill/toolkit/ui/AbstractComponent.java +++ b/src/com/itmill/toolkit/ui/AbstractComponent.java @@ -58,11 +58,16 @@ public abstract class AbstractComponent implements Component, MethodEventSource private Resource icon; /** - * Is the component enable (its normal usage is allowed). + * Is the component enabled (its normal usage is allowed). */ 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; @@ -306,7 +311,7 @@ public abstract class AbstractComponent implements Component, MethodEventSource * here, we use the default documentation from implemented interface. */ public boolean isEnabled() { - return enabled && isVisible(); + return enabled && !disabledByContainer && isVisible(); } /* @@ -320,6 +325,21 @@ public abstract class AbstractComponent implements Component, MethodEventSource } } + /** + * 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(); + } + } + /* * Tests if the component is in the immediate mode. Don't add a JavaDoc * comment here, we use the default documentation from implemented |