aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/ui/Form.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/itmill/toolkit/ui/Form.java')
-rw-r--r--src/com/itmill/toolkit/ui/Form.java23
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();
}
-
}
}