private boolean immediate = false;
private String style = "";
private boolean disabled = false;
+ private String description = "";
- // TODO more fields to move here: caption and description
+ // TODO more fields to move here: caption
/**
* Returns the component height as set by the server.
this.disabled = disabled;
}
+ /**
+ * Gets the description of the component (typically shown as tooltip).
+ *
+ * @see com.vaadin.ui.AbstractComponent#getDescription()
+ *
+ * @return component description (not null, can be empty string)
+ */
+ public String getDescription() {
+ if (description == null) {
+ return "";
+ }
+ return description;
+ }
+
+ /**
+ * Sets the description of the component (typically shown as tooltip).
+ *
+ * @see com.vaadin.ui.AbstractComponent#setDescription(String)
+ *
+ * @param description
+ * new component description (can be null)
+ */
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ /**
+ * Returns true if the component has a description.
+ *
+ * @return true if the component has a description
+ */
+ public boolean hasDescription() {
+ return !"".equals(getDescription());
+ }
+
}
.hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_ICON);
boolean hasText = uidl
.hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_CAPTION);
- boolean hasDescription = uidl
- .hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_DESCRIPTION);
boolean showRequired = uidl
.getBooleanAttribute(VAbstractPaintableWidget.ATTRIBUTE_REQUIRED);
boolean showError = uidl
}
if (null != owner) {
- if (hasDescription && captionText != null) {
+ if (owner.getState().hasDescription() && captionText != null) {
addStyleDependentName("hasdescription");
} else {
removeStyleDependentName("hasdescription");
// these!
public static final String ATTRIBUTE_ICON = "icon";
public static final String ATTRIBUTE_CAPTION = "caption";
- public static final String ATTRIBUTE_DESCRIPTION = "description";
public static final String ATTRIBUTE_REQUIRED = "required";
public static final String ATTRIBUTE_ERROR = "error";
public static final String ATTRIBUTE_HIDEERRORS = "hideErrors";
// Update tooltip
TooltipInfo tooltipInfo = paintableMap.getTooltipInfo(this, null);
- if (uidl.hasAttribute(ATTRIBUTE_DESCRIPTION)) {
- tooltipInfo
- .setTitle(uidl.getStringAttribute(ATTRIBUTE_DESCRIPTION));
+ if (getState().hasDescription()) {
+ tooltipInfo.setTitle(getState().getDescription());
} else {
tooltipInfo.setTitle(null);
}
table.replaceChildComponent(oldComponent, newComponent);
}
+ // TODO why duplicated here?
public class Caption extends HTML {
public static final String CLASSNAME = "v-caption";
// TODO should span also be removed
}
- if (uidl.hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_DESCRIPTION)) {
- if (captionText != null) {
- addStyleDependentName("hasdescription");
- } else {
- removeStyleDependentName("hasdescription");
- }
+ if (state.hasDescription() && captionText != null) {
+ addStyleDependentName("hasdescription");
+ } else {
+ removeStyleDependentName("hasdescription");
}
if (uidl.getBooleanAttribute(VAbstractPaintableWidget.ATTRIBUTE_REQUIRED)) {
getWidgetForPaintable().errorMessage.setVisible(false);
}
- if (uidl.hasAttribute(ATTRIBUTE_DESCRIPTION)) {
- getWidgetForPaintable().desc.setInnerHTML(uidl
- .getStringAttribute(ATTRIBUTE_DESCRIPTION));
+ if (getState().hasDescription()) {
+ getWidgetForPaintable().desc.setInnerHTML(getState()
+ .getDescription());
if (getWidgetForPaintable().desc.getParentElement() == null) {
getWidgetForPaintable().fieldSet.insertAfter(
getWidgetForPaintable().desc,
public static final String OPEN_ROOT_MENU_ON_HOWER = "ormoh";
public static final String ATTRIBUTE_CHECKED = "checked";
- public static final String ATTRIBUTE_ITEM_DESCRIPTION = VAbstractPaintableWidget.ATTRIBUTE_DESCRIPTION;
+ public static final String ATTRIBUTE_ITEM_DESCRIPTION = "description";
public static final String ATTRIBUTE_ITEM_ICON = VAbstractPaintableWidget.ATTRIBUTE_ICON;
public static final String ATTRIBUTE_ITEM_DISABLED = "disabled";
public static final String ATTRIBUTE_ITEM_STYLE = "style";
@Override
public boolean updateCaption(UIDL uidl) {
- if (uidl.hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_DESCRIPTION)
+ if (uidl.hasAttribute(VTabsheetBasePaintable.ATTRIBUTE_TAB_DESCRIPTION)
|| uidl.hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_ERROR)) {
TooltipInfo tooltipInfo = new TooltipInfo();
tooltipInfo
.setTitle(uidl
- .getStringAttribute(VAbstractPaintableWidget.ATTRIBUTE_DESCRIPTION));
+ .getStringAttribute(VTabsheetBasePaintable.ATTRIBUTE_TAB_DESCRIPTION));
if (uidl.hasAttribute(VAbstractPaintableWidget.ATTRIBUTE_ERROR)) {
tooltipInfo.setErrorUidl(uidl.getErrors());
}
VAbstractPaintableWidgetContainer {
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;
+ public static final String ATTRIBUTE_TAB_DESCRIPTION = "description";
@Override
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
VAbstractPaintableWidget.ATTRIBUTE_ICON, getIcon());
}
- if (getDescription() != null && getDescription().length() > 0) {
- target.addAttribute(
- VAbstractPaintableWidget.ATTRIBUTE_DESCRIPTION,
- getDescription());
- }
-
if (eventIdentifiers != null) {
target.addAttribute("eventListeners",
eventIdentifiers.toArray());
sharedState.setStyle(getStyleName());
- // TODO use the rest on the client side
+ sharedState.setDescription(getDescription());
- // sharedState.setCaption(getCaption());
- // // TODO icon also in shared state - how to convert Resource?
- // if (getDescription() != null && getDescription().length() > 0) {
- // state.put(ComponentState.STATE_DESCRIPTION, getDescription());
- // }
+ // TODO sharedState.setCaption(getCaption());
+ // TODO icon also in shared state - how to convert Resource?
return sharedState;
}