com.smartgwt.client.widgets.form.fields

## Class ButtonItem

- java.lang.Object
- - com.smartgwt.client.core.JsObject
  - - com.smartgwt.client.core.DataClass
    - - com.smartgwt.client.core.RefDataClass
      - - com.smartgwt.client.widgets.form.fields.FormItem
        - - com.smartgwt.client.widgets.form.fields.CanvasItem
          - - com.smartgwt.client.widgets.form.fields.ButtonItem

- All Implemented Interfaces:
    HasHandlers, HasBlurHandlers, HasCanEditChangedHandlers, HasChangedHandlers, HasChangeHandlers, HasClickHandlers, HasDoubleClickHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFocusHandlers, HasIconClickHandlers, HasIconKeyPressHandlers, HasItemHoverHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasPickerIconClickHandlers, HasReadOnlyDisplayChangedHandlers, HasShowValueHandlers, HasTitleClickHandlers, HasTitleDoubleClickHandlers, HasTitleHoverHandlers, HasValueHoverHandlers, HasValueIconClickHandlers
  Direct Known Subclasses:
    CancelItem, ResetItem, SubmitItem

      public class ButtonItem
      extends CanvasItem
      implements HasClickHandlers

  FormItem for adding a Button to a form.

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.form.fields.FormItem

      `scClassName`

    - ### Fields inherited from class com.smartgwt.client.core.RefDataClass

      `id`

    - ### Fields inherited from class com.smartgwt.client.core.DataClass

      `factoryCreated, factoryProperties`

    - ### Fields inherited from class com.smartgwt.client.core.JsObject

      `jsObj`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ButtonItem()`
    `ButtonItem(JavaScriptObject jsObj)`
    `ButtonItem(java.lang.String name)`
    `ButtonItem(java.lang.String name, java.lang.String title)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HandlerRegistration` | `addClickHandler(ClickHandler handler)` Add a click handler.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, DrawItem defaults)` Changes the defaults for DrawItem AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `static void` | `changePickerIconDefaults(FormItemIcon defaults)`
    `java.lang.Boolean` | `getAutoFit()` Should the button auto fit to its title.
    `java.lang.String` | `getBaseStyle()` Optional `baseStyle` will be applied to the button.
    `Canvas` | `getButton()` This item is an autoChild generated `Canvas` displayed by the ButtonItem and is an instance of `Button` by defaut, cuztomizeable via the `buttonConstructor` attribute.
    `Canvas` | `getCanvas()` The canvas that will be displayed inside this item.
    `java.lang.Boolean` | `getEndRow()` These items are in a row by themselves by default
    `java.lang.String` | `getIcon()` Optional icon image to display on the button for this item.
    `static ButtonItem` | `getOrCreateRef(JavaScriptObject jsObj)`
    `ReadOnlyDisplayAppearance` | `getReadOnlyDisplay()` If `canEdit` is set to `false`, how should this item be displayed to the user?
    `java.lang.Boolean` | `getShowTitle()` Buttons do not show a title by default.
    `java.lang.Boolean` | `getStartRow()` These items are in a row by themselves by default
    `void` | `setAutoFit(java.lang.Boolean autoFit)` Should the button auto fit to its title.
    `void` | `setBaseStyle(java.lang.String baseStyle)` Optional `baseStyle` will be applied to the button.
    `void` | `setButtonProperties(Button buttonProperties)` Custom Properties to apply to the button item.
    `static void` | `setDefaultProperties(ButtonItem buttonItemProperties)` Class level method to set the default properties of this class.
    `void` | `setEndRow(java.lang.Boolean endRow)` These items are in a row by themselves by default
    `void` | `setIcon(java.lang.String icon)` Optional icon image to display on the button for this item.
    `void` | `setReadOnlyDisplay(ReadOnlyDisplayAppearance readOnlyDisplay)` If `canEdit` is set to `false`, how should this item be displayed to the user?
    `void` | `setShowTitle(java.lang.Boolean showTitle)` Buttons do not show a title by default.
    `void` | `setStartRow(java.lang.Boolean startRow)` These items are in a row by themselves by default

    - ### Methods inherited from class com.smartgwt.client.widgets.form.fields.CanvasItem

      `addCanEditChangedHandler, addReadOnlyDisplayChangedHandler, addShowValueHandler, createCanvas, getApplyPromptToCanvas, getAutoDestroy, getEditCriteriaInInnerForm, getHeight, getHeightAsString, getMultiple, getOverflow, getPrompt, getShouldSaveValue, hasAdvancedCriteria, setApplyPromptToCanvas, setAutoDestroy, setCanEditCriterionPredicate, setCanvas, setCriterionGetter, setCriterionSetter, setDefaultProperties, setEditCriteriaInInnerForm, setHeight, setHeight, setMultiple, setOverflow, setPrompt, setShouldDisableCanvasCustomizer, setShouldSaveValue, setupCanvasConstructor, storeValue, storeValue, storeValue`

    - ### Methods inherited from class com.smartgwt.client.widgets.form.fields.FormItem

      `_getValue, addBlurHandler, addChangedHandler, addChangeHandler, addDoubleClickHandler, addEditorEnterHandler, addEditorExitHandler, addFocusHandler, addIconClickHandler, addIconKeyPressHandler, addItemHoverHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addPickerIconClickHandler, addTitleClickHandler, addTitleDoubleClickHandler, addTitleHoverHandler, addValueHoverHandler, addValueIconClickHandler, asSGWTComponent, blurItem, canEditCriterion, clearValue, disable, enable, error, error, errorIfNotCreated, focusInItem, getAccessKey, getAlign, getAllowExpressions, getAlwaysFetchMissingValues, getApplyHeightToTextBox, getAriaRole, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsObject, getAttributeAsString, getAutoComplete, getBrowserSpellCheck, getCanEdit, getCanEditOpaqueValues, getCanFocus, getCanSelectText, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getControlStyle, getCriteriaField, getCriterion, getCriterion, getDataPath, getDateFormatter, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDisabled, getDisableIconsOnReadOnly, getDisplayField, getDisplayFieldName, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEditProxyConstructor, getEmptyDisplayValue, getEmptyValueIcon, getErrorIconHeight, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getExportFormat, getFetchMissingValues, getFieldName, getFilterLocally, getForeignDisplayField, getForm, getFormat, getFormItemAutoChild, getFullDataPath, getGlobalTabIndex, getHint, getHintStyle, getHoverAlign, getHoverDelay, getHoverHeight, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getIcon, getIconHeight, getIconHSpace, getIconPageRect, getIconPrompt, getIconRect, getIconVAlign, getIconWidth, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getInputFormat, getLeft, getLoadingDisplayValue, getLocateItemBy, getMultipleValueSeparator, getName, getOperator, getOptionCriteria, getOptionFilterContext, getOptionOperationId, getPageLeft, getPageRect, getPageTop, getPicker, getPickerIconHeight, getPickerIconName, getPickerIconPrompt, getPickerIconProperties, getPickerIconSrc, getPickerIconStyle, getPickerIconWidth, getPixelHeight, getPixelWidth, getPrintTextBoxStyle, getPrintTitleStyle, getReadOnlyTextBoxStyle, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRowSpan, getSaveOnEnter, getScClassName, getSelectedRecord, getSelectOnClick, getSelectOnFocus, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDisabled, getShowErrorIcon, getShowErrorStyle, getShowErrorText, getShowFocused, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowOverIcons, getShowPickerIcon, getShowRTL, getShowValueIconOnly, getStaticHeight, getStopOnError, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextAlign, getTextBoxStyle, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitleStyle, getTitleVAlign, getTooltip, getTop, getType, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsRecordList, getValueField, getValueFieldName, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getVisible, getVisibleHeight, getVisibleWidth, getWidth, getWidthAsString, getWrapTitle, hide, hideIcon, invalidateDisplayValueCache, isCreated, isDisabled, isDrawn, isVisible, redraw, redraw, setAccessKey, setAlign, setAllowExpressions, setAlwaysFetchMissingValues, setApplyHeightToTextBox, setAriaRole, setAriaState, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoComplete, setBrowserSpellCheck, setCanEdit, setCanEditOpaqueValues, setCanFocus, setCanSelectText, setCellHeight, setCellStyle, setChangeOnKeypress, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setControlStyle, setCriteriaField, setCriterion, setDataPath, setDateFormatter, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisableIconsOnReadOnly, setDisplayField, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditorValueFormatter, setEditorValueParser, setEditPendingCSSText, setEditProxyConstructor, setEmptyDisplayValue, setEmptyValueIcon, setErrorFormatter, setErrorIconHeight, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setExportFormat, setFetchMissingValues, setFilterLocally, setForeignDisplayField, setFormat, setGlobalTabIndex, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverHeight, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconVAlign, setIconWidth, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputFormat, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setLeft, setLoadingDisplayValue, setLocateItemBy, setMultipleValueSeparator, setName, setNullProperty, setOperator, setOptionCriteria, setOptionDataSource, setOptionFilterContext, setOptionOperationId, setPickerIconHeight, setPickerIconName, setPickerIconPrompt, setPickerIconProperties, setPickerIconSrc, setPickerIconStyle, setPickerIconWidth, setPrintTextBoxStyle, setPrintTitleStyle, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyTextBoxStyle, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRowSpan, setSaveOnEnter, setScClassName, setSelectOnClick, setSelectOnFocus, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDisabled, setShowErrorIcon, setShowErrorStyle, setShowErrorText, setShowFocused, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIfCondition, setShowOverIcons, setShowPickerIcon, setShowRTL, setShowValueIconOnly, setStaticHeight, setStopOnError, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextAlign, setTextBoxStyle, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, setTitleVAlign, setTooltip, setTop, setType, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueField, setValueFormatter, setValueHoverFormatter, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setWidth, setWidth, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, showPicker, stopHover, storeValue, updateState, validate, valueClipped`

    - ### Methods inherited from class com.smartgwt.client.core.RefDataClass

      `getRef, getRef, internalSetID`

    - ### Methods inherited from class com.smartgwt.client.core.DataClass

      `applyFactoryProperties, doAddHandler, fireEvent, getAttributeAsDoubleArray, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated`

    - ### Methods inherited from class com.smartgwt.client.core.JsObject

      `equals, getJsObj, hashCode, setJavaScriptObject, setJsObj`

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

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

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

      `fireEvent`

