diff options
Diffstat (limited to 'src/com/itmill/toolkit/ui/Form.java')
-rw-r--r-- | src/com/itmill/toolkit/ui/Form.java | 23 |
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(); } - } } |