Class ButtonItem

All Implemented Interfaces:
HasHandlers, HasBlurHandlers, HasCanEditChangedHandlers, HasChangedHandlers, HasChangeHandlers, HasClickHandlers, HasDoubleClickHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFocusHandlers, HasIconClickHandlers, HasIconKeyPressHandlers, HasItemHoverHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasPendingStatusChangedHandlers, HasPickerIconClickHandlers, HasReadOnlyDisplayChangedHandlers, HasShowContextMenuHandlers, 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.
  • Constructor Details

    • ButtonItem

      public ButtonItem()
    • ButtonItem

      public ButtonItem(JavaScriptObject jsObj)
    • ButtonItem

      public ButtonItem(String name)
    • ButtonItem

      public ButtonItem(String name, String title)
  • Method Details

    • getOrCreateRef

      public static ButtonItem getOrCreateRef(JavaScriptObject jsObj)
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(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:
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(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:
    • changePickerIconDefaults

      public static void changePickerIconDefaults(FormItemIcon defaults)
    • setAutoFit

      public ButtonItem setAutoFit(Boolean autoFit)
      Should the button auto fit to its title. Maps to Button.autoFit attribute. Note that if an explicit width or height is specified for this item, it will be respected, disabling autoFit behavior
      Parameters:
      autoFit - New autoFit value. Default value is true
      Returns:
      ButtonItem instance, for chaining setter calls
    • getAutoFit

      public Boolean getAutoFit()
      Should the button auto fit to its title. Maps to Button.autoFit attribute. Note that if an explicit width or height is specified for this item, it will be respected, disabling autoFit behavior
      Returns:
      Current autoFit value. Default value is true
    • setBaseStyle

      public ButtonItem setBaseStyle(String baseStyle)
      Optional baseStyle will be applied to the button.
      Parameters:
      baseStyle - New baseStyle value. Default value is null
      Returns:
      ButtonItem instance, for chaining setter calls
      See Also:
    • getBaseStyle

      public String getBaseStyle()
      Optional baseStyle will be applied to the button.
      Returns:
      Current baseStyle value. Default value is null
      See Also:
    • 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.

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

      Returns:
      Current button value. Default value is null
    • setButtonTitleAlign

      public ButtonItem setButtonTitleAlign(Alignment buttonTitleAlign)
      The (horizontal) alignment of this button's title.

      If this method is called after the component has been drawn/initialized: Sets the (horizontal) alignment of this button's title.
      Parameters:
      buttonTitleAlign - new title alignment. Default value is "center"
      Returns:
      ButtonItem instance, for chaining setter calls
      See Also:
    • getButtonTitleAlign

      public Alignment getButtonTitleAlign()
      The (horizontal) alignment of this button's title.
      Returns:
      Current buttonTitleAlign value. Default value is "center"
      See Also:
    • setEditProxyConstructor

      public ButtonItem setEditProxyConstructor(String editProxyConstructor)
      Default class used to construct the EditProxy for this component when the component is first placed into edit mode.
      Overrides:
      setEditProxyConstructor in class FormItem
      Parameters:
      editProxyConstructor - New editProxyConstructor value. Default value is "ButtonItemEditProxy"
      Returns:
      ButtonItem instance, for chaining setter calls
      See Also:
    • getEditProxyConstructor

      public 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 FormItem
      Returns:
      Current editProxyConstructor value. Default value is "ButtonItemEditProxy"
      See Also:
    • setEnableWhen

      public ButtonItem setEnableWhen(AdvancedCriteria enableWhen)
      Criteria to be evaluated to determine whether this item should be enabled. This property is incompatible with readOnlyWhen and any setting you provide for the latter will be ignored if this property is set.

      Criteria are evaluated against the form's current values as well as the current rule context. Criteria are re-evaluated every time form values or the rule context changes, whether by end user action or by programmatic calls.

      A basic criteria uses textMatchStyle:"exact". When specified in Component XML this property allows shorthand formats for defining criteria.

      Note: A ButtonItem using enableWhen must have a name defined. shouldSaveValue can be set to false to prevent the field from storing its value into the form's values.

      Parameters:
      enableWhen - New enableWhen value. Default value is null
      Returns:
      ButtonItem instance, for chaining setter calls
      See Also:
    • getEnableWhen

      public AdvancedCriteria getEnableWhen()
      Criteria to be evaluated to determine whether this item should be enabled. This property is incompatible with readOnlyWhen and any setting you provide for the latter will be ignored if this property is set.

      Criteria are evaluated against the form's current values as well as the current rule context. Criteria are re-evaluated every time form values or the rule context changes, whether by end user action or by programmatic calls.

      A basic criteria uses textMatchStyle:"exact". When specified in Component XML this property allows shorthand formats for defining criteria.

      Note: A ButtonItem using enableWhen must have a name defined. shouldSaveValue can be set to false to prevent the field from storing its value into the form's values.

      Returns:
      Current enableWhen value. Default value is null
      See Also:
    • setEndRow

      public ButtonItem setEndRow(Boolean endRow)
      These items are in a row by themselves by default
      Overrides:
      setEndRow in class FormItem
      Parameters:
      endRow - New endRow value. Default value is true
      Returns:
      ButtonItem instance, for chaining setter calls
      See Also:
    • getEndRow

      public Boolean getEndRow()
      These items are in a row by themselves by default
      Overrides:
      getEndRow in class FormItem
      Returns:
      Current endRow value. Default value is true
      See Also:
    • setIcon

      public ButtonItem setIcon(String icon)
      Optional icon image to display on the button for this item. See Button.icon.
      Parameters:
      icon - New icon value. Default value is null
      Returns:
      ButtonItem instance, for chaining setter calls
      See Also:
    • getIcon

      public String getIcon()
      Optional icon image to display on the button for this item. See Button.icon.
      Returns:
      Current icon value. Default value is null
      See Also:
    • setReadOnlyDisplay

      public ButtonItem setReadOnlyDisplay(ReadOnlyDisplayAppearance readOnlyDisplay)
      If this item is read-only, how should this item be displayed to the user? If set, overrides the form-level DynamicForm.readOnlyDisplay default.
      Overrides:
      setReadOnlyDisplay in class FormItem
      Parameters:
      readOnlyDisplay - New readOnlyDisplay value. Default value is "disabled"
      Returns:
      ButtonItem instance, for chaining setter calls
      See Also:
    • getReadOnlyDisplay

      public ReadOnlyDisplayAppearance getReadOnlyDisplay()
      If this item is read-only, how should this item be displayed to the user? If set, overrides the form-level DynamicForm.readOnlyDisplay default.
      Overrides:
      getReadOnlyDisplay in class FormItem
      Returns:
      Current readOnlyDisplay value. Default value is "disabled"
      See Also:
    • setShowFocusedAsOver

      public ButtonItem setShowFocusedAsOver(Boolean showFocusedAsOver)
      This property governs whether showFocusedAsOver is true on the automatically created Button for this item.

      If this method is called after the component has been drawn/initialized: Sets showFocusedAsOver.
      Parameters:
      showFocusedAsOver - New showFocusedAsOver value. Default value is null
      Returns:
      ButtonItem instance, for chaining setter calls
    • getShowFocusedAsOver

      public Boolean getShowFocusedAsOver()
      This property governs whether showFocusedAsOver is true on the automatically created Button for this item.
      Returns:
      Current showFocusedAsOver value. Default value is null
    • setShowTitle

      public ButtonItem setShowTitle(Boolean showTitle)
      Buttons do not show a title by default.
      Overrides:
      setShowTitle in class FormItem
      Parameters:
      showTitle - New showTitle value. Default value is false
      Returns:
      ButtonItem instance, for chaining setter calls
      See Also:
    • getShowTitle

      public Boolean getShowTitle()
      Buttons do not show a title by default.
      Overrides:
      getShowTitle in class FormItem
      Returns:
      Current showTitle value. Default value is false
      See Also:
    • setStartRow

      public ButtonItem setStartRow(Boolean startRow)
      These items are in a row by themselves by default
      Overrides:
      setStartRow in class FormItem
      Parameters:
      startRow - New startRow value. Default value is true
      Returns:
      ButtonItem instance, for chaining setter calls
      See Also:
    • getStartRow

      public Boolean getStartRow()
      These items are in a row by themselves by default
      Overrides:
      getStartRow in class FormItem
      Returns:
      Current startRow value. Default value is true
      See Also:
    • 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
      See Also:
    • 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.

      If a canvas hasn't been specified via setCanvas(), the canvas for this item will be auto-created as configured by the methods setAutoChildProperties() and setAutoChildConstructor().

      Note that subclasses of CanvasItem may use a different AutoChild name than just "canvas". For example, SliderItem uses "slider", and in that case, you need to use the specific APIs provided by the subclass.

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

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

      Overrides:
      getCanvas in class CanvasItem
      Returns:
      Current canvas value. Default value is null
    • setButtonProperties

      public void setButtonProperties(Button buttonProperties)
      Custom Properties to apply to the button item.
      Parameters:
      buttonProperties - properties to apply to the button item.