- - ### Constructor Detail

    - #### ButtonItem

          public ButtonItem()

    - #### ButtonItem

          public ButtonItem(JavaScriptObject jsObj)

    - #### ButtonItem

          public ButtonItem(java.lang.String name)

    - #### ButtonItem

          public ButtonItem(java.lang.String name,
                    java.lang.String title)

  - ### Method Detail

    - #### getOrCreateRef

          public static ButtonItem getOrCreateRef(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.
      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.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

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

      Changes the defaults for DrawItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - DrawItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### changePickerIconDefaults

          public static void changePickerIconDefaults(FormItemIcon defaults)

    - #### setAutoFit

          public void setAutoFit(java.lang.Boolean autoFit)

      Should the button auto fit to its title. Maps to `autoFit` attribute. Note that if an explicit width or height is specified for this item, it will be respected, disabling autoFit behavior
      Parameters:
        `autoFit` - Default value is true

    - #### getAutoFit

          public java.lang.Boolean getAutoFit()

      Should the button auto fit to its title. Maps to `autoFit` attribute. Note that if an explicit width or height is specified for this item, it will be respected, disabling autoFit behavior
      Returns:
        Boolean

    - #### setBaseStyle

          public void setBaseStyle(java.lang.String baseStyle)

      Optional `baseStyle` will be applied to the button.
      Parameters:
        `baseStyle` - See `CSSStyleName` . Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getBaseStyle

          public java.lang.String getBaseStyle()

      Optional `baseStyle` will be applied to the button.
      Returns:
        See `CSSStyleName`
      See Also:
        `Appearance overview and related methods`

    - #### getButton

          public Canvas getButton()

      This item is an autoChild generated `Canvas` displayed by the ButtonItem and is an instance of `Button` by defaut, cuztomizeable via the `buttonConstructor` attribute.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Canvas

    - #### setEndRow

          public void setEndRow(java.lang.Boolean endRow)

      These items are in a row by themselves by default
      Overrides:
        `setEndRow` in class `FormItem`
      Parameters:
        `endRow` - Default value is true
      See Also:
        `FormLayout overview and related methods`

    - #### getEndRow

          public java.lang.Boolean getEndRow()

      These items are in a row by themselves by default
      Overrides:
        `getEndRow` in class `FormItem`
      Returns:
        Boolean
      See Also:
        `FormLayout overview and related methods`

    - #### setIcon

          public void setIcon(java.lang.String icon)

      Optional icon image to display on the button for this item. See `icon`.
      Parameters:
        `icon` - See `SCImgURL` . Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getIcon

          public java.lang.String getIcon()

      Optional icon image to display on the button for this item. See `icon`.
      Returns:
        See `SCImgURL`
      See Also:
        `Appearance overview and related methods`

    - #### setReadOnlyDisplay

          public void setReadOnlyDisplay(ReadOnlyDisplayAppearance readOnlyDisplay)

      If `canEdit` is set to `false`, how should this item be displayed to the user?

      The default value for ButtonItems is `disabled` - note that `readOnly` and `static` appearances have no effect for ButtonItems

      Overrides:
        `setReadOnlyDisplay` in class `FormItem`
      Parameters:
        `readOnlyDisplay` - Default value is "disabled"
      See Also:
        `DynamicForm.setReadOnlyDisplay(com.smartgwt.client.types.ReadOnlyDisplayAppearance)`

    - #### getReadOnlyDisplay

          public ReadOnlyDisplayAppearance getReadOnlyDisplay()

      If `canEdit` is set to `false`, how should this item be displayed to the user?

      The default value for ButtonItems is `disabled` - note that `readOnly` and `static` appearances have no effect for ButtonItems

      Overrides:
        `getReadOnlyDisplay` in class `FormItem`
      Returns:
        ReadOnlyDisplayAppearance
      See Also:
        `DynamicForm.getReadOnlyDisplay()`

    - #### setShowTitle

          public void setShowTitle(java.lang.Boolean showTitle)

      Buttons do not show a title by default.
      Overrides:
        `setShowTitle` in class `FormItem`
      Parameters:
        `showTitle` - Default value is false
      See Also:
        `Appearance overview and related methods`

    - #### getShowTitle

          public java.lang.Boolean getShowTitle()

      Buttons do not show a title by default.
      Overrides:
        `getShowTitle` in class `FormItem`
      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`

    - #### setStartRow

          public void setStartRow(java.lang.Boolean startRow)

      These items are in a row by themselves by default
      Overrides:
        `setStartRow` in class `FormItem`
      Parameters:
        `startRow` - Default value is true
      See Also:
        `FormLayout overview and related methods`

    - #### getStartRow

          public java.lang.Boolean getStartRow()

      These items are in a row by themselves by default
      Overrides:
        `getStartRow` in class `FormItem`
      Returns:
        Boolean
      See Also:
        `FormLayout overview and related methods`

    - #### addClickHandler

          public HandlerRegistration addClickHandler(ClickHandler handler)

      Add a click handler.

      Called when a ButtonItem is clicked on.

      Specified by:
        `addClickHandler` in interface `HasClickHandlers`
      Overrides:
        `addClickHandler` in class `FormItem`
      Parameters:
        `handler` - the click handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### setDefaultProperties

          public static void setDefaultProperties(ButtonItem buttonItemProperties)

      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 of the class instance passed to this function. 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:
        `buttonItemProperties` - properties that should be used as new defaults when instances of this class are created

    - #### getCanvas

          public Canvas getCanvas()

      Description copied from class: `CanvasItem`
      The canvas that will be displayed inside this item. You can pass an instance you've already created, or its global ID as a String. You can also implement `CanvasItem.createCanvas()` to dynamically create the canvas when the FormItem is initialized.

      If `canvas` and `createCanvas()` are unspecified, the canvas for this item will be auto-created using the overrideable defaults: `canvasProperties` and `canvasConstructor`

      Note that `canvasItem` will be set on the canvas to point back to this item.

      Overrides:
        `getCanvas` in class `CanvasItem`
      Returns:
        Canvas

    - #### setButtonProperties

          public void setButtonProperties(Button buttonProperties)

      Custom Properties to apply to the button item.
      Parameters:
        `buttonProperties` - properties to apply to the button item.