com.smartgwt.client.widgets.form.fields

## Class FormItemIcon

- java.lang.Object
- - com.smartgwt.client.core.JsObject
  - - com.smartgwt.client.core.DataClass
    - - com.smartgwt.client.widgets.form.fields.FormItemIcon

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers, HasFormItemClickHandlers
  Direct Known Subclasses:
    PickerIcon

      public class FormItemIcon
      extends DataClass
      implements HasFormItemClickHandlers

  Form item icon descriptor objects used by Form Items to specify the appearance and behavior of icons displayed after the item in the page flow.
  See Also:
    `com.smartgwt.client.widgets.form.fields.FormItem#getIcons`

- - ### Field Summary

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

      `factoryCreated, factoryProperties, readOnly`

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

      `jsObj`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.event.shared.HandlerRegistration` | `addFormItemClickHandler(FormItemClickHandler handler)` Add a formItemClick handler.
    `boolean` | `equals(java.lang.Object o)`
    `java.lang.String` | `getBaseStyle()` Base CSS style.
    `java.lang.Boolean` | `getDisabled()` Whether this icon is disabled.
    `java.lang.Boolean` | `getDisableOnReadOnly()` If `FormItem.canEdit` is set to false, should this icon be disabled.
    `AdvancedCriteria` | `getEnableWhen()` Criteria to be evaluated to determine whether this icon should appear enabled.
    `java.lang.Integer` | `getHeight()` If set, this property determines the height of this icon in px.
    `java.lang.Integer` | `getHspace()` If set, this property determines the number of pixels space to be displayed on the left of this form item icon, or for `inline` icons whose `inlineIconAlign` is `Alignment.LEFT`, on the right of this form item icon.
    `PickListItemIconPlacement` | `getIconPlacement()` For PickList items with `PickListItemIconPlacement` set such that the pickList does not render near-origin, should this icon be rendered inline within the formItem itself, or within the `ComboBoxItem.pickerNavigationBar`.
    `java.lang.Boolean` | `getInline()` When set, this icon is rendered inside the `textBox` area of the `FormItem` (where input occurs in a `TextItem` or `ComboBoxItem`) as opposed to as a trailing icon.
    `Alignment` | `getInlineIconAlign()` Horizontal alignment for icons marked `inline`.
    `java.lang.String` | `getName()` Identifier for this form item icon.
    `java.lang.Boolean` | `getNeverDisable()` If `icon.neverDisable` is true, when this form item is disabled, the icon will remain enabled.
    `static FormItemIcon` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.String` | `getPrompt()` If set, this property will be displayed as a prompt (and tooltip text) for this form item icon.
    `java.lang.Boolean` | `getShowFocused()` Should this icon's image and/or `baseStyle` switch to the appropriate "Focused" value when the user puts focus on the form item or icon?
    `java.lang.Boolean` | `getShowFocusedWithItem()` If this icon will be updated to show focus (see `showFocused`, `FormItem.showFocusedIcons`), this property governs whether the focused state should be shown when the item as a whole receives focus or just if the icon receives focus.
    `java.lang.Boolean` | `getShowOver()` Should this icon's image and/or `baseStyle` switch to the appropriate "Over" value when the user rolls over or focuses on the icon?
    `IconOverTrigger` | `getShowOverWhen()` If `showOver` or `FormItem.showOverIcons` is true, this property may be set to customize when the 'over' styling is applied to the item.
    `java.lang.Boolean` | `getShowRTL()` Should this icon's `src` and/or `baseStyle` switch to the appropriate RTL value when the FormItem is in RTL mode? If true, then the image URL for all states will have "_rtl" added before the extension.
    `java.lang.String` | `getSrc()` If set, this property determines this icon's image source.
    `java.lang.Integer` | `getTabIndex()` TabIndex for this formItemIcon.
    `java.lang.String` | `getText()` As an alternative to displaying an image, an `inline` `FormItemIcon` can display a string of HTML where the icon's image would have appeared.
    `AdvancedCriteria` | `getVisibleWhen()` Criteria to be evaluated to determine whether this icon should be visible.
    `java.lang.Integer` | `getWidth()` If set, this property determines the width of this icon in px.
    `int` | `hashCode()`
    `void` | `keyPress(java.lang.String keyName, char character, DynamicForm form, FormItem item, FormItemIcon icon)` StringMethod action to fire when this icon has focus and receives a keypress event.
    `void` | `setBaseStyle(java.lang.String baseStyle)` Base CSS style.
    `void` | `setDisabled(java.lang.Boolean disabled)` Whether this icon is disabled.
    `void` | `setDisableOnReadOnly(java.lang.Boolean disableOnReadOnly)` If `FormItem.canEdit` is set to false, should this icon be disabled.
    `void` | `setEnableWhen(AdvancedCriteria enableWhen)` Criteria to be evaluated to determine whether this icon should appear enabled.
    `void` | `setHeight(java.lang.Integer height)` If set, this property determines the height of this icon in px.
    `void` | `setHspace(java.lang.Integer hspace)` If set, this property determines the number of pixels space to be displayed on the left of this form item icon, or for `inline` icons whose `inlineIconAlign` is `Alignment.LEFT`, on the right of this form item icon.
    `void` | `setIconPlacement(PickListItemIconPlacement iconPlacement)` For PickList items with `PickListItemIconPlacement` set such that the pickList does not render near-origin, should this icon be rendered inline within the formItem itself, or within the `ComboBoxItem.pickerNavigationBar`.
    `void` | `setInline(java.lang.Boolean inline)` When set, this icon is rendered inside the `textBox` area of the `FormItem` (where input occurs in a `TextItem` or `ComboBoxItem`) as opposed to as a trailing icon.
    `void` | `setInlineIconAlign(Alignment inlineIconAlign)` Horizontal alignment for icons marked `inline`.
    `void` | `setName(java.lang.String name)` Identifier for this form item icon.
    `void` | `setNeverDisable(java.lang.Boolean neverDisable)` If `icon.neverDisable` is true, when this form item is disabled, the icon will remain enabled.
    `void` | `setPrompt(java.lang.String prompt)` If set, this property will be displayed as a prompt (and tooltip text) for this form item icon.
    `void` | `setShowFocused(java.lang.Boolean showFocused)` Should this icon's image and/or `baseStyle` switch to the appropriate "Focused" value when the user puts focus on the form item or icon?
    `void` | `setShowFocusedWithItem(java.lang.Boolean showFocusedWithItem)` If this icon will be updated to show focus (see `showFocused`, `FormItem.showFocusedIcons`), this property governs whether the focused state should be shown when the item as a whole receives focus or just if the icon receives focus.
    `void` | `setShowIfCondition(FormItemIfFunction showIf)` Set showIf condition.
    `void` | `setShowOver(java.lang.Boolean showOver)` Should this icon's image and/or `baseStyle` switch to the appropriate "Over" value when the user rolls over or focuses on the icon?
    `void` | `setShowOverWhen(IconOverTrigger showOverWhen)` If `showOver` or `FormItem.showOverIcons` is true, this property may be set to customize when the 'over' styling is applied to the item.
    `void` | `setShowRTL(java.lang.Boolean showRTL)` Should this icon's `src` and/or `baseStyle` switch to the appropriate RTL value when the FormItem is in RTL mode? If true, then the image URL for all states will have "_rtl" added before the extension.
    `void` | `setSrc(java.lang.String src)` If set, this property determines this icon's image source.
    `void` | `setTabIndex(java.lang.Integer tabIndex)` TabIndex for this formItemIcon.
    `void` | `setText(java.lang.String text)` As an alternative to displaying an image, an `inline` `FormItemIcon` can display a string of HTML where the icon's image would have appeared.
    `void` | `setVisibleWhen(AdvancedCriteria visibleWhen)` Criteria to be evaluated to determine whether this icon should be visible.
    `void` | `setWidth(java.lang.Integer width)` If set, this property determines the width of this icon in px.

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

      `applyFactoryProperties, doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, getReadOnly, isFactoryCreated, logConfiguration, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated, setReadOnly`

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

      `getJsObj, isCreated, 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

    - #### FormItemIcon

          public FormItemIcon()

    - #### FormItemIcon

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

  - ### Method Detail

    - #### getOrCreateRef

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

    - #### setBaseStyle

          public void setBaseStyle(java.lang.String baseStyle)

      Base CSS style. If set, as the component changes state and/or is focused, suffixes will be added to the base style. Possible suffixes include "Over" if the user mouses over the icon and `this.showOver` is true, "Disabled" if the icon is disabled, and "Focused". In addition, if `showRTL` is enabled, then an "RTL" suffix will be added.

      Note : This is an advanced setting

      Parameters:
        `baseStyle` -
      See Also:
        `CSSStyleName . Default value is null`

    - #### getBaseStyle

          public java.lang.String getBaseStyle()

      Base CSS style. If set, as the component changes state and/or is focused, suffixes will be added to the base style. Possible suffixes include "Over" if the user mouses over the icon and `this.showOver` is true, "Disabled" if the icon is disabled, and "Focused". In addition, if `showRTL` is enabled, then an "RTL" suffix will be added.
      Returns:
      See Also:
        `CSSStyleName`

    - #### setDisabled

          public void setDisabled(java.lang.Boolean disabled)

      Whether this icon is disabled. Can be updated at runtime via the `FormItem.setIconDisabled()` method. Note that if the formItem containing this icon is disabled, the icon will behave in a disabled manner regardless of the setting of the icon.disabled property.
      Parameters:
        `disabled` - Default value is null
      See Also:
        `FormItem.setIconDisabled(java.lang.String, boolean)`, `Appearance overview and related methods`

    - #### getDisabled

          public java.lang.Boolean getDisabled()

      Whether this icon is disabled. Can be updated at runtime via the `FormItem.setIconDisabled()` method. Note that if the formItem containing this icon is disabled, the icon will behave in a disabled manner regardless of the setting of the icon.disabled property.
      Returns:
        Boolean
      See Also:
        `FormItem.setIconDisabled(java.lang.String, boolean)`, `Appearance overview and related methods`

    - #### setDisableOnReadOnly

          public void setDisableOnReadOnly(java.lang.Boolean disableOnReadOnly)

      If `FormItem.canEdit` is set to false, should this icon be disabled. If unset this is determined by `FormItem.disableIconsOnReadOnly`. Note that if `neverDisable` is set to true, the icons will be rendered enabled regardless of this setting and whether the item is editable.

      Note : This is an advanced setting

      Parameters:
        `disableOnReadOnly` - Default value is null

    - #### getDisableOnReadOnly

          public java.lang.Boolean getDisableOnReadOnly()

      If `FormItem.canEdit` is set to false, should this icon be disabled. If unset this is determined by `FormItem.disableIconsOnReadOnly`. Note that if `neverDisable` is set to true, the icons will be rendered enabled regardless of this setting and whether the item is editable.
      Returns:
        Boolean

    - #### setEnableWhen

          public void setEnableWhen(AdvancedCriteria enableWhen)

      Criteria to be evaluated to determine whether this icon should appear enabled.

      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 FormItemIcon using enableWhen must have a `name` defined on its FormItem.

      Parameters:
        `enableWhen` - Default value is null
      See Also:
        `RuleCriteria overview and related methods`

    - #### getEnableWhen

          public AdvancedCriteria getEnableWhen()

      Criteria to be evaluated to determine whether this icon should appear enabled.

      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 FormItemIcon using enableWhen must have a `name` defined on its FormItem.

      Returns:
        AdvancedCriteria
      See Also:
        `RuleCriteria overview and related methods`

    - #### setHeight

          public void setHeight(java.lang.Integer height)

      If set, this property determines the height of this icon in px. If unset the form item's `iconHeight` property will be used instead.
      Parameters:
        `height` - Default value is null
      See Also:
        `FormItem.setIconHeight(int)`

    - #### getHeight

          public java.lang.Integer getHeight()

      If set, this property determines the height of this icon in px. If unset the form item's `iconHeight` property will be used instead.
      Returns:
        Integer
      See Also:
        `FormItem.getIconHeight()`

    - #### setHspace

          public void setHspace(java.lang.Integer hspace)

      If set, this property determines the number of pixels space to be displayed on the left of this form item icon, or for `inline` icons whose `inlineIconAlign` is `Alignment.LEFT`, on the right of this form item icon. Must be non-negative. If unset, the form item's `iconHSpace` will be used instead.
      Parameters:
        `hspace` - Default value is null

    - #### getHspace

          public java.lang.Integer getHspace()

      If set, this property determines the number of pixels space to be displayed on the left of this form item icon, or for `inline` icons whose `inlineIconAlign` is `Alignment.LEFT`, on the right of this form item icon. Must be non-negative. If unset, the form item's `iconHSpace` will be used instead.
      Returns:
        Integer

    - #### setIconPlacement

          public void setIconPlacement(PickListItemIconPlacement iconPlacement)

      For PickList items with `PickListItemIconPlacement` set such that the pickList does not render near-origin, should this icon be rendered inline within the formItem itself, or within the `ComboBoxItem.pickerNavigationBar`.

      If not explicitly specified at the icon level, this will be picked up from PickList.iconPlacement.

      For mobile browsing with limited available screen space, icons rendered in the navigation bar may be easier for the user to interact with.

      Parameters:
        `iconPlacement` - Default value is null

    - #### getIconPlacement

          public PickListItemIconPlacement getIconPlacement()

      For PickList items with `PickListItemIconPlacement` set such that the pickList does not render near-origin, should this icon be rendered inline within the formItem itself, or within the `ComboBoxItem.pickerNavigationBar`.

      If not explicitly specified at the icon level, this will be picked up from PickList.iconPlacement.

      For mobile browsing with limited available screen space, icons rendered in the navigation bar may be easier for the user to interact with.

      Returns:
        PickListItemIconPlacement

    - #### setInline

          public void setInline(java.lang.Boolean inline)

      When set, this icon is rendered inside the `textBox` area of the `FormItem` (where input occurs in a `TextItem` or `ComboBoxItem`) as opposed to as a trailing icon.

      Use `inlineIconAlign` to control alignment of the icon. Multiple icons can be inlined on both the left and right side of the `textBox` area. `hspace` is honored for spacing between multiple adjacent icons.

      Inline icons are not supported in Internet Explorer 6, or when the `FormItem` is not a `TextItem` or `ComboBoxItem`. When unsupported, the icon will fall back to non-inline mode.

      The `picker icon`, if any, cannot be inlined.

      As an alternative to displaying an image, an inline icon may display a string of HTML instead. See `text`.

      Parameters:
        `inline` - Default value is false

    - #### getInline

          public java.lang.Boolean getInline()

      When set, this icon is rendered inside the `textBox` area of the `FormItem` (where input occurs in a `TextItem` or `ComboBoxItem`) as opposed to as a trailing icon.

      Use `inlineIconAlign` to control alignment of the icon. Multiple icons can be inlined on both the left and right side of the `textBox` area. `hspace` is honored for spacing between multiple adjacent icons.

      Inline icons are not supported in Internet Explorer 6, or when the `FormItem` is not a `TextItem` or `ComboBoxItem`. When unsupported, the icon will fall back to non-inline mode.

      The `picker icon`, if any, cannot be inlined.

      As an alternative to displaying an image, an inline icon may display a string of HTML instead. See `text`.

      Returns:
        Boolean

    - #### setInlineIconAlign

          public void setInlineIconAlign(Alignment inlineIconAlign)

      Horizontal alignment for icons marked `inline`.

      By default, the first icon that specifies inline is aligned left, and the second and all subsequent icons to the right. `"center"` alignment is invalid and will be ignored.

      In RTL mode, the alignment is automatically mirrored; `inlineIconAlign:"left"` results in the icon being placed on the right and `inlineIconAlign:"right"` results in the icon being placed on the left.

      Parameters:
        `inlineIconAlign` - Default value is null

    - #### getInlineIconAlign

          public Alignment getInlineIconAlign()

      Horizontal alignment for icons marked `inline`.

      By default, the first icon that specifies inline is aligned left, and the second and all subsequent icons to the right. `"center"` alignment is invalid and will be ignored.

      In RTL mode, the alignment is automatically mirrored; `inlineIconAlign:"left"` results in the icon being placed on the right and `inlineIconAlign:"right"` results in the icon being placed on the left.

      Returns:
        Alignment

    - #### setName

          public void setName(java.lang.String name)

      Identifier for this form item icon. This identifier (if set) should be unique within this form item and may be used to get a pointer to the icon object via `FormItem.getIcon()`.
      Parameters:
        `name` - Default value is null

    - #### getName

          public java.lang.String getName()

      Identifier for this form item icon. This identifier (if set) should be unique within this form item and may be used to get a pointer to the icon object via `FormItem.getIcon()`.
      Returns:
        String

    - #### setNeverDisable

          public void setNeverDisable(java.lang.Boolean neverDisable)

      If `icon.neverDisable` is true, when this form item is disabled, the icon will remain enabled. Note that disabling the entire form will disable all items, together with their icons including those marked as neverDisable - this property only has an effect if the form is enabled and a specific item is disabled within it.

      If this property is true, the icons will also remain enabled if a form item is marked as `canEdit:false`. For finer grained control over whether icons are enabled for read-only icons see `FormItem.disableIconsOnReadOnly` and `disableOnReadOnly`

      Note : This is an advanced setting

      Parameters:
        `neverDisable` - Default value is null

    - #### getNeverDisable

          public java.lang.Boolean getNeverDisable()

      If `icon.neverDisable` is true, when this form item is disabled, the icon will remain enabled. Note that disabling the entire form will disable all items, together with their icons including those marked as neverDisable - this property only has an effect if the form is enabled and a specific item is disabled within it.

      If this property is true, the icons will also remain enabled if a form item is marked as `canEdit:false`. For finer grained control over whether icons are enabled for read-only icons see `FormItem.disableIconsOnReadOnly` and `disableOnReadOnly`

      Returns:
        Boolean

    - #### setPrompt

          public void setPrompt(java.lang.String prompt)

      If set, this property will be displayed as a prompt (and tooltip text) for this form item icon.

      If unset the form item's `iconPrompt` property will be used instead.

      Note : This is an advanced setting

      Parameters:
        `prompt` -
      See Also:
        `HTMLString . Default value is null`, `FormItem.setIconPrompt(java.lang.String)`

    - #### getPrompt

          public java.lang.String getPrompt()

      If set, this property will be displayed as a prompt (and tooltip text) for this form item icon.

      If unset the form item's `iconPrompt` property will be used instead.

      Returns:
      See Also:
        `HTMLString`, `FormItem.getIconPrompt()`

    - #### setShowFocused

          public void setShowFocused(java.lang.Boolean showFocused)

      Should this icon's image and/or `baseStyle` switch to the appropriate "Focused" value when the user puts focus on the form item or icon?

      Note : This is an advanced setting

      Parameters:
        `showFocused` - Default value is null
      See Also:
        `FormItem.setShowFocusedIcons(java.lang.Boolean)`, `setShowFocusedWithItem(java.lang.Boolean)`

    - #### getShowFocused

          public java.lang.Boolean getShowFocused()

      Should this icon's image and/or `baseStyle` switch to the appropriate "Focused" value when the user puts focus on the form item or icon?
      Returns:
        Boolean
      See Also:
        `FormItem.getShowFocusedIcons()`, `getShowFocusedWithItem()`

    - #### setShowFocusedWithItem

          public void setShowFocusedWithItem(java.lang.Boolean showFocusedWithItem)

      If this icon will be updated to show focus (see `showFocused`, `FormItem.showFocusedIcons`), this property governs whether the focused state should be shown when the item as a whole receives focus or just if the icon receives focus. If this property is unset, default behavior is to show focused state when the item receives focus.

      Note : This is an advanced setting

      Parameters:
        `showFocusedWithItem` - Default value is null
      See Also:
        `FormItem.setShowFocusedIcons(java.lang.Boolean)`, `setShowFocused(java.lang.Boolean)`

    - #### getShowFocusedWithItem

          public java.lang.Boolean getShowFocusedWithItem()

      If this icon will be updated to show focus (see `showFocused`, `FormItem.showFocusedIcons`), this property governs whether the focused state should be shown when the item as a whole receives focus or just if the icon receives focus. If this property is unset, default behavior is to show focused state when the item receives focus.
      Returns:
        Boolean
      See Also:
        `FormItem.getShowFocusedIcons()`, `getShowFocused()`

    - #### setShowOver

          public void setShowOver(java.lang.Boolean showOver)

      Should this icon's image and/or `baseStyle` switch to the appropriate "Over" value when the user rolls over or focuses on the icon?

      Note if `FormItem.showOver` is true and `showOverWhen` is set to "textBox", this icon will show over state when the user rolls over the text box (or control table, if visible) for the item. This is most commonly used for `inline` icons.

      Note : This is an advanced setting

      Parameters:
        `showOver` - Default value is null
      See Also:
        `FormItem.setShowOverIcons(java.lang.Boolean)`

    - #### getShowOver

          public java.lang.Boolean getShowOver()

      Should this icon's image and/or `baseStyle` switch to the appropriate "Over" value when the user rolls over or focuses on the icon?

      Note if `FormItem.showOver` is true and `showOverWhen` is set to "textBox", this icon will show over state when the user rolls over the text box (or control table, if visible) for the item. This is most commonly used for `inline` icons.

      Returns:
        Boolean
      See Also:
        `FormItem.getShowOverIcons()`

    - #### setShowOverWhen

          public void setShowOverWhen(IconOverTrigger showOverWhen)

      If `showOver` or `FormItem.showOverIcons` is true, this property may be set to customize when the 'over' styling is applied to the item. If unset, rollover styling will be applied when the user is over the icon only.

      Note : This is an advanced setting

      Parameters:
        `showOverWhen` - Default value is null

    - #### getShowOverWhen

          public IconOverTrigger getShowOverWhen()

      If `showOver` or `FormItem.showOverIcons` is true, this property may be set to customize when the 'over' styling is applied to the item. If unset, rollover styling will be applied when the user is over the icon only.
      Returns:
        IconOverTrigger

    - #### setShowRTL

          public void setShowRTL(java.lang.Boolean showRTL)

      Should this icon's `src` and/or `baseStyle` switch to the appropriate RTL value when the FormItem is in RTL mode? If true, then the image URL for all states will have "_rtl" added before the extension. Also, if baseStyle is set, all style names will have an "RTL" suffix. This should only be enabled if RTL media is available.

      For example, if an icon's src is "[SKINIMG]formItemIcons/myFormIcon.png" and the baseStyle is "myFormIcon", then in the "Down" state, Smart GWT will use "[SKINIMG]formItemIcons/myFormIcon_Down_rtl.png" for the image source and "myFormIconDownRTL" for the style name.

      Note : This is an advanced setting

      Parameters:
        `showRTL` - Default value is null

    - #### getShowRTL

          public java.lang.Boolean getShowRTL()

      Should this icon's `src` and/or `baseStyle` switch to the appropriate RTL value when the FormItem is in RTL mode? If true, then the image URL for all states will have "_rtl" added before the extension. Also, if baseStyle is set, all style names will have an "RTL" suffix. This should only be enabled if RTL media is available.

      For example, if an icon's src is "[SKINIMG]formItemIcons/myFormIcon.png" and the baseStyle is "myFormIcon", then in the "Down" state, Smart GWT will use "[SKINIMG]formItemIcons/myFormIcon_Down_rtl.png" for the image source and "myFormIconDownRTL" for the style name.

      Returns:
        Boolean

    - #### setSrc

          public void setSrc(java.lang.String src)

      If set, this property determines this icon's image source. If unset the form item's `defaultIconSrc` property will be used instead.
      As with `defaultIconSrc` this URL will be modified by adding "_Over" or "_Disabled" if appropriate to show the icon's over or disabled state. If `showRTL` is enabled, then "_rtl" will be added to the source URL before the extension.

      The special value "blank" means that no image will be shown for this icon. This is particularly useful together with `baseStyle` to implement spriting of the different icon states.

      For an `inline` `FormItemIcon`, `text` may be specified to show a string of HTML instead of an image.

      Parameters:
        `src` -
      See Also:
        `SCImgURL . Default value is null`, `FormItem.setDefaultIconSrc(java.lang.String)`, Icons Example

    - #### getSrc

          public java.lang.String getSrc()

      If set, this property determines this icon's image source. If unset the form item's `defaultIconSrc` property will be used instead.
      As with `defaultIconSrc` this URL will be modified by adding "_Over" or "_Disabled" if appropriate to show the icon's over or disabled state. If `showRTL` is enabled, then "_rtl" will be added to the source URL before the extension.

      The special value "blank" means that no image will be shown for this icon. This is particularly useful together with `baseStyle` to implement spriting of the different icon states.

      For an `inline` `FormItemIcon`, `text` may be specified to show a string of HTML instead of an image.

      Returns:
      See Also:
        `SCImgURL`, `FormItem.getDefaultIconSrc()`, Icons Example

    - #### setTabIndex

          public void setTabIndex(java.lang.Integer tabIndex)

      TabIndex for this formItemIcon.

      Set to -1 to remove the icon from the tab order, but be cautious doing so: if the icon triggers important application functionality that cannot otherwise be accessed via the keyboard, it would be a violation of accessibility standard to remove the icon from the tab order.

      Any usage other than setting to -1 is extremely advanced in the same way as using `FormItem.globalTabIndex`.

      Note : This is an advanced setting

      Parameters:
        `tabIndex` - Default value is null

    - #### getTabIndex

          public java.lang.Integer getTabIndex()

      TabIndex for this formItemIcon.

      Set to -1 to remove the icon from the tab order, but be cautious doing so: if the icon triggers important application functionality that cannot otherwise be accessed via the keyboard, it would be a violation of accessibility standard to remove the icon from the tab order.

      Any usage other than setting to -1 is extremely advanced in the same way as using `FormItem.globalTabIndex`.

      Returns:
        Integer

    - #### setText

          public void setText(java.lang.String text)

      As an alternative to displaying an image, an `inline` `FormItemIcon` can display a string of HTML where the icon's image would have appeared. This enables advanced customizations such as using text, icon font symbols, Unicode dingbats and emoji, and/or SVG in place of an image.

      Setting an inline icon's text property will cause the HTML to be used instead of an image, as long as the browser and form item support inline icons.

      This property only has an effect on inline icons. If the inline property is false, or the browser or form item does not support inline icons, then the image specified by `src` (or the form item's `defaultIconSrc`) will be used.

      Typically, the HTML is styled via `baseStyle`.

      Auto-sizing of the HTML is not supported; the HTML will be clipped to the icon's `width` and `height`.

      Note : This is an advanced setting

      Parameters:
        `text` -
      See Also:
        `HTMLString . Default value is null`, Text Icons Example

    - #### getText

          public java.lang.String getText()

      As an alternative to displaying an image, an `inline` `FormItemIcon` can display a string of HTML where the icon's image would have appeared. This enables advanced customizations such as using text, icon font symbols, Unicode dingbats and emoji, and/or SVG in place of an image.

      Setting an inline icon's text property will cause the HTML to be used instead of an image, as long as the browser and form item support inline icons.

      This property only has an effect on inline icons. If the inline property is false, or the browser or form item does not support inline icons, then the image specified by `src` (or the form item's `defaultIconSrc`) will be used.

      Typically, the HTML is styled via `baseStyle`.

      Auto-sizing of the HTML is not supported; the HTML will be clipped to the icon's `width` and `height`.

      Returns:
      See Also:
        `HTMLString`, Text Icons Example

    - #### setVisibleWhen

          public void setVisibleWhen(AdvancedCriteria visibleWhen)

      Criteria to be evaluated to determine whether this icon should be visible.

      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 FormItemIcon using visibleWhen must have a `name` defined on its FormItem.

      Parameters:
        `visibleWhen` - Default value is null
      See Also:
        `RuleCriteria overview and related methods`

    - #### getVisibleWhen

          public AdvancedCriteria getVisibleWhen()

      Criteria to be evaluated to determine whether this icon should be visible.

      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 FormItemIcon using visibleWhen must have a `name` defined on its FormItem.

      Returns:
        AdvancedCriteria
      See Also:
        `RuleCriteria overview and related methods`

    - #### setWidth

          public void setWidth(java.lang.Integer width)

      If set, this property determines the width of this icon in px. If unset the form item's `iconWidth` property will be used instead.
      Parameters:
        `width` - Default value is null
      See Also:
        `FormItem.setIconWidth(int)`

    - #### getWidth

          public java.lang.Integer getWidth()

      If set, this property determines the width of this icon in px. If unset the form item's `iconWidth` property will be used instead.
      Returns:
        Integer
      See Also:
        `FormItem.getIconWidth()`

    - #### addFormItemClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addFormItemClickHandler(FormItemClickHandler handler)

      Add a formItemClick handler.

      Called when this icon is clicked. The default action is to call `FormItem.showPicker()`.

      Specified by:
        `addFormItemClickHandler` in interface `HasFormItemClickHandlers`
      Parameters:
        `handler` - the formItemClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### keyPress

          public void keyPress(java.lang.String keyName,
                               char character,
                               DynamicForm form,
                               FormItem item,
                               FormItemIcon icon)

      StringMethod action to fire when this icon has focus and receives a keypress event. If unset the form item's `iconKeyPress` method will be fired instead (if specified).
      Parameters:
        `keyName` - Name of the key pressed
        `character` - character produced by the keypress
        `form` - The Dynamic Form to which this icon's item belongs.
        `item` - The Form Item containing this icon
        `icon` - A pointer to the form item icon

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `JsObject`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `JsObject`

    - #### setShowIfCondition

          public void setShowIfCondition(FormItemIfFunction showIf)

      Set showIf condition.

      If specified, `icon.showIf` will be evaluated when the form item is drawn or redrawn. Return true if the icon should be visible, or false if it should be hidden. Note that if `FormItem.showIcon` or `FormItem.hideIcon` is called, this method will be overridden.

      Parameters:
        `handler` - the showIf handler