aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/ui/AbstractComponent.java
diff options
context:
space:
mode:
authorMarc Englund <marc.englund@itmill.com>2008-09-25 11:38:18 +0000
committerMarc Englund <marc.englund@itmill.com>2008-09-25 11:38:18 +0000
commit627a866d0a32548d1722c89571fda89ba5633965 (patch)
treea4e9e54d57b4b7c0b92d010f1f251e42c3563476 /src/com/itmill/toolkit/ui/AbstractComponent.java
parent8ae61c179dfc860141dc7d1fb3e2859e441c5a6c (diff)
downloadvaadin-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.java28
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();
+ }
}
}