From 23ff3340cd8e5d3ce7cc5772b7b4d4e2ba05ec6a Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Thu, 23 Feb 2012 12:34:50 +0200 Subject: [PATCH] Communicate disabled flag in shared state (#8304). --- .../terminal/gwt/client/ComponentState.java | 34 ++++++++++++++++--- .../vaadin/terminal/gwt/client/VCaption.java | 9 +++-- .../client/ui/VAbstractPaintableWidget.java | 5 ++- .../ui/VAbstractSplitPanelPaintable.java | 3 +- .../terminal/gwt/client/ui/VAccordion.java | 4 ++- .../gwt/client/ui/VDateFieldPaintable.java | 3 +- .../gwt/client/ui/VFilterSelectPaintable.java | 3 +- .../terminal/gwt/client/ui/VFormLayout.java | 10 +++--- .../gwt/client/ui/VLinkPaintable.java | 3 +- .../terminal/gwt/client/ui/VMenuBar.java | 2 +- .../gwt/client/ui/VMenuBarPaintable.java | 3 +- .../terminal/gwt/client/ui/VOptionGroup.java | 2 +- .../client/ui/VOptionGroupBasePaintable.java | 3 +- .../ui/VProgressIndicatorPaintable.java | 4 +-- .../gwt/client/ui/VScrollTablePaintable.java | 3 +- .../gwt/client/ui/VSliderPaintable.java | 3 +- .../terminal/gwt/client/ui/VTabsheet.java | 4 ++- .../gwt/client/ui/VTabsheetBasePaintable.java | 9 ++--- .../gwt/client/ui/VTreePaintable.java | 3 +- .../gwt/client/ui/VUploadPaintable.java | 2 +- .../richtextarea/VRichTextAreaPaintable.java | 3 +- src/com/vaadin/ui/AbstractComponent.java | 11 ++---- src/com/vaadin/ui/TabSheet.java | 4 ++- 23 files changed, 70 insertions(+), 60 deletions(-) diff --git a/src/com/vaadin/terminal/gwt/client/ComponentState.java b/src/com/vaadin/terminal/gwt/client/ComponentState.java index 6006086d6a..6a228c0564 100644 --- a/src/com/vaadin/terminal/gwt/client/ComponentState.java +++ b/src/com/vaadin/terminal/gwt/client/ComponentState.java @@ -19,8 +19,9 @@ public class ComponentState extends SharedState { private boolean readOnly = false; private boolean immediate = false; private String style = ""; + private boolean disabled = false; - // TODO more fields to move here: disabled, caption and description + // TODO more fields to move here: caption and description /** * Returns the component height as set by the server. @@ -101,7 +102,7 @@ public class ComponentState extends SharedState { /** * Returns true if the component is in read-only mode. * - * @see Component.isReadOnly() + * @see com.vaadin.ui.Component#isReadOnly() * * @return true if the component is in read-only mode */ @@ -112,7 +113,7 @@ public class ComponentState extends SharedState { /** * Sets or resets the read-only mode for a component. * - * @see Component.setReadOnly() + * @see com.vaadin.ui.Component#setReadOnly() * * @param readOnly * new mode for the component @@ -124,7 +125,7 @@ public class ComponentState extends SharedState { /** * Returns true if the component is in immediate mode. * - * @see VariableOwner.isImmediate() + * @see com.vaadin.terminal.VariableOwner#isImmediate() * * @return true if the component is in immediate mode */ @@ -135,7 +136,7 @@ public class ComponentState extends SharedState { /** * Sets or resets the immediate mode for a component. * - * @see VariableOwner.setImmediate() + * @see com.vaadin.terminal.VariableOwner#setImmediate() * * @param immediate * new mode for the component @@ -176,4 +177,27 @@ public class ComponentState extends SharedState { return !"".equals(getStyle()); } + /** + * Returns true if the component is disabled. + * + * @see com.vaadin.ui.Component#isEnabled() + * + * @return true if the component is disabled + */ + public boolean isDisabled() { + return disabled; + } + + /** + * Disables or enables the component. + * + * @see com.vaadin.ui.Component#setEnabled(boolean) + * + * @param disabled + * new mode for the component + */ + public void setDisabled(boolean disabled) { + this.disabled = disabled; + } + } diff --git a/src/com/vaadin/terminal/gwt/client/VCaption.java b/src/com/vaadin/terminal/gwt/client/VCaption.java index 5a15478ba6..d6af82ef28 100644 --- a/src/com/vaadin/terminal/gwt/client/VCaption.java +++ b/src/com/vaadin/terminal/gwt/client/VCaption.java @@ -103,7 +103,7 @@ public class VCaption extends HTML { style += " " + CLASSNAME + "-" + styles[i]; } } - if (uidl.hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_DISABLED)) { + if (owner.getState().isDisabled()) { style += " " + ApplicationConnection.DISABLED_CLASSNAME; } setStyleName(style); @@ -268,18 +268,17 @@ public class VCaption extends HTML { } @Deprecated - public void updateCaptionWithoutOwner(UIDL uidl) { + public void updateCaptionWithoutOwner(boolean disabled, + boolean hasDescription) { // TODO temporary method, needed because some tabsheet and accordion // internal captions do not have an owner or shared state. // Remaining such cases do not use the "style" attribute - see // Tabsheet.paintContent(). String style = VCaption.CLASSNAME; - if (uidl.hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_DISABLED)) { + if (disabled) { style += " " + ApplicationConnection.DISABLED_CLASSNAME; } setStyleName(style); - boolean hasDescription = uidl - .hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_DESCRIPTION); if (hasDescription) { if (captionText != null) { addStyleDependentName("hasdescription"); diff --git a/src/com/vaadin/terminal/gwt/client/ui/VAbstractPaintableWidget.java b/src/com/vaadin/terminal/gwt/client/ui/VAbstractPaintableWidget.java index 6be193afe0..3c331c1ad9 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VAbstractPaintableWidget.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VAbstractPaintableWidget.java @@ -32,7 +32,6 @@ public abstract class VAbstractPaintableWidget implements VPaintableWidget { public static final String ATTRIBUTE_REQUIRED = "required"; public static final String ATTRIBUTE_ERROR = "error"; public static final String ATTRIBUTE_HIDEERRORS = "hideErrors"; - public static final String ATTRIBUTE_DISABLED = "disabled"; private Widget widget; private ApplicationConnection connection; @@ -204,7 +203,7 @@ public abstract class VAbstractPaintableWidget implements VPaintableWidget { ((Focusable) getWidgetForPaintable()).setTabIndex(uidl .getIntAttribute("tabindex")); } - setEnabled(!uidl.getBooleanAttribute(ATTRIBUTE_DISABLED)); + setEnabled(!getState().isDisabled()); // Style names String styleName = getStyleNameFromUIDL(getWidgetForPaintable() @@ -318,7 +317,7 @@ public abstract class VAbstractPaintableWidget implements VPaintableWidget { */ protected static String getStyleNameFromUIDL(String primaryStyleName, UIDL uidl, ComponentState state, boolean field) { - boolean enabled = !uidl.getBooleanAttribute(ATTRIBUTE_DISABLED); + boolean enabled = !state.isDisabled(); StringBuffer styleBuf = new StringBuffer(); styleBuf.append(primaryStyleName); diff --git a/src/com/vaadin/terminal/gwt/client/ui/VAbstractSplitPanelPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VAbstractSplitPanelPaintable.java index a255fdbd51..cdbb895f2c 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VAbstractSplitPanelPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VAbstractSplitPanelPaintable.java @@ -77,8 +77,7 @@ public abstract class VAbstractSplitPanelPaintable extends getWidgetForPaintable().rendering = false; return; } - getWidgetForPaintable().setEnabled( - !uidl.getBooleanAttribute(ATTRIBUTE_DISABLED)); + getWidgetForPaintable().setEnabled(!getState().isDisabled()); clickEventHandler.handleEventHandlerRegistration(client); if (getState().hasStyles()) { diff --git a/src/com/vaadin/terminal/gwt/client/ui/VAccordion.java b/src/com/vaadin/terminal/gwt/client/ui/VAccordion.java index 671f0a1c8c..6d93e6d6cc 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VAccordion.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VAccordion.java @@ -492,7 +492,9 @@ public class VAccordion extends VTabsheetBase implements public void updateCaption(UIDL uidl) { caption.updateCaption(uidl); // TODO required because the caption does not have an owner - caption.updateCaptionWithoutOwner(uidl); + caption.updateCaptionWithoutOwner( + uidl.hasAttribute(VTabsheetBasePaintable.ATTRIBUTE_TAB_DISABLED), + uidl.hasAttribute(VTabsheetBasePaintable.ATTRIBUTE_TAB_DESCRIPTION)); } public int getWidgetWidth() { diff --git a/src/com/vaadin/terminal/gwt/client/ui/VDateFieldPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VDateFieldPaintable.java index ac33712c6e..a333a44cce 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VDateFieldPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VDateFieldPaintable.java @@ -28,8 +28,7 @@ public class VDateFieldPaintable extends VAbstractPaintableWidget { getWidgetForPaintable().immediate = getState().isImmediate(); getWidgetForPaintable().readonly = getState().isReadOnly(); - getWidgetForPaintable().enabled = !uidl - .getBooleanAttribute(ATTRIBUTE_DISABLED); + getWidgetForPaintable().enabled = !getState().isDisabled(); if (uidl.hasAttribute("locale")) { final String locale = uidl.getStringAttribute("locale"); diff --git a/src/com/vaadin/terminal/gwt/client/ui/VFilterSelectPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VFilterSelectPaintable.java index 67f380a03f..4c5389d51f 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VFilterSelectPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VFilterSelectPaintable.java @@ -29,8 +29,7 @@ public class VFilterSelectPaintable extends VAbstractPaintableWidget { getWidgetForPaintable().paintableId = uidl.getId(); getWidgetForPaintable().readonly = getState().isReadOnly(); - getWidgetForPaintable().enabled = !uidl - .hasAttribute(ATTRIBUTE_DISABLED); + getWidgetForPaintable().enabled = !getState().isDisabled(); getWidgetForPaintable().tb.setEnabled(getWidgetForPaintable().enabled); getWidgetForPaintable().updateReadOnly(); diff --git a/src/com/vaadin/terminal/gwt/client/ui/VFormLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VFormLayout.java index 440c45f90f..f916dc1105 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VFormLayout.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VFormLayout.java @@ -55,15 +55,13 @@ public class VFormLayout extends SimplePanel implements Container { } /** - * Parses the stylenames from an uidl + * Parses the stylenames from shared state * - * @param uidl - * The uidl to get the stylenames from * @param state * shared state of the component * @return An array of stylenames */ - private String[] getStylesFromUIDL(UIDL uidl, ComponentState state) { + private String[] getStylesFromState(ComponentState state) { List styles = new ArrayList(); if (state.hasStyles()) { String[] stylesnames = state.getStyle().split(" "); @@ -72,7 +70,7 @@ public class VFormLayout extends SimplePanel implements Container { } } - if (uidl.hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_DISABLED)) { + if (state.isDisabled()) { styles.add(ApplicationConnection.DISABLED_CLASSNAME); } @@ -345,7 +343,7 @@ public class VFormLayout extends SimplePanel implements Container { setVisible(!uidl.getBooleanAttribute("invisible")); // Update styles as they might have changed when the caption changed - setStyles(getStylesFromUIDL(uidl, state)); + setStyles(getStylesFromState(state)); boolean isEmpty = true; diff --git a/src/com/vaadin/terminal/gwt/client/ui/VLinkPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VLinkPaintable.java index 938e20fb91..37f55db621 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VLinkPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VLinkPaintable.java @@ -29,8 +29,7 @@ public class VLinkPaintable extends VAbstractPaintableWidget { getWidgetForPaintable().client = client; - getWidgetForPaintable().enabled = uidl.hasAttribute(ATTRIBUTE_DISABLED) ? false - : true; + getWidgetForPaintable().enabled = !getState().isDisabled(); getWidgetForPaintable().readonly = getState().isReadOnly(); if (uidl.hasAttribute("name")) { diff --git a/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java b/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java index 0d559b07c4..605fe99eb5 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java @@ -67,7 +67,7 @@ public class VMenuBar extends SimpleFocusablePanel implements public static final String ATTRIBUTE_CHECKED = "checked"; public static final String ATTRIBUTE_ITEM_DESCRIPTION = VAbstractPaintableWidget.ATTRIBUTE_DESCRIPTION; public static final String ATTRIBUTE_ITEM_ICON = VAbstractPaintableWidget.ATTRIBUTE_ICON; - public static final String ATTRIBUTE_ITEM_DISABLED = VAbstractPaintableWidget.ATTRIBUTE_DISABLED; + public static final String ATTRIBUTE_ITEM_DISABLED = "disabled"; public static final String ATTRIBUTE_ITEM_STYLE = "style"; public static final String HTML_CONTENT_ALLOWED = "usehtml"; diff --git a/src/com/vaadin/terminal/gwt/client/ui/VMenuBarPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VMenuBarPaintable.java index 83e60a03f5..ce0de7512e 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VMenuBarPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VMenuBarPaintable.java @@ -37,8 +37,7 @@ public class VMenuBarPaintable extends VAbstractPaintableWidget { getWidgetForPaintable().openRootOnHover = uidl .getBooleanAttribute(VMenuBar.OPEN_ROOT_MENU_ON_HOWER); - getWidgetForPaintable().enabled = !uidl - .getBooleanAttribute(ATTRIBUTE_DISABLED); + getWidgetForPaintable().enabled = !getState().isDisabled(); // For future connections getWidgetForPaintable().client = client; diff --git a/src/com/vaadin/terminal/gwt/client/ui/VOptionGroup.java b/src/com/vaadin/terminal/gwt/client/ui/VOptionGroup.java index 413c5a40d0..737e67735a 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VOptionGroup.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VOptionGroup.java @@ -37,7 +37,7 @@ public class VOptionGroup extends VOptionGroupBase implements FocusHandler, public static final String CLASSNAME = "v-select-optiongroup"; - public static final String ATTRIBUTE_OPTION_DISABLED = VAbstractPaintableWidget.ATTRIBUTE_DISABLED; + public static final String ATTRIBUTE_OPTION_DISABLED = "disabled"; protected final Panel panel; diff --git a/src/com/vaadin/terminal/gwt/client/ui/VOptionGroupBasePaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VOptionGroupBasePaintable.java index 6b11c8ffe9..c87d33a28e 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VOptionGroupBasePaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VOptionGroupBasePaintable.java @@ -26,8 +26,7 @@ public abstract class VOptionGroupBasePaintable extends .getStringArrayVariableAsSet("selected"); getWidgetForPaintable().readonly = getState().isReadOnly(); - getWidgetForPaintable().disabled = uidl - .getBooleanAttribute(ATTRIBUTE_DISABLED); + getWidgetForPaintable().disabled = getState().isDisabled(); getWidgetForPaintable().multiselect = "multi".equals(uidl .getStringAttribute("selectmode")); getWidgetForPaintable().immediate = getState().isImmediate(); diff --git a/src/com/vaadin/terminal/gwt/client/ui/VProgressIndicatorPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VProgressIndicatorPaintable.java index d91705abe9..804388d95f 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VProgressIndicatorPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VProgressIndicatorPaintable.java @@ -31,7 +31,7 @@ public class VProgressIndicatorPaintable extends VAbstractPaintableWidget { if (getWidgetForPaintable().indeterminate) { String basename = VProgressIndicator.CLASSNAME + "-indeterminate"; getWidgetForPaintable().addStyleName(basename); - if (uidl.getBooleanAttribute(ATTRIBUTE_DISABLED)) { + if (getState().isDisabled()) { getWidgetForPaintable().addStyleName(basename + "-disabled"); } else { getWidgetForPaintable().removeStyleName(basename + "-disabled"); @@ -47,7 +47,7 @@ public class VProgressIndicatorPaintable extends VAbstractPaintableWidget { } } - if (!uidl.getBooleanAttribute(ATTRIBUTE_DISABLED)) { + if (!getState().isDisabled()) { getWidgetForPaintable().interval = uidl .getIntAttribute("pollinginterval"); getWidgetForPaintable().poller diff --git a/src/com/vaadin/terminal/gwt/client/ui/VScrollTablePaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VScrollTablePaintable.java index 7bd2fae337..63a02879e8 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VScrollTablePaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VScrollTablePaintable.java @@ -55,8 +55,7 @@ public class VScrollTablePaintable extends VAbstractPaintableWidgetContainer { return; } - getWidgetForPaintable().enabled = !uidl - .hasAttribute(ATTRIBUTE_DISABLED); + getWidgetForPaintable().enabled = !getState().isDisabled(); if (BrowserInfo.get().isIE8() && !getWidgetForPaintable().enabled) { /* diff --git a/src/com/vaadin/terminal/gwt/client/ui/VSliderPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VSliderPaintable.java index 42c9f55b99..d82645269c 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VSliderPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VSliderPaintable.java @@ -25,8 +25,7 @@ public class VSliderPaintable extends VAbstractPaintableWidget { } getWidgetForPaintable().immediate = getState().isImmediate(); - getWidgetForPaintable().disabled = uidl - .getBooleanAttribute(ATTRIBUTE_DISABLED); + getWidgetForPaintable().disabled = getState().isDisabled(); getWidgetForPaintable().readonly = getState().isReadOnly(); getWidgetForPaintable().vertical = uidl.hasAttribute("vertical"); diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java b/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java index ac0b3b05eb..399037a8ab 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java @@ -217,7 +217,9 @@ public class VTabsheet extends VTabsheetBase { boolean ret = super.updateCaption(uidl); // TODO required because the caption does not have an owner - updateCaptionWithoutOwner(uidl); + updateCaptionWithoutOwner( + uidl.hasAttribute(VTabsheetBasePaintable.ATTRIBUTE_TAB_DISABLED), + uidl.hasAttribute(VTabsheetBasePaintable.ATTRIBUTE_TAB_DESCRIPTION)); setClosable(uidl.hasAttribute("closable")); diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTabsheetBasePaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VTabsheetBasePaintable.java index 2a04f5fb23..98f1a305ca 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTabsheetBasePaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTabsheetBasePaintable.java @@ -15,8 +15,10 @@ import com.vaadin.terminal.gwt.client.VPaintableWidget; public abstract class VTabsheetBasePaintable extends VAbstractPaintableWidgetContainer { - // this needs to match ATTRIBUTE_DISABLED as it is used in building captions - public static final String ATTRIBUTE_TAB_DISABLED = VAbstractPaintableWidget.ATTRIBUTE_DISABLED; + public static final String ATTRIBUTE_TAB_DISABLED = "disabled"; + // TODO currently, this needs to match ATTRIBUTE_DESCRIPTION as also used in + // captions + public static final String ATTRIBUTE_TAB_DESCRIPTION = VAbstractPaintableWidget.ATTRIBUTE_DESCRIPTION; @Override public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { @@ -30,8 +32,7 @@ public abstract class VTabsheetBasePaintable extends // Update member references getWidgetForPaintable().id = uidl.getId(); - getWidgetForPaintable().disabled = uidl - .hasAttribute(ATTRIBUTE_DISABLED); + getWidgetForPaintable().disabled = getState().isDisabled(); // Render content final UIDL tabs = uidl.getChildUIDL(0); diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTreePaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VTreePaintable.java index 05c9d4c4cd..ba203accc4 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTreePaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTreePaintable.java @@ -43,8 +43,7 @@ public class VTreePaintable extends VAbstractPaintableWidget { getWidgetForPaintable().immediate = getState().isImmediate(); - getWidgetForPaintable().disabled = uidl - .getBooleanAttribute(ATTRIBUTE_DISABLED); + getWidgetForPaintable().disabled = getState().isDisabled(); getWidgetForPaintable().readonly = getState().isReadOnly(); getWidgetForPaintable().dragMode = uidl.hasAttribute("dragMode") ? uidl diff --git a/src/com/vaadin/terminal/gwt/client/ui/VUploadPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VUploadPaintable.java index ca622c35c6..b44f08abb0 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VUploadPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VUploadPaintable.java @@ -42,7 +42,7 @@ public class VUploadPaintable extends VAbstractPaintableWidget { getWidgetForPaintable().fu.setName(getWidgetForPaintable().paintableId + "_file"); - if (uidl.hasAttribute(ATTRIBUTE_DISABLED) || getState().isReadOnly()) { + if (getState().isDisabled() || getState().isReadOnly()) { getWidgetForPaintable().disableUpload(); } else if (!uidl.getBooleanAttribute("state")) { // Enable the button only if an upload is not in progress diff --git a/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextAreaPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextAreaPaintable.java index 4a88fba9c1..1656ea270d 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextAreaPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextAreaPaintable.java @@ -31,8 +31,7 @@ public class VRichTextAreaPaintable extends VAbstractPaintableWidget implements } } if (isRealUpdate(uidl)) { - getWidgetForPaintable().setEnabled( - !uidl.getBooleanAttribute(ATTRIBUTE_DISABLED)); + getWidgetForPaintable().setEnabled(!getState().isDisabled()); } super.updateFromUIDL(uidl, client); diff --git a/src/com/vaadin/ui/AbstractComponent.java b/src/com/vaadin/ui/AbstractComponent.java index ce732cdf0a..69eaa8e449 100644 --- a/src/com/vaadin/ui/AbstractComponent.java +++ b/src/com/vaadin/ui/AbstractComponent.java @@ -773,10 +773,6 @@ public abstract class AbstractComponent implements Component, MethodEventSource // TODO probably can remove some of these (caption, icon, ...) // once all the VCaption related code has been updated - if (!isEnabled()) { - target.addAttribute( - VAbstractPaintableWidget.ATTRIBUTE_DISABLED, true); - } if (getCaption() != null) { target.addAttribute( VAbstractPaintableWidget.ATTRIBUTE_CAPTION, @@ -893,17 +889,14 @@ public abstract class AbstractComponent implements Component, MethodEventSource sharedState.setImmediate(isImmediate()); sharedState.setReadOnly(isReadOnly()); + sharedState.setDisabled(!isEnabled()); sharedState.setStyle(getStyleName()); // TODO use the rest on the client side - // TODO icon also in shared state - how to convert Resource? // sharedState.setCaption(getCaption()); - // if (!isEnabled()) { - // state.put(ComponentState.STATE_DISABLED, true); - // } - // // TODO add icon (Resource) + // // TODO icon also in shared state - how to convert Resource? // if (getDescription() != null && getDescription().length() > 0) { // state.put(ComponentState.STATE_DESCRIPTION, getDescription()); // } diff --git a/src/com/vaadin/ui/TabSheet.java b/src/com/vaadin/ui/TabSheet.java index b7067fb41f..de95d13318 100644 --- a/src/com/vaadin/ui/TabSheet.java +++ b/src/com/vaadin/ui/TabSheet.java @@ -404,7 +404,9 @@ public class TabSheet extends AbstractComponentContainer { final String description = tab.getDescription(); if (description != null) { - target.addAttribute("description", description); + target.addAttribute( + VTabsheetBasePaintable.ATTRIBUTE_TAB_DESCRIPTION, + description); } final ErrorMessage componentError = tab.getComponentError(); -- 2.39.5