com.smartgwt.client.widgets

## Class StatefulCanvas

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.smartgwt.client.widgets.BaseWidget
      - - com.smartgwt.client.widgets.Canvas
        - - com.smartgwt.client.widgets.StatefulCanvas

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, HasClearHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasRuleContextChangedHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers
  Direct Known Subclasses:
    Button, Img, SimpleTile, StretchImg

      public class StatefulCanvas
      extends Canvas

  A component that has a set of possible states, and which presents itself differently according to which state it is in. An example is a button, which can be "up", "down", "over" or "disabled".

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled`

  - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

      `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StatefulCanvas()`
    `StatefulCanvas(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addToRadioGroup(java.lang.String groupID)` Add this widget to the specified mutually exclusive selection group with the ID passed in.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `void` | `deselect()` Deselect this object.
    `SelectionType` | `getActionType()` Behavior on state changes -- BUTTON, RADIO or CHECKBOX
    `Alignment` | `getAlign()` Horizontal alignment of this component's title.
    `java.lang.String` | `getAriaLabel()` If specified this property returns the `aria-label` attribute to write out in `screenReaderMode`.
    `java.util.Map` | `getAriaStateDefaults()` Retrieves dynamically calculated default `ARIA state mapping` properties for this canvas.
    `java.lang.Boolean` | `getAutoFit()` If true, ignore the specified size of this widget and always size just large enough to accommodate the title.
    `java.lang.String` | `getBaseStyle()` Base CSS style className applied to the component.
    `java.lang.String` | `getEditProxyConstructor()` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `java.lang.Integer` | `getHeight()` Size for this component's vertical dimension.
    `java.lang.String` | `getHeightAsString()` Size for this component's vertical dimension.
    `java.lang.String` | `getIcon()` Optional icon to be shown with the button title text.
    `java.lang.Integer` | `getIconHeight()` Height in pixels of the icon image.
    `java.lang.String` | `getIconOrientation()` If this button is showing an icon should it appear to the left or right of the title? valid options are `"left"` and `"right"`.
    `int` | `getIconSize()` Size in pixels of the icon image.
    `java.lang.String` | `getIconStyle()` Base CSS style applied to the icon image.
    `java.lang.Integer` | `getIconWidth()` Width in pixels of the icon image.
    `boolean` | `getIgnoreRTL()` Should horizontal alignment-related attributes `align` and `iconOrientation` be mirrored in RTL mode? This is the default behavior unless ignoreRTL is set to true.
    `java.lang.Integer` | `getLabelHPad()` If non-null, specifies the horizontal padding applied to the label, if any.
    `java.lang.Integer` | `getLabelVPad()` If non-null, specifies the vertical padding applied to the label, if any.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `static StatefulCanvas` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `Canvas` | `getOverCanvas()` Auto generated child widget to be shown when the user rolls over this canvas if `showOverCanvas` is true.
    `java.lang.String` | `getOverCanvasConstructor()` Constructor class name for this widget's `overCanvas`
    `java.lang.String` | `getRadioGroup()` String identifier for this canvas's mutually exclusive selection group.
    `java.lang.Boolean` | `getRedrawOnStateChange()` Whether this widget needs to redraw to reflect state change
    `java.lang.Boolean` | `getSelected()` Whether this component is selected.
    `java.lang.Boolean` | `getShowDisabled()` Should we visibly change state when disabled?
    `java.lang.Boolean` | `getShowDisabledIcon()` If using an icon for this button, whether to switch the icon image if the button becomes disabled.
    `java.lang.Boolean` | `getShowDown()` Should we visibly change state when the mouse goes down in this object?
    `java.lang.Boolean` | `getShowDownIcon()` If using an icon for this button, whether to switch the icon image when the mouse goes down on the button.
    `java.lang.Boolean` | `getShowFocused()` Should we visibly change state when the canvas receives focus? If `showFocusedAsOver` is `true`, then `"over"` will be used to indicate focus.
    `java.lang.Boolean` | `getShowFocusedAsOver()` If `showFocused` is true for this widget, should the `"over"` state be used to indicate the widget as focused.
    `java.lang.Boolean` | `getShowFocusedIcon()` If using an icon for this button, whether to switch the icon image when the button receives focus.
    `java.lang.Boolean` | `getShowMenuOnClick()` If true, this widget will fire `showContextMenu()` to show the `context menu` if one is defined, rather than `click()`, when the left mouse is clicked.
    `java.lang.Boolean` | `getShowOverCanvas()` When this property is set to true, this widget will create and show the `overCanvas` on user rollover.
    `java.lang.Boolean` | `getShowRollOver()` Should we visibly change state when the mouse goes over this object?
    `java.lang.Boolean` | `getShowRollOverIcon()` If using an icon for this button, whether to switch the icon image on mouse rollover.
    `boolean` | `getShowRTLIcon()` Is `RTL` media available for the icon? If true, then in RTL mode, the image's src will have "_rtl" inserted immediately before the file extension.
    `java.lang.Boolean` | `getShowSelectedIcon()` If using an icon for this button, whether to switch the icon image when the button becomes selected.
    `State` | `getState()` Current "state" of this widget.
    `java.lang.String` | `getStateSuffix()` Returns the suffix that will be appended to the `baseStyle` as the component changes `state` and/or is selected / focused.
    `java.lang.String` | `getStyleName()` StatefulCanvases are styled by combining `baseStyle` with `State` to build a composite css style name.
    `java.lang.String` | `getTitle()` The title HTML to display in this button.
    `VerticalAlignment` | `getValign()` Vertical alignment of this component's title.
    `java.lang.Integer` | `getWidth()` Size for this component's horizontal dimension.
    `java.lang.String` | `getWidthAsString()` Size for this component's horizontal dimension.
    `java.lang.Boolean` | `isSelected()` Find out if this object is selected.
    `void` | `removeFromRadioGroup()` Remove this widget from the specified mutually exclusive selection group with the ID passed in.
    `void` | `removeFromRadioGroup(java.lang.String groupID)` Remove this widget from the specified mutually exclusive selection group with the ID passed in.
    `void` | `select()` Select this object.
    `StatefulCanvas` | `setActionType(SelectionType actionType)` Behavior on state changes -- BUTTON, RADIO or CHECKBOX If this method is called after the component has been drawn/initialized: Update the 'actionType' for this canvas (radio / checkbox / button) If the canvas is currently selected, and the passed in actionType is 'button' this method will deselect the canvas.
    `StatefulCanvas` | `setAlign(Alignment align)` Horizontal alignment of this component's title.
    `StatefulCanvas` | `setAriaLabel(java.lang.String ariaLabel)` If specified this property returns the `aria-label` attribute to write out in `screenReaderMode`.
    `StatefulCanvas` | `setAutoFit(java.lang.Boolean autoFit)` If true, ignore the specified size of this widget and always size just large enough to accommodate the title.
    `StatefulCanvas` | `setBaseStyle(java.lang.String baseStyle)` Base CSS style className applied to the component.
    `static void` | `setDefaultProperties(StatefulCanvas statefulCanvasProperties)` Class level method to set the default properties of this class.
    `StatefulCanvas` | `setEditProxyConstructor(java.lang.String editProxyConstructor)` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `StatefulCanvas` | `setHeight(java.lang.Integer height)` Size for this component's vertical dimension.
    `void` | `setHeight(java.lang.String height)` Size for this component's vertical dimension.
    `StatefulCanvas` | `setIcon(java.lang.String icon)` Optional icon to be shown with the button title text.
    `StatefulCanvas` | `setIconHeight(java.lang.Integer iconHeight)` Height in pixels of the icon image.
    `StatefulCanvas` | `setIconOrientation(java.lang.String iconOrientation)` If this button is showing an icon should it appear to the left or right of the title? valid options are `"left"` and `"right"`.
    `StatefulCanvas` | `setIconSize(int iconSize)` Size in pixels of the icon image.
    `StatefulCanvas` | `setIconStyle(java.lang.String iconStyle)` Base CSS style applied to the icon image.
    `StatefulCanvas` | `setIconWidth(java.lang.Integer iconWidth)` Width in pixels of the icon image.
    `StatefulCanvas` | `setIgnoreRTL(boolean ignoreRTL)` Should horizontal alignment-related attributes `align` and `iconOrientation` be mirrored in RTL mode? This is the default behavior unless ignoreRTL is set to true.
    `StatefulCanvas` | `setLabelHPad(java.lang.Integer labelHPad)` If non-null, specifies the horizontal padding applied to the label, if any.
    `StatefulCanvas` | `setLabelVPad(java.lang.Integer labelVPad)` If non-null, specifies the vertical padding applied to the label, if any.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.StatefulCanvasLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `StatefulCanvas` | `setOverCanvasConstructor(java.lang.String overCanvasConstructor)` Constructor class name for this widget's `overCanvas`
    `StatefulCanvas` | `setRadioGroup(java.lang.String radioGroup)` String identifier for this canvas's mutually exclusive selection group.
    `StatefulCanvas` | `setRedrawOnStateChange(java.lang.Boolean redrawOnStateChange)` Whether this widget needs to redraw to reflect state change
    `StatefulCanvas` | `setSelected(java.lang.Boolean selected)` Whether this component is selected.
    `StatefulCanvas` | `setShowDisabled(java.lang.Boolean showDisabled)` Should we visibly change state when disabled?
    `StatefulCanvas` | `setShowDisabledIcon(java.lang.Boolean showDisabledIcon)` If using an icon for this button, whether to switch the icon image if the button becomes disabled.
    `StatefulCanvas` | `setShowDown(java.lang.Boolean showDown)` Should we visibly change state when the mouse goes down in this object?
    `StatefulCanvas` | `setShowDownIcon(java.lang.Boolean showDownIcon)` If using an icon for this button, whether to switch the icon image when the mouse goes down on the button.
    `StatefulCanvas` | `setShowFocused(java.lang.Boolean showFocused)` Should we visibly change state when the canvas receives focus? If `showFocusedAsOver` is `true`, then `"over"` will be used to indicate focus.
    `StatefulCanvas` | `setShowFocusedAsOver(java.lang.Boolean showFocusedAsOver)` If `showFocused` is true for this widget, should the `"over"` state be used to indicate the widget as focused.
    `StatefulCanvas` | `setShowFocusedIcon(java.lang.Boolean showFocusedIcon)` If using an icon for this button, whether to switch the icon image when the button receives focus.
    `StatefulCanvas` | `setShowMenuOnClick(java.lang.Boolean showMenuOnClick)` If true, this widget will fire `showContextMenu()` to show the `context menu` if one is defined, rather than `click()`, when the left mouse is clicked.
    `StatefulCanvas` | `setShowOverCanvas(java.lang.Boolean showOverCanvas)` When this property is set to true, this widget will create and show the `overCanvas` on user rollover.
    `StatefulCanvas` | `setShowRollOver(java.lang.Boolean showRollOver)` Should we visibly change state when the mouse goes over this object?
    `StatefulCanvas` | `setShowRollOverIcon(java.lang.Boolean showRollOverIcon)` If using an icon for this button, whether to switch the icon image on mouse rollover.
    `StatefulCanvas` | `setShowRTLIcon(boolean showRTLIcon)` Is `RTL` media available for the icon? If true, then in RTL mode, the image's src will have "_rtl" inserted immediately before the file extension.
    `StatefulCanvas` | `setShowSelectedIcon(java.lang.Boolean showSelectedIcon)` If using an icon for this button, whether to switch the icon image when the button becomes selected.
    `StatefulCanvas` | `setState(State state)` Current "state" of this widget.
    `void` | `setStyleName(java.lang.String styleName)` StatefulCanvases are styled by combining `baseStyle` with `State` to build a composite css style name.
    `void` | `setTitle(java.lang.String title)` The title HTML to display in this button.
    `void` | `setTitleFormatter(TitleFormatter customizer)`
    `StatefulCanvas` | `setTitleStyle(java.lang.String titleStyle)`
    `StatefulCanvas` | `setValign(VerticalAlignment valign)` Vertical alignment of this component's title.
    `StatefulCanvas` | `setWidth(java.lang.Integer width)` Size for this component's horizontal dimension.
    `void` | `setWidth(java.lang.String width)` Size for this component's horizontal dimension.

    - ### Methods inherited from class com.smartgwt.client.widgets.Canvas

      `addChild, addChild, addChild, addChild, addChild, addClearHandler, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addRuleContextChangedHandler, addScrolledHandler, addShowContextMenuHandler, addSnapAlignCandidate, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateHide, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clearExplicitTabIndex, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsEventTarget, containsFocus, containsPoint, containsPoint, dataContextChanged, deparent, depeer, disable, enable, encloses, focus, focusAfterGroup, focusAtEnd, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAdaptiveHeightPriority, getAdaptiveWidthPriority, getAlwaysManageFocusNavigation, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideEffect, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeLayoutMode, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaHandleID, getAriaRole, getAutoMaskComponents, getAutoParent, getAutoPopulateData, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBorderRadius, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanAdaptHeight, getCanAdaptWidth, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getChildTabPosition, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCorrectZoomOverflow, getCursor, getDataContext, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragMaxHeight, getDragMaxWidth, getDragMinHeight, getDragMinWidth, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragTargetAsString, getDragType, getDropTarget, getDropTargetAsString, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEnableWhen, getEndLine, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFloatingScrollbars, getFormItemAutoChild, getForwardSVGeventsToObject, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupPadding, getGroupTitle, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverAutoFitMaxWidth, getHoverAutoFitMaxWidthAsString, getHoverAutoFitWidth, getHoverComponent, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverPersist, getHoverScreen, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlElementAsString, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsRuleScope, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeaveGroupLabelSpace, getLeavePageSpace, getLeft, getLeftAsString, getLocalId, getLocateByIDOnly, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getLocatorName, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMatchElementHeight, getMatchElementWidth, getMaxHeight, getMaxWidth, getMaxZoomOverflowError, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getName, getNativeAutoHideScrollbars, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getOverflow, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPaletteDefaults, getPanelContainer, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPersistentMatchElement, getPointerSettings, getPointerTarget, getPointerTargetAsString, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrintStyleName, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getReceiveScrollbarEvents, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getRuleContext, getRuleContext, getRuleScope, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowColor, getShadowDepth, getShadowHOffset, getShadowImage, getShadowOffset, getShadowSoftness, getShadowSpread, getShadowVOffset, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowPointer, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSizeMayChangeOnRedraw, getSkinImgDir, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapGridLineProperties, getSnapGridStyle, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStartLine, getTabIndex, getTestDataContext, getTestInstance, getTooltip, getTop, getTopAsString, getTopElement, getUISummary, getUpdateTabPositionOnDraw, getUpdateTabPositionOnReparent, getUseBackMask, getUseCSSShadow, getUseDragMask, getUseImageForSVG, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getValuesManagerAsString, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWhen, getVisibleWidth, getVSnapPosition, getVSnapPosition, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, onInit, pageScrollDown, pageScrollUp, parentResized, placeNear, placeNear, placeNear, print, print, print, print, printComponents, provideRuleContext, provideRuleContext, redraw, redraw, registerFontScaledPaddingStyles, removeChild, removeChild, removePeer, removePeer, removeRuleContext, removeSnapAlignCandidate, resizeAutoChildAttributes, resizeBy, resizeControls, resizeControlsTo, resizeFonts, resizeFonts, resizeFonts, resizeFontsTo, resizeIcons, resizePadding, resizePadding, resizeTo, resizeTo, revealChild, revealChild, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAdaptHeightByCustomizer, setAdaptiveHeightPriority, setAdaptiveWidthPriority, setAdaptWidthByCustomizer, setAllowExternalFilters, setAlwaysManageFocusNavigation, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideEffect, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeLayoutMode, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoHeight, setAutoMaskComponents, setAutoParent, setAutoPopulateData, setAutoResizeAutoChildAttributes, setAutoResizeIcons, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBorderRadius, setBottom, setCanAcceptDrop, setCanAdaptHeight, setCanAdaptWidth, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCorrectZoomOverflow, setCursor, setDataContext, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultShowCustomScrollbars, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragMaxHeight, setDragMaxWidth, setDragMinHeight, setDragMinWidth, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragTarget, setDragType, setDropTarget, setDropTarget, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setEnableWhen, setEndLine, setExtraSpace, setFacetId, setFloatingScrollbars, setForwardSVGeventsToObject, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupPadding, setGroupTitle, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverAutoFitMaxWidth, setHoverAutoFitMaxWidth, setHoverAutoFitWidth, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverPersist, setHoverScreen, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsRuleScope, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeaveGroupLabelSpace, setLeavePageSpace, setLeft, setLeft, setLocateByIDOnly, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLocatorName, setLocatorParent, setLocatorParent, setLogicalStructure, setMargin, setMatchElement, setMatchElementHeight, setMatchElementWidth, setMaxHeight, setMaxWidth, setMaxZoomOverflowError, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setName, setNativeAutoHideScrollbars, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setOverflow, setPadding, setPageLeft, setPageTop, setPanelContainer, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPersistentMatchElement, setPointerSettings, setPointerTarget, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrintStyleName, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setReceiveScrollbarEvents, setRect, setRect, setRedrawOnResize, setRelativeTabPosition, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setRuleScope, setScrollbarConstructor, setScrollbarSize, setShadowColor, setShadowDepth, setShadowHOffset, setShadowImage, setShadowOffset, setShadowSoftness, setShadowSpread, setShadowVOffset, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowPointer, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSizeMayChangeOnRedraw, setSkinImgDir, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapGridLineProperties, setSnapGridStyle, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStartLine, setTabIndex, setTestDataContext, setTooltip, setTop, setTop, setUpdateTabPositionOnDraw, setUpdateTabPositionOnReparent, setUseBackMask, setUseCSSShadow, setUseDragMask, setUseImageForSVG, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setValuesManager, setVisibility, setVisible, setVisibleWhen, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateChildTabPosition, updateChildTabPositions, updateEditNode, updateHover, updateHover, updateShadow, updateTabPositionForDraw, visibleAtPoint, willAcceptDrop`

    - ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

      `addDrawHandler, addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, clearDynamicProperty, completeCreation, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hasDynamicProperty, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, isFactoryCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDefaultProperties, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### StatefulCanvas

          public StatefulCanvas()

    - #### StatefulCanvas

          public StatefulCanvas(com.google.gwt.core.client.JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static StatefulCanvas getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### create

          protected com.google.gwt.core.client.JavaScriptObject create()

      Overrides:
        `create` in class `Canvas`

    - #### setActionType

          public StatefulCanvas setActionType(SelectionType actionType)

      Behavior on state changes -- BUTTON, RADIO or CHECKBOX
      If this method is called after the component has been drawn/initialized: Update the 'actionType' for this canvas (radio / checkbox / button) If the canvas is currently selected, and the passed in actionType is 'button' this method will deselect the canvas.
      Parameters:
        `actionType` - New actionType value. Default value is "button"
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State overview and related methods`

    - #### getActionType

          public SelectionType getActionType()

      Behavior on state changes -- BUTTON, RADIO or CHECKBOX
      Returns:
        Return the 'actionType' for this canvas (radio / checkbox / button). Default value is "button"
      See Also:
        `State overview and related methods`

    - #### setAlign

          public StatefulCanvas setAlign(Alignment align)

      Horizontal alignment of this component's title.
      Overrides:
        `setAlign` in class `Canvas`
      Parameters:
        `align` - New align value. Default value is Canvas.CENTER
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `Appearance overview and related methods`

    - #### getAlign

          public Alignment getAlign()

      Horizontal alignment of this component's title.
      Returns:
        Current align value. Default value is Canvas.CENTER
      See Also:
        `Appearance overview and related methods`

    - #### setAriaLabel

          public StatefulCanvas setAriaLabel(java.lang.String ariaLabel)

      If specified this property returns the `aria-label` attribute to write out in `screenReaderMode`.

      If unset, aria-label will default to `this.prompt` if specified, otherwise `this.title`.

      Note : This is an advanced setting

      Parameters:
        `ariaLabel` - New ariaLabel value. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls

    - #### getAriaLabel

          public java.lang.String getAriaLabel()

      If specified this property returns the `aria-label` attribute to write out in `screenReaderMode`.

      If unset, aria-label will default to `this.prompt` if specified, otherwise `this.title`.

      Returns:
        Method to return the `aria-label` for this component (see `getAriaStateDefaults()`).

        Returns `ariaLabel` if specified, otherwise `prompt`, otherwise `title`. Default value is null

    - #### setAutoFit

          public StatefulCanvas setAutoFit(java.lang.Boolean autoFit)

      If true, ignore the specified size of this widget and always size just large enough to accommodate the title. If `setWidth()` is explicitly called on an autoFit:true button, autoFit will be reset to `false`.

      Note that for StretchImgButton instances, autoFit will occur horizontally only, as unpredictable vertical sizing is likely to distort the media. If you do want vertical auto-fit, this can be achieved by simply setting a small height, and having overflow:"visible"
      If this method is called after the component has been drawn/initialized: Setter method for the `autoFit` property. Pass in true or false to turn autoFit on or off. When autoFit is set to `false`, canvas will be resized to it's previously specified size.

      Parameters:
        `autoFit` - New autoFit setting. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `Sizing overview and related methods`

    - #### getAutoFit

          public java.lang.Boolean getAutoFit()

      If true, ignore the specified size of this widget and always size just large enough to accommodate the title. If `setWidth()` is explicitly called on an autoFit:true button, autoFit will be reset to `false`.

      Note that for StretchImgButton instances, autoFit will occur horizontally only, as unpredictable vertical sizing is likely to distort the media. If you do want vertical auto-fit, this can be achieved by simply setting a small height, and having overflow:"visible"

      Returns:
        Current autoFit value. Default value is null
      See Also:
        `Sizing overview and related methods`

    - #### setBaseStyle

          public StatefulCanvas setBaseStyle(java.lang.String baseStyle)

      Base CSS style className applied to the component.

      Note that if specified, this property takes precedence over any specified `styleName`. If unset, the `styleName` will be used as a default `baseStyle` value.

      As the component changes `state` and/or is selected, suffixes will be added to the base style. In some cases more than one suffix will be appended to reflect a combined state ("Selected" + "Disabled", for example).

      See `getStateSuffix()` for a description of the default set of suffixes which may be applied to the baseStyle

      #### Rotated Titles

      The Framework doesn't have built-in support for rotating button titles in a fashion similar to `FacetChart.rotateLabels`. However, you can manually configure a button to render with a rotated title by applying custom CSS via this property.

      For example, given a button with a height of 120 and a width of 48, if you copied the existing buttonXXX style declarations from skin_styles.css as new, rotatedTitleButtonXXX declarations, and then added the lines:

                -ms-transform:     translate(-38px,0px) rotate(270deg);
                -webkit-transform: translate(-38px,0px) rotate(270deg);
                transform:         translate(-38px,0px) rotate(270deg);
                overflow: hidden;
                text-overflow: ellipsis;
                width:116px;

      in the declaration section beginning:

            .rotatedTitleButton,
            .rotatedTitleButtonSelected,
            .rotatedTitleButtonSelectedOver,
            .rotatedTitleButtonSelectedDown,
            .rotatedTitleButtonSelectedDisabled,
            .rotatedTitleButtonOver,
            .rotatedTitleButtonDown,
            .rotatedTitleButtonDisabled {

      then applying that style to the button with `overflow`: "clip_h" would yield a vertically-rendered title with overflow via ellipsis as expected, and also wrap with `Button.wrap`. Note that:
      - The explicit width applied via CSS is needed because rotated elements don't inherit dimensions in their new orientation from the DOM - the transform/rotation occurs independently of layout.
      - The translation transform required along the x-axis is roughly (width - height) / 2, but may need slight offsetting for optimal centering.
      - We've explicitly avoided describing an approach based on CSS "writing-mode", since support is incomplete and bugs are present in popular browsers such as Firefox and Safari that would prevent it from being used without Framework assistance.

      Note on css-margins: Developers should be aware that the css "margin" property is unreliable for certain subclasses of StatefulCanvas, including `buttons`. Developers may use the explicit `Canvas.margin` property to specify button margins, or for a button within a layout, consider the layout properties `Layout.layoutMargin`, `Layout.membersMargin`
      If this method is called after the component has been drawn/initialized: Sets the base CSS style. As the component changes state and/or is selected, suffixes will be added to the base style.

      Parameters:
        `baseStyle` - new base style. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `CSSStyleName`

    - #### getBaseStyle

          public java.lang.String getBaseStyle()

      Base CSS style className applied to the component.

      Note that if specified, this property takes precedence over any specified `styleName`. If unset, the `styleName` will be used as a default `baseStyle` value.

      As the component changes `state` and/or is selected, suffixes will be added to the base style. In some cases more than one suffix will be appended to reflect a combined state ("Selected" + "Disabled", for example).

      See `getStateSuffix()` for a description of the default set of suffixes which may be applied to the baseStyle

      #### Rotated Titles

      The Framework doesn't have built-in support for rotating button titles in a fashion similar to `FacetChart.rotateLabels`. However, you can manually configure a button to render with a rotated title by applying custom CSS via this property.

      For example, given a button with a height of 120 and a width of 48, if you copied the existing buttonXXX style declarations from skin_styles.css as new, rotatedTitleButtonXXX declarations, and then added the lines:

                -ms-transform:     translate(-38px,0px) rotate(270deg);
                -webkit-transform: translate(-38px,0px) rotate(270deg);
                transform:         translate(-38px,0px) rotate(270deg);
                overflow: hidden;
                text-overflow: ellipsis;
                width:116px;

      in the declaration section beginning:

            .rotatedTitleButton,
            .rotatedTitleButtonSelected,
            .rotatedTitleButtonSelectedOver,
            .rotatedTitleButtonSelectedDown,
            .rotatedTitleButtonSelectedDisabled,
            .rotatedTitleButtonOver,
            .rotatedTitleButtonDown,
            .rotatedTitleButtonDisabled {

      then applying that style to the button with `overflow`: "clip_h" would yield a vertically-rendered title with overflow via ellipsis as expected, and also wrap with `Button.wrap`. Note that:
      - The explicit width applied via CSS is needed because rotated elements don't inherit dimensions in their new orientation from the DOM - the transform/rotation occurs independently of layout.
      - The translation transform required along the x-axis is roughly (width - height) / 2, but may need slight offsetting for optimal centering.
      - We've explicitly avoided describing an approach based on CSS "writing-mode", since support is incomplete and bugs are present in popular browsers such as Firefox and Safari that would prevent it from being used without Framework assistance.

      Note on css-margins: Developers should be aware that the css "margin" property is unreliable for certain subclasses of StatefulCanvas, including `buttons`. Developers may use the explicit `Canvas.margin` property to specify button margins, or for a button within a layout, consider the layout properties `Layout.layoutMargin`, `Layout.membersMargin`

      Returns:
        Current baseStyle value. Default value is null
      See Also:
        `CSSStyleName`

    - #### setEditProxyConstructor

          public StatefulCanvas setEditProxyConstructor(java.lang.String editProxyConstructor)
                                                 throws java.lang.IllegalStateException

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `setEditProxyConstructor` in class `Canvas`
      Parameters:
        `editProxyConstructor` - New editProxyConstructor value. Default value is "StatefulCanvasEditProxy"
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SCClassName`

    - #### getEditProxyConstructor

          public java.lang.String getEditProxyConstructor()

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `getEditProxyConstructor` in class `Canvas`
      Returns:
        Current editProxyConstructor value. Default value is "StatefulCanvasEditProxy"
      See Also:
        `SCClassName`

    - #### setHeight

          public StatefulCanvas setHeight(java.lang.Integer height)

      Size for this component's vertical dimension. See `Canvas.height` for more details.

      Note that if `autoFit` is set on non-`StretchImgButton` instances, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
        `setHeight` in class `Canvas`
      Parameters:
        `height` - New height value. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `setAutoFit(java.lang.Boolean)`, `Sizing overview and related methods`

    - #### getHeight

          public java.lang.Integer getHeight()

      Size for this component's vertical dimension. See `Canvas.height` for more details.

      Note that if `autoFit` is set on non-`StretchImgButton` instances, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
        `getHeight` in class `Canvas`
      Returns:
        Current height value. Default value is null
      See Also:
        `getAutoFit()`, `Sizing overview and related methods`

    - #### setHeight

          public void setHeight(java.lang.String height)

      Size for this component's vertical dimension. See `Canvas.height` for more details.

      Note that if `autoFit` is set on non-`StretchImgButton` instances, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
        `setHeight` in class `Canvas`
      Parameters:
        `height` - New height value. Default value is null
      See Also:
        `setAutoFit(java.lang.Boolean)`, `Sizing overview and related methods`

    - #### getHeightAsString

          public java.lang.String getHeightAsString()

      Size for this component's vertical dimension. See `Canvas.height` for more details.

      Note that if `autoFit` is set on non-`StretchImgButton` instances, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
        `getHeightAsString` in class `Canvas`
      Returns:
        Current height value. Default value is null
      See Also:
        `getAutoFit()`, `Sizing overview and related methods`

    - #### setIcon

          public StatefulCanvas setIcon(java.lang.String icon)

      Optional icon to be shown with the button title text.

      Specify as the partial URL to an image, relative to the imgDir of this component. A sprited image can be specified using the `SCSpriteConfig` format.

      Note that the string "blank" is a valid setting for this attribute and will always result in the system blank image, with no state suffixes applied. Typically, this might be used when an iconStyle is also specified and the iconStyle renders the icon via a stateful background-image or other CSS approach.
      If this method is called after the component has been drawn/initialized: Change the icon being shown next to the title text.

      Parameters:
        `icon` - URL of new icon. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `SCImgURL`, `ButtonIcon overview and related methods`

    - #### getIcon

          public java.lang.String getIcon()

      Optional icon to be shown with the button title text.

      Specify as the partial URL to an image, relative to the imgDir of this component. A sprited image can be specified using the `SCSpriteConfig` format.

      Note that the string "blank" is a valid setting for this attribute and will always result in the system blank image, with no state suffixes applied. Typically, this might be used when an iconStyle is also specified and the iconStyle renders the icon via a stateful background-image or other CSS approach.

      Returns:
        Current icon value. Default value is null
      See Also:
        `SCImgURL`, `ButtonIcon overview and related methods`

    - #### setIconHeight

          public StatefulCanvas setIconHeight(java.lang.Integer iconHeight)
                                       throws java.lang.IllegalStateException

      Height in pixels of the icon image.

      If unset, defaults to `iconSize`.

      Parameters:
        `iconHeight` - New iconHeight value. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ButtonIcon overview and related methods`

    - #### getIconHeight

          public java.lang.Integer getIconHeight()

      Height in pixels of the icon image.

      If unset, defaults to `iconSize`.

      Returns:
        Current iconHeight value. Default value is null
      See Also:
        `ButtonIcon overview and related methods`

    - #### setIconOrientation

          public StatefulCanvas setIconOrientation(java.lang.String iconOrientation)
                                            throws java.lang.IllegalStateException

      If this button is showing an icon should it appear to the left or right of the title? valid options are `"left"` and `"right"`.
      If this method is called after the component has been drawn/initialized: Changes the orientation of the icon relative to the text of the button.
      Parameters:
        `iconOrientation` - The new orientation of the icon relative to the text of the button. Default value is "left"
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ButtonIcon overview and related methods`

    - #### getIconOrientation

          public java.lang.String getIconOrientation()

      If this button is showing an icon should it appear to the left or right of the title? valid options are `"left"` and `"right"`.
      Returns:
        Current iconOrientation value. Default value is "left"
      See Also:
        `ButtonIcon overview and related methods`

    - #### setIconSize

          public StatefulCanvas setIconSize(int iconSize)
                                     throws java.lang.IllegalStateException

      Size in pixels of the icon image.

      The `iconWidth` and `iconHeight` properties can be used to configure width and height separately.

      Note: When configuring the properties of a `StatefulCanvas` (or derivative) `AutoChild`, it is best to set the `iconWidth` and `iconHeight` to the same value rather than setting an `iconSize`. This is because certain skins or customizations thereto might set the `iconWidth` and `iconHeight`, making the customization of the AutoChild's `iconSize` ineffective.

      Parameters:
        `iconSize` - New iconSize value. Default value is 16
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ButtonIcon overview and related methods`

    - #### getIconSize

          public int getIconSize()

      Size in pixels of the icon image.

      The `iconWidth` and `iconHeight` properties can be used to configure width and height separately.

      Note: When configuring the properties of a `StatefulCanvas` (or derivative) `AutoChild`, it is best to set the `iconWidth` and `iconHeight` to the same value rather than setting an `iconSize`. This is because certain skins or customizations thereto might set the `iconWidth` and `iconHeight`, making the customization of the AutoChild's `iconSize` ineffective.

      Returns:
        Current iconSize value. Default value is 16
      See Also:
        `ButtonIcon overview and related methods`

    - #### setIconStyle

          public StatefulCanvas setIconStyle(java.lang.String iconStyle)

      Base CSS style applied to the icon image. If set, as the `StatefulCanvas` changes `state` and/or is `selected`, suffixes will be appended to `iconStyle` to form the className set on the image element.

      The following table lists out the standard set of suffixes which may be appended:

      CSS Class Applied | Description
      --- | ---
      `iconStyle` | Default CSS style
      `iconStyle+Selected` | Applied when `selected` and `showSelectedIcon` are true.
      `iconStyle+Focused` | Applied when the component has keyboard focus, if `showFocusedIcon` is true, and `showFocusedAsOver` is not true.
      `iconStyle+Over` | Applied when `showRollOverIcon` is set to true and either the user rolls over the component or `showFocusedAsOver` is true and the component has keyboard focus.
      `iconStyle+Down` | Applied when the user presses the mouse button on the component if `showDownIcon` is set to true
      `iconStyle+Disabled` | Applied when the component is `disabled` if `showDisabledIcon` is true.
      Combined styles
      `iconStyle+SelectedFocused` | Combined Selected and focused styling
      `iconStyle+SelectedOver` | Combined Selected and rollOver styling
      `iconStyle+FocusedOver` | Combined Focused and rollOver styling
      `iconStyle+SelectedFocusedOver` | Combined Selected, Focused and rollOver styling
      `iconStyle+SelectedDown` | Combined Selected and mouse-down styling
      `iconStyle+FocusedDown` | Combined Focused and mouse-down styling
      `iconStyle+SelectedFocusedDown` | Combined Selected, Focused and mouse-down styling
      `iconStyle+SelectedDisabled` | Combined Selected and Disabled styling

      In addition, if `showRTLIcon` is true, then in RTL mode, a final "RTL" suffix will be appended.
      If this method is called after the component has been drawn/initialized: Setter for `iconStyle`.

      Parameters:
        `iconStyle` - the new `iconStyle` (may be `null` to remove the className on the image). Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `CSSStyleName`, `ButtonIcon overview and related methods`

    - #### getIconStyle

          public java.lang.String getIconStyle()

      Base CSS style applied to the icon image. If set, as the `StatefulCanvas` changes `state` and/or is `selected`, suffixes will be appended to `iconStyle` to form the className set on the image element.

      The following table lists out the standard set of suffixes which may be appended:

      CSS Class Applied | Description
      --- | ---
      `iconStyle` | Default CSS style
      `iconStyle+Selected` | Applied when `selected` and `showSelectedIcon` are true.
      `iconStyle+Focused` | Applied when the component has keyboard focus, if `showFocusedIcon` is true, and `showFocusedAsOver` is not true.
      `iconStyle+Over` | Applied when `showRollOverIcon` is set to true and either the user rolls over the component or `showFocusedAsOver` is true and the component has keyboard focus.
      `iconStyle+Down` | Applied when the user presses the mouse button on the component if `showDownIcon` is set to true
      `iconStyle+Disabled` | Applied when the component is `disabled` if `showDisabledIcon` is true.
      Combined styles
      `iconStyle+SelectedFocused` | Combined Selected and focused styling
      `iconStyle+SelectedOver` | Combined Selected and rollOver styling
      `iconStyle+FocusedOver` | Combined Focused and rollOver styling
      `iconStyle+SelectedFocusedOver` | Combined Selected, Focused and rollOver styling
      `iconStyle+SelectedDown` | Combined Selected and mouse-down styling
      `iconStyle+FocusedDown` | Combined Focused and mouse-down styling
      `iconStyle+SelectedFocusedDown` | Combined Selected, Focused and mouse-down styling
      `iconStyle+SelectedDisabled` | Combined Selected and Disabled styling

      In addition, if `showRTLIcon` is true, then in RTL mode, a final "RTL" suffix will be appended.

      Returns:
        Current iconStyle value. Default value is null
      See Also:
        `CSSStyleName`, `ButtonIcon overview and related methods`

    - #### setIconWidth

          public StatefulCanvas setIconWidth(java.lang.Integer iconWidth)
                                      throws java.lang.IllegalStateException

      Width in pixels of the icon image.

      If unset, defaults to `iconSize`.

      Parameters:
        `iconWidth` - New iconWidth value. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ButtonIcon overview and related methods`

    - #### getIconWidth

          public java.lang.Integer getIconWidth()

      Width in pixels of the icon image.

      If unset, defaults to `iconSize`.

      Returns:
        Current iconWidth value. Default value is null
      See Also:
        `ButtonIcon overview and related methods`

    - #### setIgnoreRTL

          public StatefulCanvas setIgnoreRTL(boolean ignoreRTL)

      Should horizontal alignment-related attributes `align` and `iconOrientation` be mirrored in RTL mode? This is the default behavior unless ignoreRTL is set to true.
      If this method is called after the component has been drawn/initialized: Setter for `ignoreRTL`.

      Note : This is an advanced setting

      Parameters:
        `ignoreRTL` - new value for ignoreRTL. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls

    - #### getIgnoreRTL

          public boolean getIgnoreRTL()

      Should horizontal alignment-related attributes `align` and `iconOrientation` be mirrored in RTL mode? This is the default behavior unless ignoreRTL is set to true.
      Returns:
        Current ignoreRTL value. Default value is false

    - #### setLabelHPad

          public StatefulCanvas setLabelHPad(java.lang.Integer labelHPad)

      If non-null, specifies the horizontal padding applied to the label, if any.
      Parameters:
        `labelHPad` - New labelHPad value. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `StretchImgButton.setLabelHPad(java.lang.Integer)`

    - #### getLabelHPad

          public java.lang.Integer getLabelHPad()

      If non-null, specifies the horizontal padding applied to the label, if any.
      Returns:
        Current labelHPad value. Default value is null
      See Also:
        `StretchImgButton.getLabelHPad()`

    - #### setLabelVPad

          public StatefulCanvas setLabelVPad(java.lang.Integer labelVPad)

      If non-null, specifies the vertical padding applied to the label, if any.
      Parameters:
        `labelVPad` - New labelVPad value. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `StretchImgButton.setLabelVPad(java.lang.Integer)`

    - #### getLabelVPad

          public java.lang.Integer getLabelVPad()

      If non-null, specifies the vertical padding applied to the label, if any.
      Returns:
        Current labelVPad value. Default value is null
      See Also:
        `StretchImgButton.getLabelVPad()`

    - #### getOverCanvas

          public Canvas getOverCanvas()
                               throws java.lang.IllegalStateException

      Auto generated child widget to be shown when the user rolls over this canvas if `showOverCanvas` is true. See documentation for `com.smartgwt.client.types.AutoChild` for information on how to customize this canvas.

      This component is an AutoChild named "overCanvas". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current overCanvas value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setOverCanvasConstructor

          public StatefulCanvas setOverCanvasConstructor(java.lang.String overCanvasConstructor)

      Constructor class name for this widget's `overCanvas`

      Note : This is an advanced setting

      Parameters:
        `overCanvasConstructor` - New overCanvasConstructor value. Default value is "Canvas"
      Returns:
        `StatefulCanvas` instance, for chaining setter calls

    - #### getOverCanvasConstructor

          public java.lang.String getOverCanvasConstructor()

      Constructor class name for this widget's `overCanvas`
      Returns:
        Current overCanvasConstructor value. Default value is "Canvas"

    - #### setRadioGroup

          public StatefulCanvas setRadioGroup(java.lang.String radioGroup)

      String identifier for this canvas's mutually exclusive selection group.

      Note : This is an advanced setting

      Parameters:
        `radioGroup` - New radioGroup value. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State overview and related methods`

    - #### getRadioGroup

          public java.lang.String getRadioGroup()

      String identifier for this canvas's mutually exclusive selection group.
      Returns:
        Current radioGroup value. Default value is null
      See Also:
        `State overview and related methods`

    - #### setRedrawOnStateChange

          public StatefulCanvas setRedrawOnStateChange(java.lang.Boolean redrawOnStateChange)

      Whether this widget needs to redraw to reflect state change

      Note : This is an advanced setting

      Parameters:
        `redrawOnStateChange` - New redrawOnStateChange value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State overview and related methods`

    - #### getRedrawOnStateChange

          public java.lang.Boolean getRedrawOnStateChange()

      Whether this widget needs to redraw to reflect state change
      Returns:
        Current redrawOnStateChange value. Default value is false
      See Also:
        `State overview and related methods`

    - #### setSelected

          public StatefulCanvas setSelected(java.lang.Boolean selected)

      Whether this component is selected. For some components, selection affects appearance.
      If this method is called after the component has been drawn/initialized: Set this object to be selected or deselected.
      Parameters:
        `selected` - new boolean value of whether or not the object is selected. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State overview and related methods`

    - #### getSelected

          public java.lang.Boolean getSelected()

      Whether this component is selected. For some components, selection affects appearance.
      Returns:
        Current selected value. Default value is false
      See Also:
        `State overview and related methods`

    - #### setShowDisabled

          public StatefulCanvas setShowDisabled(java.lang.Boolean showDisabled)

      Should we visibly change state when disabled?
      Parameters:
        `showDisabled` - New showDisabled value. Default value is true
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State overview and related methods`

    - #### getShowDisabled

          public java.lang.Boolean getShowDisabled()

      Should we visibly change state when disabled?
      Returns:
        Current showDisabled value. Default value is true
      See Also:
        `State overview and related methods`

    - #### setShowDisabledIcon

          public StatefulCanvas setShowDisabledIcon(java.lang.Boolean showDisabledIcon)
                                             throws java.lang.IllegalStateException

      If using an icon for this button, whether to switch the icon image if the button becomes disabled.
      Parameters:
        `showDisabledIcon` - New showDisabledIcon value. Default value is true
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ButtonIcon overview and related methods`

    - #### getShowDisabledIcon

          public java.lang.Boolean getShowDisabledIcon()

      If using an icon for this button, whether to switch the icon image if the button becomes disabled.
      Returns:
        Current showDisabledIcon value. Default value is true
      See Also:
        `ButtonIcon overview and related methods`

    - #### setShowDown

          public StatefulCanvas setShowDown(java.lang.Boolean showDown)

      Should we visibly change state when the mouse goes down in this object?
      Parameters:
        `showDown` - New showDown value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State overview and related methods`

    - #### getShowDown

          public java.lang.Boolean getShowDown()

      Should we visibly change state when the mouse goes down in this object?
      Returns:
        Current showDown value. Default value is false
      See Also:
        `State overview and related methods`

    - #### setShowDownIcon

          public StatefulCanvas setShowDownIcon(java.lang.Boolean showDownIcon)
                                         throws java.lang.IllegalStateException

      If using an icon for this button, whether to switch the icon image when the mouse goes down on the button.
      Parameters:
        `showDownIcon` - New showDownIcon value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ButtonIcon overview and related methods`

    - #### getShowDownIcon

          public java.lang.Boolean getShowDownIcon()

      If using an icon for this button, whether to switch the icon image when the mouse goes down on the button.
      Returns:
        Current showDownIcon value. Default value is false
      See Also:
        `ButtonIcon overview and related methods`

    - #### setShowFocused

          public StatefulCanvas setShowFocused(java.lang.Boolean showFocused)

      Should we visibly change state when the canvas receives focus? If `showFocusedAsOver` is `true`, then `"over"` will be used to indicate focus. Otherwise a separate `"focused"` state will be used.
      Parameters:
        `showFocused` - New showFocused value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State overview and related methods`

    - #### getShowFocused

          public java.lang.Boolean getShowFocused()

      Should we visibly change state when the canvas receives focus? If `showFocusedAsOver` is `true`, then `"over"` will be used to indicate focus. Otherwise a separate `"focused"` state will be used.
      Returns:
        Current showFocused value. Default value is false
      See Also:
        `State overview and related methods`

    - #### setShowFocusedAsOver

          public StatefulCanvas setShowFocusedAsOver(java.lang.Boolean showFocusedAsOver)

      If `showFocused` is true for this widget, should the `"over"` state be used to indicate the widget as focused. If set to false, a separate `"focused"` state will be used.
      Parameters:
        `showFocusedAsOver` - New showFocusedAsOver value. Default value is true
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State overview and related methods`

    - #### getShowFocusedAsOver

          public java.lang.Boolean getShowFocusedAsOver()

      If `showFocused` is true for this widget, should the `"over"` state be used to indicate the widget as focused. If set to false, a separate `"focused"` state will be used.
      Returns:
        Current showFocusedAsOver value. Default value is true
      See Also:
        `State overview and related methods`

    - #### setShowFocusedIcon

          public StatefulCanvas setShowFocusedIcon(java.lang.Boolean showFocusedIcon)
                                            throws java.lang.IllegalStateException

      If using an icon for this button, whether to switch the icon image when the button receives focus.

      If `showFocusedAsOver` is true, the `"Over"` icon will be displayed when the canvas has focus, otherwise a separate `"Focused"` icon will be displayed

      Parameters:
        `showFocusedIcon` - New showFocusedIcon value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ButtonIcon overview and related methods`

    - #### getShowFocusedIcon

          public java.lang.Boolean getShowFocusedIcon()

      If using an icon for this button, whether to switch the icon image when the button receives focus.

      If `showFocusedAsOver` is true, the `"Over"` icon will be displayed when the canvas has focus, otherwise a separate `"Focused"` icon will be displayed

      Returns:
        Current showFocusedIcon value. Default value is false
      See Also:
        `ButtonIcon overview and related methods`

    - #### setShowMenuOnClick

          public StatefulCanvas setShowMenuOnClick(java.lang.Boolean showMenuOnClick)

      If true, this widget will fire `showContextMenu()` to show the `context menu` if one is defined, rather than `click()`, when the left mouse is clicked.

      Note that this property has a different interpretation in `IconButton` as `IconButton.showMenuOnClick`.

      Parameters:
        `showMenuOnClick` - New showMenuOnClick value. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls

    - #### getShowMenuOnClick

          public java.lang.Boolean getShowMenuOnClick()

      If true, this widget will fire `showContextMenu()` to show the `context menu` if one is defined, rather than `click()`, when the left mouse is clicked.

      Note that this property has a different interpretation in `IconButton` as `IconButton.showMenuOnClick`.

      Returns:
        Current showMenuOnClick value. Default value is null

    - #### setShowOverCanvas

          public StatefulCanvas setShowOverCanvas(java.lang.Boolean showOverCanvas)

      When this property is set to true, this widget will create and show the `overCanvas` on user rollover.

      Note : This is an advanced setting

      Parameters:
        `showOverCanvas` - New showOverCanvas value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls

    - #### getShowOverCanvas

          public java.lang.Boolean getShowOverCanvas()

      When this property is set to true, this widget will create and show the `overCanvas` on user rollover.
      Returns:
        Current showOverCanvas value. Default value is false

    - #### setShowRollOver

          public StatefulCanvas setShowRollOver(java.lang.Boolean showRollOver)

      Should we visibly change state when the mouse goes over this object?
      Parameters:
        `showRollOver` - New showRollOver value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State overview and related methods`

    - #### getShowRollOver

          public java.lang.Boolean getShowRollOver()

      Should we visibly change state when the mouse goes over this object?
      Returns:
        Current showRollOver value. Default value is false
      See Also:
        `State overview and related methods`

    - #### setShowRollOverIcon

          public StatefulCanvas setShowRollOverIcon(java.lang.Boolean showRollOverIcon)
                                             throws java.lang.IllegalStateException

      If using an icon for this button, whether to switch the icon image on mouse rollover.
      Parameters:
        `showRollOverIcon` - New showRollOverIcon value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ButtonIcon overview and related methods`

    - #### getShowRollOverIcon

          public java.lang.Boolean getShowRollOverIcon()

      If using an icon for this button, whether to switch the icon image on mouse rollover.
      Returns:
        Current showRollOverIcon value. Default value is false
      See Also:
        `ButtonIcon overview and related methods`

    - #### setShowRTLIcon

          public StatefulCanvas setShowRTLIcon(boolean showRTLIcon)
                                        throws java.lang.IllegalStateException

      Is `RTL` media available for the icon? If true, then in RTL mode, the image's src will have "_rtl" inserted immediately before the file extension. For example, if `icon` is "myIcon.png" and showRTLIcon is true, then in RTL mode, the image's src will be set to "myIcon_rtl.png".
      Parameters:
        `showRTLIcon` - New showRTLIcon value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowRTLIcon

          public boolean getShowRTLIcon()

      Is `RTL` media available for the icon? If true, then in RTL mode, the image's src will have "_rtl" inserted immediately before the file extension. For example, if `icon` is "myIcon.png" and showRTLIcon is true, then in RTL mode, the image's src will be set to "myIcon_rtl.png".
      Returns:
        Current showRTLIcon value. Default value is false

    - #### setShowSelectedIcon

          public StatefulCanvas setShowSelectedIcon(java.lang.Boolean showSelectedIcon)
                                             throws java.lang.IllegalStateException

      If using an icon for this button, whether to switch the icon image when the button becomes selected.
      Parameters:
        `showSelectedIcon` - New showSelectedIcon value. Default value is false
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ButtonIcon overview and related methods`

    - #### getShowSelectedIcon

          public java.lang.Boolean getShowSelectedIcon()

      If using an icon for this button, whether to switch the icon image when the button becomes selected.
      Returns:
        Current showSelectedIcon value. Default value is false
      See Also:
        `ButtonIcon overview and related methods`

    - #### setState

          public StatefulCanvas setState(State state)

      Current "state" of this widget. The state setting is automatically updated as the user interacts with the component (see `showRollOver`, `showDown`, `showDisabled`).

      StatefulCanvases will have a different appearance based on their current state. By default this is handled by changing the css className applied to the StatefulCanvas - see `baseStyle` and `getStateSuffix()` for a description of how this is done.

      For `Img` or `StretchImg` based subclasses of StatefulCanvas, the appearance may also be updated by changing the src of the rendered image. See `Img.src` and `StretchImgButton.src` for a description of how the URL is modified to reflect the state of the widget in this case.
      If this method is called after the component has been drawn/initialized: Sets the `state` of this object, changing its appearance. Note: `newState` cannot be `State.STATE_DISABLED` if `this.showDisabled` is `false`.

      Note : This is an advanced setting

      Parameters:
        `state` - the new state. Default value is ""
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `State`, `State overview and related methods`

    - #### getState

          public State getState()

      Current "state" of this widget. The state setting is automatically updated as the user interacts with the component (see `showRollOver`, `showDown`, `showDisabled`).

      StatefulCanvases will have a different appearance based on their current state. By default this is handled by changing the css className applied to the StatefulCanvas - see `baseStyle` and `getStateSuffix()` for a description of how this is done.

      For `Img` or `StretchImg` based subclasses of StatefulCanvas, the appearance may also be updated by changing the src of the rendered image. See `Img.src` and `StretchImgButton.src` for a description of how the URL is modified to reflect the state of the widget in this case.

      Returns:
        Return the state of this StatefulCanvas. Default value is ""
      See Also:
        `State`, `State overview and related methods`

    - #### setStyleName

          public void setStyleName(java.lang.String styleName)

      StatefulCanvases are styled by combining `baseStyle` with `State` to build a composite css style name. In most cases, `statefulCanvas.styleName` will have no effect on statefulCanvas styling and should not be used.

      If the `baseStyle` is not explicitly specified for a class, the `styleName` will be used as a default baseStyle. Other than that, this attribute will be ignored.

      Overrides:
        `setStyleName` in class `Canvas`
      Parameters:
        `styleName` - New styleName value. Default value is "normal"
      See Also:
        `CSSStyleName`

    - #### getStyleName

          public java.lang.String getStyleName()

      StatefulCanvases are styled by combining `baseStyle` with `State` to build a composite css style name. In most cases, `statefulCanvas.styleName` will have no effect on statefulCanvas styling and should not be used.

      If the `baseStyle` is not explicitly specified for a class, the `styleName` will be used as a default baseStyle. Other than that, this attribute will be ignored.

      Overrides:
        `getStyleName` in class `Canvas`
      Returns:
        Current styleName value. Default value is "normal"
      See Also:
        `CSSStyleName`

    - #### setTitle

          public void setTitle(java.lang.String title)

      The title HTML to display in this button.
      If this method is called after the component has been drawn/initialized: Setter for the `title`.
      Overrides:
        `setTitle` in class `Canvas`
      Parameters:
        `title` - the new title HTML. Default value is null
      See Also:
        `HTMLString`

    - #### getTitle

          public java.lang.String getTitle()

      The title HTML to display in this button.
      Overrides:
        `getTitle` in class `Canvas`
      Returns:
        Return the title - HTML drawn inside the component.

        Default is to simply return this.title. Default value is null

      See Also:
        `HTMLString`

    - #### setValign

          public StatefulCanvas setValign(VerticalAlignment valign)

      Vertical alignment of this component's title.
      Parameters:
        `valign` - New valign value. Default value is Canvas.CENTER
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `Appearance overview and related methods`

    - #### getValign

          public VerticalAlignment getValign()

      Vertical alignment of this component's title.
      Returns:
        Current valign value. Default value is Canvas.CENTER
      See Also:
        `Appearance overview and related methods`

    - #### setWidth

          public StatefulCanvas setWidth(java.lang.Integer width)

      Size for this component's horizontal dimension. See `Canvas.width` for more details.

      Note that if `autoFit` is set, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
        `setWidth` in class `Canvas`
      Parameters:
        `width` - New width value. Default value is null
      Returns:
        `StatefulCanvas` instance, for chaining setter calls
      See Also:
        `setAutoFit(java.lang.Boolean)`, `Sizing overview and related methods`

    - #### getWidth

          public java.lang.Integer getWidth()

      Size for this component's horizontal dimension. See `Canvas.width` for more details.

      Note that if `autoFit` is set, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
        `getWidth` in class `Canvas`
      Returns:
        Current width value. Default value is null
      See Also:
        `getAutoFit()`, `Sizing overview and related methods`

    - #### setWidth

          public void setWidth(java.lang.String width)

      Size for this component's horizontal dimension. See `Canvas.width` for more details.

      Note that if `autoFit` is set, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
        `setWidth` in class `Canvas`
      Parameters:
        `width` - New width value. Default value is null
      See Also:
        `setAutoFit(java.lang.Boolean)`, `Sizing overview and related methods`

    - #### getWidthAsString

          public java.lang.String getWidthAsString()

      Size for this component's horizontal dimension. See `Canvas.width` for more details.

      Note that if `autoFit` is set, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
        `getWidthAsString` in class `Canvas`
      Returns:
        Current width value. Default value is null
      See Also:
        `getAutoFit()`, `Sizing overview and related methods`

    - #### addToRadioGroup

          public void addToRadioGroup(java.lang.String groupID)

      Add this widget to the specified mutually exclusive selection group with the ID passed in. Selecting this widget will then deselect any other StatefulCanvases with the same radioGroup ID. StatefulCanvases can belong to only one radioGroup, so this method will remove from any other radiogroup of which this button is already a member.
      Parameters:
        `groupID` - - ID of the radiogroup to which this widget should be added
      See Also:
        `State overview and related methods`

    - #### deselect

          public void deselect()

      Deselect this object.
      See Also:
        `State overview and related methods`

    - #### getAriaStateDefaults

          public java.util.Map getAriaStateDefaults()

      Retrieves dynamically calculated default `ARIA state mapping` properties for this canvas. These will be combined with explicitly specified aria state as described in `Canvas.getAriaState()`.

      Overridden by StatefulCanvas to pick up `aria-label`.

      Overrides:
        `getAriaStateDefaults` in class `Canvas`
      Returns:
        dynamically calculated default aria state properties

    - #### getStateSuffix

          public java.lang.String getStateSuffix()

      Returns the suffix that will be appended to the `baseStyle` as the component changes `state` and/or is selected / focused.

      Note that suffixes will only be included if the relevant `show[StateName]` attributes (EG `showRollOver`, `showFocused`, etc) are set to true.

      The following table lists out the standard set of suffixes which may be applied to the base style:

      CSS Class Applied | Description
      `baseStyle` | Default css style
      `baseStyle+Selected` | Applied when `selected` is set to true.
      `baseStyle+Focused` | Applied when the component has keyboard focus, if `showFocused` is true, and `showFocusedAsOver` is not true.
      `baseStyle+Over` | Applied when `showRollOver` is set to true and either the user rolls over the component or `showFocusedAsOver` is true and the component has keyboard focus.
      `baseStyle+Down` | Applied when the user presses the mouse button on the component if `showDown` is set to true
      `baseStyle+Disabled` | Applied when the component is `disabled` if `showDisabled` is true.
      Combined styles
      `baseStyle+SelectedFocused` | Combined Selected and focused styling
      `baseStyle+SelectedOver` | Combined Selected and rollOver styling
      `baseStyle+FocusedOver` | Combined Focused and rollOver styling
      `baseStyle+SelectedFocusedOver` | Combined Selected, Focused and rollOver styling
      `baseStyle+SelectedDown` | Combined Selected and mouse-down styling
      `baseStyle+FocusedDown` | Combined Focused and mouse-down styling
      `baseStyle+SelectedFocusedDown` | Combined Selected, Focused and mouse-down styling
      `baseStyle+SelectedDisabled` | Combined Selected and Disabled styling

      Returns:
        suffix to be appended to the baseStyle

    - #### removeFromRadioGroup

          public void removeFromRadioGroup()

      Remove this widget from the specified mutually exclusive selection group with the ID passed in. No-op's if this widget is not a member of the groupID passed in. If no groupID is passed in, defaults to removing from whatever radioGroup this widget is a member of.
      See Also:
        `State overview and related methods`

    - #### removeFromRadioGroup

          public void removeFromRadioGroup(java.lang.String groupID)

      Remove this widget from the specified mutually exclusive selection group with the ID passed in. No-op's if this widget is not a member of the groupID passed in. If no groupID is passed in, defaults to removing from whatever radioGroup this widget is a member of.
      Parameters:
        `groupID` - - optional radio group ID (to ensure the widget is removed from the appropriate group.
      See Also:
        `State overview and related methods`

    - #### select

          public void select()

      Select this object.
      See Also:
        `State overview and related methods`

    - #### setDefaultProperties

          public static void setDefaultProperties(StatefulCanvas statefulCanvasProperties)

      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
        `statefulCanvasProperties` - properties that should be used as new defaults when instances of this class are created
      See Also:
        `SGWTProperties`

    - #### setTitleStyle

          public StatefulCanvas setTitleStyle(java.lang.String titleStyle)

    - #### setTitleFormatter

          public void setTitleFormatter(TitleFormatter customizer)

    - #### isSelected

          public java.lang.Boolean isSelected()

      Find out if this object is selected.
      Returns:
        Boolean
      See Also:
        `State overview and related methods`

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.StatefulCanvasLogicalStructure s)

      Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

      Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `Canvas`