com.smartgwt.client.widgets.form.fields

## Class FormItem

- 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

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers, HasBlurHandlers, HasChangedHandlers, HasChangeHandlers, HasClickHandlers, HasDoubleClickHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFocusHandlers, HasIconClickHandlers, HasIconKeyPressHandlers, HasItemHoverHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasPendingStatusChangedHandlers, HasPickerIconClickHandlers, HasShowContextMenuHandlers, HasTitleClickHandlers, HasTitleDoubleClickHandlers, HasTitleHoverHandlers, HasValueHoverHandlers, HasValueIconClickHandlers
  Direct Known Subclasses:
    BlurbItem, CanvasItem, CheckboxItem, DateItem, HeaderItem, HiddenItem, NativeCheckboxItem, RadioGroupItem, SelectItem, SpacerItem, StaticTextItem, TextAreaItem, TextItem, TimeItem

      public class FormItem
      extends RefDataClass
      implements HasBlurHandlers, HasChangeHandlers, HasChangedHandlers, HasClickHandlers, HasDoubleClickHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFocusHandlers, HasIconClickHandlers, HasIconKeyPressHandlers, HasItemHoverHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasPendingStatusChangedHandlers, HasPickerIconClickHandlers, HasShowContextMenuHandlers, HasTitleClickHandlers, HasTitleDoubleClickHandlers, HasTitleHoverHandlers, HasValueHoverHandlers, HasValueIconClickHandlers

  A UI component that can participate in a DynamicForm, allowing editing or display of one of the `values tracked by the form`.

  FormItems do not render themselves, instead, they are provided to a `DynamicForm` via `DynamicForm.setItems()`

  See the `DynamicForm` documentation for details and sample code.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `FormItem.CustomStateGetter`
    `static interface` | `FormItem.StateCustomizer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `scClassName`
    `protected boolean` | `warnOnEditorTypeConversion`
    `protected static boolean` | `warnOnEditorTypeConversionDefault`

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

      `id`

    - ### 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
    `FormItem()`
    `FormItem(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `FormItem(java.lang.String name)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `_getValue()`
    `com.google.gwt.event.shared.HandlerRegistration` | `addBlurHandler(BlurHandler handler)` Add a blur handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addChangedHandler(ChangedHandler handler)` Add a changed handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addChangeHandler(ChangeHandler handler)` Add a change handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addClickHandler(ClickHandler handler)` Add a click handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addDoubleClickHandler(DoubleClickHandler handler)` Add a doubleClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addEditorEnterHandler(EditorEnterHandler handler)` Add a editorEnter handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addEditorExitHandler(EditorExitHandler handler)` Add a editorExit handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addFocusHandler(FocusHandler handler)` Add a focus handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addIconClickHandler(IconClickHandler handler)` Add a iconClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addIconKeyPressHandler(IconKeyPressHandler handler)` Add a iconKeyPress handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addItemHoverHandler(ItemHoverHandler handler)` Add a itemHover handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addKeyDownHandler(KeyDownHandler handler)` Add a keyDown handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addKeyPressHandler(KeyPressHandler handler)` Add a keyPress handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addKeyUpHandler(KeyUpHandler handler)` Add a keyUp handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addPendingStatusChangedHandler(PendingStatusChangedHandler handler)` Add a pendingStatusChanged handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addPickerIconClickHandler(PickerIconClickHandler handler)` Add a pickerIconClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addShowContextMenuHandler(ShowContextMenuHandler handler)` Add a showContextMenu handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addTitleClickHandler(TitleClickHandler handler)` Add a titleClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addTitleDoubleClickHandler(TitleDoubleClickHandler handler)` Add a titleDoubleClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addTitleHoverHandler(TitleHoverHandler handler)` Add a titleHover handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addValueHoverHandler(ValueHoverHandler handler)` Add a valueHover handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addValueIconClickHandler(ValueIconClickHandler handler)` Add a valueIconClick handler.
    `void` | `applyFormula()` Manually sets this FormItem to the result of `formula` or `textFormula`.
    `static <T extends RefDataClass> T` | `asSGWTComponent(com.google.gwt.core.client.JavaScriptObject jsObj)` Returns the existing SGWT FormItem, or creates and returns one if none exist, associated with the supplied `JavaScriptObject`.
    `void` | `blurItem()` Takes focus from this form item's focusable element.
    `java.lang.Boolean` | `canEditCriterion(Criterion criterion)` Calls the `canEditCriterion()` method of the `FormItemCanEditCriterionPredicate` that is registered with this field.
    `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`.
    `static void` | `changePickerIconDefaults(FormItemIcon defaults)`
    `void` | `clearErrors()` Clear all error messages for this item
    `void` | `clearValue()` Clear the value for this form item.
    `void` | `disable()` Set this item to be disabled at runtime.
    `void` | `disableIcon(java.lang.String icon)` This method will disable some icon in this item's `icons` array, if it is currently enabled.
    `void` | `enable()` Set this item to be enabled at runtime.
    `void` | `enableIcon(java.lang.String icon)` This method will enable some icon in this item's `icons` array, if it is currently disabled.
    `protected void` | `error(java.lang.String message)`
    `protected void` | `error(java.lang.String attribute, java.lang.String value)`
    `protected void` | `errorIfNotCreated(java.lang.String property)`
    `void` | `focusInItem()` Move the keyboard focus into this item's focusable element
    `java.lang.String` | `getAccessKey()` If specified this governs the HTML accessKey for the item.
    `Alignment` | `getAlign()` Alignment of this item in its cell.
    `java.lang.Boolean` | `getAllowExpressions()` For a form that produces filter criteria (see `form.getValuesAsCriteria()`), allows the user to type in simple expressions to cause filtering with that operator.
    `java.lang.Boolean` | `getAlwaysFetchMissingValues()` If this form item has a specified `optionDataSource` and `fetchMissingValues` is true, when the item value changes, a fetch will be performed against the optionDataSource to retrieve the related record if `displayField` is specified and the new item value is not present in any valueMap explicitly specified on the item.
    `boolean` | `getApplyAlignToText()` If the `textAlign` is unset, should the `align` setting, if set, be used for this item's `textAlign`?
    `java.lang.Boolean` | `getApplyHeightToTextBox()` If `height` is specified, should it be applied to the item's text box element?
    `java.lang.String` | `getAriaRole()` ARIA role of this formItem.
    `java.lang.String` | `getAttribute(java.lang.String attribute)` Returns attribute value as a String
    `java.lang.Boolean` | `getAttributeAsBoolean(java.lang.String property)` Returns attribute value set as a Boolean.
    `java.lang.Boolean` | `getAttributeAsBoolean(java.lang.String property, boolean allowNull)` Returns attribute value set as a Boolean.
    `java.util.Date` | `getAttributeAsDate(java.lang.String property)` Returns attribute value as a Date.
    `java.lang.Double` | `getAttributeAsDouble(java.lang.String property)` Returns attribute as a Double.
    `java.lang.Float` | `getAttributeAsFloat(java.lang.String property)` Returns attribute value as a Float.
    `java.lang.Integer` | `getAttributeAsInt(java.lang.String property)` Returns attribute value as an Integer.
    `com.google.gwt.core.client.JavaScriptObject` | `getAttributeAsJavaScriptObject(java.lang.String property)` Returns attribute value as a JavaScript Object.
    `java.lang.Object` | `getAttributeAsObject(java.lang.String property, com.google.gwt.core.client.JavaScriptObject convertToObject)`
    `java.lang.String` | `getAttributeAsString(java.lang.String property)` Returns attribute value as a String.
    `AutoComplete` | `getAutoComplete()` Should this item allow browser auto-completion of its value? Applies only to items based on native HTML form elements (`TextItem`, `PasswordItem`, etc), and will only have a user-visible impact for browsers where native autoComplete behavior is actually supported and enabled via user settings.
    `java.lang.String` | `getBrowserInputType()` Form item input type - governs which keyboard should be displayed for mobile devices (supported on iPhone / iPad)
    `java.lang.Boolean` | `getBrowserSpellCheck()` If this browser supports spell-checking of text editing elements, do we want this enabled for this item? If unset the property will be inherited from the containing form.
    `java.lang.Boolean` | `getCanEdit()` Is this form item editable (canEdit:true) or read-only (canEdit:false)? Setting the form item to non-editable causes it to render as read-only.
    `java.lang.Boolean` | `getCanEditOpaqueValues()` If true, indicates that this FormItem is capable of editing "opaque" values, ie, objects that are more complex than simple primitive types like numbers, strings and dates.
    `java.lang.Boolean` | `getCanFocus()` Is this form item focusable? Setting this property to true on an otherwise non-focusable element such as a `StaticTextItem` will cause the item to be included in the page's tab order and respond to keyboard events.
    `boolean` | `getCanSelectText()` For items showing a text value, should the user be able to select the text in this item?
    `java.lang.Boolean` | `getCanTabToIcons()` If set, this property determines if this form item's icons should be included in the page's tab order, with the same tabIndex as this form item?
    `Canvas` | `getCanvasAutoChild(java.lang.String autoChildName)` Returns the `Canvas` AutoChild named `autoChildName` if already created.
    `java.lang.Integer` | `getCellHeight()` If specified, this property will govern the height of the cell in which this form item is rendered.
    `java.lang.String` | `getCellStyle()` CSS style applied to the form item as a whole, including the text element, any icons, and any hint text for the item.
    `java.lang.Boolean` | `getChangeOnKeypress()` Should this form item fire its `change` handler (and store its value in the form) on every keypress? Set to `false` to suppress the 'change' handler firing (and the value stored) on every keypress.
    `java.lang.String` | `getClassName()` Returns the JavaScript class name.
    `java.lang.Boolean` | `getClipStaticValue()` If this item is `read-only` and is using `readOnlyDisplay` `ReadOnlyDisplayAppearance.STATIC`, should the item value be clipped if it overflows the specified size of the item? If set, overrides the form-level `DynamicForm.clipStaticValue` default.
    `java.lang.Boolean` | `getClipTitle()` If the title for this form item is showing, and is too large for the available space should the title be clipped?
    `com.google.gwt.core.client.JavaScriptObject` | `getConfig()` Returns the FormItem's config object suitable for use in API's that set the editorType
    `Canvas` | `getContainerWidget()` A Read-Only pointer to the Smart GWT canvas that holds this form item.
    `java.lang.String` | `getControlStyle()` Base CSS class name for a form item's control box (surrounds text box and picker).
    `java.lang.String` | `getCriteriaField()` When using `operator`, the name of the DataSource field for the `Criterion` this FormItem generates.
    `Criterion` | `getCriterion()` Calls the `getCriterion()` method of the `FormItemCriterionGetter` that is registered with this field.
    `Criterion` | `getCriterion(TextMatchStyle textMatchStyle)` Calls the `getCriterion()` method of the `FormItemCriterionGetter` that is registered with this field.
    `java.lang.Integer` | `getCursorPosition()` For text-based items, this method returns the index of the start of the current selection if the item currently has the focus (if no text is selected, this equates to the current position of the text editing cursor).
    `java.lang.String` | `getCustomState(FormItemElementType elementType, java.lang.String derivedState)` Optional method to retrieve a custom state suffix to append to the style name that is applied to some element of a formItem - see `FormItemBaseStyle` for more information on how state-based FormItem style names are derived.
    `java.lang.String` | `getDataPath()` dataPath for this item.
    `DateDisplayFormat` | `getDateFormatter()` Display format to use for date type values within this formItem.
    `java.lang.Integer` | `getDecimalPad()` Applies only to fields of type "float" and enforces a minimum number of digits shown after the decimal point.
    `java.lang.Integer` | `getDecimalPrecision()` Applies only to fields of type "float" and affects how many significant digits are shown.
    `java.lang.String` | `getDefaultIconSrc()` Default icon image source.
    `java.lang.Boolean` | `getDisabled()` Deprecated. Do not use this API. Instead, use `#isDisabled)`, which correctly inherits the disabled state from containers
    `java.lang.Boolean` | `getDisableIconsOnReadOnly()` If `canEdit` is set to false, should `icons` be disabled by default?
    `java.lang.String` | `getDisplayField()` Specifies an alternative field from which display values should be retrieved for this item.
    `java.lang.String` | `getDisplayFieldName()` Returns the `displayField` for this item.
    `java.lang.String` | `getDisplayValue()` Returns this item's value with any valueMap applied to it - the value as currently displayed to the user.
    `java.lang.String` | `getDisplayValue(java.lang.String value)` Returns this item's value with any valueMap applied to it - the value as currently displayed to the user.
    `com.google.gwt.core.client.JavaScriptObject` | `getEditorTypeConfig()`
    `java.lang.String` | `getEditPendingCSSText()` Custom CSS text to be applied to cells with pending edits that have not yet been submitted.
    `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.String` | `getEmptyDisplayValue()` Text to display when this form item has a null or undefined value.
    `java.lang.String` | `getEmptyValueIcon()` This property allows the developer to specify an icon to display when this item has no value.
    `java.lang.Boolean` | `getEndRow()` Whether this item should end the row it's in in the form layout
    `int` | `getErrorIconHeight()` Height of the error icon, if we're showing icons when validation errors occur.
    `java.lang.String` | `getErrorIconSrc()` URL of the image to show as an error icon, if we're showing icons when validation errors occur.
    `int` | `getErrorIconWidth()` Height of the error icon, if we're showing icons when validation errors occur.
    `int` | `getErrorMessageWidth()` When `DynamicForm.showInlineErrors` and `showErrorText` are both true and `errorOrientation` is "left" or "right", errorMessageWidth is the amount to reduce the width of the editor to accommodate the error message and icon.
    `java.lang.String[]` | `getErrors()` Returns any validation errors for this field.
    `java.lang.String` | `getExportFormat()` `FormatString` used during exports for numeric or date formatting.
    `java.lang.Boolean` | `getFetchMissingValues()` If this form item has a specified `optionDataSource`, should the item ever perform a fetch against this dataSource to retrieve the related record.
    `java.lang.String` | `getFieldName()` Return the name for the this formItem.
    `java.lang.Boolean` | `getFilterLocally()` If this form item is mapping data values to a display value by fetching records from a dataSource (see `optionDataSource`, `displayField` and `fetchMissingValues`), setting this property to true ensures that when the form item value is set, entire data-set from the dataSource is loaded at once and used as a valueMap, rather than just loading the display value for the current value.
    `java.lang.String` | `getForeignDisplayField()` For items with an `optionDataSource`, this property specifies an alternative field from which display values should be retrieved for this item.
    `DynamicForm` | `getForm()` A reference to the FormItem's DynamicForm.
    `java.lang.String` | `getFormat()` `FormatString` for numeric or date formatting.
    `FormItem` | `getFormItemAutoChild(java.lang.String autoChildName)` Returns the `FormItem` AutoChild named `autoChildName` if already created.
    `UserFormula` | `getFormula()` Formula to be used to calculate the numeric value of this FormItem.
    `java.lang.String` | `getFullDataPath()` Return the fully-qualified dataPath for the this formItem (ie, the dataPath expressed in absolute terms from the root of the hierarchy, rather than relative to the item's parent form).
    `java.lang.Integer` | `getGlobalTabIndex()` TabIndex for the form item within the page.
    `java.lang.Integer` | `getGridColNum()` If this formItem is part of a `ListGrid`'s `inline edit form`, returns the number of the grid column this formItem is responsible for editing, but only if a row is currently being edited.
    `java.lang.Integer` | `getGridRowNum()` If this formItem is part of a `ListGrid`'s `inline edit form`, returns the number of the row currently being edited.
    `int` | `getHeight()` Height of the FormItem.
    `java.lang.String` | `getHeightAsString()` Height of the FormItem.
    `java.lang.Boolean` | `getHidden()` Should this form item be hidden? Setting this property to `true` on an item configuration will have the same effect as having a `showIf()` implementation which returns `false`.
    `java.lang.String` | `getHint()` Specifies "hint" string to show next to the form item to indicate something to the user.
    `java.lang.String` | `getHintStyle()` CSS class for the "hint" string.
    `Alignment` | `getHoverAlign()` Text alignment for text displayed in this item's hover canvas, if shown.
    `java.lang.Integer` | `getHoverDelay()` If specified, this is the number of milliseconds to wait between the user rolling over this form item, and triggering any hover action for it. If not specified `this.form.itemHoverDelay` will be used instead.
    `java.lang.Integer` | `getHoverHeight()` Option to specify a height for any hover shown for this item.
    `java.lang.Integer` | `getHoverOpacity()` Opacity for any hover shown for this item
    `java.lang.String` | `getHoverStyle()` Explicit CSS Style for any hover shown for this item.
    `VerticalAlignment` | `getHoverVAlign()` Vertical text alignment for text displayed in this item's hover canvas, if shown.
    `java.lang.Integer` | `getHoverWidth()` Option to specify a width for any hover shown for this item.
    `FormItemIcon` | `getIcon(java.lang.String name)` Given a `FormItemIcon.name`, returns the `FormItemIcon` object.
    `int` | `getIconHeight()` Default height for form item icons.
    `int` | `getIconHSpace()` Horizontal space (in px) to leave between form item icons.
    `Rectangle` | `getIconPageRect(FormItemIcon icon)`
    `java.lang.String` | `getIconPrompt()` Default prompt (and tooltip-text) for icons.
    `Rectangle` | `getIconRect(FormItemIcon icon)`
    `VerticalAlignment` | `getIconVAlign()` How should icons be aligned vertically for this form item.
    `int` | `getIconWidth()` Default width for form item icons.
    `java.lang.String` | `getImageURLPrefix()` Prefix to apply to the beginning of any `valueIcons` when determining the URL for the image.
    `java.lang.String` | `getImageURLSuffix()` Suffix to apply to the end of any `valueIcons` when determining the URL for the image.
    `java.lang.Boolean` | `getImplicitSave()` When true, indicates that changes to this item will cause an automatic save on a `delay`, as well as when the entire form is submitted.
    `java.lang.Boolean` | `getImplicitSaveOnBlur()` If set to true, this item's value will be saved immediately when its "editorExit" handler is fired.
    `java.lang.String` | `getInputFormat()` For fields of type `"date"`, if this is an editable field such as a `TextItem`, this property allows you to specify the `inputFormat` applied to the item.
    `int` | `getLeft()` Left coordinate of this item in pixels.
    `java.lang.String` | `getLoadingDisplayValue()` Value shown in field when `fetchMissingValues` is active and a fetch is pending.
    `java.lang.String` | `getLocateItemBy()` When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for this form item, should the item be identified? If the locator has a specified `name`, it is considered to definitely locate the item and no fallback approach will be used.
    `java.lang.Integer` | `getMinHintWidth()` If this item is showing a `hint`, this setting specifies how much horizontal space is made available for rendering the hint text by default.
    `java.lang.String` | `getMultipleValueSeparator()` If this item is displaying multiple values, this property will be the string that separates those values for display purposes.
    `java.lang.String` | `getName()` Name for this form field.
    `OperatorId` | `getOperator()` `OperatorId` to be used when `DynamicForm.getValuesAsCriteria()` is called.
    `Criteria` | `getOptionCriteria()` If this item has a specified `optionDataSource`, and this property may be used to specify criteria to pass to the datasource when performing the fetch operation on the dataSource to obtain a data-value to display-value mapping
    `DataSource` | `getOptionDataSource()` If set, this FormItem will map stored values to display values as though a `com.smartgwt.client.types.ValueMap` were specified, by fetching records from the specified `optionDataSource` and extracting the `valueField` and `displayField` in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.
    `java.lang.String` | `getOptionDataSourceAsString()` If set, this FormItem will map stored values to display values as though a `com.smartgwt.client.types.ValueMap` were specified, by fetching records from the specified `optionDataSource` and extracting the `valueField` and `displayField` in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.
    `RPCRequest` | `getOptionFilterContext()` If this item has a specified `optionDataSource`, and this property is not null, this will be passed to the datasource as `RPCRequest` properties when performing the fetch operation on the dataSource to obtain a data-value to display-value mapping
    `java.lang.String` | `getOptionOperationId()` If this item has a specified `optionDataSource`, this attribute may be set to specify an explicit `DSRequest.operationId` when performing a fetch against the option dataSource to pick up display value mapping.
    `static FormItem` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.String` | `getOriginalValueMessage()` Message shown when `showOldValueInHover` is enabled and the value has been modified.
    `int` | `getPageLeft()` Returns the drawn page-left coordinate of this form item in pixels.
    `Rectangle` | `getPageRect()` Return the page-level coordinates of this object.
    `int` | `getPageTop()` Returns the drawn page-top coordinate of this form item in pixels.
    `Canvas` | `getPicker()` The component that will be displayed when `showPicker()` is called due to a click on the `picker icon`.
    `java.lang.Integer` | `getPickerIconHeight()` If `showPickerIcon` is true for this item, this property governs the size of the picker icon.
    `java.lang.String` | `getPickerIconName()` If `showPickerIcon` is true, this attribute specifies the `FormItemIcon.name` applied to the picker icon
    `java.lang.String` | `getPickerIconPrompt()` Prompt to show when the user hovers the mouse over the picker icon.
    `FormItemIcon` | `getPickerIconProperties()` If `showPickerIcon` is true for this item, this block of properties will be applied to the pickerIcon.
    `java.lang.String` | `getPickerIconSrc()` If `showPickerIcon` is true for this item, this property governs the `src` of the picker icon image to be displayed.
    `java.lang.String` | `getPickerIconStyle()` Base CSS class name for a form item's picker icon cell.
    `java.lang.Integer` | `getPickerIconWidth()` If `showPickerIcon` is true for this item, this property governs the size of the picker icon.
    `int` | `getPixelHeight()` Returns the specified `height` of this formItem in pixels.
    `int` | `getPixelWidth()` Returns the specified `width` of this formItem in pixels.
    `java.lang.String` | `getPrintTextBoxStyle()` Base CSS class name for a form item's text box element when getting printable HTML for the form.
    `java.lang.String` | `getPrintTitleStyle()` Base CSS stylename for a form item's title when generating print HTML for the item.
    `java.lang.String` | `getPrompt()` This text is shown as a tooltip prompt when the cursor hovers over this item.
    `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.
    `java.lang.String` | `getReadOnlyHover()` This text is shown as a tooltip prompt when the cursor hovers over this item and the item is `read-only`.
    `java.lang.String` | `getReadOnlyTextBoxStyle()` Base text box style to apply when this item is `read-only` and is using `readOnlyDisplay` `ReadOnlyDisplayAppearance.STATIC`.
    `AdvancedCriteria` | `getReadOnlyWhen()` Criteria to be evaluated to determine whether this FormItem should be made `read-only`.
    `Rectangle` | `getRect()` Return the coordinates of this object.
    `java.lang.Boolean` | `getRedrawOnChange()` If true, this item will cause the entire form to be redrawn when the item's "elementChanged" event is done firing
    `java.lang.Boolean` | `getRejectInvalidValueOnChange()` If validateOnChange is true, and validation fails for this item on change, with no suggested value, should we revert to the previous value, or continue to display the bad value entered by the user.
    `java.lang.Boolean` | `getRequired()` Whether a non-empty value is required for this field to pass validation.
    `java.lang.String` | `getRequiredMessage()` The required message for required field errors.
    `Criteria` | `getRequiredWhen()` Criteria to be evaluated to determine whether this FormItem should be `required`.
    `int` | `getRowSpan()` Number of rows that this item spans
    `java.lang.Boolean` | `getSaveOnEnter()` Set this to true to allow the parent form to save it's data when 'Enter' is pressed on this formItem and `saveOnEnter` is true on the parent form.
    `java.lang.String` | `getScClassName()` Get the name of the underlying SmartClient class
    `ListGridRecord` | `getSelectedRecord()` Get the record returned from the `optionDataSource` when `fetchMissingValues` is true, and the missing value is fetched.
    `java.lang.Boolean` | `getSelectOnClick()` Allows the `selectOnClick` behavior to be configured on a per-FormItem basis.
    `java.lang.Boolean` | `getSelectOnFocus()` Allows the `selectOnFocus` behavior to be configured on a per-FormItem basis.
    `java.lang.Boolean` | `getShouldSaveValue()` Should this item's value be saved in the form's values and hence returned from `form.getValues()`?
    `boolean` | `getShowClippedTitleOnHover()` If true and the title is clipped, then a hover containing the full title of this item is enabled.
    `java.lang.Boolean` | `getShowClippedValueOnHover()` If true and the value is clipped, then a hover containing the full value of this item is enabled.
    `java.lang.Boolean` | `getShowDeletions()` For items that support `multiple values`, this causes distinct CSS styling to be applied to values that the user has unselected.
    `java.lang.Boolean` | `getShowDisabled()` When this item is disabled, should it be re-styled to indicate its disabled state?
    `java.lang.Boolean` | `getShowErrorIcon()` `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error).
    `java.lang.Boolean` | `getShowErrorStyle()` `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error).
    `java.lang.Boolean` | `getShowErrorText()` `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error).
    `java.lang.Boolean` | `getShowFocused()` When this item receives focus, should it be re-styled to indicate it has focus?
    `java.lang.Boolean` | `getShowFocusedErrorState()` If set to true, when an item has errors and is focused, an "ErrorFocused" suffix will appear on the stylename.
    `java.lang.Boolean` | `getShowFocusedIcons()` If we're showing icons, should we change their image source to the appropriate focused source when this item has focus? Can be overridden on a per icon basis by the formItemIcon `showFocused` property.
    `java.lang.Boolean` | `getShowFocusedPickerIcon()` If `showPickerIcon` is true for this item, should the picker icon show a focused image when the form item has focus?
    `java.lang.Boolean` | `getShowHint()` If a hint is defined for this form item, should it be shown?
    `java.lang.Boolean` | `getShowIcons()` Set to false to suppress writing out any `icons` for this item.
    `java.lang.Boolean` | `getShowOldValueInHover()` Causes the original value to be shown to the end user when the user hovers over the FormItem as such (when the `FormItem.itemHover()` event would fire).
    `boolean` | `getShowOver()` When the user rolls over this item, should it be re-styled to indicate it has focus?
    `java.lang.Boolean` | `getShowOverIcons()` If we're showing icons, should we change their image source to the appropriate over source when the user rolls over (or puts focus onto) them? Can be overridden on a per icon basis by the formItemIcon `showOver` property.
    `java.lang.Boolean` | `getShowPending()` When `true`, causes the "Pending" optional suffix to be added if the item's current value differs from the value that would be restored by a call to `DynamicForm.resetValues()`.
    `java.lang.Boolean` | `getShowPickerIcon()` Should we show a special 'picker' `icon` for this form item? Picker icons are customizable via `pickerIconProperties`.
    `boolean` | `getShowRTL()` When this item is in RTL mode, should its style name include an "RTL" suffix?
    `java.lang.Boolean` | `getShowTitle()` Should we show a title cell for this formItem?
    `java.lang.Boolean` | `getShowValueIconOnly()` If `valueIcons` is set, this property may be set to show the valueIcon only and prevent the standard form item element or text from displaying
    `java.lang.Boolean` | `getStartRow()` Whether this item should always start a new row in the form layout.
    `java.lang.Integer` | `getStaticHeight()` Height of the FormItem when `canEdit` is false and `readOnlyDisplay` is "static".
    `java.lang.Boolean` | `getStopOnError()` Indicates that if validation fails, the user should not be allowed to exit the field - focus will be forced back into the field until the error is corrected.
    `boolean` | `getSupportsCutPasteEvents()` Does the current formItem support native cut and paste events?
    `java.lang.Boolean` | `getSuppressValueIcon()` If `valueIcons` is set, this property may be set to prevent the value icons from showing up next to the form items value
    `java.lang.Boolean` | `getSynchronousValidation()` If enabled, whenever validation is triggered and a request to the server is required, user interactivity will be blocked until the request returns.
    `java.lang.Integer` | `getTabIndex()` TabIndex for the form item within the form, which controls the order in which controls are visited when the user hits the tab or shift-tab keys to navigate between items.
    `Alignment` | `getTextAlign()` Alignment of the text / content within this form item.
    `java.lang.String` | `getTextBoxStyle()` Base CSS class name for a form item's text box element.
    `UserSummary` | `getTextFormula()` Formula to be used to calculate the text value of this FormItem.
    `TimeDisplayFormat` | `getTimeFormatter()` Time-format to apply to date type values within this formItem.
    `java.lang.String` | `getTitle()` User visible title for this form item.
    `Alignment` | `getTitleAlign()` Alignment of this item's title in its cell.
    `int` | `getTitleColSpan()` Number of columns that this item's title spans.
    `TitleOrientation` | `getTitleOrientation()` On which side of this item should the title be placed.
    `java.lang.String` | `getTitleStyle()` Base CSS class name for a form item's title.
    `VerticalAlignment` | `getTitleVAlign()` Vertical alignment of this item's title in its cell.
    `java.lang.String` | `getTooltip()` This text is shown as a tooltip prompt when the cursor hovers over this item.
    `int` | `getTop()` Top coordinate of this item in pixels.
    `java.lang.String` | `getType()` The DynamicForm picks a field renderer based on the type of the field (and sometimes other attributes of the field).
    `java.lang.Boolean` | `getUpdateControlOnOver()` If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the control table element of this item (if present).
    `java.lang.Boolean` | `getUpdatePickerIconOnOver()` If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the PickerIcon of this item (if present)
    `java.lang.Boolean` | `getUpdateTextBoxOnOver()` If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the TextBox element of this item.
    `java.lang.Boolean` | `getUseDisabledHintStyleForReadOnly()` By default, `read-only` fields use the same style name as editable fields for in-field hints, unless they are `disabled` or configured to use a disabled `ReadOnlyDisplayAppearance`.
    `java.lang.Boolean` | `getValidateOnChange()` If true, form items will be validated when each item's "change" handler is fired as well as when the entire form is submitted or validated.
    `java.lang.Boolean` | `getValidateOnExit()` If true, form items will be validated when each item's "editorExit" handler is fired as well as when the entire form is submitted or validated.
    `OperatorId[]` | `getValidOperators()` Array of valid filtering operators (eg "greaterThan") that are legal for this FormItem.
    `VerticalAlignment` | `getVAlign()` Vertical alignment of this item within its cell.
    `java.lang.Object` | `getValue()` Return the value tracked by this form item.
    `RecordList` | `getValueAsRecordList()`
    `java.lang.String` | `getValueDeselectedCSSText()` Custom CSS text to be applied to values that have been deleted, when `showDeletions` is enabled.
    `java.lang.String` | `getValueField()` If this form item maps data values to display values by retrieving the `displayField` values from an `optionDataSource`, this property denotes the the field to use as the underlying data value in records from the optionDataSource. If unset, assumed to be the `name` of this form item.
    `java.lang.String` | `getValueFieldName()` Getter method to retrieve the `valueField` for this item.
    `java.lang.Integer` | `getValueIconHeight()` If `valueIcons` is specified, use this property to specify a height for the value icon written out.
    `int` | `getValueIconLeftPadding()` If we're showing a value icon, this attribute governs the amount of space between the icon and the start edge of the form item cell.
    `int` | `getValueIconRightPadding()` If we're showing a value icon, this attribute governs the amount of space between the icon and the value text.
    `int` | `getValueIconSize()` If `valueIcons` is specified, this property may be used to specify both the width and height of the icon written out.
    `java.lang.Integer` | `getValueIconWidth()` If `valueIcons` is specified, use this property to specify a width for the value icon written out.
    `java.lang.Boolean` | `getVisible()` Whether this item is currently visible.
    `int` | `getVisibleHeight()` Output the drawn height for this item in pixels.
    `int` | `getVisibleTitleWidth(java.lang.Boolean labelOnly)` Returns the visible width of this item's title in px.
    `AdvancedCriteria` | `getVisibleWhen()` Criteria to be evaluated to determine whether this FormItem should be visible.
    `int` | `getVisibleWidth()` Output the drawn width for this item in pixels.
    `boolean` | `getWarnOnEditorTypeConversion()` Gets whether a warning will be logged if the Framework replaces this SmartGWT FormItem (that wraps the SmartClient item instance) to more closely match the underlying item's type.
    `static boolean` | `getWarnOnEditorTypeConversionDefault()` Gets whether, by default, a warning will be logged if the Framework replaces a SmartGWT FormItem (that wraps the SmartClient item instance) to more closely match the underlying item's type.
    `int` | `getWidth()` Width of the FormItem.
    `java.lang.String` | `getWidthAsString()` Width of the FormItem.
    `java.lang.Boolean` | `getWrapHintText()` If this item is showing a `hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.
    `java.lang.Boolean` | `getWrapTitle()` If specified determines whether this items title should wrap.
    `void` | `handleWarnOnEditorTypeConversion(FormItem oldItem, FormItem newItem)`
    `java.lang.Boolean` | `hasAdvancedCriteria()` Does this form item produce an `AdvancedCriteria` sub criterion object? If this method returns true, `DynamicForm.getValuesAsCriteria()` on the form containing this item will always return an `AdvancedCriteria` object, calling `FormItemCriterionGetter.getCriterion()` on each item to retrieve the individual criteria.
    `boolean` | `hasErrors()` Return whether this item currently has any validation errors as a result of a previous validation pass.
    `void` | `hide()` Hide this form item.
    `void` | `hideIcon(java.lang.String icon)` This method will hide some icon in this item's `icons` array, if it is currently visible.
    `void` | `invalidateDisplayValueCache()` If this item has a specified `displayField`, the value displayed to the user for this item may be derived from another field.
    `boolean` | `isCreated()`
    `boolean` | `isCutEvent()` Is the user performing a native "cut" event to modify the value of a freeform text field? This method may be invoked during change notification flow methods including `FormItem.change()`, `FormItem.changed()` and `FormItem.transformInput()`.
    `java.lang.Boolean` | `isDisabled()` Is this item disabled?
    `java.lang.Boolean` | `isDrawn()` Returns true if this item has been written out into the DOM.
    `java.lang.Boolean` | `isFocused()` Returns true if this formItem has the keyboard focus.
    `java.lang.Boolean` | `isInGrid()` Returns true if this item's `containerWidget` is a `GridRenderer` or GridRenderer subclass
    `boolean` | `isPasteEvent()` Is the user performing a native "paste" event to modify the value of a freeform text field? This method may be invoked during change notification flow methods including `FormItem.change()`, `FormItem.changed()` and `FormItem.transformInput()`.
    `java.lang.Boolean` | `isVisible()` Return true if the form item is currently visible.
    `void` | `linkToInstanceUponCreate()`
    `java.lang.Object` | `mapDisplayToValue(java.lang.String value)` Given a display value for this FormItem, return the underlying data value.
    `java.lang.String` | `mapValueToDisplay(com.google.gwt.core.client.JavaScriptObject value)`
    `java.lang.String` | `mapValueToDisplay(java.util.Map value)` Given a value for this FormItem, return the value to be displayed.
    `java.lang.String` | `mapValueToDisplay(java.lang.Object value)`
    `void` | `redraw()` Redraw this form item.
    `void` | `redraw(java.lang.String reason)` Redraw this form item.
    `void` | `setAccessKey(java.lang.String accessKey)` If specified this governs the HTML accessKey for the item.
    `void` | `setAlign(Alignment align)` Alignment of this item in its cell.
    `void` | `setAllowExpressions(java.lang.Boolean allowExpressions)` For a form that produces filter criteria (see `form.getValuesAsCriteria()`), allows the user to type in simple expressions to cause filtering with that operator.
    `void` | `setAlwaysFetchMissingValues(java.lang.Boolean alwaysFetchMissingValues)` If this form item has a specified `optionDataSource` and `fetchMissingValues` is true, when the item value changes, a fetch will be performed against the optionDataSource to retrieve the related record if `displayField` is specified and the new item value is not present in any valueMap explicitly specified on the item.
    `void` | `setApplyAlignToText(boolean applyAlignToText)` If the `textAlign` is unset, should the `align` setting, if set, be used for this item's `textAlign`?
    `void` | `setApplyHeightToTextBox(java.lang.Boolean applyHeightToTextBox)` If `height` is specified, should it be applied to the item's text box element?
    `void` | `setAriaRole(java.lang.String ariaRole)` ARIA role of this formItem.
    `void` | `setAriaState(java.lang.String stateName, java.lang.Object stateValue)` Set a specific ARIA state mapping for this form item.
    `void` | `setAttribute(java.lang.String attribute, BaseClass value)` Set attribute value to a BaseClass.
    `void` | `setAttribute(java.lang.String attribute, BaseClass[] value)` Set attribute value to a BaseClass array.
    `void` | `setAttribute(java.lang.String attribute, boolean value)` Set attribute value to a boolean.
    `void` | `setAttribute(java.lang.String attribute, java.lang.Boolean value)` Set attribute value to a Boolean.
    `void` | `setAttribute(java.lang.String attribute, DataClass value)` Set attribute value to a DataClass.
    `void` | `setAttribute(java.lang.String attribute, DataClass[] value)` Set attribute value to a DataClass array.
    `void` | `setAttribute(java.lang.String attribute, java.util.Date value)` Set attribute value to a Date.
    `void` | `setAttribute(java.lang.String attribute, double value)` Set attribute value to a double.
    `void` | `setAttribute(java.lang.String attribute, java.lang.Double value)` Set attribute value to a Double.
    `void` | `setAttribute(java.lang.String attribute, double[] value)` Set attribute value to a double array.
    `void` | `setAttribute(java.lang.String attribute, java.lang.Float value)` Set attribute value to a Float.
    `void` | `setAttribute(java.lang.String attribute, int value)` Set attribute value to an int.
    `void` | `setAttribute(java.lang.String attribute, int[] value)` Set attribute value to an int array.
    `void` | `setAttribute(java.lang.String attribute, java.lang.Integer value)` Set attribute value to an Integer.
    `void` | `setAttribute(java.lang.String attribute, java.lang.Integer[] value)` Set attribute value to an Integer array.
    `void` | `setAttribute(java.lang.String attribute, com.google.gwt.core.client.JavaScriptObject value)` Set attribute value to a JavaScriptObject.
    `void` | `setAttribute(java.lang.String attribute, long value)` Set attribute value to a long.
    `void` | `setAttribute(java.lang.String attribute, java.util.Map value)` Set attribute value to a Map.
    `void` | `setAttribute(java.lang.String attribute, java.lang.String value)` Set attribute value to a String
    `void` | `setAttribute(java.lang.String attribute, java.lang.String[] value)` Set attribute value to a String array.
    `void` | `setAttribute(java.lang.String attribute, ValueEnum[] value)` Set attribute value to a ValueEnum array.
    `void` | `setAutoChildConstructor(java.lang.String autoChildName, java.lang.String className)` Sets the SmartClient constructor for the AutoChild named `autoChildName`.
    `void` | `setAutoChildProperties(java.lang.String autoChildName, Canvas properties)` Sets the properties for creating a `Canvas` AutoChild named `autoChildName`.
    `void` | `setAutoChildProperties(java.lang.String autoChildName, EditProxy properties)` Sets the properties for creating an AutoChild named `autoChildName`.
    `void` | `setAutoChildProperties(java.lang.String autoChildName, FormItem properties)` Sets the properties for creating a `FormItem` AutoChild named `autoChildName`.
    `void` | `setAutoChildVisibility(java.lang.String autoChildName, boolean visible)` Sets whether to create and show the AutoChild named `autoChildName`.
    `void` | `setAutoComplete(AutoComplete autoComplete)` Should this item allow browser auto-completion of its value? Applies only to items based on native HTML form elements (`TextItem`, `PasswordItem`, etc), and will only have a user-visible impact for browsers where native autoComplete behavior is actually supported and enabled via user settings.
    `void` | `setBrowserInputType(java.lang.String browserInputType)` Form item input type - governs which keyboard should be displayed for mobile devices (supported on iPhone / iPad)
    `void` | `setBrowserSpellCheck(java.lang.Boolean browserSpellCheck)` If this browser supports spell-checking of text editing elements, do we want this enabled for this item? If unset the property will be inherited from the containing form.
    `void` | `setCanEdit(java.lang.Boolean canEdit)` Is this form item editable (canEdit:true) or read-only (canEdit:false)? Setting the form item to non-editable causes it to render as read-only.
    `void` | `setCanEditCriterionPredicate(FormItemCanEditCriterionPredicate predicate)` When a dynamic form is editing an advanced criteria object via `DynamicForm.setValuesAsCriteria`, this predicate is used to determine which sub-criteria apply to which form item(s).
    `void` | `setCanEditOpaqueValues(java.lang.Boolean canEditOpaqueValues)` If true, indicates that this FormItem is capable of editing "opaque" values, ie, objects that are more complex than simple primitive types like numbers, strings and dates.
    `void` | `setCanFocus(java.lang.Boolean canFocus)` Is this form item focusable? Setting this property to true on an otherwise non-focusable element such as a `StaticTextItem` will cause the item to be included in the page's tab order and respond to keyboard events.
    `void` | `setCanSelectText(boolean canSelectText)` For items showing a text value, should the user be able to select the text in this item?
    `void` | `setCanTabToIcons(java.lang.Boolean canTabToIcons)` If set, this property determines if this form item's icons should be included in the page's tab order, with the same tabIndex as this form item?
    `void` | `setCellHeight(java.lang.Integer cellHeight)` If specified, this property will govern the height of the cell in which this form item is rendered.
    `void` | `setCellStyle(java.lang.String cellStyle)` CSS style applied to the form item as a whole, including the text element, any icons, and any hint text for the item.
    `void` | `setChangeOnKeypress(java.lang.Boolean changeOnKeypress)` Should this form item fire its `change` handler (and store its value in the form) on every keypress? Set to `false` to suppress the 'change' handler firing (and the value stored) on every keypress.
    `void` | `setClipStaticValue(java.lang.Boolean clipStaticValue)` If this item is `read-only` and is using `readOnlyDisplay` `ReadOnlyDisplayAppearance.STATIC`, should the item value be clipped if it overflows the specified size of the item? If set, overrides the form-level `DynamicForm.clipStaticValue` default.
    `void` | `setClipTitle(java.lang.Boolean clipTitle)` If the title for this form item is showing, and is too large for the available space should the title be clipped?
    `void` | `setColSpan(int colSpan)` Number of columns that this item spans.
    `void` | `setColSpan(java.lang.String colSpan)` Number of columns that this item spans.
    `void` | `setControlStyle(java.lang.String controlStyle)` Base CSS class name for a form item's control box (surrounds text box and picker).
    `void` | `setCriteriaField(java.lang.String criteriaField)` When using `operator`, the name of the DataSource field for the `Criterion` this FormItem generates.
    `void` | `setCriterion(Criterion criterion)` Calls the `setCriterion()` method of the `FormItemCriterionSetter` that is registered with this field.
    `void` | `setCriterionGetter(FormItemCriterionGetter getter)` Provides a specialized criterion from this formItem when creating an AdvancedCriteria via `DynamicForm.getValuesAsCriteria`.
    `void` | `setCriterionSetter(FormItemCriterionSetter setter)` Set the method to update this form item to reflect a criterion object from within an AdvancedCriteria.
    `void` | `setCustomStateGetter(FormItem.CustomStateGetter getter)` Deprecated. Do not use CustomStateGetter; use `com.smartgwt.client.widgets.form.fields.FormItem.setStateCustomizer` instead
    `void` | `setDataPath(java.lang.String dataPath)` dataPath for this item.
    `void` | `setDateFormatter(DateDisplayFormat dateFormatter)` Display format to use for date type values within this formItem.
    `void` | `setDecimalPad(java.lang.Integer decimalPad)` Applies only to fields of type "float" and enforces a minimum number of digits shown after the decimal point.
    `void` | `setDecimalPrecision(java.lang.Integer decimalPrecision)` Applies only to fields of type "float" and affects how many significant digits are shown.
    `void` | `setDefaultIconSrc(java.lang.String defaultIconSrc)` Default icon image source.
    `static void` | `setDefaultProperties(FormItem formItemProperties)` Class level method to set the default properties of this class.
    `void` | `setDefaultValue(java.lang.Boolean defaultValue)` Value used when no value is provided for this item.
    `void` | `setDefaultValue(java.util.Date defaultValue)` Value used when no value is provided for this item.
    `void` | `setDefaultValue(java.lang.Double defaultValue)` Value used when no value is provided for this item.
    `void` | `setDefaultValue(java.lang.Float defaultValue)` Value used when no value is provided for this item.
    `void` | `setDefaultValue(java.lang.Integer defaultValue)` Value used when no value is provided for this item.
    `void` | `setDefaultValue(java.lang.Object value)`
    `void` | `setDefaultValue(java.lang.String defaultValue)` Value used when no value is provided for this item.
    `void` | `setDisabled(java.lang.Boolean disabled)` Sets whether this item is disabled.
    `void` | `setDisableIconsOnReadOnly(java.lang.Boolean disableIconsOnReadOnly)` If `canEdit` is set to false, should `icons` be disabled by default?
    `void` | `setDisplayField(java.lang.String displayField)` Specifies an alternative field from which display values should be retrieved for this item.
    `void` | `setDisplayFormat(DateDisplayFormat displayFormat)` Fields of type `"date"` or `"time"` will be edited using a `DateItem` or `TimeItem` by default.
    `void` | `setDisplayFormat(TimeFormatter displayFormat)` Fields of type `"date"` or `"time"` will be edited using a `DateItem` or `TimeItem` by default.
    `void` | `setEditorProperties(FormItem editorProperties)` Set default properties to use when editing.
    `void` | `setEditorType(java.lang.Class<? extends FormItem> editorType)` Set the FormItem subclass to use when editing.
    `void` | `setEditorType(FormItem editorType)` Deprecated. Renamed to `setEditorProperties(FormItem)`. You can also consider using `setEditorType(Class)` or `setEditorType(String)` instead.
    `void` | `setEditorType(java.lang.String editorType)` Set the FormItem subclass to use when editing.
    `void` | `setEditorValueFormatter(FormItemValueFormatter formatter)` An optional `FormItemValueFormatter` to map this item's current data value to a display value.
    `void` | `setEditorValueParser(FormItemValueParser valueParser)` An optional `FormItemValueParser` to map a user-entered display value to a data value for storage.
    `void` | `setEditPendingCSSText(java.lang.String editPendingCSSText)` Custom CSS text to be applied to cells with pending edits that have not yet been submitted.
    `void` | `setEditProxyConstructor(java.lang.String editProxyConstructor)` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `void` | `setEmptyDisplayValue(java.lang.String emptyDisplayValue)` Text to display when this form item has a null or undefined value.
    `void` | `setEmptyValueIcon(java.lang.String emptyValueIcon)` This property allows the developer to specify an icon to display when this item has no value.
    `void` | `setEndRow(java.lang.Boolean endRow)` Whether this item should end the row it's in in the form layout
    `void` | `setErrorFormatter(FormItemErrorFormatter errorFormatter)` Register a custom error formatter for this FormItem.
    `void` | `setErrorIconHeight(int errorIconHeight)` Height of the error icon, if we're showing icons when validation errors occur.
    `void` | `setErrorIconSrc(java.lang.String errorIconSrc)` URL of the image to show as an error icon, if we're showing icons when validation errors occur.
    `void` | `setErrorIconWidth(int errorIconWidth)` Height of the error icon, if we're showing icons when validation errors occur.
    `void` | `setErrorMessageWidth(int errorMessageWidth)` When `DynamicForm.showInlineErrors` and `showErrorText` are both true and `errorOrientation` is "left" or "right", errorMessageWidth is the amount to reduce the width of the editor to accommodate the error message and icon.
    `void` | `setErrorOrientation(FormErrorOrientation errorOrientation)` If `showInlineErrors` is true, where should the error icon and text appear relative to the form item itself.
    `void` | `setErrors(java.lang.String error)` Sets a validation error message for this field.
    `void` | `setErrors(java.lang.String[] errors)` Sets multiple validation error messages for this field.
    `void` | `setExportFormat(java.lang.String exportFormat)` `FormatString` used during exports for numeric or date formatting.
    `void` | `setFetchMissingValues(java.lang.Boolean fetchMissingValues)` If this form item has a specified `optionDataSource`, should the item ever perform a fetch against this dataSource to retrieve the related record.
    `void` | `setFilterLocally(java.lang.Boolean filterLocally)` If this form item is mapping data values to a display value by fetching records from a dataSource (see `optionDataSource`, `displayField` and `fetchMissingValues`), setting this property to true ensures that when the form item value is set, entire data-set from the dataSource is loaded at once and used as a valueMap, rather than just loading the display value for the current value.
    `void` | `setForeignDisplayField(java.lang.String foreignDisplayField)` For items with an `optionDataSource`, this property specifies an alternative field from which display values should be retrieved for this item.
    `void` | `setFormat(java.lang.String format)` `FormatString` for numeric or date formatting.
    `void` | `setFormula(UserFormula formula)` Formula to be used to calculate the numeric value of this FormItem.
    `void` | `setGlobalTabIndex(java.lang.Integer globalTabIndex)` TabIndex for the form item within the page.
    `void` | `setHeight(int height)` Height of the FormItem.
    `void` | `setHeight(java.lang.String height)` Height of the FormItem.
    `void` | `setHidden(java.lang.Boolean hidden)` Should this form item be hidden? Setting this property to `true` on an item configuration will have the same effect as having a `showIf()` implementation which returns `false`.
    `void` | `setHint(java.lang.String hint)` Specifies "hint" string to show next to the form item to indicate something to the user.
    `void` | `setHintStyle(java.lang.String hintStyle)` CSS class for the "hint" string.
    `void` | `setHoverAlign(Alignment hoverAlign)` Text alignment for text displayed in this item's hover canvas, if shown.
    `void` | `setHoverDelay(java.lang.Integer hoverDelay)` If specified, this is the number of milliseconds to wait between the user rolling over this form item, and triggering any hover action for it. If not specified `this.form.itemHoverDelay` will be used instead.
    `void` | `setHoverHeight(java.lang.Integer hoverHeight)` Option to specify a height for any hover shown for this item.
    `void` | `setHoverOpacity(java.lang.Integer hoverOpacity)` Opacity for any hover shown for this item
    `void` | `setHoverStyle(java.lang.String hoverStyle)` Explicit CSS Style for any hover shown for this item.
    `void` | `setHoverVAlign(VerticalAlignment hoverVAlign)` Vertical text alignment for text displayed in this item's hover canvas, if shown.
    `void` | `setHoverWidth(java.lang.Integer hoverWidth)` Option to specify a width for any hover shown for this item.
    `void` | `setIconDisabled(java.lang.String icon, boolean disabled)` Set an icon as enabled or disabled at runtime.
    `void` | `setIconHeight(int iconHeight)` Default height for form item icons.
    `void` | `setIconHSpace(int iconHSpace)` Horizontal space (in px) to leave between form item icons.
    `void` | `setIconPrompt(java.lang.String iconPrompt)` Default prompt (and tooltip-text) for icons.
    `void` | `setIcons(FormItemIcon... icons)` An array of descriptor objects for icons to display in a line after this form item.
    `void` | `setIconVAlign(VerticalAlignment iconVAlign)` How should icons be aligned vertically for this form item.
    `void` | `setIconWidth(int iconWidth)` Default width for form item icons.
    `void` | `setImageURLPrefix(java.lang.String imageURLPrefix)` Prefix to apply to the beginning of any `valueIcons` when determining the URL for the image.
    `void` | `setImageURLSuffix(java.lang.String imageURLSuffix)` Suffix to apply to the end of any `valueIcons` when determining the URL for the image.
    `void` | `setImplicitSave(java.lang.Boolean implicitSave)` When true, indicates that changes to this item will cause an automatic save on a `delay`, as well as when the entire form is submitted.
    `void` | `setImplicitSaveOnBlur(java.lang.Boolean implicitSaveOnBlur)` If set to true, this item's value will be saved immediately when its "editorExit" handler is fired.
    `void` | `setInitHandler(FormItemInitHandler initHandler)` Specify a notification method to fire when this formItem is initialized in JavaScript.
    `void` | `setInputFormat(java.lang.String inputFormat)` For fields of type `"date"`, if this is an editable field such as a `TextItem`, this property allows you to specify the `inputFormat` applied to the item.
    `void` | `setInputTransformer(FormItemInputTransformer inputTransformer)` The transformer is called when a FormItem's value is about to change as the result of user interaction.
    `void` | `setItemHoverFormatter(FormItemHoverFormatter hoverFormatter)` The FormItemHoverFormatter should return the HTML to display in a hover canvas when the user holds the mousepointer over this item.
    `void` | `setItemTitleHoverFormatter(FormItemHoverFormatter hoverFormatter)` The `FormItemHoverFormatter` should return the HTML to display in a hover canvas when the user holds the mouse pointer over this item's title and the title is clipped.
    `void` | `setItemValueHoverFormatter(FormItemHoverFormatter hoverFormatter)` The `FormItemHoverFormatter` should return the HTML to display in a hover canvas when the user holds the mouse pointer over this item's value and the value is clipped.
    `void` | `setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `void` | `setLeft(int left)` Left coordinate of this item in pixels.
    `void` | `setLoadingDisplayValue(java.lang.String loadingDisplayValue)` Value shown in field when `fetchMissingValues` is active and a fetch is pending.
    `void` | `setLocateItemBy(java.lang.String locateItemBy)` When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for this form item, should the item be identified? If the locator has a specified `name`, it is considered to definitely locate the item and no fallback approach will be used.
    `void` | `setMinHintWidth(java.lang.Integer minHintWidth)` If this item is showing a `hint`, this setting specifies how much horizontal space is made available for rendering the hint text by default.
    `void` | `setMultipleValueSeparator(java.lang.String multipleValueSeparator)` If this item is displaying multiple values, this property will be the string that separates those values for display purposes.
    `void` | `setName(java.lang.String name)` Name for this form field.
    `void` | `setNullProperty(java.lang.String property)`
    `void` | `setOperator(OperatorId operator)` `OperatorId` to be used when `DynamicForm.getValuesAsCriteria()` is called.
    `void` | `setOptionCriteria(Criteria optionCriteria)` If this item has a specified `optionDataSource`, and this property may be used to specify criteria to pass to the datasource when performing the fetch operation on the dataSource to obtain a data-value to display-value mapping
    `void` | `setOptionDataSource(DataSource optionDataSource)` If set, this FormItem will map stored values to display values as though a `com.smartgwt.client.types.ValueMap` were specified, by fetching records from the specified `optionDataSource` and extracting the `valueField` and `displayField` in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.
    `void` | `setOptionDataSource(java.lang.String optionDataSource)` If set, this FormItem will map stored values to display values as though a `com.smartgwt.client.types.ValueMap` were specified, by fetching records from the specified `optionDataSource` and extracting the `valueField` and `displayField` in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.
    `void` | `setOptionFilterContext(RPCRequest rpcRequestProperties)` If this item has a specified `optionDataSource`, and this property is not null, this will be passed to the datasource as `RPCRequest` properties when performing the fetch operation on the dataSource to obtain a data-value to display-value mapping
    `void` | `setOptionOperationId(java.lang.String optionOperationId)` If this item has a specified `optionDataSource`, this attribute may be set to specify an explicit `DSRequest.operationId` when performing a fetch against the option dataSource to pick up display value mapping.
    `void` | `setOriginalValueMessage(java.lang.String originalValueMessage)` Message shown when `showOldValueInHover` is enabled and the value has been modified.
    `void` | `setPickerIconHeight(java.lang.Integer pickerIconHeight)` If `showPickerIcon` is true for this item, this property governs the size of the picker icon.
    `void` | `setPickerIconName(java.lang.String pickerIconName)` If `showPickerIcon` is true, this attribute specifies the `FormItemIcon.name` applied to the picker icon
    `void` | `setPickerIconPrompt(java.lang.String pickerIconPrompt)` Prompt to show when the user hovers the mouse over the picker icon.
    `void` | `setPickerIconProperties(FormItemIcon pickerIconProperties)` If `showPickerIcon` is true for this item, this block of properties will be applied to the pickerIcon.
    `void` | `setPickerIconSrc(java.lang.String pickerIconSrc)` If `showPickerIcon` is true for this item, this property governs the `src` of the picker icon image to be displayed.
    `void` | `setPickerIconStyle(java.lang.String pickerIconStyle)` Base CSS class name for a form item's picker icon cell.
    `void` | `setPickerIconWidth(java.lang.Integer pickerIconWidth)` If `showPickerIcon` is true for this item, this property governs the size of the picker icon.
    `void` | `setPrintTextBoxStyle(java.lang.String printTextBoxStyle)` Base CSS class name for a form item's text box element when getting printable HTML for the form.
    `void` | `setPrintTitleStyle(java.lang.String printTitleStyle)` Base CSS stylename for a form item's title when generating print HTML for the item.
    `void` | `setPrompt(java.lang.String prompt)` This text is shown as a tooltip prompt when the cursor hovers over this item.
    `void` | `setProperty(java.lang.String property, boolean value)`
    `void` | `setProperty(java.lang.String property, double value)`
    `void` | `setProperty(java.lang.String property, int value)`
    `void` | `setProperty(java.lang.String property, com.google.gwt.core.client.JavaScriptObject value)`
    `void` | `setProperty(java.lang.String property, java.lang.String value)`
    `void` | `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.
    `void` | `setReadOnlyHover(java.lang.String readOnlyHover)` This text is shown as a tooltip prompt when the cursor hovers over this item and the item is `read-only`.
    `void` | `setReadOnlyTextBoxStyle(java.lang.String readOnlyTextBoxStyle)` Base text box style to apply when this item is `read-only` and is using `readOnlyDisplay` `ReadOnlyDisplayAppearance.STATIC`.
    `void` | `setReadOnlyWhen(AdvancedCriteria readOnlyWhen)` Criteria to be evaluated to determine whether this FormItem should be made `read-only`.
    `void` | `setRedrawOnChange(java.lang.Boolean redrawOnChange)` If true, this item will cause the entire form to be redrawn when the item's "elementChanged" event is done firing
    `void` | `setRejectInvalidValueOnChange(java.lang.Boolean rejectInvalidValueOnChange)` If validateOnChange is true, and validation fails for this item on change, with no suggested value, should we revert to the previous value, or continue to display the bad value entered by the user.
    `void` | `setRequired(java.lang.Boolean required)` Whether a non-empty value is required for this field to pass validation.
    `void` | `setRequiredMessage(java.lang.String requiredMessage)` The required message for required field errors.
    `void` | `setRequiredWhen(Criteria requiredWhen)` Criteria to be evaluated to determine whether this FormItem should be `required`.
    `void` | `setRowSpan(int rowSpan)` Number of rows that this item spans
    `void` | `setSaveOnEnter(java.lang.Boolean saveOnEnter)` Set this to true to allow the parent form to save it's data when 'Enter' is pressed on this formItem and `saveOnEnter` is true on the parent form.
    `void` | `setScClassName(java.lang.String scClassName)` Set the name of the underlying SmartClient class.
    `void` | `setSelectOnClick(java.lang.Boolean selectOnClick)` Allows the `selectOnClick` behavior to be configured on a per-FormItem basis.
    `void` | `setSelectOnFocus(java.lang.Boolean selectOnFocus)` Allows the `selectOnFocus` behavior to be configured on a per-FormItem basis.
    `void` | `setShouldSaveValue(java.lang.Boolean shouldSaveValue)` Should this item's value be saved in the form's values and hence returned from `form.getValues()`?
    `void` | `setShowClippedTitleOnHover(boolean showClippedTitleOnHover)` If true and the title is clipped, then a hover containing the full title of this item is enabled.
    `void` | `setShowClippedValueOnHover(java.lang.Boolean showClippedValueOnHover)` If true and the value is clipped, then a hover containing the full value of this item is enabled.
    `void` | `setShowDeletions(java.lang.Boolean showDeletions)` For items that support `multiple values`, this causes distinct CSS styling to be applied to values that the user has unselected.
    `void` | `setShowDisabled(java.lang.Boolean showDisabled)` When this item is disabled, should it be re-styled to indicate its disabled state?
    `void` | `setShowErrorIcon(java.lang.Boolean showErrorIcon)` `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error).
    `void` | `setShowErrorStyle(java.lang.Boolean showErrorStyle)` `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error).
    `void` | `setShowErrorText(java.lang.Boolean showErrorText)` `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error).
    `void` | `setShowFocused(java.lang.Boolean showFocused)` When this item receives focus, should it be re-styled to indicate it has focus?
    `void` | `setShowFocusedErrorState(java.lang.Boolean showFocusedErrorState)` If set to true, when an item has errors and is focused, an "ErrorFocused" suffix will appear on the stylename.
    `void` | `setShowFocusedIcons(java.lang.Boolean showFocusedIcons)` If we're showing icons, should we change their image source to the appropriate focused source when this item has focus? Can be overridden on a per icon basis by the formItemIcon `showFocused` property.
    `void` | `setShowFocusedPickerIcon(java.lang.Boolean showFocusedPickerIcon)` If `showPickerIcon` is true for this item, should the picker icon show a focused image when the form item has focus?
    `void` | `setShowHint(java.lang.Boolean showHint)` If a hint is defined for this form item, should it be shown?
    `void` | `setShowIcons(java.lang.Boolean showIcons)` Set to false to suppress writing out any `icons` for this item.
    `void` | `setShowIfCondition(FormItemIfFunction showIf)` Expression that's evaluated to see if an item should be dynamically hidden.
    `void` | `setShowOldValueInHover(java.lang.Boolean showOldValueInHover)` Causes the original value to be shown to the end user when the user hovers over the FormItem as such (when the `FormItem.itemHover()` event would fire).
    `void` | `setShowOver(boolean showOver)` When the user rolls over this item, should it be re-styled to indicate it has focus?
    `void` | `setShowOverIcons(java.lang.Boolean showOverIcons)` If we're showing icons, should we change their image source to the appropriate over source when the user rolls over (or puts focus onto) them? Can be overridden on a per icon basis by the formItemIcon `showOver` property.
    `void` | `setShowPending(java.lang.Boolean showPending)` When `true`, causes the "Pending" optional suffix to be added if the item's current value differs from the value that would be restored by a call to `DynamicForm.resetValues()`.
    `void` | `setShowPickerIcon(java.lang.Boolean showPickerIcon)` Should we show a special 'picker' `icon` for this form item? Picker icons are customizable via `pickerIconProperties`.
    `void` | `setShowRTL(boolean showRTL)` When this item is in RTL mode, should its style name include an "RTL" suffix?
    `void` | `setShowTitle(java.lang.Boolean showTitle)` Should we show a title cell for this formItem?
    `void` | `setShowValueIconOnly(java.lang.Boolean showValueIconOnly)` If `valueIcons` is set, this property may be set to show the valueIcon only and prevent the standard form item element or text from displaying
    `void` | `setStartRow(java.lang.Boolean startRow)` Whether this item should always start a new row in the form layout.
    `void` | `setStateCustomizer(FormItem.StateCustomizer customizer)` Specify a StateCustomizer to use for this formItem.
    `void` | `setStaticHeight(java.lang.Integer staticHeight)` Height of the FormItem when `canEdit` is false and `readOnlyDisplay` is "static".
    `void` | `setStopOnError(java.lang.Boolean stopOnError)` Indicates that if validation fails, the user should not be allowed to exit the field - focus will be forced back into the field until the error is corrected.
    `void` | `setSupportsCutPasteEvents(boolean supportsCutPasteEvents)` Does the current formItem support native cut and paste events?
    `void` | `setSuppressValueIcon(java.lang.Boolean suppressValueIcon)` If `valueIcons` is set, this property may be set to prevent the value icons from showing up next to the form items value
    `void` | `setSynchronousValidation(java.lang.Boolean synchronousValidation)` If enabled, whenever validation is triggered and a request to the server is required, user interactivity will be blocked until the request returns.
    `void` | `setTabIndex(java.lang.Integer tabIndex)` TabIndex for the form item within the form, which controls the order in which controls are visited when the user hits the tab or shift-tab keys to navigate between items.
    `void` | `setTextAlign(Alignment textAlign)` Alignment of the text / content within this form item.
    `void` | `setTextBoxStyle(java.lang.String textBoxStyle)` Base CSS class name for a form item's text box element.
    `void` | `setTextFormula(UserSummary textFormula)` Formula to be used to calculate the text value of this FormItem.
    `void` | `setTimeFormatter(TimeDisplayFormat timeFormatter)` Time-format to apply to date type values within this formItem.
    `void` | `setTitle(java.lang.String title)` User visible title for this form item.
    `void` | `setTitleAlign(Alignment titleAlign)` Alignment of this item's title in its cell.
    `void` | `setTitleColSpan(int titleColSpan)` Number of columns that this item's title spans.
    `void` | `setTitleHoverFormatter(FormItemHoverFormatter hoverFormatter)` Synonym for `setItemTitleHoverFormatter(FormItemHoverFormatter)`.
    `void` | `setTitleOrientation(TitleOrientation titleOrientation)` On which side of this item should the title be placed.
    `void` | `setTitleStyle(java.lang.String titleStyle)` Base CSS class name for a form item's title.
    `void` | `setTitleVAlign(VerticalAlignment titleVAlign)` Vertical alignment of this item's title in its cell.
    `void` | `setTooltip(java.lang.String tooltip)` This text is shown as a tooltip prompt when the cursor hovers over this item.
    `void` | `setTop(int top)` Top coordinate of this item in pixels.
    `void` | `setType(java.lang.String type)` The DynamicForm picks a field renderer based on the type of the field (and sometimes other attributes of the field).
    `void` | `setUpdateControlOnOver(java.lang.Boolean updateControlOnOver)` If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the control table element of this item (if present).
    `void` | `setUpdatePickerIconOnOver(java.lang.Boolean updatePickerIconOnOver)` If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the PickerIcon of this item (if present)
    `void` | `setUpdateTextBoxOnOver(java.lang.Boolean updateTextBoxOnOver)` If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the TextBox element of this item.
    `void` | `setUseDisabledHintStyleForReadOnly(java.lang.Boolean useDisabledHintStyleForReadOnly)` By default, `read-only` fields use the same style name as editable fields for in-field hints, unless they are `disabled` or configured to use a disabled `ReadOnlyDisplayAppearance`.
    `void` | `setValidateOnChange(java.lang.Boolean validateOnChange)` If true, form items will be validated when each item's "change" handler is fired as well as when the entire form is submitted or validated.
    `void` | `setValidateOnExit(java.lang.Boolean validateOnExit)` If true, form items will be validated when each item's "editorExit" handler is fired as well as when the entire form is submitted or validated.
    `void` | `setValidators(Validator... validators)` Validators for this form item.
    `void` | `setValidOperators(OperatorId... validOperators)` Array of valid filtering operators (eg "greaterThan") that are legal for this FormItem.
    `void` | `setVAlign(VerticalAlignment vAlign)` Vertical alignment of this item within its cell.
    `void` | `setValue(boolean value)` Set the value of the form item.
    `void` | `setValue(java.util.Date value)` Set the value of the form item.
    `void` | `setValue(double value)` Set the value of the form item.
    `void` | `setValue(int value)` Set the value of the form item.
    `void` | `setValue(java.lang.Object value)` Set the value of the form item as an object.
    `void` | `setValue(java.lang.String value)` Set the value of the form item.
    `void` | `setValueDeselectedCSSText(java.lang.String valueDeselectedCSSText)` Custom CSS text to be applied to values that have been deleted, when `showDeletions` is enabled.
    `void` | `setValueField(java.lang.String valueField)` If this form item maps data values to display values by retrieving the `displayField` values from an `optionDataSource`, this property denotes the the field to use as the underlying data value in records from the optionDataSource. If unset, assumed to be the `name` of this form item.
    `void` | `setValueFormatter(FormItemValueFormatter formatter)` Optional `FormItemValueFormatter`, if provided, is evaluated to get the display value to show for this form items underlying data value.
    `void` | `setValueHoverFormatter(FormItemHoverFormatter hoverFormatter)` Synonym for `setItemValueHoverFormatter(FormItemHoverFormatter)`.
    `void` | `setValueIconHeight(java.lang.Integer valueIconHeight)` If `valueIcons` is specified, use this property to specify a height for the value icon written out.
    `void` | `setValueIconLeftPadding(int valueIconLeftPadding)` If we're showing a value icon, this attribute governs the amount of space between the icon and the start edge of the form item cell.
    `void` | `setValueIconMapper(ValueIconMapper valueIconMapper)` Set the FormItem Value Icon mapper that allows the developer to specify the image source for an icon to be displayed for the current form item value.
    `void` | `setValueIconRightPadding(int valueIconRightPadding)` If we're showing a value icon, this attribute governs the amount of space between the icon and the value text.
    `void` | `setValueIcons(java.util.Map valueIcons)` Set the valueIcons for this item.
    `void` | `setValueIconSize(int valueIconSize)` If `valueIcons` is specified, this property may be used to specify both the width and height of the icon written out.
    `void` | `setValueIconWidth(java.lang.Integer valueIconWidth)` If `valueIcons` is specified, use this property to specify a width for the value icon written out.
    `void` | `setValueMap(java.util.LinkedHashMap valueMap)` Set the valueMap for this item.
    `void` | `setValueMap(java.lang.String... valueMap)` Set the valueMap for this item.
    `void` | `setVisible(java.lang.Boolean visible)` Whether this item is currently visible.
    `void` | `setVisibleWhen(AdvancedCriteria visibleWhen)` Criteria to be evaluated to determine whether this FormItem should be visible.
    `void` | `setWarnOnEditorTypeConversion(boolean warn)` Sets whether a warning will be logged if the Framework replaces this SmartGwt FormItem (that wraps the SmartClient item instance) to more closely match the underlying item's type when `getOrCreateRef()` is called.
    `static void` | `setWarnOnEditorTypeConversionDefault(boolean warn)` Sets whether, by default, a warning will be logged if the Framework replaces a SmartGWT FormItem (that wraps the SmartClient item instance) to more closely match the underlying item's type.
    `void` | `setWidth(int width)` Width of the FormItem.
    `void` | `setWidth(java.lang.String width)` Width of the FormItem.
    `void` | `setWrapHintText(java.lang.Boolean wrapHintText)` If this item is showing a `hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.
    `void` | `setWrapTitle(java.lang.Boolean wrapTitle)` If specified determines whether this items title should wrap.
    `boolean` | `shouldApplyHeightToTextBox()` If `height` is specified, should it be applied to the item's text box element? If this method returns false, the text box will not have an explicit height applied, though the containing cell will be sized to accomodiate any specified height.
    `java.lang.Boolean` | `shouldFetchMissingValue(java.lang.Object newValue)` If this field has a specified `optionDataSource`, should we perform a fetch against that dataSource to find the record that matches this field's value?
    `java.lang.Boolean` | `shouldSaveOnEnter()` Returns true if 'Enter' key presses in this formItem should allow a saveOnEnter: true parent form to save it's data.
    `boolean` | `shouldStopKeyPressBubbling(java.lang.String keyName, int characterValue)` Should some keypress event on this item be prevented from bubbling (such that the containing form and ancestors do not receive the event).
    `void` | `show()` Show this form item.
    `void` | `showIcon(java.lang.String icon)` This method will show some icon in this item's `icons` array, if it is not already visible.
    `void` | `showPicker()` Method to show a picker for this item.
    `void` | `stopHover()` This method is fired when the user rolls off this item (or the title for this item) and will clear any hover canvas shown by the item.
    `void` | `storeValue(java.lang.Object value)` Store (and optionally show) a value for this form item.
    `void` | `storeValue(java.lang.Object value, java.lang.Boolean showValue)` Store (and optionally show) a value for this form item.
    `void` | `updateState()` Update the visual state of a FormItem to reflect any changes in state or any changes in style settings (e.g.
    `java.lang.Boolean` | `validate()` Validate this item.
    `boolean` | `valueClipped()` Is the value clipped?

    - ### 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, getReadOnly, isFactoryCreated, logConfiguration, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated, setReadOnly`

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

      `equals, getJsObj, hashCode, 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`

- - ### Field Detail

    - #### scClassName

          protected java.lang.String scClassName

    - #### warnOnEditorTypeConversionDefault

          protected static boolean warnOnEditorTypeConversionDefault

    - #### warnOnEditorTypeConversion

          protected boolean warnOnEditorTypeConversion

  - ### Constructor Detail

    - #### FormItem

          public FormItem()

    - #### FormItem

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

    - #### FormItem

          public FormItem(java.lang.String name)

  - ### Method Detail

    - #### getOrCreateRef

          public static FormItem 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`

    - #### changePickerIconDefaults

          public static void changePickerIconDefaults(FormItemIcon defaults)

    - #### setAccessKey

          public void setAccessKey(java.lang.String accessKey)

      If specified this governs the HTML accessKey for the item.

      This should be set to a character - when a user hits the html accessKey modifier for the browser, plus this character, focus will be given to the item. The accessKey modifier can vary by browser and platform.

      The following list of default behavior is for reference only, developers should also consult browser documentation for additional information.

      - Internet Explorer (all platforms): `Alt` + accessKey
      - Mozilla Firefox (Windows, Unix): `Alt+Shift` + accessKey
      - Mozilla Firefox (Mac): `Ctrl+Opt` + accessKey
      - Chrome and Safari (Windows, Unix): `Alt` + accessKey
      - Chrome and Safari (Mac): `Ctrl+Opt` + accessKey
      Parameters:
        `accessKey` - Default value is null
      See Also:
        `Focus overview and related methods`

    - #### getAccessKey

          public java.lang.String getAccessKey()

      If specified this governs the HTML accessKey for the item.

      This should be set to a character - when a user hits the html accessKey modifier for the browser, plus this character, focus will be given to the item. The accessKey modifier can vary by browser and platform.

      The following list of default behavior is for reference only, developers should also consult browser documentation for additional information.

      - Internet Explorer (all platforms): `Alt` + accessKey
      - Mozilla Firefox (Windows, Unix): `Alt+Shift` + accessKey
      - Mozilla Firefox (Mac): `Ctrl+Opt` + accessKey
      - Chrome and Safari (Windows, Unix): `Alt` + accessKey
      - Chrome and Safari (Mac): `Ctrl+Opt` + accessKey
      Returns:
        String
      See Also:
        `Focus overview and related methods`

    - #### setAlign

          public void setAlign(Alignment align)

      Alignment of this item in its cell. Note that the alignment of text / content within this item is controlled separately via `textAlign` (typically `textAlign` applies to items showing a "textBox", such as a `TextItem` or `SelectItem`, as well as text-only form item types such as `StaticTextItem` and `HeaderItem`). If `applyAlignToText` is true, then the `textAlign` setting, if unset, will default to the `align` setting if set.
      Parameters:
        `align` - Default value is null
      See Also:
        `setApplyAlignToText(boolean)`, `Appearance overview and related methods`

    - #### getAlign

          public Alignment getAlign()

      Alignment of this item in its cell. Note that the alignment of text / content within this item is controlled separately via `textAlign` (typically `textAlign` applies to items showing a "textBox", such as a `TextItem` or `SelectItem`, as well as text-only form item types such as `StaticTextItem` and `HeaderItem`). If `applyAlignToText` is true, then the `textAlign` setting, if unset, will default to the `align` setting if set.
      Returns:
        Alignment
      See Also:
        `getApplyAlignToText()`, `Appearance overview and related methods`

    - #### setAllowExpressions

          public void setAllowExpressions(java.lang.Boolean allowExpressions)

      For a form that produces filter criteria (see `form.getValuesAsCriteria()`), allows the user to type in simple expressions to cause filtering with that operator. For example, entering ">5" means values greater than 5, and ">0 and <5" means values between 0 and 5.

      The following table lists character sequences that can be entered as a prefix to a value, and the corresponding `operator` that will be used.

      Prefix | Operator
      < | lessThan
      > | greaterThan
      <= | lessThanOrEqual
      >= | greaterThanOrEqual
      someValue...someValue | betweenInclusive
      ! | notEqual
      ^ | startsWith
      | | endsWith
      !^ | notStartsWith plus logical not
      !@ | notEndsWith plus logical not
      ~ | contains
      !~ | notContains
      # | isNull
      !# | isNotNull
      == | exact match (for fields where 'contains' is the default)

      Two further special notations are allowed:

      - /regex/ means the value is taken as a regular expression and applied via the "regexp" operator
      - =.fieldName means the value should match the value of another field. Either the user-visible title of the field (field.title) or the field's name (field.name) may be used.

      In all cases, if an operator is disallowed for the field (via `field.validOperators` at either the dataSource or field level), the operator character is ignored (treated as part of a literal value).

      By default, the case-insensitive version of the operator is used (eg, startsWith will actually use "iStartsWith"). To avoid this, explicitly set item.operator (the default operator) to any case sensitive operator (eg "equals" or "contains") and case sensitive operators will be used for user-entered expressions.

      Compound expressions (including "and" and "or") are allowed only for numeric or date/time types.

      Note that if the user does not type a prefix or use other special notation as described above, the operator specified via `operator` is used, or if `formItem.operator` is unspecified, a default operator chosen as described under `operator`.

      Also note that whatever you enter will be used literally, including any whitespace characters. For example if you input '== China ' then ' China ' will be the value.

      The `allowExpression` behavior can be enabled for every field in a form via `DynamicForm.allowExpressions`.

      Finally, note that, like `operator`, enabling `allowExpressions:true` causes `form.getValuesAsCriteria()`) to return `AdvancedCriteria`.

      Parameters:
        `allowExpressions` - Default value is null

    - #### getAllowExpressions

          public java.lang.Boolean getAllowExpressions()

      For a form that produces filter criteria (see `form.getValuesAsCriteria()`), allows the user to type in simple expressions to cause filtering with that operator. For example, entering ">5" means values greater than 5, and ">0 and <5" means values between 0 and 5.

      The following table lists character sequences that can be entered as a prefix to a value, and the corresponding `operator` that will be used.

      Prefix | Operator
      < | lessThan
      > | greaterThan
      <= | lessThanOrEqual
      >= | greaterThanOrEqual
      someValue...someValue | betweenInclusive
      ! | notEqual
      ^ | startsWith
      | | endsWith
      !^ | notStartsWith plus logical not
      !@ | notEndsWith plus logical not
      ~ | contains
      !~ | notContains
      # | isNull
      !# | isNotNull
      == | exact match (for fields where 'contains' is the default)

      Two further special notations are allowed:

      - /regex/ means the value is taken as a regular expression and applied via the "regexp" operator
      - =.fieldName means the value should match the value of another field. Either the user-visible title of the field (field.title) or the field's name (field.name) may be used.

      In all cases, if an operator is disallowed for the field (via `field.validOperators` at either the dataSource or field level), the operator character is ignored (treated as part of a literal value).

      By default, the case-insensitive version of the operator is used (eg, startsWith will actually use "iStartsWith"). To avoid this, explicitly set item.operator (the default operator) to any case sensitive operator (eg "equals" or "contains") and case sensitive operators will be used for user-entered expressions.

      Compound expressions (including "and" and "or") are allowed only for numeric or date/time types.

      Note that if the user does not type a prefix or use other special notation as described above, the operator specified via `operator` is used, or if `formItem.operator` is unspecified, a default operator chosen as described under `operator`.

      Also note that whatever you enter will be used literally, including any whitespace characters. For example if you input '== China ' then ' China ' will be the value.

      The `allowExpression` behavior can be enabled for every field in a form via `DynamicForm.allowExpressions`.

      Finally, note that, like `operator`, enabling `allowExpressions:true` causes `form.getValuesAsCriteria()`) to return `AdvancedCriteria`.

      Returns:
        Boolean

    - #### setAlwaysFetchMissingValues

          public void setAlwaysFetchMissingValues(java.lang.Boolean alwaysFetchMissingValues)

      If this form item has a specified `optionDataSource` and `fetchMissingValues` is true, when the item value changes, a fetch will be performed against the optionDataSource to retrieve the related record if `displayField` is specified and the new item value is not present in any valueMap explicitly specified on the item.

      Setting this property to true means that a fetch will occur against the optionDataSource to retrieve the related record even if `displayField` is unset, or the item has a valueMap which explicitly contains this field's value.

      An example of a use case where this might be set would be if `formatValue()` or `formatEditorValue()` were written to display properties from the `selected record`.

      Note - for efficiency we cache the associated record once a fetch has been performed, meaning if the value changes, then reverts to a previously seen value, we do not kick off an additional fetch even if this property is true. If necessary this cache may be explicitly invalidated via a call to `invalidateDisplayValueCache()`

      Note : This is an advanced setting

      Parameters:
        `alwaysFetchMissingValues` - Default value is false

    - #### getAlwaysFetchMissingValues

          public java.lang.Boolean getAlwaysFetchMissingValues()

      If this form item has a specified `optionDataSource` and `fetchMissingValues` is true, when the item value changes, a fetch will be performed against the optionDataSource to retrieve the related record if `displayField` is specified and the new item value is not present in any valueMap explicitly specified on the item.

      Setting this property to true means that a fetch will occur against the optionDataSource to retrieve the related record even if `displayField` is unset, or the item has a valueMap which explicitly contains this field's value.

      An example of a use case where this might be set would be if `formatValue()` or `formatEditorValue()` were written to display properties from the `selected record`.

      Note - for efficiency we cache the associated record once a fetch has been performed, meaning if the value changes, then reverts to a previously seen value, we do not kick off an additional fetch even if this property is true. If necessary this cache may be explicitly invalidated via a call to `invalidateDisplayValueCache()`

      Returns:
        Boolean

    - #### setApplyAlignToText

          public void setApplyAlignToText(boolean applyAlignToText)

      If the `textAlign` is unset, should the `align` setting, if set, be used for this item's `textAlign`?

      `applyAlignToText` defaults to false for most form item types. It defaults to true for `StaticTextItem` and `HeaderItem`, which are text-based form item types that do not have a natural distinction between the item and its cell.

      Note : This is an advanced setting

      Parameters:
        `applyAlignToText` - Default value is false
      See Also:
        `Appearance overview and related methods`

    - #### getApplyAlignToText

          public boolean getApplyAlignToText()

      If the `textAlign` is unset, should the `align` setting, if set, be used for this item's `textAlign`?

      `applyAlignToText` defaults to false for most form item types. It defaults to true for `StaticTextItem` and `HeaderItem`, which are text-based form item types that do not have a natural distinction between the item and its cell.

      Returns:
        boolean
      See Also:
        `Appearance overview and related methods`

    - #### setApplyHeightToTextBox

          public void setApplyHeightToTextBox(java.lang.Boolean applyHeightToTextBox)

      If `height` is specified, should it be applied to the item's text box element?

      If unset, behavior is determined as described in `shouldApplyHeightToTextBox()`

      Note : This is an advanced setting

      Parameters:
        `applyHeightToTextBox` - Default value is null

    - #### getApplyHeightToTextBox

          public java.lang.Boolean getApplyHeightToTextBox()

      If `height` is specified, should it be applied to the item's text box element?

      If unset, behavior is determined as described in `shouldApplyHeightToTextBox()`

      Returns:
        Boolean

    - #### setAriaRole

          public void setAriaRole(java.lang.String ariaRole)

      ARIA role of this formItem. Usually does not need to be manually set - see `Accessibility`.

      Note : This is an advanced setting

      Parameters:
        `ariaRole` - Default value is null
      See Also:
        `Accessibility overview and related methods`

    - #### getAriaRole

          public java.lang.String getAriaRole()

      ARIA role of this formItem. Usually does not need to be manually set - see `Accessibility`.
      Returns:
        String
      See Also:
        `Accessibility overview and related methods`

    - #### setAutoComplete

          public void setAutoComplete(AutoComplete autoComplete)

      Should this item allow browser auto-completion of its value? Applies only to items based on native HTML form elements (`TextItem`, `PasswordItem`, etc), and will only have a user-visible impact for browsers where native autoComplete behavior is actually supported and enabled via user settings.

      If unset, defaults to `DynamicForm.autoComplete`.

      Note that even with this value set to `"none"`, native browser auto-completion may occur for log in forms (forms containing username and `password` fields). This behavior varies by browser, and is a result of an intentional change by some browser developers to disregard the HTML setting autocomplete=off for password items or log-in forms.

      In some browsers any form redraw (including a redraw from a call to `DynamicForm.setValues()`) will re-populate the form with the natively remembered login credentials. This can make it very difficult to control the values displayed to the user, as a call to 'setValues()' may appear to be ignored. While behavior varies by browser we have specifically observed this behavior in Safari. Moreover in this browser, if the user asks the browser to remember login credentials for a URL, any form with a password item and a text item may be auto-filled with the remembered login credentials, even if the form's configuration and field names differ from those on the login form.

      If an application has both an initial log in form, and a separate form within the application which makes contains a Password item (a use case might be an interface for a user with manager privileges for modifying other users' passwords), this will cause the second form to autofill with unexpected values.

      Should this arise, developers can avoid this by making the initial log in interface into a separate log in page from the main application page. This is often good practice in any case for reasons outlined in the "Authentication" section of the Quick Start guide.

      Parameters:
        `autoComplete` - Default value is null
      See Also:
        `DynamicForm.setAutoComplete(com.smartgwt.client.types.AutoComplete)`

    - #### getAutoComplete

          public AutoComplete getAutoComplete()

      Should this item allow browser auto-completion of its value? Applies only to items based on native HTML form elements (`TextItem`, `PasswordItem`, etc), and will only have a user-visible impact for browsers where native autoComplete behavior is actually supported and enabled via user settings.

      If unset, defaults to `DynamicForm.autoComplete`.

      Note that even with this value set to `"none"`, native browser auto-completion may occur for log in forms (forms containing username and `password` fields). This behavior varies by browser, and is a result of an intentional change by some browser developers to disregard the HTML setting autocomplete=off for password items or log-in forms.

      In some browsers any form redraw (including a redraw from a call to `DynamicForm.setValues()`) will re-populate the form with the natively remembered login credentials. This can make it very difficult to control the values displayed to the user, as a call to 'setValues()' may appear to be ignored. While behavior varies by browser we have specifically observed this behavior in Safari. Moreover in this browser, if the user asks the browser to remember login credentials for a URL, any form with a password item and a text item may be auto-filled with the remembered login credentials, even if the form's configuration and field names differ from those on the login form.

      If an application has both an initial log in form, and a separate form within the application which makes contains a Password item (a use case might be an interface for a user with manager privileges for modifying other users' passwords), this will cause the second form to autofill with unexpected values.

      Should this arise, developers can avoid this by making the initial log in interface into a separate log in page from the main application page. This is often good practice in any case for reasons outlined in the "Authentication" section of the Quick Start guide.

      Returns:
        AutoComplete
      See Also:
        `DynamicForm.getAutoComplete()`

    - #### setBrowserInputType

          public void setBrowserInputType(java.lang.String browserInputType)

      Form item input type - governs which keyboard should be displayed for mobile devices (supported on iPhone / iPad)

      Note : This is an advanced setting

      Parameters:
        `browserInputType` - Default value is null

    - #### getBrowserInputType

          public java.lang.String getBrowserInputType()

      Form item input type - governs which keyboard should be displayed for mobile devices (supported on iPhone / iPad)
      Returns:
        String

    - #### setBrowserSpellCheck

          public void setBrowserSpellCheck(java.lang.Boolean browserSpellCheck)

      If this browser supports spell-checking of text editing elements, do we want this enabled for this item? If unset the property will be inherited from the containing form.

      Notes:
      - this property only applies to text based items such as TextItem and TextAreaItem.
      - this property is not supported on all browsers.

      Note : This is an advanced setting

      Parameters:
        `browserSpellCheck` - Default value is null
      See Also:
        `DynamicForm.setBrowserSpellCheck(java.lang.Boolean)`

    - #### getBrowserSpellCheck

          public java.lang.Boolean getBrowserSpellCheck()

      If this browser supports spell-checking of text editing elements, do we want this enabled for this item? If unset the property will be inherited from the containing form.

      Notes:
      - this property only applies to text based items such as TextItem and TextAreaItem.
      - this property is not supported on all browsers.

      Returns:
        Boolean
      See Also:
        `DynamicForm.getBrowserSpellCheck()`

    - #### setCanEdit

          public void setCanEdit(java.lang.Boolean canEdit)

      Is this form item editable (canEdit:true) or read-only (canEdit:false)? Setting the form item to non-editable causes it to render as read-only. Can be updated at runtime via the `setCanEdit()` method.

      Read-only appearance may be specified via `readOnlyDisplay`. The default setting for this value (`"readOnly"`) differs from the disabled state in that the form item is not rendered with disabled styling and most form items will allow copying of the contents while read-only but do not while disabled.

      Note that for forms bound to a `DataSource`, if this property is not explicitly set at the item level, its default value will match the `DynamicForm.canEditFieldAttribute` on the associated dataSource field.

      Developers should also be aware that the `readOnlyDisplay` attribute is unrelated to the `DataSourceField.readOnlyEditorType` attribute. When a DynamicForm is first bound to a dataSource, for `canEdit:false` DataSourceFields, `DataSourceField.readOnlyEditorType` will determine what `FormItemType` should be created for the field. Once created, a FormItem's type can not be changed. Setting `canEdit` at runtime will simply change the appearance of the item to allow or disallow editing of the item.

      Note that this property may validly be `null` as a distinct state from `false`. See `DynamicForm.fieldIsEditable()` for an API that will always return `true` or `false` and give a definitive answer as to whether editing is possible.
      If this method is called after the component has been drawn/initialized: Is this form item editable (canEdit:true) or read-only (canEdit:false)? Setting the form item to non-editable causes it to render as read-only, using the appearance specified via `readOnlyDisplay`.

      The default appearance for canEdit:false items (`readOnlyDisplay:"readOnly"`) differs from the disabled state in that the form item is not rendered with disabled styling and most form items will allow copying of the contents while read-only but do not while disabled.

      Parameters:
        `canEdit` - Can this form item be edited?. Default value is null
      See Also:
        `setCanEdit(java.lang.Boolean)`, `DynamicForm.setCanEdit(java.lang.Boolean)`

    - #### getCanEdit

          public java.lang.Boolean getCanEdit()

      Is this form item editable (canEdit:true) or read-only (canEdit:false)? Setting the form item to non-editable causes it to render as read-only. Can be updated at runtime via the `setCanEdit()` method.

      Read-only appearance may be specified via `readOnlyDisplay`. The default setting for this value (`"readOnly"`) differs from the disabled state in that the form item is not rendered with disabled styling and most form items will allow copying of the contents while read-only but do not while disabled.

      Note that for forms bound to a `DataSource`, if this property is not explicitly set at the item level, its default value will match the `DynamicForm.canEditFieldAttribute` on the associated dataSource field.

      Developers should also be aware that the `readOnlyDisplay` attribute is unrelated to the `DataSourceField.readOnlyEditorType` attribute. When a DynamicForm is first bound to a dataSource, for `canEdit:false` DataSourceFields, `DataSourceField.readOnlyEditorType` will determine what `FormItemType` should be created for the field. Once created, a FormItem's type can not be changed. Setting `canEdit` at runtime will simply change the appearance of the item to allow or disallow editing of the item.

      Note that this property may validly be `null` as a distinct state from `false`. See `DynamicForm.fieldIsEditable()` for an API that will always return `true` or `false` and give a definitive answer as to whether editing is possible.

      Returns:
        Is this form item editable or read-only?

        This setting differs from the enabled/disabled state in that most form items will allow copying of the contents while read-only but do not while disabled.

      See Also:
        `setCanEdit(java.lang.Boolean)`, `DynamicForm.setCanEdit(java.lang.Boolean)`

    - #### setCanEditOpaqueValues

          public void setCanEditOpaqueValues(java.lang.Boolean canEditOpaqueValues)

      If true, indicates that this FormItem is capable of editing "opaque" values, ie, objects that are more complex than simple primitive types like numbers, strings and dates. Ordinarily, you use the `SimpleType system` to convert these opaque values into "atomic" values that can be edited by the built-in editors like `TextItem`. However, sometimes you to create a custom editor that knows how to edit a particular opaque type in a domain-specific way - for example, a composite custom FormItem that allows the user to edit both a number and a currency code, both of which are needed to make a proper monetary amount (for that particular application). When this value is set, the FormItem will manage the opaque value directly, rather than it being filtered through calls to `getAtomicValue()` and `updateAtomicValue()`. Note, if you set this flag on a FormItem that does not have the ability to edit an opaque value (which is something that must be custom-coded) then you will get garbage in your editor, if not an outright crash.

      Note : This is an advanced setting

      Parameters:
        `canEditOpaqueValues` - Default value is null

    - #### getCanEditOpaqueValues

          public java.lang.Boolean getCanEditOpaqueValues()

      If true, indicates that this FormItem is capable of editing "opaque" values, ie, objects that are more complex than simple primitive types like numbers, strings and dates. Ordinarily, you use the `SimpleType system` to convert these opaque values into "atomic" values that can be edited by the built-in editors like `TextItem`. However, sometimes you to create a custom editor that knows how to edit a particular opaque type in a domain-specific way - for example, a composite custom FormItem that allows the user to edit both a number and a currency code, both of which are needed to make a proper monetary amount (for that particular application). When this value is set, the FormItem will manage the opaque value directly, rather than it being filtered through calls to `getAtomicValue()` and `updateAtomicValue()`. Note, if you set this flag on a FormItem that does not have the ability to edit an opaque value (which is something that must be custom-coded) then you will get garbage in your editor, if not an outright crash.
      Returns:
        Boolean

    - #### setCanFocus

          public void setCanFocus(java.lang.Boolean canFocus)

      Is this form item focusable? Setting this property to true on an otherwise non-focusable element such as a `StaticTextItem` will cause the item to be included in the page's tab order and respond to keyboard events.

      Note : This is an advanced setting

      Parameters:
        `canFocus` - Default value is null
      See Also:
        `Focus overview and related methods`

    - #### getCanFocus

          public java.lang.Boolean getCanFocus()

      Is this form item focusable? Setting this property to true on an otherwise non-focusable element such as a `StaticTextItem` will cause the item to be included in the page's tab order and respond to keyboard events.
      Returns:
        Returns true for items that can accept keyboard focus such as data items (`TextItems`, `TextAreaItems`, etc), `CanvasItems` with a focusable canvas, or items where `canFocus` was explicitly set to true.
      See Also:
        `Focus overview and related methods`

    - #### setCanSelectText

          public void setCanSelectText(boolean canSelectText)

      For items showing a text value, should the user be able to select the text in this item?
      Parameters:
        `canSelectText` - Default value is true

    - #### getCanSelectText

          public boolean getCanSelectText()

      For items showing a text value, should the user be able to select the text in this item?
      Returns:
        boolean

    - #### setCanTabToIcons

          public void setCanTabToIcons(java.lang.Boolean canTabToIcons)

      If set, this property determines if this form item's icons should be included in the page's tab order, with the same tabIndex as this form item?

      Note that if this form item has tabIndex -1, neither the form item nor the icons will be included in the page's tab order.

      Note : This is an advanced setting

      Parameters:
        `canTabToIcons` - Default value is null

    - #### getCanTabToIcons

          public java.lang.Boolean getCanTabToIcons()

      If set, this property determines if this form item's icons should be included in the page's tab order, with the same tabIndex as this form item?

      Note that if this form item has tabIndex -1, neither the form item nor the icons will be included in the page's tab order.

      Returns:
        Boolean

    - #### setCellHeight

          public void setCellHeight(java.lang.Integer cellHeight)

      If specified, this property will govern the height of the cell in which this form item is rendered. Will not apply when the containing DynamicForm sets `itemLayout:"absolute"`.
      Parameters:
        `cellHeight` - Default value is null

    - #### getCellHeight

          public java.lang.Integer getCellHeight()

      If specified, this property will govern the height of the cell in which this form item is rendered. Will not apply when the containing DynamicForm sets `itemLayout:"absolute"`.
      Returns:
        Integer

    - #### setCellStyle

          public void setCellStyle(java.lang.String cellStyle)

      CSS style applied to the form item as a whole, including the text element, any icons, and any hint text for the item. Applied to the cell containing the form item.

      See `FormItemStyling` for an overview of formItem styling, and the `CompoundFormItem_skinning` discussion for special skinning considerations.
      If this method is called after the component has been drawn/initialized: Setter for `cellStyle`.

      Parameters:
        `cellStyle` - the new `cellStyle` value.
      See Also:
        `FormItemBaseStyle . Default value is "formCell"`, `FormItemStyling overview and related methods`

    - #### getCellStyle

          public java.lang.String getCellStyle()

      CSS style applied to the form item as a whole, including the text element, any icons, and any hint text for the item. Applied to the cell containing the form item.

      See `FormItemStyling` for an overview of formItem styling, and the `CompoundFormItem_skinning` discussion for special skinning considerations.

      Returns:
      See Also:
        `FormItemBaseStyle`, `FormItemStyling overview and related methods`

    - #### setChangeOnKeypress

          public void setChangeOnKeypress(java.lang.Boolean changeOnKeypress)

      Should this form item fire its `change` handler (and store its value in the form) on every keypress? Set to `false` to suppress the 'change' handler firing (and the value stored) on every keypress.

      Note: If `false`, the value returned by `getValue` will not reflect the value displayed in the form item element as long as focus is in the form item element.

      Parameters:
        `changeOnKeypress` - Default value is true

    - #### getChangeOnKeypress

          public java.lang.Boolean getChangeOnKeypress()

      Should this form item fire its `change` handler (and store its value in the form) on every keypress? Set to `false` to suppress the 'change' handler firing (and the value stored) on every keypress.

      Note: If `false`, the value returned by `getValue` will not reflect the value displayed in the form item element as long as focus is in the form item element.

      Returns:
        Boolean

    - #### setClipStaticValue

          public void setClipStaticValue(java.lang.Boolean clipStaticValue)

      If this item is `read-only` and is using `readOnlyDisplay` `ReadOnlyDisplayAppearance.STATIC`, should the item value be clipped if it overflows the specified size of the item? If set, overrides the form-level `DynamicForm.clipStaticValue` default.
      Parameters:
        `clipStaticValue` - Default value is null
      See Also:
        `DynamicForm.setClipStaticValue(java.lang.Boolean)`

    - #### getClipStaticValue

          public java.lang.Boolean getClipStaticValue()

      If this item is `read-only` and is using `readOnlyDisplay` `ReadOnlyDisplayAppearance.STATIC`, should the item value be clipped if it overflows the specified size of the item? If set, overrides the form-level `DynamicForm.clipStaticValue` default.
      Returns:
        Boolean
      See Also:
        `DynamicForm.getClipStaticValue()`

    - #### setClipTitle

          public void setClipTitle(java.lang.Boolean clipTitle)

      If the title for this form item is showing, and is too large for the available space should the title be clipped?

      Null by default - if set to true or false, overrides `DynamicForm.clipItemTitles`.

      Parameters:
        `clipTitle` - Default value is null

    - #### getClipTitle

          public java.lang.Boolean getClipTitle()

      If the title for this form item is showing, and is too large for the available space should the title be clipped?

      Null by default - if set to true or false, overrides `DynamicForm.clipItemTitles`.

      Returns:
        Boolean

    - #### getContainerWidget

          public Canvas getContainerWidget()

      A Read-Only pointer to the Smart GWT canvas that holds this form item. In most cases this will be the `DynamicForm` containing the item but in some cases editable components handle writing out form items directly. An example of this is `Grid Editing` - when a listGrid shows per-field editors, the `containerWidget` for each item will be the listGrid body.

      Note that even if the `containerWidget` is not a DynamicForm, a DynamicForm will still exist for the item (available as `form`), allowing access to standard APIs such as `DynamicForm.getValues()`

      Returns:
        Canvas

    - #### setControlStyle

          public void setControlStyle(java.lang.String controlStyle)

      Base CSS class name for a form item's control box (surrounds text box and picker).

      See `FormItemStyling` for an overview of formItem styling, and the `CompoundFormItem_skinning` discussion for special skinning considerations.

      Parameters:
        `controlStyle` -
      See Also:
        `FormItemBaseStyle . Default value is null`, `setCellStyle(java.lang.String)`, `FormItemStyling overview and related methods`

    - #### getControlStyle

          public java.lang.String getControlStyle()

      Base CSS class name for a form item's control box (surrounds text box and picker).

      See `FormItemStyling` for an overview of formItem styling, and the `CompoundFormItem_skinning` discussion for special skinning considerations.

      Returns:
      See Also:
        `FormItemBaseStyle`, `getCellStyle()`, `FormItemStyling overview and related methods`

    - #### setCriteriaField

          public void setCriteriaField(java.lang.String criteriaField)

      When using `operator`, the name of the DataSource field for the `Criterion` this FormItem generates. If not specified, defaults to `name`.

      Generally, because `criteriaField` defaults to `item.name`, you don't need to specify it. However, if more than one FormItem specifies criteria for the same DataSource field, they will need unique values for `name` but should set `criteriaField` to the name of DataSource field they both target.

      For example, if two DateItems are used to provide a min and max date for a single field called "joinDate", set `criteriaField` to "joinDate" on both fields but give the fields distinct names (eg "minDate" and "maxDate") and use those names for any programmatic access, such as `DynamicForm.setValue()`.

      Parameters:
        `criteriaField` - Default value is null

    - #### getCriteriaField

          public java.lang.String getCriteriaField()

      When using `operator`, the name of the DataSource field for the `Criterion` this FormItem generates. If not specified, defaults to `name`.

      Generally, because `criteriaField` defaults to `item.name`, you don't need to specify it. However, if more than one FormItem specifies criteria for the same DataSource field, they will need unique values for `name` but should set `criteriaField` to the name of DataSource field they both target.

      For example, if two DateItems are used to provide a min and max date for a single field called "joinDate", set `criteriaField` to "joinDate" on both fields but give the fields distinct names (eg "minDate" and "maxDate") and use those names for any programmatic access, such as `DynamicForm.setValue()`.

      Returns:
        String

    - #### setDataPath

          public void setDataPath(java.lang.String dataPath)

      dataPath for this item. Allows the user to edit details nested data structures in a flat set of form fields

      Note that an item must have a valid dataPath or `name` in order for its value to be validated and/or saved.

      Parameters:
        `dataPath` -
      See Also:
        `DataPath . Default value is null`

    - #### getDataPath

          public java.lang.String getDataPath()

      dataPath for this item. Allows the user to edit details nested data structures in a flat set of form fields

      Note that an item must have a valid dataPath or `name` in order for its value to be validated and/or saved.

      Returns:
        Return the dataPath for the this formItem.
      See Also:
        `DataPath`

    - #### setDateFormatter

          public void setDateFormatter(DateDisplayFormat dateFormatter)

      Display format to use for date type values within this formItem.

      Note that Fields of type `"date"`, `"datetime"` or `"time"` will be edited using a `DateItem` or `TimeItem` by default, but this can be overridden - for `canEdit:false` fields, a `StaticTextItem` is used by default, and the developer can always specify a custom `editorType` as well as `data type`.

      The `timeFormatter` may also be used to format underlying Date values as times (ommitting the date part entirely). If both `dateFormatter` and `timeFormatter` are specified on an item, for fields specified as `type "time"` the `timeFormatter` will be used, otherwise the `dateFormatter`

      If `item.dateFormatter` and `item.timeFormatter` is unspecified, date display format may be defined at the component level via `DynamicForm.dateFormatter`, or for fields of type `"datetime"` `DynamicForm.datetimeFormatter`. Otherwise the default is to use the system-wide default short date format, configured via `Date.setShortDisplayFormat()`. Specify any valid `DateDisplayFormat` to change the format used by this item.

      Note that if this is a freeform editable field, such a `TextItem`, with type specified as `"date"` or `"datetime"` the system will automatically attempt to parse user entered values back to a Date value, assuming the entered string matches the date format for the field. Developers may further customize this via an explicit `inputFormat` or via entirely custom `setEditorValueFormatter` and `setEditorValueParser` methods.

      Note : This is an advanced setting

      Parameters:
        `dateFormatter` - Default value is null
      See Also:
        `setTimeFormatter(com.smartgwt.client.types.TimeDisplayFormat)`, `setFormat(java.lang.String)`, `Appearance overview and related methods`

    - #### getDateFormatter

          public DateDisplayFormat getDateFormatter()

      Display format to use for date type values within this formItem.

      Note that Fields of type `"date"`, `"datetime"` or `"time"` will be edited using a `DateItem` or `TimeItem` by default, but this can be overridden - for `canEdit:false` fields, a `StaticTextItem` is used by default, and the developer can always specify a custom `editorType` as well as `data type`.

      The `timeFormatter` may also be used to format underlying Date values as times (ommitting the date part entirely). If both `dateFormatter` and `timeFormatter` are specified on an item, for fields specified as `type "time"` the `timeFormatter` will be used, otherwise the `dateFormatter`

      If `item.dateFormatter` and `item.timeFormatter` is unspecified, date display format may be defined at the component level via `DynamicForm.dateFormatter`, or for fields of type `"datetime"` `DynamicForm.datetimeFormatter`. Otherwise the default is to use the system-wide default short date format, configured via `Date.setShortDisplayFormat()`. Specify any valid `DateDisplayFormat` to change the format used by this item.

      Note that if this is a freeform editable field, such a `TextItem`, with type specified as `"date"` or `"datetime"` the system will automatically attempt to parse user entered values back to a Date value, assuming the entered string matches the date format for the field. Developers may further customize this via an explicit `inputFormat` or via entirely custom `setEditorValueFormatter` and `setEditorValueParser` methods.

      Returns:
        DateDisplayFormat
      See Also:
        `getTimeFormatter()`, `getFormat()`, `Appearance overview and related methods`

    - #### setDecimalPad

          public void setDecimalPad(java.lang.Integer decimalPad)

      Applies only to fields of type "float" and enforces a minimum number of digits shown after the decimal point.

      For example, a field value of 343.1, 343.104 and 343.09872677 would all be shown as 343.10 if decimalPad is 2.

      The original unpadded value is always shown when the value is edited.

      Parameters:
        `decimalPad` - Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getDecimalPad

          public java.lang.Integer getDecimalPad()

      Applies only to fields of type "float" and enforces a minimum number of digits shown after the decimal point.

      For example, a field value of 343.1, 343.104 and 343.09872677 would all be shown as 343.10 if decimalPad is 2.

      The original unpadded value is always shown when the value is edited.

      Returns:
        Integer
      See Also:
        `Appearance overview and related methods`

    - #### setDecimalPrecision

          public void setDecimalPrecision(java.lang.Integer decimalPrecision)

      Applies only to fields of type "float" and affects how many significant digits are shown.

      For example, with decimalPrecision 3, if the field value is 343.672677, 343.673 is shown.

      If the value is 125.2, 125.2 is shown - decimalPrecision will not cause extra zeros to be added. Use `DataSourceField.decimalPad` for this.

      A number is always shown with its original precision when edited.

      Parameters:
        `decimalPrecision` - Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getDecimalPrecision

          public java.lang.Integer getDecimalPrecision()

      Applies only to fields of type "float" and affects how many significant digits are shown.

      For example, with decimalPrecision 3, if the field value is 343.672677, 343.673 is shown.

      If the value is 125.2, 125.2 is shown - decimalPrecision will not cause extra zeros to be added. Use `DataSourceField.decimalPad` for this.

      A number is always shown with its original precision when edited.

      Returns:
        Integer
      See Also:
        `Appearance overview and related methods`

    - #### setDefaultIconSrc

          public void setDefaultIconSrc(java.lang.String defaultIconSrc)

      Default icon image source. Specify as the partial URL to an image, relative to the imgDir of this component. To specify image source for a specific icon use the `icon.src` property.
      If this item is drawn in the disabled state, the url will be modified by adding "_Disabled" to get a disabled state image for the icon. If `icon.showOver` is true, this url will be modified by adding "_Over" to get an over state image for the icon.

      Note : This is an advanced setting

      Parameters:
        `defaultIconSrc` -
      See Also:
        `SCImgURL . Default value is "[SKIN]/DynamicForm/default_formItem_icon.gif"`

    - #### getDefaultIconSrc

          public java.lang.String getDefaultIconSrc()

      Default icon image source. Specify as the partial URL to an image, relative to the imgDir of this component. To specify image source for a specific icon use the `icon.src` property.
      If this item is drawn in the disabled state, the url will be modified by adding "_Disabled" to get a disabled state image for the icon. If `icon.showOver` is true, this url will be modified by adding "_Over" to get an over state image for the icon.
      Returns:
      See Also:
        `SCImgURL`

    - #### setDisableIconsOnReadOnly

          public void setDisableIconsOnReadOnly(java.lang.Boolean disableIconsOnReadOnly)

      If `canEdit` is set to false, should `icons` be disabled by default?

      This may also be specified at the icon level. See `FormItemIcon.disableOnReadOnly`.

      Parameters:
        `disableIconsOnReadOnly` - Default value is true

    - #### getDisableIconsOnReadOnly

          public java.lang.Boolean getDisableIconsOnReadOnly()

      If `canEdit` is set to false, should `icons` be disabled by default?

      This may also be specified at the icon level. See `FormItemIcon.disableOnReadOnly`.

      Returns:
        Boolean

    - #### setDisplayField

          public void setDisplayField(java.lang.String displayField)

      Specifies an alternative field from which display values should be retrieved for this item.

      The display field can be either another field value in the same record or a field that must be retrieved from a related `optionDataSource`. For fields with an `optionDataSource`, developers may explicitly specify `foreignDisplayField`. If that property is unset, the standard `displayField` value will be used by default.

      If this item is not databound (`optionDataSource` is unset), or bound to the same dataSource as the form as a whole, this item will call `form.getValue()` the form named after is implemented by picking up the value of the specified field from the Form's values object.

      Otherwise this item will attempt to map its underlying value to a display value by retrieving a record from the `optionDataSource` where the `valueField` matches this item's value, and displaying the `displayField` value from that record. (Even if specified, the field may not be used if it does not match any fields present in the optionDataSource - see `getDisplayFieldName()` for details). Note that if `optionDataSource` is set and no valid display field is specified (via `foreignDisplayField`, or this property), `getDisplayFieldName()` will return the dataSource title field by default.

      This essentially enables the specified `optionDataSource` to be used as a server based `valueMap`.

      Note that, when entering free-form search values, items will select the first match in their valueMap or pickList. This means that it can't be guaranteed that a given search-value will return the same valueField value if there are duplicate displayField values in the available options.

      Parameters:
        `displayField` - Default value is null
      See Also:
        `getDisplayFieldName()`, `invalidateDisplayValueCache()`, `Databinding overview and related methods`

    - #### getDisplayField

          public java.lang.String getDisplayField()

      Specifies an alternative field from which display values should be retrieved for this item.

      The display field can be either another field value in the same record or a field that must be retrieved from a related `optionDataSource`. For fields with an `optionDataSource`, developers may explicitly specify `foreignDisplayField`. If that property is unset, the standard `displayField` value will be used by default.

      If this item is not databound (`optionDataSource` is unset), or bound to the same dataSource as the form as a whole, this item will call `form.getValue()` the form named after is implemented by picking up the value of the specified field from the Form's values object.

      Otherwise this item will attempt to map its underlying value to a display value by retrieving a record from the `optionDataSource` where the `valueField` matches this item's value, and displaying the `displayField` value from that record. (Even if specified, the field may not be used if it does not match any fields present in the optionDataSource - see `getDisplayFieldName()` for details). Note that if `optionDataSource` is set and no valid display field is specified (via `foreignDisplayField`, or this property), `getDisplayFieldName()` will return the dataSource title field by default.

      This essentially enables the specified `optionDataSource` to be used as a server based `valueMap`.

      Note that, when entering free-form search values, items will select the first match in their valueMap or pickList. This means that it can't be guaranteed that a given search-value will return the same valueField value if there are duplicate displayField values in the available options.

      Returns:
        Returns the `displayField` for this item.

        Behavior varies based on the configuration of this item, as follows:

        - If this item has an `optionDataSource` and an explicit `foreignDisplayField` is specified, this will be returned.
        - Otherwise if an explicit `displayField` is specified it will be returned by default. If the `displayField` was specified on the underlying dataSource field, and no matching field is present in the `optionDataSource` for the item, we avoid returning the specified displayField value and instead return the title field of the option DataSource. We do this to avoid confusion for the case where the displayField is intended as a display-field value for showing another field value within the same record in the underlying dataSource only.
        - If no explicit foreignDisplay or displayField specification was found, and the `valueField` for this item is hidden in the `optionDataSource`, this method will return the title field for the `optionDataSource`.
      See Also:
        `getDisplayFieldName()`, `invalidateDisplayValueCache()`, `Databinding overview and related methods`

    - #### setEditPendingCSSText

          public void setEditPendingCSSText(java.lang.String editPendingCSSText)

      Custom CSS text to be applied to cells with pending edits that have not yet been submitted.

      Note : This is an advanced setting

      Parameters:
        `editPendingCSSText` -
      See Also:
        `CSSText . Default value is "color:#0066CC;"`, `Appearance overview and related methods`

    - #### getEditPendingCSSText

          public java.lang.String getEditPendingCSSText()

      Custom CSS text to be applied to cells with pending edits that have not yet been submitted.
      Returns:
      See Also:
        `CSSText`, `Appearance overview and related methods`

    - #### setEditProxyConstructor

          public void setEditProxyConstructor(java.lang.String editProxyConstructor)

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Parameters:
        `editProxyConstructor` -
      See Also:
        `SCClassName . Default value is "FormItemEditProxy"`

    - #### 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`.
      Returns:
      See Also:
        `SCClassName`

    - #### setEmptyDisplayValue

          public void setEmptyDisplayValue(java.lang.String emptyDisplayValue)

      Text to display when this form item has a null or undefined value.

      If the formItem has a databound pickList, and its `displayField` or `valueField` (if the former isn't set) has an undefined `emptyCellValue` setting, that field's `emptyCellValue` will automatically be set to the `emptyDisplayValue`.

      Parameters:
        `emptyDisplayValue` - Default value is ""

    - #### getEmptyDisplayValue

          public java.lang.String getEmptyDisplayValue()

      Text to display when this form item has a null or undefined value.

      If the formItem has a databound pickList, and its `displayField` or `valueField` (if the former isn't set) has an undefined `emptyCellValue` setting, that field's `emptyCellValue` will automatically be set to the `emptyDisplayValue`.

      Returns:
        String

    - #### setEmptyValueIcon

          public void setEmptyValueIcon(java.lang.String emptyValueIcon)

      This property allows the developer to specify an icon to display when this item has no value. It is configured in the same way as any other valueIcon (see `valueIcons`)
      Parameters:
        `emptyValueIcon` - Default value is null

    - #### getEmptyValueIcon

          public java.lang.String getEmptyValueIcon()

      This property allows the developer to specify an icon to display when this item has no value. It is configured in the same way as any other valueIcon (see `valueIcons`)
      Returns:
        String

    - #### setEndRow

          public void setEndRow(java.lang.Boolean endRow)

      Whether this item should end the row it's in in the form layout
      Parameters:
        `endRow` - Default value is false
      See Also:
        `FormLayout overview and related methods`

    - #### getEndRow

          public java.lang.Boolean getEndRow()

      Whether this item should end the row it's in in the form layout
      Returns:
        Boolean
      See Also:
        `FormLayout overview and related methods`

    - #### setErrorIconHeight

          public void setErrorIconHeight(int errorIconHeight)

      Height of the error icon, if we're showing icons when validation errors occur.
      Parameters:
        `errorIconHeight` - Default value is 16
      See Also:
        `setShowErrorIcon(java.lang.Boolean)`

    - #### getErrorIconHeight

          public int getErrorIconHeight()

      Height of the error icon, if we're showing icons when validation errors occur.
      Returns:
        int
      See Also:
        `getShowErrorIcon()`

    - #### setErrorIconSrc

          public void setErrorIconSrc(java.lang.String errorIconSrc)

      URL of the image to show as an error icon, if we're showing icons when validation errors occur.
      Parameters:
        `errorIconSrc` -
      See Also:
        `SCImgURL . Default value is "[SKIN]/DynamicForm/validation_error_icon.png"`, `setShowErrorIcon(java.lang.Boolean)`

    - #### getErrorIconSrc

          public java.lang.String getErrorIconSrc()

      URL of the image to show as an error icon, if we're showing icons when validation errors occur.
      Returns:
      See Also:
        `SCImgURL`, `getShowErrorIcon()`

    - #### setErrorIconWidth

          public void setErrorIconWidth(int errorIconWidth)

      Height of the error icon, if we're showing icons when validation errors occur.
      Parameters:
        `errorIconWidth` - Default value is 16
      See Also:
        `setShowErrorIcon(java.lang.Boolean)`

    - #### getErrorIconWidth

          public int getErrorIconWidth()

      Height of the error icon, if we're showing icons when validation errors occur.
      Returns:
        int
      See Also:
        `getShowErrorIcon()`

    - #### setErrorMessageWidth

          public void setErrorMessageWidth(int errorMessageWidth)

      When `DynamicForm.showInlineErrors` and `showErrorText` are both true and `errorOrientation` is "left" or "right", errorMessageWidth is the amount to reduce the width of the editor to accommodate the error message and icon.
      Parameters:
        `errorMessageWidth` - Default value is 80
      See Also:
        `Validation overview and related methods`

    - #### getErrorMessageWidth

          public int getErrorMessageWidth()

      When `DynamicForm.showInlineErrors` and `showErrorText` are both true and `errorOrientation` is "left" or "right", errorMessageWidth is the amount to reduce the width of the editor to accommodate the error message and icon.
      Returns:
        int
      See Also:
        `Validation overview and related methods`

    - #### setExportFormat

          public void setExportFormat(java.lang.String exportFormat)

      `FormatString` used during exports for numeric or date formatting. See `DataSourceField.exportFormat`.
      Parameters:
        `exportFormat` -
      See Also:
        `FormatString . Default value is null`, `ExportFormatting overview and related methods`

    - #### getExportFormat

          public java.lang.String getExportFormat()

      `FormatString` used during exports for numeric or date formatting. See `DataSourceField.exportFormat`.
      Returns:
      See Also:
        `FormatString`, `ExportFormatting overview and related methods`

    - #### setFetchMissingValues

          public void setFetchMissingValues(java.lang.Boolean fetchMissingValues)

      If this form item has a specified `optionDataSource`, should the item ever perform a fetch against this dataSource to retrieve the related record.

      The fetch occurs if the item value is non null on initial draw of the form or whenever setValue() is called. Once the fetch completes, the returned record is available via the `getSelectedRecord()` api.

      By default, a fetch will only occur if `displayField` is specified, and the item does not have an explicit `valueMap` containing the data value as a key.
      However you can also set `alwaysFetchMissingValues` to have a fetch occur even if no `displayField` is specified. This ensures `getSelectedRecord()` will return a record if possible - useful for custom formatter functions, etc.

      Note - for efficiency we cache the associated record once a fetch has been performed, meaning if the value changes, then reverts to a previously seen value, we do not kick off an additional fetch to pick up the display value for the previously seen data value. If necessary this cache may be explicitly invalidated via a call to `invalidateDisplayValueCache()`

      Note : This is an advanced setting

      Parameters:
        `fetchMissingValues` - Default value is true
      See Also:
        `setOptionDataSource(com.smartgwt.client.data.DataSource)`, `getSelectedRecord()`, `setFilterLocally(java.lang.Boolean)`

    - #### getFetchMissingValues

          public java.lang.Boolean getFetchMissingValues()

      If this form item has a specified `optionDataSource`, should the item ever perform a fetch against this dataSource to retrieve the related record.

      The fetch occurs if the item value is non null on initial draw of the form or whenever setValue() is called. Once the fetch completes, the returned record is available via the `getSelectedRecord()` api.

      By default, a fetch will only occur if `displayField` is specified, and the item does not have an explicit `valueMap` containing the data value as a key.
      However you can also set `alwaysFetchMissingValues` to have a fetch occur even if no `displayField` is specified. This ensures `getSelectedRecord()` will return a record if possible - useful for custom formatter functions, etc.

      Note - for efficiency we cache the associated record once a fetch has been performed, meaning if the value changes, then reverts to a previously seen value, we do not kick off an additional fetch to pick up the display value for the previously seen data value. If necessary this cache may be explicitly invalidated via a call to `invalidateDisplayValueCache()`

      Returns:
        Boolean
      See Also:
        `getOptionDataSource()`, `getSelectedRecord()`, `getFilterLocally()`

    - #### setFilterLocally

          public void setFilterLocally(java.lang.Boolean filterLocally)

      If this form item is mapping data values to a display value by fetching records from a dataSource (see `optionDataSource`, `displayField` and `fetchMissingValues`), setting this property to true ensures that when the form item value is set, entire data-set from the dataSource is loaded at once and used as a valueMap, rather than just loading the display value for the current value. This avoids the need to perform fetches each time setValue() is called with a new value.

      See also PickList.filterLocally for behavior on form items such as SelectItems that show pick-lists.

      Note : This is an advanced setting

      Parameters:
        `filterLocally` - Default value is null

    - #### getFilterLocally

          public java.lang.Boolean getFilterLocally()

      If this form item is mapping data values to a display value by fetching records from a dataSource (see `optionDataSource`, `displayField` and `fetchMissingValues`), setting this property to true ensures that when the form item value is set, entire data-set from the dataSource is loaded at once and used as a valueMap, rather than just loading the display value for the current value. This avoids the need to perform fetches each time setValue() is called with a new value.

      See also PickList.filterLocally for behavior on form items such as SelectItems that show pick-lists.

      Returns:
        Boolean

    - #### setForeignDisplayField

          public void setForeignDisplayField(java.lang.String foreignDisplayField)

      For items with an `optionDataSource`, this property specifies an alternative field from which display values should be retrieved for this item.

      If present this item will attempt to map its underlying value to a display value by retrieving a record from the `optionDataSource` where the `valueField` matches this item's value, and displaying the `foreignDisplayField` value from that record.

      This essentially enables the specified `optionDataSource` to be used as a server based `valueMap`.

      If unset, `displayField` may be used. The `foreignDisplayField` attribute is particularly useful to allow developers to handle the case where one field name is used as a displayField within the form's dataSource (for static display of a value within the current record), and a different field name is to be used to get the display value for records in the `optionDataSource`.

      Parameters:
        `foreignDisplayField` - Default value is null
      See Also:
        `getDisplayFieldName()`

    - #### getForeignDisplayField

          public java.lang.String getForeignDisplayField()

      For items with an `optionDataSource`, this property specifies an alternative field from which display values should be retrieved for this item.

      If present this item will attempt to map its underlying value to a display value by retrieving a record from the `optionDataSource` where the `valueField` matches this item's value, and displaying the `foreignDisplayField` value from that record.

      This essentially enables the specified `optionDataSource` to be used as a server based `valueMap`.

      If unset, `displayField` may be used. The `foreignDisplayField` attribute is particularly useful to allow developers to handle the case where one field name is used as a displayField within the form's dataSource (for static display of a value within the current record), and a different field name is to be used to get the display value for records in the `optionDataSource`.

      Returns:
        String
      See Also:
        `getDisplayFieldName()`

    - #### setFormat

          public void setFormat(java.lang.String format)

      `FormatString` for numeric or date formatting. See `DataSourceField.format`.
      Parameters:
        `format` -
      See Also:
        `FormatString . Default value is null`, `Appearance overview and related methods`

    - #### getFormat

          public java.lang.String getFormat()

      `FormatString` for numeric or date formatting. See `DataSourceField.format`.
      Returns:
      See Also:
        `FormatString`, `Appearance overview and related methods`

    - #### setFormula

          public void setFormula(UserFormula formula)

      Formula to be used to calculate the numeric value of this FormItem. For a text field `textFormula` is used instead.

      Available fields for use in the formula are the current `rule context`. The formula is re-evaluated every time the rule context changes.

      Values calculated by the formula will always replace the current value of a non-editable field. For an editable field, the current value will be replaced if the end user has not changed the value since the last time it was computed by the formula, or if the value of the field is invalid according to declared `validators`.

      Note: A FormItem using a formula must have a `name` defined. `shouldSaveValue` can be set to `false` to prevent the formula field from storing the calculated value into the form's values.

      Parameters:
        `formula` - Default value is null
      See Also:
        `FormulaFields overview and related methods`

    - #### getFormula

          public UserFormula getFormula()

      Formula to be used to calculate the numeric value of this FormItem. For a text field `textFormula` is used instead.

      Available fields for use in the formula are the current `rule context`. The formula is re-evaluated every time the rule context changes.

      Values calculated by the formula will always replace the current value of a non-editable field. For an editable field, the current value will be replaced if the end user has not changed the value since the last time it was computed by the formula, or if the value of the field is invalid according to declared `validators`.

      Note: A FormItem using a formula must have a `name` defined. `shouldSaveValue` can be set to `false` to prevent the formula field from storing the calculated value into the form's values.

      Returns:
        UserFormula
      See Also:
        `FormulaFields overview and related methods`

    - #### setGlobalTabIndex

          public void setGlobalTabIndex(java.lang.Integer globalTabIndex)

      TabIndex for the form item within the page. Takes precedence over any local tab index specified as `item.tabIndex`.

      Use of this API is extremely advanced and essentially implies taking over management of tab index assignment for all components on the page.

      Note : This is an advanced setting

      Parameters:
        `globalTabIndex` - Default value is null
      See Also:
        `Focus overview and related methods`

    - #### getGlobalTabIndex

          public java.lang.Integer getGlobalTabIndex()

      TabIndex for the form item within the page. Takes precedence over any local tab index specified as `item.tabIndex`.

      Use of this API is extremely advanced and essentially implies taking over management of tab index assignment for all components on the page.

      Returns:
        Integer
      See Also:
        `Focus overview and related methods`

    - #### setHeight

          public void setHeight(int height)

      Height of the FormItem. Can be either a number indicating a fixed height in pixels, a percentage indicating a percentage of the overall form's height, or "*" indicating take whatever remaining space is available. See the `FormLayout` overview for details.

      If height is specified as a String, getHeight() will return -1. Use getHeightAsString.() in this case.

      For form items having a `picker icon` (e.g. `SelectItem`, `ComboBoxItem`) and `SpinnerItem`s, if `spriting` is enabled, it is not recommended to change the height of the form item from the default because the image sprites are set up assuming a specific, fixed height of the item. If the item height must be changed, then the `pickerIconStyle` should be changed to a custom CSS style name. Or, in the case of `SpinnerItem`s, the `baseStyle` and `src` of the `SpinnerItem.increaseIcon` and `SpinnerItem.decreaseIcon` AutoChildren should be customized.

      Note that when FormItem is rendered as read-only with `readOnlyDisplay` as "static" the property `staticHeight` is used instead.

      Parameters:
        `height` - Default value is -1
      See Also:
        `FormLayout overview and related methods`, Filling Example

    - #### getHeight

          public int getHeight()

      Height of the FormItem. Can be either a number indicating a fixed height in pixels, a percentage indicating a percentage of the overall form's height, or "*" indicating take whatever remaining space is available. See the `FormLayout` overview for details.

      If height is specified as a String, getHeight() will return -1. Use getHeightAsString.() in this case.

      For form items having a `picker icon` (e.g. `SelectItem`, `ComboBoxItem`) and `SpinnerItem`s, if `spriting` is enabled, it is not recommended to change the height of the form item from the default because the image sprites are set up assuming a specific, fixed height of the item. If the item height must be changed, then the `pickerIconStyle` should be changed to a custom CSS style name. Or, in the case of `SpinnerItem`s, the `baseStyle` and `src` of the `SpinnerItem.increaseIcon` and `SpinnerItem.decreaseIcon` AutoChildren should be customized.

      Note that when FormItem is rendered as read-only with `readOnlyDisplay` as "static" the property `staticHeight` is used instead.

      Returns:
        int
      See Also:
        `FormLayout overview and related methods`, Filling Example

    - #### setHeight

          public void setHeight(java.lang.String height)

      Height of the FormItem. Can be either a number indicating a fixed height in pixels, a percentage indicating a percentage of the overall form's height, or "*" indicating take whatever remaining space is available. See the `FormLayout` overview for details.

      If height is specified as a String, getHeight() will return -1. Use getHeightAsString.() in this case.

      For form items having a `picker icon` (e.g. `SelectItem`, `ComboBoxItem`) and `SpinnerItem`s, if `spriting` is enabled, it is not recommended to change the height of the form item from the default because the image sprites are set up assuming a specific, fixed height of the item. If the item height must be changed, then the `pickerIconStyle` should be changed to a custom CSS style name. Or, in the case of `SpinnerItem`s, the `baseStyle` and `src` of the `SpinnerItem.increaseIcon` and `SpinnerItem.decreaseIcon` AutoChildren should be customized.

      Note that when FormItem is rendered as read-only with `readOnlyDisplay` as "static" the property `staticHeight` is used instead.

      Parameters:
        `height` - Default value is -1
      See Also:
        `FormLayout overview and related methods`, Filling Example

    - #### getHeightAsString

          public java.lang.String getHeightAsString()

      Height of the FormItem. Can be either a number indicating a fixed height in pixels, a percentage indicating a percentage of the overall form's height, or "*" indicating take whatever remaining space is available. See the `FormLayout` overview for details.

      If height is specified as a String, getHeight() will return -1. Use getHeightAsString.() in this case.

      For form items having a `picker icon` (e.g. `SelectItem`, `ComboBoxItem`) and `SpinnerItem`s, if `spriting` is enabled, it is not recommended to change the height of the form item from the default because the image sprites are set up assuming a specific, fixed height of the item. If the item height must be changed, then the `pickerIconStyle` should be changed to a custom CSS style name. Or, in the case of `SpinnerItem`s, the `baseStyle` and `src` of the `SpinnerItem.increaseIcon` and `SpinnerItem.decreaseIcon` AutoChildren should be customized.

      Note that when FormItem is rendered as read-only with `readOnlyDisplay` as "static" the property `staticHeight` is used instead.

      Returns:
        String
      See Also:
        `FormLayout overview and related methods`, Filling Example

    - #### setHidden

          public void setHidden(java.lang.Boolean hidden)

      Should this form item be hidden? Setting this property to `true` on an item configuration will have the same effect as having a `showIf()` implementation which returns `false`.

      Note this differs slightly from `DataSourceField.hidden`. That property will cause the field in question to be omitted entirely from databound components by default. A dataSourceField with `hidden` set to `true` can still be displayed in a DynamicForm either by being explicitly included in the specified `items array`, or by having `DataBoundComponent.showHiddenFields` set to true. In this case, this property will not be inherited onto the FormItem instance, meaning the item will be visible in the form even though the `hidden` property was set to true on the dataSourceField configuration object.

      Parameters:
        `hidden` - Default value is null

    - #### getHidden

          public java.lang.Boolean getHidden()

      Should this form item be hidden? Setting this property to `true` on an item configuration will have the same effect as having a `showIf()` implementation which returns `false`.

      Note this differs slightly from `DataSourceField.hidden`. That property will cause the field in question to be omitted entirely from databound components by default. A dataSourceField with `hidden` set to `true` can still be displayed in a DynamicForm either by being explicitly included in the specified `items array`, or by having `DataBoundComponent.showHiddenFields` set to true. In this case, this property will not be inherited onto the FormItem instance, meaning the item will be visible in the form even though the `hidden` property was set to true on the dataSourceField configuration object.

      Returns:
        Boolean

    - #### setHint

          public void setHint(java.lang.String hint)

      Specifies "hint" string to show next to the form item to indicate something to the user. This string generally appears to the right of the form item.
      If this method is called after the component has been drawn/initialized: Sets the `hint` for this item.
      Parameters:
        `hint` - new hint for the item.
      See Also:
        `HTMLString . Default value is null`, `setHintStyle(java.lang.String)`, `Appearance overview and related methods`, Hints Example

    - #### getHint

          public java.lang.String getHint()

      Specifies "hint" string to show next to the form item to indicate something to the user. This string generally appears to the right of the form item.
      Returns:
      See Also:
        `HTMLString`, `getHintStyle()`, `Appearance overview and related methods`, Hints Example

    - #### setHintStyle

          public void setHintStyle(java.lang.String hintStyle)

      CSS class for the "hint" string. For items that support `TextItem.showHintInField`, this only applies when showHintInField is false.
      If this method is called after the component has been drawn/initialized: Set the hintStyle for this item
      Parameters:
        `hintStyle` - new style for hint text
      See Also:
        `CSSStyleName . Default value is "formHint"`, `setHint(java.lang.String)`, `FormItemStyling overview and related methods`

    - #### getHintStyle

          public java.lang.String getHintStyle()

      CSS class for the "hint" string. For items that support `TextItem.showHintInField`, this only applies when showHintInField is false.
      Returns:
      See Also:
        `CSSStyleName`, `getHint()`, `FormItemStyling overview and related methods`

    - #### setHoverAlign

          public void setHoverAlign(Alignment hoverAlign)

      Text alignment for text displayed in this item's hover canvas, if shown.
      Parameters:
        `hoverAlign` - Default value is null
      See Also:
        `DynamicForm.setItemHoverAlign(com.smartgwt.client.types.Alignment)`

    - #### getHoverAlign

          public Alignment getHoverAlign()

      Text alignment for text displayed in this item's hover canvas, if shown.
      Returns:
        Alignment
      See Also:
        `DynamicForm.getItemHoverAlign()`

    - #### setHoverDelay

          public void setHoverDelay(java.lang.Integer hoverDelay)

      If specified, this is the number of milliseconds to wait between the user rolling over this form item, and triggering any hover action for it.
      If not specified `this.form.itemHoverDelay` will be used instead.

      Note : This is an advanced setting

      Parameters:
        `hoverDelay` - Default value is null

    - #### getHoverDelay

          public java.lang.Integer getHoverDelay()

      If specified, this is the number of milliseconds to wait between the user rolling over this form item, and triggering any hover action for it.
      If not specified `this.form.itemHoverDelay` will be used instead.
      Returns:
        Integer

    - #### setHoverHeight

          public void setHoverHeight(java.lang.Integer hoverHeight)

      Option to specify a height for any hover shown for this item.
      Parameters:
        `hoverHeight` - Default value is null
      See Also:
        `DynamicForm.setItemHoverHeight(java.lang.Integer)`

    - #### getHoverHeight

          public java.lang.Integer getHoverHeight()

      Option to specify a height for any hover shown for this item.
      Returns:
        Integer
      See Also:
        `DynamicForm.getItemHoverHeight()`

    - #### setHoverOpacity

          public void setHoverOpacity(java.lang.Integer hoverOpacity)

      Opacity for any hover shown for this item
      Parameters:
        `hoverOpacity` - Default value is null
      See Also:
        `DynamicForm.setItemHoverOpacity(java.lang.Integer)`

    - #### getHoverOpacity

          public java.lang.Integer getHoverOpacity()

      Opacity for any hover shown for this item
      Returns:
        Integer
      See Also:
        `DynamicForm.getItemHoverOpacity()`

    - #### setHoverStyle

          public void setHoverStyle(java.lang.String hoverStyle)

      Explicit CSS Style for any hover shown for this item.
      Parameters:
        `hoverStyle` -
      See Also:
        `CSSStyleName . Default value is null`, `DynamicForm.setItemHoverStyle(java.lang.String)`

    - #### getHoverStyle

          public java.lang.String getHoverStyle()

      Explicit CSS Style for any hover shown for this item.
      Returns:
      See Also:
        `CSSStyleName`, `DynamicForm.getItemHoverStyle()`

    - #### setHoverVAlign

          public void setHoverVAlign(VerticalAlignment hoverVAlign)

      Vertical text alignment for text displayed in this item's hover canvas, if shown.
      Parameters:
        `hoverVAlign` - Default value is null
      See Also:
        `DynamicForm.setItemHoverVAlign(java.lang.Integer)`

    - #### getHoverVAlign

          public VerticalAlignment getHoverVAlign()

      Vertical text alignment for text displayed in this item's hover canvas, if shown.
      Returns:
        VerticalAlignment
      See Also:
        `DynamicForm.getItemHoverVAlign()`

    - #### setHoverWidth

          public void setHoverWidth(java.lang.Integer hoverWidth)

      Option to specify a width for any hover shown for this item.
      Parameters:
        `hoverWidth` - Default value is null
      See Also:
        `DynamicForm.setItemHoverWidth(java.lang.Integer)`

    - #### getHoverWidth

          public java.lang.Integer getHoverWidth()

      Option to specify a width for any hover shown for this item.
      Returns:
        Integer
      See Also:
        `DynamicForm.getItemHoverWidth()`

    - #### setIconHeight

          public void setIconHeight(int iconHeight)

      Default height for form item icons. May be overridden at the icon level by `FormItemIcon.height`.

      Note : This is an advanced setting

      Parameters:
        `iconHeight` - Default value is 20

    - #### getIconHeight

          public int getIconHeight()

      Default height for form item icons. May be overridden at the icon level by `FormItemIcon.height`.
      Returns:
        Takes an icon definition object, and returns the height for that icon in px.

    - #### setIconHSpace

          public void setIconHSpace(int iconHSpace)

      Horizontal space (in px) to leave between form item icons. The space appears either on the left or right of each icon. May be overridden at the icon level via `FormItemIcon.hspace`. Must be non-negative.
      Parameters:
        `iconHSpace` - Default value is 3

    - #### getIconHSpace

          public int getIconHSpace()

      Horizontal space (in px) to leave between form item icons. The space appears either on the left or right of each icon. May be overridden at the icon level via `FormItemIcon.hspace`. Must be non-negative.
      Returns:
        int

    - #### setIconPrompt

          public void setIconPrompt(java.lang.String iconPrompt)

      Default prompt (and tooltip-text) for icons.

      Note : This is an advanced setting

      Parameters:
        `iconPrompt` -
      See Also:
        `HTMLString . Default value is ""`

    - #### getIconPrompt

          public java.lang.String getIconPrompt()

      Default prompt (and tooltip-text) for icons.
      Returns:
      See Also:
        `HTMLString`

    - #### setIcons

          public void setIcons(FormItemIcon... icons)

      An array of descriptor objects for icons to display in a line after this form item. These icons are clickable images, often used to display some kind of helper for populating a form item.
      Parameters:
        `icons` - Default value is null
      See Also:
        `FormItemIcon`, Icons Example

    - #### setIconVAlign

          public void setIconVAlign(VerticalAlignment iconVAlign)

      How should icons be aligned vertically for this form item.

      Note : This is an advanced setting

      Parameters:
        `iconVAlign` - Default value is "bottom"

    - #### getIconVAlign

          public VerticalAlignment getIconVAlign()

      How should icons be aligned vertically for this form item.
      Returns:
        VerticalAlignment

    - #### setIconWidth

          public void setIconWidth(int iconWidth)

      Default width for form item icons. May be overridden at the icon level by `FormItemIcon.width`.

      Note : This is an advanced setting

      Parameters:
        `iconWidth` - Default value is 20

    - #### getIconWidth

          public int getIconWidth()

      Default width for form item icons. May be overridden at the icon level by `FormItemIcon.width`.
      Returns:
        Takes an icon definition object, and returns the width for that icon in px.

    - #### setImageURLPrefix

          public void setImageURLPrefix(java.lang.String imageURLPrefix)

      Prefix to apply to the beginning of any `valueIcons` when determining the URL for the image. Will not be applied if the `valueIcon` URL is absolute.

      Note : This is an advanced setting

      Parameters:
        `imageURLPrefix` - Default value is null

    - #### getImageURLPrefix

          public java.lang.String getImageURLPrefix()

      Prefix to apply to the beginning of any `valueIcons` when determining the URL for the image. Will not be applied if the `valueIcon` URL is absolute.
      Returns:
        String

    - #### setImageURLSuffix

          public void setImageURLSuffix(java.lang.String imageURLSuffix)

      Suffix to apply to the end of any `valueIcons` when determining the URL for the image. A common usage would be to specify a suffix of `".gif"` in which case the `valueIcons` property would map values to the names of images without the `".gif"` extension.

      Note : This is an advanced setting

      Parameters:
        `imageURLSuffix` - Default value is null

    - #### getImageURLSuffix

          public java.lang.String getImageURLSuffix()

      Suffix to apply to the end of any `valueIcons` when determining the URL for the image. A common usage would be to specify a suffix of `".gif"` in which case the `valueIcons` property would map values to the names of images without the `".gif"` extension.
      Returns:
        String

    - #### setImplicitSave

          public void setImplicitSave(java.lang.Boolean implicitSave)

      When true, indicates that changes to this item will cause an automatic save on a `delay`, as well as when the entire form is submitted. If implicitSaveOnBlur is set to true on either this `formItem` or it's `form`, changes will also be automatically saved immediately on editorExit.
      Parameters:
        `implicitSave` - Default value is false

    - #### getImplicitSave

          public java.lang.Boolean getImplicitSave()

      When true, indicates that changes to this item will cause an automatic save on a `delay`, as well as when the entire form is submitted. If implicitSaveOnBlur is set to true on either this `formItem` or it's `form`, changes will also be automatically saved immediately on editorExit.
      Returns:
        Boolean

    - #### setImplicitSaveOnBlur

          public void setImplicitSaveOnBlur(java.lang.Boolean implicitSaveOnBlur)

      If set to true, this item's value will be saved immediately when its "editorExit" handler is fired. This attribute works separately from `implicitSave`, which causes saves during editing, after a `short delay`, and when the entire form is submitted.
      Parameters:
        `implicitSaveOnBlur` - Default value is false

    - #### getImplicitSaveOnBlur

          public java.lang.Boolean getImplicitSaveOnBlur()

      If set to true, this item's value will be saved immediately when its "editorExit" handler is fired. This attribute works separately from `implicitSave`, which causes saves during editing, after a `short delay`, and when the entire form is submitted.
      Returns:
        Boolean

    - #### setInputFormat

          public void setInputFormat(java.lang.String inputFormat)

      For fields of type `"date"`, if this is an editable field such as a `TextItem`, this property allows you to specify the `inputFormat` applied to the item.

      Note : This is an advanced setting

      Parameters:
        `inputFormat` -
      See Also:
        `DateInputFormat . Default value is null`, `setDateFormatter(com.smartgwt.client.types.DateDisplayFormat)`

    - #### getInputFormat

          public java.lang.String getInputFormat()

      For fields of type `"date"`, if this is an editable field such as a `TextItem`, this property allows you to specify the `inputFormat` applied to the item.
      Returns:
      See Also:
        `DateInputFormat`, `getDateFormatter()`

    - #### setLeft

          public void setLeft(int left)

      Left coordinate of this item in pixels. Applies only when the containing DynamicForm sets `itemLayout:"absolute"`.
      If this method is called after the component has been drawn/initialized: For a form with `itemLayout`:"absolute" only, set the left coordinate of this form item.

      Causes the form to redraw.

      Note : This is an advanced setting

      Parameters:
        `left` - Default value is 0

    - #### getLeft

          public int getLeft()

      Left coordinate of this item in pixels. Applies only when the containing DynamicForm sets `itemLayout:"absolute"`.
      Returns:
        Returns the left coordinate of this form item in pixels. Note that this method is only reliable after the item has been drawn.

    - #### setLoadingDisplayValue

          public void setLoadingDisplayValue(java.lang.String loadingDisplayValue)

      Value shown in field when `fetchMissingValues` is active and a fetch is pending. The field is read-only while a fetch is pending.

      Set to `null` to show actual value until display value is loaded.

      Parameters:
        `loadingDisplayValue` - Default value is "Loading..."

    - #### getLoadingDisplayValue

          public java.lang.String getLoadingDisplayValue()

      Value shown in field when `fetchMissingValues` is active and a fetch is pending. The field is read-only while a fetch is pending.

      Set to `null` to show actual value until display value is loaded.

      Returns:
        String

    - #### setLocateItemBy

          public void setLocateItemBy(java.lang.String locateItemBy)

      When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for this form item, should the item be identified? If the locator has a specified `name`, it is considered to definitely locate the item and no fallback approach will be used.

      Otherwise, the following options are available:

      - `"title"` use the title as an identifier within this form
      - `"value"` use the value of the item to identify it (often used for items with a static defaultValue such as HeaderItems
      - `"index"` use the index within the form's items array.

      If unset, and the locator has no specified name, default behavior is to identify by title (if available), then value (if available), otherwise by index.

      Note : This is an advanced setting

      Parameters:
        `locateItemBy` - Default value is null
      See Also:
        `LocatorStrategy`

    - #### getLocateItemBy

          public java.lang.String getLocateItemBy()

      When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for this form item, should the item be identified? If the locator has a specified `name`, it is considered to definitely locate the item and no fallback approach will be used.

      Otherwise, the following options are available:

      - `"title"` use the title as an identifier within this form
      - `"value"` use the value of the item to identify it (often used for items with a static defaultValue such as HeaderItems
      - `"index"` use the index within the form's items array.

      If unset, and the locator has no specified name, default behavior is to identify by title (if available), then value (if available), otherwise by index.

      Returns:
        String
      See Also:
        `LocatorStrategy`

    - #### setMinHintWidth

          public void setMinHintWidth(java.lang.Integer minHintWidth)

      If this item is showing a `hint`, this setting specifies how much horizontal space is made available for rendering the hint text by default. Typically this reflects how much space the hint text takes up before it wraps.

      Note that the presence of a hint may cause a form item to expand horizontally past its specified `width`. This property value acts as a minimum - if the hint text can not wrap within this width (either due to `wrapHintText` being set to `false`, or due to it containing long, un-wrappable content), it will further expand to take up the space it needs.

      If unset this property will be picked up from the `DynamicForm.minHintWidth` setting.

      This setting does not apply to hints that are `shown in field`.

      Parameters:
        `minHintWidth` - Default value is null
      See Also:
        `setWrapHintText(java.lang.Boolean)`

    - #### getMinHintWidth

          public java.lang.Integer getMinHintWidth()

      If this item is showing a `hint`, this setting specifies how much horizontal space is made available for rendering the hint text by default. Typically this reflects how much space the hint text takes up before it wraps.

      Note that the presence of a hint may cause a form item to expand horizontally past its specified `width`. This property value acts as a minimum - if the hint text can not wrap within this width (either due to `wrapHintText` being set to `false`, or due to it containing long, un-wrappable content), it will further expand to take up the space it needs.

      If unset this property will be picked up from the `DynamicForm.minHintWidth` setting.

      This setting does not apply to hints that are `shown in field`.

      Returns:
        Integer
      See Also:
        `getWrapHintText()`

    - #### setMultipleValueSeparator

          public void setMultipleValueSeparator(java.lang.String multipleValueSeparator)

      If this item is displaying multiple values, this property will be the string that separates those values for display purposes.
      Parameters:
        `multipleValueSeparator` - Default value is ', '

    - #### getMultipleValueSeparator

          public java.lang.String getMultipleValueSeparator()

      If this item is displaying multiple values, this property will be the string that separates those values for display purposes.
      Returns:
        String

    - #### setOperator

          public void setOperator(OperatorId operator)

      `OperatorId` to be used when `DynamicForm.getValuesAsCriteria()` is called.

      `item.operator` can be used to create a form that offers search functions such as numeric range filtering, without the more advanced user interface of the `FilterBuilder`. For example, two SpinnerItems could be created with `formItem.operator` set to "greaterThan" and "lessThan" respectively to enable filtering by a numeric range.

      When `item.operator` is set for any FormItem in a form, `form.getValuesAsCriteria()` will return an `AdvancedCriteria` object instead of a normal `Criteria` object. Each FormItem will produce one `Criterion` affecting the DataSource field specified by `criteriaField`. The criteria produced by the FormItems will be grouped under the logical operator provided by `DynamicForm.operator`.

      If `operator` is set for some fields but not others, the default operator is "equals" for fields with a valueMap or an optionDataSource, and for fields of type "enum" (or of a type that inherits from "enum"). The default operator for all other fields is controlled by `DynamicForm.defaultSearchOperator`.

      Note: `formItem.operator` is only supported for a form that has a `dataSource`. In a form with no DataSource, setting `formItem.operator` will have no effect.

      Parameters:
        `operator` - Default value is null
      See Also:
        `CriteriaEditing overview and related methods`

    - #### getOperator

          public OperatorId getOperator()

      `OperatorId` to be used when `DynamicForm.getValuesAsCriteria()` is called.

      `item.operator` can be used to create a form that offers search functions such as numeric range filtering, without the more advanced user interface of the `FilterBuilder`. For example, two SpinnerItems could be created with `formItem.operator` set to "greaterThan" and "lessThan" respectively to enable filtering by a numeric range.

      When `item.operator` is set for any FormItem in a form, `form.getValuesAsCriteria()` will return an `AdvancedCriteria` object instead of a normal `Criteria` object. Each FormItem will produce one `Criterion` affecting the DataSource field specified by `criteriaField`. The criteria produced by the FormItems will be grouped under the logical operator provided by `DynamicForm.operator`.

      If `operator` is set for some fields but not others, the default operator is "equals" for fields with a valueMap or an optionDataSource, and for fields of type "enum" (or of a type that inherits from "enum"). The default operator for all other fields is controlled by `DynamicForm.defaultSearchOperator`.

      Note: `formItem.operator` is only supported for a form that has a `dataSource`. In a form with no DataSource, setting `formItem.operator` will have no effect.

      Returns:
        OperatorId
      See Also:
        `CriteriaEditing overview and related methods`

    - #### setOptionDataSource

          public void setOptionDataSource(DataSource optionDataSource)

      If set, this FormItem will map stored values to display values as though a `com.smartgwt.client.types.ValueMap` were specified, by fetching records from the specified `optionDataSource` and extracting the `valueField` and `displayField` in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.

      With the default setting of `fetchMissingValues`, fetches will be initiated against the optionDataSource any time the FormItem has a non-null value and no corresponding display value is available. This includes when the form is first initialized, as well as any subsequent calls to `setValue()`, such as may happen when `DynamicForm.editRecord()` is called. Retrieved values are automatically cached by the FormItem.

      Note that if a normal, static `valueMap` is also specified for the field (either directly in the form item or as part of the field definition in the dataSource), it will be preferred to the data derived from the optionDataSource for whatever mappings are present.

      In a databound form, if `displayField` is specified for a FormItem and `optionDataSource` is unset, `optionDataSource` will default to the form's current DataSource
      If this method is called after the component has been drawn/initialized: Method to set the `optionDataSource` at runtime

      Parameters:
        `optionDataSource` - new optionDatasource. Default value is null
      See Also:
        `invalidateDisplayValueCache()`, List - Combo Box Example

    - #### getOptionDataSource

          public DataSource getOptionDataSource()

      If set, this FormItem will map stored values to display values as though a `com.smartgwt.client.types.ValueMap` were specified, by fetching records from the specified `optionDataSource` and extracting the `valueField` and `displayField` in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.

      With the default setting of `fetchMissingValues`, fetches will be initiated against the optionDataSource any time the FormItem has a non-null value and no corresponding display value is available. This includes when the form is first initialized, as well as any subsequent calls to `setValue()`, such as may happen when `DynamicForm.editRecord()` is called. Retrieved values are automatically cached by the FormItem.

      Note that if a normal, static `valueMap` is also specified for the field (either directly in the form item or as part of the field definition in the dataSource), it will be preferred to the data derived from the optionDataSource for whatever mappings are present.

      In a databound form, if `displayField` is specified for a FormItem and `optionDataSource` is unset, `optionDataSource` will default to the form's current DataSource

      Returns:
        Returns the `optionDataSource` for this item.

        Always uses `item.optionDataSource` if specified. Otherwise, if `DataSourceField.foreignKey` was specified, uses the target DataSource. Otherwise, uses the DataSource of this item's form (if one is configured).

      See Also:
        `invalidateDisplayValueCache()`, List - Combo Box Example

    - #### setOptionDataSource

          public void setOptionDataSource(java.lang.String optionDataSource)

      If set, this FormItem will map stored values to display values as though a `com.smartgwt.client.types.ValueMap` were specified, by fetching records from the specified `optionDataSource` and extracting the `valueField` and `displayField` in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.

      With the default setting of `fetchMissingValues`, fetches will be initiated against the optionDataSource any time the FormItem has a non-null value and no corresponding display value is available. This includes when the form is first initialized, as well as any subsequent calls to `setValue()`, such as may happen when `DynamicForm.editRecord()` is called. Retrieved values are automatically cached by the FormItem.

      Note that if a normal, static `valueMap` is also specified for the field (either directly in the form item or as part of the field definition in the dataSource), it will be preferred to the data derived from the optionDataSource for whatever mappings are present.

      In a databound form, if `displayField` is specified for a FormItem and `optionDataSource` is unset, `optionDataSource` will default to the form's current DataSource
      If this method is called after the component has been drawn/initialized: Method to set the `optionDataSource` at runtime

      Parameters:
        `optionDataSource` - new optionDatasource. Default value is null
      See Also:
        `invalidateDisplayValueCache()`, List - Combo Box Example

    - #### getOptionDataSourceAsString

          public java.lang.String getOptionDataSourceAsString()

      If set, this FormItem will map stored values to display values as though a `com.smartgwt.client.types.ValueMap` were specified, by fetching records from the specified `optionDataSource` and extracting the `valueField` and `displayField` in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.

      With the default setting of `fetchMissingValues`, fetches will be initiated against the optionDataSource any time the FormItem has a non-null value and no corresponding display value is available. This includes when the form is first initialized, as well as any subsequent calls to `setValue()`, such as may happen when `DynamicForm.editRecord()` is called. Retrieved values are automatically cached by the FormItem.

      Note that if a normal, static `valueMap` is also specified for the field (either directly in the form item or as part of the field definition in the dataSource), it will be preferred to the data derived from the optionDataSource for whatever mappings are present.

      In a databound form, if `displayField` is specified for a FormItem and `optionDataSource` is unset, `optionDataSource` will default to the form's current DataSource

      Returns:
        Returns the `optionDataSource` for this item.

        Always uses `item.optionDataSource` if specified. Otherwise, if `DataSourceField.foreignKey` was specified, uses the target DataSource. Otherwise, uses the DataSource of this item's form (if one is configured).

      See Also:
        `invalidateDisplayValueCache()`, List - Combo Box Example

    - #### setOptionOperationId

          public void setOptionOperationId(java.lang.String optionOperationId)

      If this item has a specified `optionDataSource`, this attribute may be set to specify an explicit `DSRequest.operationId` when performing a fetch against the option dataSource to pick up display value mapping.

      Note : This is an advanced setting

      Parameters:
        `optionOperationId` - Default value is null

    - #### getOptionOperationId

          public java.lang.String getOptionOperationId()

      If this item has a specified `optionDataSource`, this attribute may be set to specify an explicit `DSRequest.operationId` when performing a fetch against the option dataSource to pick up display value mapping.
      Returns:
        String

    - #### setOriginalValueMessage

          public void setOriginalValueMessage(java.lang.String originalValueMessage)

      Message shown when `showOldValueInHover` is enabled and the value has been modified.

      If unset, defaults to the form's `DynamicForm.originalValueMessage`. Otherwise, overrides the form-default `originalValueMessage` for this item.

      Note : This is an advanced setting

      Parameters:
        `originalValueMessage` -
      See Also:
        `HTMLString . Default value is null`

    - #### getOriginalValueMessage

          public java.lang.String getOriginalValueMessage()

      Message shown when `showOldValueInHover` is enabled and the value has been modified.

      If unset, defaults to the form's `DynamicForm.originalValueMessage`. Otherwise, overrides the form-default `originalValueMessage` for this item.

      Returns:
      See Also:
        `HTMLString`

    - #### getPicker

          public Canvas getPicker()

      The component that will be displayed when `showPicker()` is called due to a click on the `picker icon`.

      Can be specified directly as a Canvas, or created automatically via the `com.smartgwt.client.types.AutoChild` pattern.

      Note that the picker is not automatically destroyed with the FormItem that uses it, in order to allow recycling of picker components. To destroy a single-use picker, override `Canvas.destroy()`.

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

      Returns:
        Canvas

    - #### setPickerIconHeight

          public void setPickerIconHeight(java.lang.Integer pickerIconHeight)

      If `showPickerIcon` is true for this item, this property governs the size of the picker icon. If unset, the picker icon will be sized as a square to fit in the available height for the icon.

      It is not recommended to change the pickerIconHeight from the default value if `spriting` is enabled because the image sprites are set up assuming specific, fixed dimensions of the picker icon. If the pickerIconHeight must be changed, then the `pickerIconStyle` should be changed to a custom CSS style name.

      Note : This is an advanced setting

      Parameters:
        `pickerIconHeight` - Default value is null

    - #### getPickerIconHeight

          public java.lang.Integer getPickerIconHeight()

      If `showPickerIcon` is true for this item, this property governs the size of the picker icon. If unset, the picker icon will be sized as a square to fit in the available height for the icon.

      It is not recommended to change the pickerIconHeight from the default value if `spriting` is enabled because the image sprites are set up assuming specific, fixed dimensions of the picker icon. If the pickerIconHeight must be changed, then the `pickerIconStyle` should be changed to a custom CSS style name.

      Returns:
        Integer

    - #### setPickerIconName

          public void setPickerIconName(java.lang.String pickerIconName)

      If `showPickerIcon` is true, this attribute specifies the `FormItemIcon.name` applied to the picker icon

      Note : This is an advanced setting

      Parameters:
        `pickerIconName` - Default value is "picker"

    - #### getPickerIconName

          public java.lang.String getPickerIconName()

      If `showPickerIcon` is true, this attribute specifies the `FormItemIcon.name` applied to the picker icon
      Returns:
        String

    - #### setPickerIconPrompt

          public void setPickerIconPrompt(java.lang.String pickerIconPrompt)

      Prompt to show when the user hovers the mouse over the picker icon.
      Parameters:
        `pickerIconPrompt` -
      See Also:
        `HTMLString . Default value is null`

    - #### getPickerIconPrompt

          public java.lang.String getPickerIconPrompt()

      Prompt to show when the user hovers the mouse over the picker icon.
      Returns:
      See Also:
        `HTMLString`

    - #### setPickerIconProperties

          public void setPickerIconProperties(FormItemIcon pickerIconProperties)

      If `showPickerIcon` is true for this item, this block of properties will be applied to the pickerIcon. Allows for advanced customization of this icon.

      Note : This is an advanced setting

      Parameters:
        `pickerIconProperties` - Default value is null

    - #### getPickerIconProperties

          public FormItemIcon getPickerIconProperties()

      If `showPickerIcon` is true for this item, this block of properties will be applied to the pickerIcon. Allows for advanced customization of this icon.
      Returns:
        FormItemIcon

    - #### setPickerIconSrc

          public void setPickerIconSrc(java.lang.String pickerIconSrc)

      If `showPickerIcon` is true for this item, this property governs the `src` of the picker icon image to be displayed.

      Note : This is an advanced setting

      Parameters:
        `pickerIconSrc` -
      See Also:
        `SCImgURL . Default value is ""`

    - #### getPickerIconSrc

          public java.lang.String getPickerIconSrc()

      If `showPickerIcon` is true for this item, this property governs the `src` of the picker icon image to be displayed.
      Returns:
      See Also:
        `SCImgURL`

    - #### setPickerIconStyle

          public void setPickerIconStyle(java.lang.String pickerIconStyle)

      Base CSS class name for a form item's picker icon cell. If unset, inherits from this item's `controlStyle`.
      Parameters:
        `pickerIconStyle` -
      See Also:
        `FormItemBaseStyle . Default value is null`, `setCellStyle(java.lang.String)`, `FormItemStyling overview and related methods`

    - #### getPickerIconStyle

          public java.lang.String getPickerIconStyle()

      Base CSS class name for a form item's picker icon cell. If unset, inherits from this item's `controlStyle`.
      Returns:
      See Also:
        `FormItemBaseStyle`, `getCellStyle()`, `FormItemStyling overview and related methods`

    - #### setPickerIconWidth

          public void setPickerIconWidth(java.lang.Integer pickerIconWidth)

      If `showPickerIcon` is true for this item, this property governs the size of the picker icon. If unset, the picker icon will be sized as a square to fit in the available height for the icon.

      It is not recommended to change the pickerIconWidth from the default value if `spriting` is enabled because the image sprites are set up assuming specific, fixed dimensions of the picker icon. If the pickerIconWidth must be changed, then the `pickerIconStyle` should be changed to a custom CSS style name.

      Note : This is an advanced setting

      Parameters:
        `pickerIconWidth` - Default value is null

    - #### getPickerIconWidth

          public java.lang.Integer getPickerIconWidth()

      If `showPickerIcon` is true for this item, this property governs the size of the picker icon. If unset, the picker icon will be sized as a square to fit in the available height for the icon.

      It is not recommended to change the pickerIconWidth from the default value if `spriting` is enabled because the image sprites are set up assuming specific, fixed dimensions of the picker icon. If the pickerIconWidth must be changed, then the `pickerIconStyle` should be changed to a custom CSS style name.

      Returns:
        Integer

    - #### setPrintTextBoxStyle

          public void setPrintTextBoxStyle(java.lang.String printTextBoxStyle)

      Base CSS class name for a form item's text box element when getting printable HTML for the form. If unset `textBoxStyle` will be used instead. Note that focused styling will never be displayed while printing, though error and disabled styling will.
      Parameters:
        `printTextBoxStyle` -
      See Also:
        `FormItemBaseStyle . Default value is null`, `Printing overview and related methods`

    - #### getPrintTextBoxStyle

          public java.lang.String getPrintTextBoxStyle()

      Base CSS class name for a form item's text box element when getting printable HTML for the form. If unset `textBoxStyle` will be used instead. Note that focused styling will never be displayed while printing, though error and disabled styling will.
      Returns:
      See Also:
        `FormItemBaseStyle`, `Printing overview and related methods`

    - #### setPrintTitleStyle

          public void setPrintTitleStyle(java.lang.String printTitleStyle)

      Base CSS stylename for a form item's title when generating print HTML for the item. If unset `titleStyle` will be used instead.
      Parameters:
        `printTitleStyle` -
      See Also:
        `FormItemBaseStyle . Default value is null`, `Printing overview and related methods`

    - #### getPrintTitleStyle

          public java.lang.String getPrintTitleStyle()

      Base CSS stylename for a form item's title when generating print HTML for the item. If unset `titleStyle` will be used instead.
      Returns:
      See Also:
        `FormItemBaseStyle`, `Printing overview and related methods`

    - #### setPrompt

          public void setPrompt(java.lang.String prompt)

      This text is shown as a tooltip prompt when the cursor hovers over this item. When item is `read-only` a different hover can be shown with `readOnlyHover`.
      If this method is called after the component has been drawn/initialized: Sets the `prompt` for this item.
      Parameters:
        `prompt` - new prompt for the item.
      See Also:
        `HTMLString . Default value is null`, `Basics overview and related methods`

    - #### getPrompt

          public java.lang.String getPrompt()

      This text is shown as a tooltip prompt when the cursor hovers over this item. When item is `read-only` a different hover can be shown with `readOnlyHover`.
      Returns:
      See Also:
        `HTMLString`, `Basics overview and related methods`

    - #### setReadOnlyDisplay

          public void 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.
      If this method is called after the component has been drawn/initialized: Setter for `readOnlyDisplay`.
      Parameters:
        `readOnlyDisplay` - new `readOnlyDisplay` value.. Default value is null
      See Also:
        `DynamicForm.setReadOnlyDisplay(com.smartgwt.client.types.ReadOnlyDisplayAppearance)`

    - #### 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.
      Returns:
        ReadOnlyDisplayAppearance
      See Also:
        `DynamicForm.getReadOnlyDisplay()`

    - #### setReadOnlyHover

          public void setReadOnlyHover(java.lang.String readOnlyHover)

      This text is shown as a tooltip prompt when the cursor hovers over this item and the item is `read-only`.
      Parameters:
        `readOnlyHover` -
      See Also:
        `HTMLString . Default value is null`

    - #### getReadOnlyHover

          public java.lang.String getReadOnlyHover()

      This text is shown as a tooltip prompt when the cursor hovers over this item and the item is `read-only`.
      Returns:
      See Also:
        `HTMLString`

    - #### setReadOnlyTextBoxStyle

          public void setReadOnlyTextBoxStyle(java.lang.String readOnlyTextBoxStyle)

      Base text box style to apply when this item is `read-only` and is using `readOnlyDisplay` `ReadOnlyDisplayAppearance.STATIC`. If set, overrides the form-level `DynamicForm.readOnlyTextBoxStyle` default.
      Parameters:
        `readOnlyTextBoxStyle` -
      See Also:
        `FormItemBaseStyle . Default value is null`, `DynamicForm.setReadOnlyTextBoxStyle(java.lang.String)`

    - #### getReadOnlyTextBoxStyle

          public java.lang.String getReadOnlyTextBoxStyle()

      Base text box style to apply when this item is `read-only` and is using `readOnlyDisplay` `ReadOnlyDisplayAppearance.STATIC`. If set, overrides the form-level `DynamicForm.readOnlyTextBoxStyle` default.
      Returns:
      See Also:
        `FormItemBaseStyle`, `DynamicForm.getReadOnlyTextBoxStyle()`

    - #### setReadOnlyWhen

          public void setReadOnlyWhen(AdvancedCriteria readOnlyWhen)

      Criteria to be evaluated to determine whether this FormItem should be made `read-only`. Appearance when read-only is determined by `readOnlyDisplay`.

      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 FormItem using readOnlyWhen 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:
        `readOnlyWhen` - Default value is null
      See Also:
        `RuleCriteria overview and related methods`

    - #### getReadOnlyWhen

          public AdvancedCriteria getReadOnlyWhen()

      Criteria to be evaluated to determine whether this FormItem should be made `read-only`. Appearance when read-only is determined by `readOnlyDisplay`.

      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 FormItem using readOnlyWhen 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:
        AdvancedCriteria
      See Also:
        `RuleCriteria overview and related methods`

    - #### setRedrawOnChange

          public void setRedrawOnChange(java.lang.Boolean redrawOnChange)

      If true, this item will cause the entire form to be redrawn when the item's "elementChanged" event is done firing
      Parameters:
        `redrawOnChange` - Default value is false

    - #### getRedrawOnChange

          public java.lang.Boolean getRedrawOnChange()

      If true, this item will cause the entire form to be redrawn when the item's "elementChanged" event is done firing
      Returns:
        Boolean

    - #### setRejectInvalidValueOnChange

          public void setRejectInvalidValueOnChange(java.lang.Boolean rejectInvalidValueOnChange)

      If validateOnChange is true, and validation fails for this item on change, with no suggested value, should we revert to the previous value, or continue to display the bad value entered by the user. May be set at the item or form level.

      Note : This is an advanced setting

      Parameters:
        `rejectInvalidValueOnChange` - Default value is false

    - #### getRejectInvalidValueOnChange

          public java.lang.Boolean getRejectInvalidValueOnChange()

      If validateOnChange is true, and validation fails for this item on change, with no suggested value, should we revert to the previous value, or continue to display the bad value entered by the user. May be set at the item or form level.
      Returns:
        Boolean

    - #### setRequired

          public void setRequired(java.lang.Boolean required)

      Whether a non-empty value is required for this field to pass validation.

      If the user does not fill in the required field, the error message to be shown will be taken from these properties in the following order: `requiredMessage`, `DynamicForm.requiredMessage`, `DataSource.requiredMessage`, `requiredField`.

      Note: if specified on a FormItem, `required` is only enforced on the client. `required` should generally be specified on a `DataSourceField`.
      If this method is called after the component has been drawn/initialized: Setter to mark this formItem as `required`, or not required at runtime. Note that an alternative approach to updating the `required` flag directly would be to simply use a `requiredIf` type validator.

      Note that this method will not re-validate this item by default or clear any existing validation errors. If desired, this may be achieved by calling `validate()` or `DynamicForm.clearErrors()`.

      Parameters:
        `required` - new `required` value.. Default value is false
      See Also:
        `Validation overview and related methods`, Show & Hide Example

    - #### getRequired

          public java.lang.Boolean getRequired()

      Whether a non-empty value is required for this field to pass validation.

      If the user does not fill in the required field, the error message to be shown will be taken from these properties in the following order: `requiredMessage`, `DynamicForm.requiredMessage`, `DataSource.requiredMessage`, `requiredField`.

      Note: if specified on a FormItem, `required` is only enforced on the client. `required` should generally be specified on a `DataSourceField`.

      Returns:
        Boolean
      See Also:
        `Validation overview and related methods`, Show & Hide Example

    - #### setRequiredMessage

          public void setRequiredMessage(java.lang.String requiredMessage)

      The required message for required field errors.
      Parameters:
        `requiredMessage` -
      See Also:
        `HTMLString . Default value is null`, `Validation overview and related methods`

    - #### getRequiredMessage

          public java.lang.String getRequiredMessage()

      The required message for required field errors.
      Returns:
      See Also:
        `HTMLString`, `Validation overview and related methods`

    - #### setRequiredWhen

          public void setRequiredWhen(Criteria requiredWhen)

      Criteria to be evaluated to determine whether this FormItem should be `required`.

      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 FormItem using requiredWhen must have a `name` defined.

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

    - #### getRequiredWhen

          public Criteria getRequiredWhen()

      Criteria to be evaluated to determine whether this FormItem should be `required`.

      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 FormItem using requiredWhen must have a `name` defined.

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

    - #### setRowSpan

          public void setRowSpan(int rowSpan)

      Number of rows that this item spans
      Parameters:
        `rowSpan` - Default value is 1
      See Also:
        `FormLayout overview and related methods`

    - #### getRowSpan

          public int getRowSpan()

      Number of rows that this item spans
      Returns:
        int
      See Also:
        `FormLayout overview and related methods`

    - #### setSaveOnEnter

          public void setSaveOnEnter(java.lang.Boolean saveOnEnter)

      Set this to true to allow the parent form to save it's data when 'Enter' is pressed on this formItem and `saveOnEnter` is true on the parent form.
      Parameters:
        `saveOnEnter` - Default value is null

    - #### getSaveOnEnter

          public java.lang.Boolean getSaveOnEnter()

      Set this to true to allow the parent form to save it's data when 'Enter' is pressed on this formItem and `saveOnEnter` is true on the parent form.
      Returns:
        Boolean

    - #### setSelectOnClick

          public void setSelectOnClick(java.lang.Boolean selectOnClick)

      Allows the `selectOnClick` behavior to be configured on a per-FormItem basis. Normally all items in a form default to the value of `DynamicForm.selectOnClick`.
      Parameters:
        `selectOnClick` - Default value is null
      See Also:
        `Focus overview and related methods`

    - #### getSelectOnClick

          public java.lang.Boolean getSelectOnClick()

      Allows the `selectOnClick` behavior to be configured on a per-FormItem basis. Normally all items in a form default to the value of `DynamicForm.selectOnClick`.
      Returns:
        Boolean
      See Also:
        `Focus overview and related methods`

    - #### setSelectOnFocus

          public void setSelectOnFocus(java.lang.Boolean selectOnFocus)

      Allows the `selectOnFocus` behavior to be configured on a per-FormItem basis. Normally all items in a form default to the value of `DynamicForm.selectOnFocus`.
      Parameters:
        `selectOnFocus` - Default value is null
      See Also:
        `Focus overview and related methods`

    - #### getSelectOnFocus

          public java.lang.Boolean getSelectOnFocus()

      Allows the `selectOnFocus` behavior to be configured on a per-FormItem basis. Normally all items in a form default to the value of `DynamicForm.selectOnFocus`.
      Returns:
        Boolean
      See Also:
        `Focus overview and related methods`

    - #### setShouldSaveValue

          public void setShouldSaveValue(java.lang.Boolean shouldSaveValue)

      Should this item's value be saved in the form's values and hence returned from `form.getValues()`?

      `shouldSaveValue:false` is used to mark formItems which do not correspond to the underlying data model and should not save a value into the form's `values`. Example includes visual separators, password re-type fields, or checkboxes used to show/hide other form items.

      A `shouldSaveValue:false` item should be given a value either via `defaultValue` or by calling `form.setValue(item, value)` or `formItem.setValue(value)`. Providing a value via `form.values` or `form.setValues()` will automatically switch the item to `shouldSaveValue:true`.

      Note that

      - if an item is shouldSaveValue true, but has no name, a warning is logged, and shouldSaveValue will be set to false.
      Parameters:
        `shouldSaveValue` - Default value is true

    - #### getShouldSaveValue

          public java.lang.Boolean getShouldSaveValue()

      Should this item's value be saved in the form's values and hence returned from `form.getValues()`?

      `shouldSaveValue:false` is used to mark formItems which do not correspond to the underlying data model and should not save a value into the form's `values`. Example includes visual separators, password re-type fields, or checkboxes used to show/hide other form items.

      A `shouldSaveValue:false` item should be given a value either via `defaultValue` or by calling `form.setValue(item, value)` or `formItem.setValue(value)`. Providing a value via `form.values` or `form.setValues()` will automatically switch the item to `shouldSaveValue:true`.

      Note that

      - if an item is shouldSaveValue true, but has no name, a warning is logged, and shouldSaveValue will be set to false.
      Returns:
        Boolean

    - #### setShowClippedTitleOnHover

          public void setShowClippedTitleOnHover(boolean showClippedTitleOnHover)

      If true and the title is clipped, then a hover containing the full title of this item is enabled.

      A `TitleHoverEvent` is fired before the hover is displayed, allowing the hover to be canceled if desired. The HTML shown in the hover can be customized by setting a `FormItemHoverFormatter` on either this `FormItem` or the `DynamicForm`. See `setItemTitleHoverFormatter()`.

      Parameters:
        `showClippedTitleOnHover` - Default value is true

    - #### getShowClippedTitleOnHover

          public boolean getShowClippedTitleOnHover()

      If true and the title is clipped, then a hover containing the full title of this item is enabled.

      A `TitleHoverEvent` is fired before the hover is displayed, allowing the hover to be canceled if desired. The HTML shown in the hover can be customized by setting a `FormItemHoverFormatter` on either this `FormItem` or the `DynamicForm`. See `setItemTitleHoverFormatter()`.

      Returns:
        boolean

    - #### setShowClippedValueOnHover

          public void setShowClippedValueOnHover(java.lang.Boolean showClippedValueOnHover)

      If true and the value is clipped, then a hover containing the full value of this item is enabled.

      A `ValueHoverEvent` is fired before the hover is displayed, allowing the hover to be canceled if desired. The HTML shown in the hover can be customized by setting a `FormItemHoverFormatter` on either this `FormItem` or the `DynamicForm`. See `setItemValueHoverFormatter()`.

      Parameters:
        `showClippedValueOnHover` - Default value is true

    - #### getShowClippedValueOnHover

          public java.lang.Boolean getShowClippedValueOnHover()

      If true and the value is clipped, then a hover containing the full value of this item is enabled.

      A `ValueHoverEvent` is fired before the hover is displayed, allowing the hover to be canceled if desired. The HTML shown in the hover can be customized by setting a `FormItemHoverFormatter` on either this `FormItem` or the `DynamicForm`. See `setItemValueHoverFormatter()`.

      Returns:
        Boolean

    - #### setShowDeletions

          public void setShowDeletions(java.lang.Boolean showDeletions)

      For items that support `multiple values`, this causes distinct CSS styling to be applied to values that the user has unselected.

      Only allowed when `showPending` is `true`. Defaults to the form-level `DynamicForm.showDeletions` setting if set; otherwise, to the value of `showPending`.

      Only supported for `MultiComboBoxItem` and for `SelectItem` when `multiple:true` is set. The specific default behaviors are:

      - For `MultiComboBoxItem`, buttons corresponding to deleted values (also called "deselected buttons") will be disabled and have their `Button.baseStyle` set to `MultiComboBoxItem.deselectedButtonStyle`.
      - For a multiple `SelectItem`, `valueDeselectedCSSText` is applied to any deleted value in the text box. In addition, "Deselected" is appended to the cells' `ListGrid.baseStyle` for cells in the pickList menu corresponding to deleted values.

      NOTE: When a value is shown as deleted, this is not reflected to screen readers, and screen readers are instructed to ignore the deleted value. Therefore, it is not advisable to design a UI where it is necessary for the user to know whether a value is shown as deleted in order to work with the form.

      Note : This is an advanced setting

      Parameters:
        `showDeletions` - Default value is null
      See Also:
        `DynamicForm.setShowDeletions(java.lang.Boolean)`

    - #### getShowDeletions

          public java.lang.Boolean getShowDeletions()

      For items that support `multiple values`, this causes distinct CSS styling to be applied to values that the user has unselected.

      Only allowed when `showPending` is `true`. Defaults to the form-level `DynamicForm.showDeletions` setting if set; otherwise, to the value of `showPending`.

      Only supported for `MultiComboBoxItem` and for `SelectItem` when `multiple:true` is set. The specific default behaviors are:

      - For `MultiComboBoxItem`, buttons corresponding to deleted values (also called "deselected buttons") will be disabled and have their `Button.baseStyle` set to `MultiComboBoxItem.deselectedButtonStyle`.
      - For a multiple `SelectItem`, `valueDeselectedCSSText` is applied to any deleted value in the text box. In addition, "Deselected" is appended to the cells' `ListGrid.baseStyle` for cells in the pickList menu corresponding to deleted values.

      NOTE: When a value is shown as deleted, this is not reflected to screen readers, and screen readers are instructed to ignore the deleted value. Therefore, it is not advisable to design a UI where it is necessary for the user to know whether a value is shown as deleted in order to work with the form.

      Returns:
        Boolean
      See Also:
        `DynamicForm.getShowDeletions()`

    - #### setShowDisabled

          public void setShowDisabled(java.lang.Boolean showDisabled)

      When this item is disabled, should it be re-styled to indicate its disabled state?

      See `FormItemStyling` for more details on formItem styling.
      If this method is called after the component has been drawn/initialized: Setter method for `showDisabled`

      Note : This is an advanced setting

      Parameters:
        `showDisabled` - new showDisabled setting. Default value is true
      See Also:
        `setCellStyle(java.lang.String)`, `FormItemStyling overview and related methods`

    - #### getShowDisabled

          public java.lang.Boolean getShowDisabled()

      When this item is disabled, should it be re-styled to indicate its disabled state?

      See `FormItemStyling` for more details on formItem styling.

      Returns:
        Boolean
      See Also:
        `getCellStyle()`, `FormItemStyling overview and related methods`

    - #### setShowErrorIcon

          public void setShowErrorIcon(java.lang.Boolean showErrorIcon)

      `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error). To instead display all errors at the top of the form, set `showInlineErrors`:false.

      `showErrorIcons`, `showErrorText` and `showErrorStyle` are all boolean properties, and can be set on a DynamicForm to control the behavior form-wide, or set on individual FormItems.

      The HTML displayed next to a form item with errors is generated by `getErrorHTML()`. The default implementation of that method respects `showErrorIcons` and `showErrorText` as follows:

      `showErrorIcons`, or `showErrorIcon` at the FormItem level controls whether an error icon should appear next to fields which have validation errors. The icon's appearance is governed by `errorIconSrc`, `errorIconWidth` and `errorIconHeight`

      `showErrorText` determines whether the text of the validation error should be displayed next to fields which have validation errors. The attribute `DynamicForm.showTitlesWithErrorMessages` may be set to prefix error messages with the form item's title + `":"` (may be desired if the item has `showTitle` set to false).

      `DynamicForm.errorOrientation` controls where the error HTML should appear relative to form items. Therefore the combination of `showErrorText``:false` and `errorOrientation``:"left"` creates a compact validation error display consisting of just an icon, to the left of the item with the error message available via a hover (similar appearance to ListGrid validation error display).

      In addition to this, `showErrorStyle` determines whether fields with validation errors should have special styling applied to them. Error styling is achieved by applying suffixes to existing styling applied to various parts of the form item. See `FormItemBaseStyle` for more on this.

      Parameters:
        `showErrorIcon` - Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getShowErrorIcon

          public java.lang.Boolean getShowErrorIcon()

      `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error). To instead display all errors at the top of the form, set `showInlineErrors`:false.

      `showErrorIcons`, `showErrorText` and `showErrorStyle` are all boolean properties, and can be set on a DynamicForm to control the behavior form-wide, or set on individual FormItems.

      The HTML displayed next to a form item with errors is generated by `getErrorHTML()`. The default implementation of that method respects `showErrorIcons` and `showErrorText` as follows:

      `showErrorIcons`, or `showErrorIcon` at the FormItem level controls whether an error icon should appear next to fields which have validation errors. The icon's appearance is governed by `errorIconSrc`, `errorIconWidth` and `errorIconHeight`

      `showErrorText` determines whether the text of the validation error should be displayed next to fields which have validation errors. The attribute `DynamicForm.showTitlesWithErrorMessages` may be set to prefix error messages with the form item's title + `":"` (may be desired if the item has `showTitle` set to false).

      `DynamicForm.errorOrientation` controls where the error HTML should appear relative to form items. Therefore the combination of `showErrorText``:false` and `errorOrientation``:"left"` creates a compact validation error display consisting of just an icon, to the left of the item with the error message available via a hover (similar appearance to ListGrid validation error display).

      In addition to this, `showErrorStyle` determines whether fields with validation errors should have special styling applied to them. Error styling is achieved by applying suffixes to existing styling applied to various parts of the form item. See `FormItemBaseStyle` for more on this.

      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`

    - #### setShowErrorStyle

          public void setShowErrorStyle(java.lang.Boolean showErrorStyle)

      `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error). To instead display all errors at the top of the form, set `showInlineErrors`:false.

      `showErrorIcons`, `showErrorText` and `showErrorStyle` are all boolean properties, and can be set on a DynamicForm to control the behavior form-wide, or set on individual FormItems.

      The HTML displayed next to a form item with errors is generated by `getErrorHTML()`. The default implementation of that method respects `showErrorIcons` and `showErrorText` as follows:

      `showErrorIcons`, or `showErrorIcon` at the FormItem level controls whether an error icon should appear next to fields which have validation errors. The icon's appearance is governed by `errorIconSrc`, `errorIconWidth` and `errorIconHeight`

      `showErrorText` determines whether the text of the validation error should be displayed next to fields which have validation errors. The attribute `DynamicForm.showTitlesWithErrorMessages` may be set to prefix error messages with the form item's title + `":"` (may be desired if the item has `showTitle` set to false).

      `DynamicForm.errorOrientation` controls where the error HTML should appear relative to form items. Therefore the combination of `showErrorText``:false` and `errorOrientation``:"left"` creates a compact validation error display consisting of just an icon, to the left of the item with the error message available via a hover (similar appearance to ListGrid validation error display).

      In addition to this, `showErrorStyle` determines whether fields with validation errors should have special styling applied to them. Error styling is achieved by applying suffixes to existing styling applied to various parts of the form item. See `FormItemBaseStyle` for more on this.

      Parameters:
        `showErrorStyle` - Default value is null
      See Also:
        `setCellStyle(java.lang.String)`, `Appearance overview and related methods`

    - #### getShowErrorStyle

          public java.lang.Boolean getShowErrorStyle()

      `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error). To instead display all errors at the top of the form, set `showInlineErrors`:false.

      `showErrorIcons`, `showErrorText` and `showErrorStyle` are all boolean properties, and can be set on a DynamicForm to control the behavior form-wide, or set on individual FormItems.

      The HTML displayed next to a form item with errors is generated by `getErrorHTML()`. The default implementation of that method respects `showErrorIcons` and `showErrorText` as follows:

      `showErrorIcons`, or `showErrorIcon` at the FormItem level controls whether an error icon should appear next to fields which have validation errors. The icon's appearance is governed by `errorIconSrc`, `errorIconWidth` and `errorIconHeight`

      `showErrorText` determines whether the text of the validation error should be displayed next to fields which have validation errors. The attribute `DynamicForm.showTitlesWithErrorMessages` may be set to prefix error messages with the form item's title + `":"` (may be desired if the item has `showTitle` set to false).

      `DynamicForm.errorOrientation` controls where the error HTML should appear relative to form items. Therefore the combination of `showErrorText``:false` and `errorOrientation``:"left"` creates a compact validation error display consisting of just an icon, to the left of the item with the error message available via a hover (similar appearance to ListGrid validation error display).

      In addition to this, `showErrorStyle` determines whether fields with validation errors should have special styling applied to them. Error styling is achieved by applying suffixes to existing styling applied to various parts of the form item. See `FormItemBaseStyle` for more on this.

      Returns:
        Boolean
      See Also:
        `getCellStyle()`, `Appearance overview and related methods`

    - #### setShowErrorText

          public void setShowErrorText(java.lang.Boolean showErrorText)

      `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error). To instead display all errors at the top of the form, set `showInlineErrors`:false.

      `showErrorIcons`, `showErrorText` and `showErrorStyle` are all boolean properties, and can be set on a DynamicForm to control the behavior form-wide, or set on individual FormItems.

      The HTML displayed next to a form item with errors is generated by `getErrorHTML()`. The default implementation of that method respects `showErrorIcons` and `showErrorText` as follows:

      `showErrorIcons`, or `showErrorIcon` at the FormItem level controls whether an error icon should appear next to fields which have validation errors. The icon's appearance is governed by `errorIconSrc`, `errorIconWidth` and `errorIconHeight`

      `showErrorText` determines whether the text of the validation error should be displayed next to fields which have validation errors. The attribute `DynamicForm.showTitlesWithErrorMessages` may be set to prefix error messages with the form item's title + `":"` (may be desired if the item has `showTitle` set to false).

      `DynamicForm.errorOrientation` controls where the error HTML should appear relative to form items. Therefore the combination of `showErrorText``:false` and `errorOrientation``:"left"` creates a compact validation error display consisting of just an icon, to the left of the item with the error message available via a hover (similar appearance to ListGrid validation error display).

      In addition to this, `showErrorStyle` determines whether fields with validation errors should have special styling applied to them. Error styling is achieved by applying suffixes to existing styling applied to various parts of the form item. See `FormItemBaseStyle` for more on this.

      Parameters:
        `showErrorText` - Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getShowErrorText

          public java.lang.Boolean getShowErrorText()

      `showErrorIcons`, `showErrorText`, and `showErrorStyle` control how validation errors are displayed when they are displayed inline in the form (next to the form item where there is a validation error). To instead display all errors at the top of the form, set `showInlineErrors`:false.

      `showErrorIcons`, `showErrorText` and `showErrorStyle` are all boolean properties, and can be set on a DynamicForm to control the behavior form-wide, or set on individual FormItems.

      The HTML displayed next to a form item with errors is generated by `getErrorHTML()`. The default implementation of that method respects `showErrorIcons` and `showErrorText` as follows:

      `showErrorIcons`, or `showErrorIcon` at the FormItem level controls whether an error icon should appear next to fields which have validation errors. The icon's appearance is governed by `errorIconSrc`, `errorIconWidth` and `errorIconHeight`

      `showErrorText` determines whether the text of the validation error should be displayed next to fields which have validation errors. The attribute `DynamicForm.showTitlesWithErrorMessages` may be set to prefix error messages with the form item's title + `":"` (may be desired if the item has `showTitle` set to false).

      `DynamicForm.errorOrientation` controls where the error HTML should appear relative to form items. Therefore the combination of `showErrorText``:false` and `errorOrientation``:"left"` creates a compact validation error display consisting of just an icon, to the left of the item with the error message available via a hover (similar appearance to ListGrid validation error display).

      In addition to this, `showErrorStyle` determines whether fields with validation errors should have special styling applied to them. Error styling is achieved by applying suffixes to existing styling applied to various parts of the form item. See `FormItemBaseStyle` for more on this.

      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`

    - #### setShowFocused

          public void setShowFocused(java.lang.Boolean showFocused)

      When this item receives focus, should it be re-styled to indicate it has focus?

      See `FormItemStyling` for more details on formItem styling.

      Note : This is an advanced setting

      Parameters:
        `showFocused` - Default value is false
      See Also:
        `setCellStyle(java.lang.String)`, `FormItemStyling overview and related methods`

    - #### getShowFocused

          public java.lang.Boolean getShowFocused()

      When this item receives focus, should it be re-styled to indicate it has focus?

      See `FormItemStyling` for more details on formItem styling.

      Returns:
        Boolean
      See Also:
        `getCellStyle()`, `FormItemStyling overview and related methods`

    - #### setShowFocusedErrorState

          public void setShowFocusedErrorState(java.lang.Boolean showFocusedErrorState)

      If set to true, when an item has errors and is focused, an "ErrorFocused" suffix will appear on the stylename.

      Note : This is an advanced setting

      Parameters:
        `showFocusedErrorState` - Default value is false
      See Also:
        `setCellStyle(java.lang.String)`, `Appearance overview and related methods`

    - #### getShowFocusedErrorState

          public java.lang.Boolean getShowFocusedErrorState()

      If set to true, when an item has errors and is focused, an "ErrorFocused" suffix will appear on the stylename.
      Returns:
        Boolean
      See Also:
        `getCellStyle()`, `Appearance overview and related methods`

    - #### setShowFocusedIcons

          public void setShowFocusedIcons(java.lang.Boolean showFocusedIcons)

      If we're showing icons, should we change their image source to the appropriate focused source when this item has focus? Can be overridden on a per icon basis by the formItemIcon `showFocused` property.

      Note : This is an advanced setting

      Parameters:
        `showFocusedIcons` - Default value is null

    - #### getShowFocusedIcons

          public java.lang.Boolean getShowFocusedIcons()

      If we're showing icons, should we change their image source to the appropriate focused source when this item has focus? Can be overridden on a per icon basis by the formItemIcon `showFocused` property.
      Returns:
        Boolean

    - #### setShowFocusedPickerIcon

          public void setShowFocusedPickerIcon(java.lang.Boolean showFocusedPickerIcon)

      If `showPickerIcon` is true for this item, should the picker icon show a focused image when the form item has focus?
      Parameters:
        `showFocusedPickerIcon` - Default value is false

    - #### getShowFocusedPickerIcon

          public java.lang.Boolean getShowFocusedPickerIcon()

      If `showPickerIcon` is true for this item, should the picker icon show a focused image when the form item has focus?
      Returns:
        Boolean

    - #### setShowHint

          public void setShowHint(java.lang.Boolean showHint)

      If a hint is defined for this form item, should it be shown?

      Note : This is an advanced setting

      Parameters:
        `showHint` - Default value is true
      See Also:
        `Appearance overview and related methods`

    - #### getShowHint

          public java.lang.Boolean getShowHint()

      If a hint is defined for this form item, should it be shown?
      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`

    - #### setShowIcons

          public void setShowIcons(java.lang.Boolean showIcons)

      Set to false to suppress writing out any `icons` for this item.

      Note : This is an advanced setting

      Parameters:
        `showIcons` - Default value is true

    - #### getShowIcons

          public java.lang.Boolean getShowIcons()

      Set to false to suppress writing out any `icons` for this item.
      Returns:
        Boolean

    - #### setShowOldValueInHover

          public void setShowOldValueInHover(java.lang.Boolean showOldValueInHover)

      Causes the original value to be shown to the end user when the user hovers over the FormItem as such (when the `FormItem.itemHover()` event would fire).

      When `showOldValueInHover` and the form's `DynamicForm.showOldValueInHover` are both unset, defaults to the value of `showPending`.

      The message shown is controlled by `originalValueMessage`.

      Note : This is an advanced setting

      Parameters:
        `showOldValueInHover` - Default value is null

    - #### getShowOldValueInHover

          public java.lang.Boolean getShowOldValueInHover()

      Causes the original value to be shown to the end user when the user hovers over the FormItem as such (when the `FormItem.itemHover()` event would fire).

      When `showOldValueInHover` and the form's `DynamicForm.showOldValueInHover` are both unset, defaults to the value of `showPending`.

      The message shown is controlled by `originalValueMessage`.

      Returns:
        Boolean

    - #### setShowOver

          public void setShowOver(boolean showOver)

      When the user rolls over this item, should it be re-styled to indicate it has focus?

      When enabled, the "Over" styling is applied to the text box, control table (if present), and pickerIcon (if present), and any icons where `FormItemIcon.showOver` is true and `FormItemIcon.showOverWhen` is set to "textBox".
      These behaviors can be disabled piecemeal via `updateTextBoxOnOver`, `updateControlOnOver` and `updatePickerIconOnOver` properties.

      Developers may also show rollover styling for other icons (see `showOverIcons` and `FormItemIcon.showOverWhen`).

      See `FormItemStyling` for more details on formItem styling.

      Note : This is an advanced setting

      Parameters:
        `showOver` - Default value is false
      See Also:
        `FormItemStyling overview and related methods`

    - #### getShowOver

          public boolean getShowOver()

      When the user rolls over this item, should it be re-styled to indicate it has focus?

      When enabled, the "Over" styling is applied to the text box, control table (if present), and pickerIcon (if present), and any icons where `FormItemIcon.showOver` is true and `FormItemIcon.showOverWhen` is set to "textBox".
      These behaviors can be disabled piecemeal via `updateTextBoxOnOver`, `updateControlOnOver` and `updatePickerIconOnOver` properties.

      Developers may also show rollover styling for other icons (see `showOverIcons` and `FormItemIcon.showOverWhen`).

      See `FormItemStyling` for more details on formItem styling.

      Returns:
        boolean
      See Also:
        `FormItemStyling overview and related methods`

    - #### setShowOverIcons

          public void setShowOverIcons(java.lang.Boolean showOverIcons)

      If we're showing icons, should we change their image source to the appropriate over source when the user rolls over (or puts focus onto) them? Can be overridden on a per icon basis by the formItemIcon `showOver` property.

      Note : This is an advanced setting

      Parameters:
        `showOverIcons` - Default value is null

    - #### getShowOverIcons

          public java.lang.Boolean getShowOverIcons()

      If we're showing icons, should we change their image source to the appropriate over source when the user rolls over (or puts focus onto) them? Can be overridden on a per icon basis by the formItemIcon `showOver` property.
      Returns:
        Boolean

    - #### setShowPending

          public void setShowPending(java.lang.Boolean showPending)

      When `true`, causes the "Pending" optional suffix to be added if the item's current value differs from the value that would be restored by a call to `DynamicForm.resetValues()`.

      `shouldSaveValue` must be `true` for this setting to have an effect.

      Styling of the value is updated only after the `FormItem.change()` event is processed, so depending on the value of `changeOnKeypress`, styling may be updated immediately on keystroke or only when the user leaves the field.

      Default styling is provided for the Enterprise, EnterpriseBlue, and Graphite skins only. `showPending` should not be enabled for an item when using a skin without default styling unless the default `FormItem.pendingStatusChanged()` behavior is canceled and a custom pending visual state is implemented by the item.

      NOTE: Whether an item is shown as pending is not reflected to screen readers. Therefore, it is not advisable to design a UI where it is necessary for the user to know whether an item is shown as pending in order to work with the form.

      Note : This is an advanced setting

      Parameters:
        `showPending` - Default value is null
      See Also:
        `PendingStatusChangedEvent`

    - #### getShowPending

          public java.lang.Boolean getShowPending()

      When `true`, causes the "Pending" optional suffix to be added if the item's current value differs from the value that would be restored by a call to `DynamicForm.resetValues()`.

      `shouldSaveValue` must be `true` for this setting to have an effect.

      Styling of the value is updated only after the `FormItem.change()` event is processed, so depending on the value of `changeOnKeypress`, styling may be updated immediately on keystroke or only when the user leaves the field.

      Default styling is provided for the Enterprise, EnterpriseBlue, and Graphite skins only. `showPending` should not be enabled for an item when using a skin without default styling unless the default `FormItem.pendingStatusChanged()` behavior is canceled and a custom pending visual state is implemented by the item.

      NOTE: Whether an item is shown as pending is not reflected to screen readers. Therefore, it is not advisable to design a UI where it is necessary for the user to know whether an item is shown as pending in order to work with the form.

      Returns:
        Boolean
      See Also:
        `PendingStatusChangedEvent`

    - #### setShowPickerIcon

          public void setShowPickerIcon(java.lang.Boolean showPickerIcon)

      Should we show a special 'picker' `icon` for this form item? Picker icons are customizable via `pickerIconProperties`. By default they will be rendered inside the form item's "control box" area, and will call `showPicker()` when clicked.
      Parameters:
        `showPickerIcon` - Default value is null

    - #### getShowPickerIcon

          public java.lang.Boolean getShowPickerIcon()

      Should we show a special 'picker' `icon` for this form item? Picker icons are customizable via `pickerIconProperties`. By default they will be rendered inside the form item's "control box" area, and will call `showPicker()` when clicked.
      Returns:
        Boolean

    - #### setShowRTL

          public void setShowRTL(boolean showRTL)

      When this item is in RTL mode, should its style name include an "RTL" suffix?

      Note : This is an advanced setting

      Parameters:
        `showRTL` - Default value is false
      See Also:
        `setCellStyle(java.lang.String)`, `Appearance overview and related methods`

    - #### getShowRTL

          public boolean getShowRTL()

      When this item is in RTL mode, should its style name include an "RTL" suffix?
      Returns:
        boolean
      See Also:
        `getCellStyle()`, `Appearance overview and related methods`

    - #### setShowTitle

          public void setShowTitle(java.lang.Boolean showTitle)

      Should we show a title cell for this formItem?

      Note: the default value of this attribute is overridden by some subclasses.

      Parameters:
        `showTitle` - Default value is true

    - #### getShowTitle

          public java.lang.Boolean getShowTitle()

      Should we show a title cell for this formItem?

      Note: the default value of this attribute is overridden by some subclasses.

      Returns:
        Boolean

    - #### setShowValueIconOnly

          public void setShowValueIconOnly(java.lang.Boolean showValueIconOnly)

      If `valueIcons` is set, this property may be set to show the valueIcon only and prevent the standard form item element or text from displaying

      Note : This is an advanced setting

      Parameters:
        `showValueIconOnly` - Default value is null

    - #### getShowValueIconOnly

          public java.lang.Boolean getShowValueIconOnly()

      If `valueIcons` is set, this property may be set to show the valueIcon only and prevent the standard form item element or text from displaying
      Returns:
        Boolean

    - #### setStartRow

          public void setStartRow(java.lang.Boolean startRow)

      Whether this item should always start a new row in the form layout.
      Parameters:
        `startRow` - Default value is false
      See Also:
        `FormLayout overview and related methods`

    - #### getStartRow

          public java.lang.Boolean getStartRow()

      Whether this item should always start a new row in the form layout.
      Returns:
        Boolean
      See Also:
        `FormLayout overview and related methods`

    - #### setStaticHeight

          public void setStaticHeight(java.lang.Integer staticHeight)

      Height of the FormItem when `canEdit` is false and `readOnlyDisplay` is "static". The normal `height` is used if this property is not set.
      Parameters:
        `staticHeight` - Default value is null
      See Also:
        `setHeight(int)`, `FormLayout overview and related methods`

    - #### getStaticHeight

          public java.lang.Integer getStaticHeight()

      Height of the FormItem when `canEdit` is false and `readOnlyDisplay` is "static". The normal `height` is used if this property is not set.
      Returns:
        Integer
      See Also:
        `getHeight()`, `FormLayout overview and related methods`

    - #### setStopOnError

          public void setStopOnError(java.lang.Boolean stopOnError)

      Indicates that if validation fails, the user should not be allowed to exit the field - focus will be forced back into the field until the error is corrected.

      This property defaults to `DynamicForm.stopOnError` if unset.

      Enabling this property also implies `validateOnExit` is automatically enabled. If there are server-based validators on this item, setting this property also implies that `synchronousValidation` is forced on.

      Parameters:
        `stopOnError` - Default value is null

    - #### getStopOnError

          public java.lang.Boolean getStopOnError()

      Indicates that if validation fails, the user should not be allowed to exit the field - focus will be forced back into the field until the error is corrected.

      This property defaults to `DynamicForm.stopOnError` if unset.

      Enabling this property also implies `validateOnExit` is automatically enabled. If there are server-based validators on this item, setting this property also implies that `synchronousValidation` is forced on.

      Returns:
        Boolean

    - #### setSupportsCutPasteEvents

          public void setSupportsCutPasteEvents(boolean supportsCutPasteEvents)

      Does the current formItem support native cut and paste events?

      This attribute only applies to freeform text entry fields such as `TextItem` and `TextAreaItem`, and only if `changeOnKeypress` is true. If true, developers can detect the user editing the value via cut or paste interactions (triggered from keyboard shortcuts or the native browser menu options) using the `isCutEvent()` and `isPasteEvent()` methods. This allows custom cut/paste handling to be added to the various change notification flow methods including `FormItem.change()`, `handleChange()` and `FormItem.transformInput()`.

      Parameters:
        `supportsCutPasteEvents` - Default value is false

    - #### getSupportsCutPasteEvents

          public boolean getSupportsCutPasteEvents()

      Does the current formItem support native cut and paste events?

      This attribute only applies to freeform text entry fields such as `TextItem` and `TextAreaItem`, and only if `changeOnKeypress` is true. If true, developers can detect the user editing the value via cut or paste interactions (triggered from keyboard shortcuts or the native browser menu options) using the `isCutEvent()` and `isPasteEvent()` methods. This allows custom cut/paste handling to be added to the various change notification flow methods including `FormItem.change()`, `handleChange()` and `FormItem.transformInput()`.

      Returns:
        boolean

    - #### setSuppressValueIcon

          public void setSuppressValueIcon(java.lang.Boolean suppressValueIcon)

      If `valueIcons` is set, this property may be set to prevent the value icons from showing up next to the form items value

      Note : This is an advanced setting

      Parameters:
        `suppressValueIcon` - Default value is null

    - #### getSuppressValueIcon

          public java.lang.Boolean getSuppressValueIcon()

      If `valueIcons` is set, this property may be set to prevent the value icons from showing up next to the form items value
      Returns:
        Boolean

    - #### setSynchronousValidation

          public void setSynchronousValidation(java.lang.Boolean synchronousValidation)

      If enabled, whenever validation is triggered and a request to the server is required, user interactivity will be blocked until the request returns. Can be set for the entire form or individual FormItems.

      If false, the form will try to avoid blocking user interaction until it is strictly required. That is until the user attempts to use a FormItem whose state could be affected by a server request that has not yet returned.

      Parameters:
        `synchronousValidation` - Default value is null

    - #### getSynchronousValidation

          public java.lang.Boolean getSynchronousValidation()

      If enabled, whenever validation is triggered and a request to the server is required, user interactivity will be blocked until the request returns. Can be set for the entire form or individual FormItems.

      If false, the form will try to avoid blocking user interaction until it is strictly required. That is until the user attempts to use a FormItem whose state could be affected by a server request that has not yet returned.

      Returns:
        Boolean

    - #### setTabIndex

          public void setTabIndex(java.lang.Integer tabIndex)

      TabIndex for the form item within the form, which controls the order in which controls are visited when the user hits the tab or shift-tab keys to navigate between items.

      tabIndex is automatically assigned as the order that items appear in the `DynamicForm.items` list.

      To specify the tabindex of an item within the page as a whole (not just this form), use `globalTabIndex` instead.
      If this method is called after the component has been drawn/initialized: Setter for `tabIndex`.

      Parameters:
        `tabIndex` - new tabIndex for the item. Default value is null
      See Also:
        `Focus overview and related methods`

    - #### getTabIndex

          public java.lang.Integer getTabIndex()

      TabIndex for the form item within the form, which controls the order in which controls are visited when the user hits the tab or shift-tab keys to navigate between items.

      tabIndex is automatically assigned as the order that items appear in the `DynamicForm.items` list.

      To specify the tabindex of an item within the page as a whole (not just this form), use `globalTabIndex` instead.

      Returns:
        Integer
      See Also:
        `Focus overview and related methods`

    - #### setTextAlign

          public void setTextAlign(Alignment textAlign)

      Alignment of the text / content within this form item. Note that `align` may be used to control alignment of the entire form item within its cell. `textAlign` does not apply to all form item types; typically it applies only to items showing a "textBox", such as a `TextItem` or `SelectItem`, as well as text-only form item types such as `StaticTextItem` and `HeaderItem`.

      If `applyAlignToText` is true, then `textAlign` will default to the `align` setting if set. Otherwise, if this item has `icons`, then `textAlign` will default to `Alignment.LEFT` (`Alignment.RIGHT` in `RTL mode`).

      Parameters:
        `textAlign` - Default value is null
      See Also:
        `setApplyAlignToText(boolean)`, `Appearance overview and related methods`

    - #### getTextAlign

          public Alignment getTextAlign()

      Alignment of the text / content within this form item. Note that `align` may be used to control alignment of the entire form item within its cell. `textAlign` does not apply to all form item types; typically it applies only to items showing a "textBox", such as a `TextItem` or `SelectItem`, as well as text-only form item types such as `StaticTextItem` and `HeaderItem`.

      If `applyAlignToText` is true, then `textAlign` will default to the `align` setting if set. Otherwise, if this item has `icons`, then `textAlign` will default to `Alignment.LEFT` (`Alignment.RIGHT` in `RTL mode`).

      Returns:
        Alignment
      See Also:
        `getApplyAlignToText()`, `Appearance overview and related methods`

    - #### setTextBoxStyle

          public void setTextBoxStyle(java.lang.String textBoxStyle)

      Base CSS class name for a form item's text box element.

      See `FormItemStyling` for an overview of formItem styling, and the `CompoundFormItem_skinning` discussion for special skinning considerations.

      If the `textBoxStyle` is changed at runtime, `updateState()` must be called to update the visual state of this item.

      Parameters:
        `textBoxStyle` -
      See Also:
        `FormItemBaseStyle . Default value is null`, `setCellStyle(java.lang.String)`, `FormItemStyling overview and related methods`

    - #### getTextBoxStyle

          public java.lang.String getTextBoxStyle()

      Base CSS class name for a form item's text box element.

      See `FormItemStyling` for an overview of formItem styling, and the `CompoundFormItem_skinning` discussion for special skinning considerations.

      If the `textBoxStyle` is changed at runtime, `updateState()` must be called to update the visual state of this item.

      Returns:
      See Also:
        `FormItemBaseStyle`, `getCellStyle()`, `FormItemStyling overview and related methods`

    - #### setTextFormula

          public void setTextFormula(UserSummary textFormula)

      Formula to be used to calculate the text value of this FormItem. For a numeric field `formula` is used instead.

      Available fields for use in the formula are the current `rule context`. The formula is re-evaluated every time the rule context changes.

      See `formula` for details on available fields for the formula and when the formula is calculated.

      Note: A FormItem using a textFormula must have a `name` defined. `shouldSaveValue` can be set to `false` to prevent the formula field from storing the calculated value into the form's values.

      Parameters:
        `textFormula` - Default value is null
      See Also:
        `FormulaFields overview and related methods`

    - #### getTextFormula

          public UserSummary getTextFormula()

      Formula to be used to calculate the text value of this FormItem. For a numeric field `formula` is used instead.

      Available fields for use in the formula are the current `rule context`. The formula is re-evaluated every time the rule context changes.

      See `formula` for details on available fields for the formula and when the formula is calculated.

      Note: A FormItem using a textFormula must have a `name` defined. `shouldSaveValue` can be set to `false` to prevent the formula field from storing the calculated value into the form's values.

      Returns:
        UserSummary
      See Also:
        `FormulaFields overview and related methods`

    - #### setTimeFormatter

          public void setTimeFormatter(TimeDisplayFormat timeFormatter)

      Time-format to apply to date type values within this formItem. If specified, any dates displayed in this item will be formatted as times using the appropriate format. This is most commonly only applied to fields specified as type `"time"` though if no explicit `dateFormatter` is specified it will be respected for other fields as well.

      If unspecified, a timeFormatter may be defined `at the component level` and will be respected by fields of type `"time"`.

      Note : This is an advanced setting

      Parameters:
        `timeFormatter` - Default value is null
      See Also:
        `setFormat(java.lang.String)`, `Appearance overview and related methods`

    - #### getTimeFormatter

          public TimeDisplayFormat getTimeFormatter()

      Time-format to apply to date type values within this formItem. If specified, any dates displayed in this item will be formatted as times using the appropriate format. This is most commonly only applied to fields specified as type `"time"` though if no explicit `dateFormatter` is specified it will be respected for other fields as well.

      If unspecified, a timeFormatter may be defined `at the component level` and will be respected by fields of type `"time"`.

      Returns:
        TimeDisplayFormat
      See Also:
        `getFormat()`, `Appearance overview and related methods`

    - #### setTitle

          public void setTitle(java.lang.String title)

      User visible title for this form item.
      Parameters:
        `title` - Default value is null
      See Also:
        `Basics overview and related methods`

    - #### getTitle

          public java.lang.String getTitle()

      User visible title for this form item.
      Returns:
        Returns the title HTML for this item.
      See Also:
        `Basics overview and related methods`

    - #### setTitleAlign

          public void setTitleAlign(Alignment titleAlign)

      Alignment of this item's title in its cell.

      If null, dynamically set according to text direction.

      Parameters:
        `titleAlign` - Default value is null

    - #### getTitleAlign

          public Alignment getTitleAlign()

      Alignment of this item's title in its cell.

      If null, dynamically set according to text direction.

      Returns:
        Alignment

    - #### setTitleColSpan

          public void setTitleColSpan(int titleColSpan)

      Number of columns that this item's title spans.

      This setting only applies for items that are showing a title and whose `TitleOrientation` is either "left" or "right".

      Parameters:
        `titleColSpan` - Default value is 1
      See Also:
        `FormLayout overview and related methods`

    - #### getTitleColSpan

          public int getTitleColSpan()

      Number of columns that this item's title spans.

      This setting only applies for items that are showing a title and whose `TitleOrientation` is either "left" or "right".

      Returns:
        int
      See Also:
        `FormLayout overview and related methods`

    - #### setTitleOrientation

          public void setTitleOrientation(TitleOrientation titleOrientation)

      On which side of this item should the title be placed. `TitleOrientation` lists valid options.

      Note that titles on the left or right take up a cell in tabular `form layouts`, but titles on top do not.

      Parameters:
        `titleOrientation` - Default value is Canvas.LEFT
      See Also:
        `DynamicForm.setTitleOrientation(com.smartgwt.client.types.TitleOrientation)`

    - #### getTitleOrientation

          public TitleOrientation getTitleOrientation()

      On which side of this item should the title be placed. `TitleOrientation` lists valid options.

      Note that titles on the left or right take up a cell in tabular `form layouts`, but titles on top do not.

      Returns:
        TitleOrientation
      See Also:
        `DynamicForm.getTitleOrientation()`

    - #### setTitleStyle

          public void setTitleStyle(java.lang.String titleStyle)

      Base CSS class name for a form item's title. Note that this is a `FormItemBaseStyle` so will pick up stateful suffixes on focus, disabled state change etc. by default.

      Note the appearance of the title is also affected by `DynamicForm.titlePrefix`/`titleSuffix` and `DynamicForm.requiredTitlePrefix`/`requiredTitleSuffix`.

      Parameters:
        `titleStyle` -
      See Also:
        `FormItemBaseStyle . Default value is "formTitle"`, `setCellStyle(java.lang.String)`

    - #### getTitleStyle

          public java.lang.String getTitleStyle()

      Base CSS class name for a form item's title. Note that this is a `FormItemBaseStyle` so will pick up stateful suffixes on focus, disabled state change etc. by default.

      Note the appearance of the title is also affected by `DynamicForm.titlePrefix`/`titleSuffix` and `DynamicForm.requiredTitlePrefix`/`requiredTitleSuffix`.

      Returns:
      See Also:
        `FormItemBaseStyle`, `getCellStyle()`

    - #### setTitleVAlign

          public void setTitleVAlign(VerticalAlignment titleVAlign)

      Vertical alignment of this item's title in its cell. Only applies when `titleOrientation` is `"left"` or `"right"`.
      Parameters:
        `titleVAlign` - Default value is Canvas.CENTER

    - #### getTitleVAlign

          public VerticalAlignment getTitleVAlign()

      Vertical alignment of this item's title in its cell. Only applies when `titleOrientation` is `"left"` or `"right"`.
      Returns:
        VerticalAlignment

    - #### setTop

          public void setTop(int top)

      Top coordinate of this item in pixels. Applies only when the containing DynamicForm sets `itemLayout:"absolute"`.
      If this method is called after the component has been drawn/initialized: For a form with `itemLayout`:"absolute" only, set the top coordinate of this form item.

      Causes the form to redraw.

      Note : This is an advanced setting

      Parameters:
        `top` - Default value is 0

    - #### getTop

          public int getTop()

      Top coordinate of this item in pixels. Applies only when the containing DynamicForm sets `itemLayout:"absolute"`.
      Returns:
        Returns the top coordinate of the form item in pixels. Note that this method is only reliable after the item has been drawn out.

    - #### setUpdateControlOnOver

          public void setUpdateControlOnOver(java.lang.Boolean updateControlOnOver)

      If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the control table element of this item (if present).

      Note : This is an advanced setting

      Parameters:
        `updateControlOnOver` - Default value is null
      See Also:
        `setShowOver(boolean)`, `FormItemStyling overview and related methods`

    - #### getUpdateControlOnOver

          public java.lang.Boolean getUpdateControlOnOver()

      If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the control table element of this item (if present).
      Returns:
        Boolean
      See Also:
        `getShowOver()`, `FormItemStyling overview and related methods`

    - #### setUpdatePickerIconOnOver

          public void setUpdatePickerIconOnOver(java.lang.Boolean updatePickerIconOnOver)

      If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the PickerIcon of this item (if present)

      Note : This is an advanced setting

      Parameters:
        `updatePickerIconOnOver` - Default value is null
      See Also:
        `setShowOver(boolean)`, `FormItemStyling overview and related methods`

    - #### getUpdatePickerIconOnOver

          public java.lang.Boolean getUpdatePickerIconOnOver()

      If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the PickerIcon of this item (if present)
      Returns:
        Boolean
      See Also:
        `getShowOver()`, `FormItemStyling overview and related methods`

    - #### setUpdateTextBoxOnOver

          public void setUpdateTextBoxOnOver(java.lang.Boolean updateTextBoxOnOver)

      If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the TextBox element of this item.

      Note : This is an advanced setting

      Parameters:
        `updateTextBoxOnOver` - Default value is null
      See Also:
        `setShowOver(boolean)`, `FormItemStyling overview and related methods`

    - #### getUpdateTextBoxOnOver

          public java.lang.Boolean getUpdateTextBoxOnOver()

      If `showOver` is true, setting this property to false will explicitly disable showing the "Over" state for the TextBox element of this item.
      Returns:
        Boolean
      See Also:
        `getShowOver()`, `FormItemStyling overview and related methods`

    - #### setUseDisabledHintStyleForReadOnly

          public void setUseDisabledHintStyleForReadOnly(java.lang.Boolean useDisabledHintStyleForReadOnly)

      By default, `read-only` fields use the same style name as editable fields for in-field hints, unless they are `disabled` or configured to use a disabled `ReadOnlyDisplayAppearance`. This is described under `TextItem.showHintInField`

      If `useDisabledHintStyleForReadOnly` is set, the "HintDisabled" style will be used for read-only fields regardless of their `ReadOnlyDisplayAppearance`. This allows you to use a different in-field hint style for read-only fields without having to use a general disabled appearance for those fields

      Parameters:
        `useDisabledHintStyleForReadOnly` - Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getUseDisabledHintStyleForReadOnly

          public java.lang.Boolean getUseDisabledHintStyleForReadOnly()

      By default, `read-only` fields use the same style name as editable fields for in-field hints, unless they are `disabled` or configured to use a disabled `ReadOnlyDisplayAppearance`. This is described under `TextItem.showHintInField`

      If `useDisabledHintStyleForReadOnly` is set, the "HintDisabled" style will be used for read-only fields regardless of their `ReadOnlyDisplayAppearance`. This allows you to use a different in-field hint style for read-only fields without having to use a general disabled appearance for those fields

      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`

    - #### setValidateOnChange

          public void setValidateOnChange(java.lang.Boolean validateOnChange)

      If true, form items will be validated when each item's "change" handler is fired as well as when the entire form is submitted or validated.

      Note that this property can also be set at the form level or on each validator; If true at the form or field level, validators not explicitly set with `validateOnChange:false` will be fired on change - displaying errors and rejecting the change on validation failure.

      Parameters:
        `validateOnChange` - Default value is false
      See Also:
        `DynamicForm.setValidateOnChange(java.lang.Boolean)`

    - #### getValidateOnChange

          public java.lang.Boolean getValidateOnChange()

      If true, form items will be validated when each item's "change" handler is fired as well as when the entire form is submitted or validated.

      Note that this property can also be set at the form level or on each validator; If true at the form or field level, validators not explicitly set with `validateOnChange:false` will be fired on change - displaying errors and rejecting the change on validation failure.

      Returns:
        Boolean
      See Also:
        `DynamicForm.getValidateOnChange()`

    - #### setValidateOnExit

          public void setValidateOnExit(java.lang.Boolean validateOnExit)

      If true, form items will be validated when each item's "editorExit" handler is fired as well as when the entire form is submitted or validated.

      Note that this property can also be set at the form level. If true at either level the validator will be fired on editorExit.

      Parameters:
        `validateOnExit` - Default value is false
      See Also:
        `DynamicForm.setValidateOnExit(java.lang.Boolean)`

    - #### getValidateOnExit

          public java.lang.Boolean getValidateOnExit()

      If true, form items will be validated when each item's "editorExit" handler is fired as well as when the entire form is submitted or validated.

      Note that this property can also be set at the form level. If true at either level the validator will be fired on editorExit.

      Returns:
        Boolean
      See Also:
        `DynamicForm.getValidateOnExit()`

    - #### setValidators

          public void setValidators(Validator... validators)

      Validators for this form item.

      Note: these validators will only be run on the client; to do real client-server validation, validators must be specified via `DataSourceField.validators`.

      Parameters:
        `validators` - Default value is null

    - #### setValidOperators

          public void setValidOperators(OperatorId... validOperators)

      Array of valid filtering operators (eg "greaterThan") that are legal for this FormItem.

      Applies only to form/formItem when `allowExpressions` is true, allowing the user to input expressions.

      Parameters:
        `validOperators` - Default value is null

    - #### getValidOperators

          public OperatorId[] getValidOperators()

      Array of valid filtering operators (eg "greaterThan") that are legal for this FormItem.

      Applies only to form/formItem when `allowExpressions` is true, allowing the user to input expressions.

      Returns:
        OperatorId...

    - #### setVAlign

          public void setVAlign(VerticalAlignment vAlign)

      Vertical alignment of this item within its cell. This property governs the position of the item's text box within the cell (not the content within the text box). If `shouldApplyHeightToTextBox()` is true, for this to have a visible effect, the cell height must exceed the specified height of the item, either due to an explicit `cellHeight` specification, or due to the row being expanded by another taller item.

      Has no effect if `DynamicForm.itemLayout` is set to `"absolute"` for the form.

      Parameters:
        `vAlign` - Default value is Canvas.CENTER

    - #### getVAlign

          public VerticalAlignment getVAlign()

      Vertical alignment of this item within its cell. This property governs the position of the item's text box within the cell (not the content within the text box). If `shouldApplyHeightToTextBox()` is true, for this to have a visible effect, the cell height must exceed the specified height of the item, either due to an explicit `cellHeight` specification, or due to the row being expanded by another taller item.

      Has no effect if `DynamicForm.itemLayout` is set to `"absolute"` for the form.

      Returns:
        VerticalAlignment

    - #### setValueDeselectedCSSText

          public void setValueDeselectedCSSText(java.lang.String valueDeselectedCSSText)

      Custom CSS text to be applied to values that have been deleted, when `showDeletions` is enabled.

      Note : This is an advanced setting

      Parameters:
        `valueDeselectedCSSText` -
      See Also:
        `CSSText . Default value is "color:#A8A8A8;text-decoration:line-through;"`

    - #### getValueDeselectedCSSText

          public java.lang.String getValueDeselectedCSSText()

      Custom CSS text to be applied to values that have been deleted, when `showDeletions` is enabled.
      Returns:
      See Also:
        `CSSText`

    - #### setValueField

          public void setValueField(java.lang.String valueField)

      If this form item maps data values to display values by retrieving the `displayField` values from an `optionDataSource`, this property denotes the the field to use as the underlying data value in records from the optionDataSource.
      If unset, assumed to be the `name` of this form item.
      Parameters:
        `valueField` - Default value is null
      See Also:
        `Databinding overview and related methods`

    - #### getValueField

          public java.lang.String getValueField()

      If this form item maps data values to display values by retrieving the `displayField` values from an `optionDataSource`, this property denotes the the field to use as the underlying data value in records from the optionDataSource.
      If unset, assumed to be the `name` of this form item.
      Returns:
        Getter method to retrieve the `valueField` for this item. If unset, default behavior will return the `name` of this field.
      See Also:
        `Databinding overview and related methods`

    - #### setValueIconHeight

          public void setValueIconHeight(java.lang.Integer valueIconHeight)

      If `valueIcons` is specified, use this property to specify a height for the value icon written out.
      Parameters:
        `valueIconHeight` - Default value is null
      See Also:
        `setValueIconWidth(java.lang.Integer)`, `setValueIconSize(int)`

    - #### getValueIconHeight

          public java.lang.Integer getValueIconHeight()

      If `valueIcons` is specified, use this property to specify a height for the value icon written out.
      Returns:
        Integer
      See Also:
        `getValueIconWidth()`, `getValueIconSize()`

    - #### setValueIconLeftPadding

          public void setValueIconLeftPadding(int valueIconLeftPadding)

      If we're showing a value icon, this attribute governs the amount of space between the icon and the start edge of the form item cell.

      NOTE: In RTL mode, the valueIconLeftPadding is applied to the right of the value icon.

      Parameters:
        `valueIconLeftPadding` - Default value is 0
      See Also:
        `setValueIcons(java.util.Map)`

    - #### getValueIconLeftPadding

          public int getValueIconLeftPadding()

      If we're showing a value icon, this attribute governs the amount of space between the icon and the start edge of the form item cell.

      NOTE: In RTL mode, the valueIconLeftPadding is applied to the right of the value icon.

      Returns:
        int
      See Also:
        `com.smartgwt.client.widgets.form.fields.FormItem#getValueIcons`

    - #### setValueIconRightPadding

          public void setValueIconRightPadding(int valueIconRightPadding)

      If we're showing a value icon, this attribute governs the amount of space between the icon and the value text.

      NOTE: In RTL mode, the valueIconRightPadding is applied to the left of the value icon.

      Parameters:
        `valueIconRightPadding` - Default value is 3
      See Also:
        `setValueIcons(java.util.Map)`

    - #### getValueIconRightPadding

          public int getValueIconRightPadding()

      If we're showing a value icon, this attribute governs the amount of space between the icon and the value text.

      NOTE: In RTL mode, the valueIconRightPadding is applied to the left of the value icon.

      Returns:
        int
      See Also:
        `com.smartgwt.client.widgets.form.fields.FormItem#getValueIcons`

    - #### setValueIconSize

          public void setValueIconSize(int valueIconSize)

      If `valueIcons` is specified, this property may be used to specify both the width and height of the icon written out. Note that `valueIconWidth` and `valueIconHeight` take precedence over this value, if specified.
      Parameters:
        `valueIconSize` - Default value is 16
      See Also:
        `setValueIconWidth(java.lang.Integer)`, `setValueIconHeight(java.lang.Integer)`

    - #### getValueIconSize

          public int getValueIconSize()

      If `valueIcons` is specified, this property may be used to specify both the width and height of the icon written out. Note that `valueIconWidth` and `valueIconHeight` take precedence over this value, if specified.
      Returns:
        int
      See Also:
        `getValueIconWidth()`, `getValueIconHeight()`

    - #### setValueIconWidth

          public void setValueIconWidth(java.lang.Integer valueIconWidth)

      If `valueIcons` is specified, use this property to specify a width for the value icon written out.
      Parameters:
        `valueIconWidth` - Default value is null
      See Also:
        `setValueIconHeight(java.lang.Integer)`, `setValueIconSize(int)`

    - #### getValueIconWidth

          public java.lang.Integer getValueIconWidth()

      If `valueIcons` is specified, use this property to specify a width for the value icon written out.
      Returns:
        Integer
      See Also:
        `getValueIconHeight()`, `getValueIconSize()`

    - #### setVisible

          public void setVisible(java.lang.Boolean visible)

      Whether this item is currently visible.

      `visible` can only be set on creation. After creation, use `show()` and `hide()` to manipulate visibility.

      Parameters:
        `visible` - Default value is true
      See Also:
        `Appearance overview and related methods`

    - #### getVisible

          public java.lang.Boolean getVisible()

      Whether this item is currently visible.

      `visible` can only be set on creation. After creation, use `show()` and `hide()` to manipulate visibility.

      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`

    - #### setVisibleWhen

          public void setVisibleWhen(AdvancedCriteria visibleWhen)

      Criteria to be evaluated to determine whether this FormItem 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.

      If both `showIf()` and `visibleWhen` are specified, `visibleWhen` is ignored.

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

      Note: A FormItem using visibleWhen 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:
        `visibleWhen` - Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getVisibleWhen

          public AdvancedCriteria getVisibleWhen()

      Criteria to be evaluated to determine whether this FormItem 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.

      If both `showIf()` and `visibleWhen` are specified, `visibleWhen` is ignored.

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

      Note: A FormItem using visibleWhen 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:
        AdvancedCriteria
      See Also:
        `Appearance overview and related methods`

    - #### setWidth

          public void setWidth(int width)

      Width of the FormItem. Can be either a number indicating a fixed width in pixels, or "*" indicating the FormItem fills the space allocated to it's column (or columns, for a `column spanning` item).

      If width is specified as a String, getWidth() will return -1. Use getWidthAsString.() in this case.

      See the `FormLayout` overview for details.

      Parameters:
        `width` - Default value is -1
      See Also:
        `FormLayout overview and related methods`, Spanning Example

    - #### getWidth

          public int getWidth()

      Width of the FormItem. Can be either a number indicating a fixed width in pixels, or "*" indicating the FormItem fills the space allocated to it's column (or columns, for a `column spanning` item).

      If width is specified as a String, getWidth() will return -1. Use getWidthAsString.() in this case.

      See the `FormLayout` overview for details.

      Returns:
        Output the width for this element. Note this returns the specified width for the element, which may be "*" or a percentage value. Use 'getVisibleWidth()' to get the drawn width in pixels.
      See Also:
        `FormLayout overview and related methods`, Spanning Example

    - #### setWidth

          public void setWidth(java.lang.String width)

      Width of the FormItem. Can be either a number indicating a fixed width in pixels, or "*" indicating the FormItem fills the space allocated to it's column (or columns, for a `column spanning` item).

      If width is specified as a String, getWidth() will return -1. Use getWidthAsString.() in this case.

      See the `FormLayout` overview for details.

      Parameters:
        `width` - Default value is -1
      See Also:
        `FormLayout overview and related methods`, Spanning Example

    - #### getWidthAsString

          public java.lang.String getWidthAsString()

      Width of the FormItem. Can be either a number indicating a fixed width in pixels, or "*" indicating the FormItem fills the space allocated to it's column (or columns, for a `column spanning` item).

      If width is specified as a String, getWidth() will return -1. Use getWidthAsString.() in this case.

      See the `FormLayout` overview for details.

      Returns:
        Output the width for this element. Note this returns the specified width for the element, which may be "*" or a percentage value. Use 'getVisibleWidth()' to get the drawn width in pixels.
      See Also:
        `FormLayout overview and related methods`, Spanning Example

    - #### setWrapHintText

          public void setWrapHintText(java.lang.Boolean wrapHintText)

      If this item is showing a `hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.

      If unset this property will be picked up from the `DynamicForm.wrapHintText` setting.

      This setting does not apply to hints that are `shown in field`.

      Parameters:
        `wrapHintText` - Default value is null
      See Also:
        `setMinHintWidth(java.lang.Integer)`

    - #### getWrapHintText

          public java.lang.Boolean getWrapHintText()

      If this item is showing a `hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.

      If unset this property will be picked up from the `DynamicForm.wrapHintText` setting.

      This setting does not apply to hints that are `shown in field`.

      Returns:
        Boolean
      See Also:
        `getMinHintWidth()`

    - #### setWrapTitle

          public void setWrapTitle(java.lang.Boolean wrapTitle)

      If specified determines whether this items title should wrap. Overrides `wrapItemTitles` at the DynamicForm level.
      Parameters:
        `wrapTitle` - Default value is null

    - #### getWrapTitle

          public java.lang.Boolean getWrapTitle()

      If specified determines whether this items title should wrap. Overrides `wrapItemTitles` at the DynamicForm level.
      Returns:
        Boolean

    - #### applyFormula

          public void applyFormula()

      Manually sets this FormItem to the result of `formula` or `textFormula`. Formulas are normally automatically recomputed and the result automatically applied to the FormItem according to the rules described under `formula`. `applyFormula()` exists to cover any rare cases where these rules are not correct.

      Calling `applyFormula()` has no effect if no `formula` or `textFormula` is configured for this FormItem.

    - #### addBlurHandler

          public com.google.gwt.event.shared.HandlerRegistration addBlurHandler(BlurHandler handler)

      Add a blur handler.

      Called when this FormItem loses focus.

      Specified by:
        `addBlurHandler` in interface `HasBlurHandlers`
      Parameters:
        `handler` - the blur handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### blurItem

          public void blurItem()

      Takes focus from this form item's focusable element.
      See Also:
        `Focus overview and related methods`

    - #### addChangeHandler

          public com.google.gwt.event.shared.HandlerRegistration addChangeHandler(ChangeHandler handler)

      Add a change handler.

      Called when a FormItem's value is about to change as the result of user interaction. This method fires after the user performed an action that would change the value of this field, but before the element itself is changed.

      Returning false cancels the change. Note that if what you want to do is transform the user's input, for example, automatically change separator characters to a standard separator character, you should implement `transformInput` rather than using a combination of change() and setValue() to accomplish the same thing. Returning false from `change` is intended for rejecting input entirely, such as typing invalid characters.

      Note that if you ask the form for the current value in this handler, you will get the old value because the change has not yet been committed. The new value is available as a parameter to this method.

      Specified by:
        `addChangeHandler` in interface `HasChangeHandlers`
      Parameters:
        `handler` - the change handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addChangedHandler

          public com.google.gwt.event.shared.HandlerRegistration addChangedHandler(ChangedHandler handler)

      Add a changed handler.

      Called when a FormItem's value has been changed as the result of user interaction. This method fires after the newly specified value has been stored.

      Specified by:
        `addChangedHandler` in interface `HasChangedHandlers`
      Parameters:
        `handler` - the changed handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### clearErrors

          public void clearErrors()

      Clear all error messages for this item
      See Also:
        `ErrorHandling overview and related methods`

    - #### clearValue

          public void clearValue()

      Clear the value for this form item.

      Note that if a default value is specified, value will be set to that default value, otherwise value will be cleared, (and removed from the containing form's values).

    - #### addClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addClickHandler(ClickHandler handler)

      Add a click handler.

      Called when this FormItem is clicked on.

      Note: `click()` is available on StaticTextItem, BlurbItems, ButtonItem, and derivatives. Other form items (such as HiddenItem) do not support `click()`.

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

    - #### disable

          public void disable()

      Set this item to be disabled at runtime.
      See Also:
        `getDisabled()`, `Enable overview and related methods`

    - #### disableIcon

          public void disableIcon(java.lang.String icon)

      This method will disable some icon in this item's `icons` array, if it is currently enabled.
      Parameters:
        `icon` - `name` of the icon to be disabled.
      See Also:
        `FormItemIcon.getDisabled()`, `Enable overview and related methods`

    - #### addDoubleClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler)

      Add a doubleClick handler.

      Called when this FormItem is double-clicked.

      Specified by:
        `addDoubleClickHandler` in interface `HasDoubleClickHandlers`
      Parameters:
        `handler` - the doubleClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addEditorEnterHandler

          public com.google.gwt.event.shared.HandlerRegistration addEditorEnterHandler(EditorEnterHandler handler)

      Add a editorEnter handler.

      Notification method fired when the user enters this formItem. Differs from `FormItem.focus()` in that while `focus` and `blur` may fire multiple as the user navigates sub elements of an item (such as interacting with a pick list), `editorEnter` will typically fire once when the user starts to edit this item as a whole, and once when the user moves onto a different item or component

      Specified by:
        `addEditorEnterHandler` in interface `HasEditorEnterHandlers`
      Parameters:
        `handler` - the editorEnter handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addEditorExitHandler

          public com.google.gwt.event.shared.HandlerRegistration addEditorExitHandler(EditorExitHandler handler)

      Add a editorExit handler.

      Notification method fired when the user leaves this formItem. Differs from `FormItem.blur()` in that while `focus` and `blur` may fire multiple as the user navigates sub elements of an item (such as interacting with a pick list), `editorEnter` will typically fire once when the user starts to edit this item as a whole, and `editorExit` fires once when the user moves onto a different item or component

      Specified by:
        `addEditorExitHandler` in interface `HasEditorExitHandlers`
      Parameters:
        `handler` - the editorExit handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### enable

          public void enable()

      Set this item to be enabled at runtime.
      See Also:
        `getDisabled()`, `Enable overview and related methods`

    - #### enableIcon

          public void enableIcon(java.lang.String icon)

      This method will enable some icon in this item's `icons` array, if it is currently disabled.
      Parameters:
        `icon` - `name` of the icon to be enabled.
      See Also:
        `FormItemIcon.getDisabled()`, `Enable overview and related methods`

    - #### addFocusHandler

          public com.google.gwt.event.shared.HandlerRegistration addFocusHandler(FocusHandler handler)

      Add a focus handler.

      Called when this FormItem receives focus.

      Specified by:
        `addFocusHandler` in interface `HasFocusHandlers`
      Parameters:
        `handler` - the focus handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### focusInItem

          public void focusInItem()

      Move the keyboard focus into this item's focusable element
      See Also:
        `Focus overview and related methods`

    - #### getCursorPosition

          public java.lang.Integer getCursorPosition()

      For text-based items, this method returns the index of the start of the current selection if the item currently has the focus (if no text is selected, this equates to the current position of the text editing cursor). See `TextItem.getSelectionRange()` for details of what is returned if the item does not have the focus (note, it is important to read this documentation, because the behavior when the item does not have the focus varies by browser)
      Returns:
        Index of the current or past selection's start point

    - #### getCustomState

          public java.lang.String getCustomState(FormItemElementType elementType,
                                                 java.lang.String derivedState)

      Optional method to retrieve a custom state suffix to append to the style name that is applied to some element of a formItem - see `FormItemBaseStyle` for more information on how state-based FormItem style names are derived.

      If this method exists on a formItem, the framework will call it, passing in the state suffix it has derived. Your `getCustomState()` implementation can make use of this derived state or ignore it. For example, if you wanted two different types of focus styling depending on some factor unrelated to focus, you would probably make use of the incoming "Focused" state and return something like "Focused1" or "Focused2". On the other hand, if you want your custom state to just override whatever the system derived, you would ignore the incoming state. Finally, if you do not wish to provide a custom style for this formItem element at this time - for example, you are only interested in providing a custom "textBox" style and this call is for a "cell" element type - your `getCustomStyle()` method should just return the state it was passed.

      This method is an advanced API, and you should only provide an implementation of it if you have specialized styling requirements. If you do implement it, note that it will be called very frequently, from rendering code: if your custom logic does significant processing, it could introduce a system-wide performance problem.

      Parameters:
        `elementType` - The element type to return a custom state for
        `derivedState` - The state suffix the system derived
      Returns:
        custom state suffix to use for the parameter elementType for this FormItem
      See Also:
        `FormItemBaseStyle`

    - #### getDisplayFieldName

          public java.lang.String getDisplayFieldName()

      Returns the `displayField` for this item.

      Behavior varies based on the configuration of this item, as follows:

      - If this item has an `optionDataSource` and an explicit `foreignDisplayField` is specified, this will be returned.
      - Otherwise if an explicit `displayField` is specified it will be returned by default. If the `displayField` was specified on the underlying dataSource field, and no matching field is present in the `optionDataSource` for the item, we avoid returning the specified displayField value and instead return the title field of the option DataSource. We do this to avoid confusion for the case where the displayField is intended as a display-field value for showing another field value within the same record in the underlying dataSource only.
      - If no explicit foreignDisplay or displayField specification was found, and the `valueField` for this item is hidden in the `optionDataSource`, this method will return the title field for the `optionDataSource`.
      Returns:
        display field name, or null if there is no separate display field to use.

    - #### getFieldName

          public java.lang.String getFieldName()

      Return the name for the this formItem.
      Returns:
        name for this form item
      See Also:
        `Drawing overview and related methods`

    - #### getFullDataPath

          public java.lang.String getFullDataPath()

      Return the fully-qualified dataPath for the this formItem (ie, the dataPath expressed in absolute terms from the root of the hierarchy, rather than relative to the item's parent form). Note that the item's name is substituted into the full dataPath if the item does not specify an explicit dataPath. For example, if we have a field called `name` that specifies no dataPath, on a form that specifies a dataPath of `/order/items`, this method will return `/order/items/name`
      Returns:
        Fully-qualified dataPath for this form item

    - #### getGridColNum

          public java.lang.Integer getGridColNum()

      If this formItem is part of a `ListGrid`'s `inline edit form`, returns the number of the grid column this formItem is responsible for editing, but only if a row is currently being edited. If the formItem is not part of a ListGrid inline edit for any reason, this method returns null. Reasons for a formItem not being part of an inline edit include
      - The item is part of an ordinary DynamicForm, not an inline edit form
      - There is no row in the grid currently being edited
      - A row is being edited, but this formItem is not currently visible and is being excluded because of horizontal incremental rendering (where Smart GWT avoids drawing grid columns that would not be visible without scrolling)
      Returns:
        The grid column number being edited by this formItem, or null, as described above

    - #### getGridRowNum

          public java.lang.Integer getGridRowNum()

      If this formItem is part of a `ListGrid`'s `inline edit form`, returns the number of the row currently being edited. If the formItem is not part of a ListGrid inline edit for any reason, this method returns null. Reasons for a formItem not being part of an inline edit include
      - The item is part of an ordinary DynamicForm, not an inline edit form
      - There is no row in the grid currently being edited
      - A row is being edited, but this formItem is not currently visible and is being excluded because of horizontal incremental rendering (where Smart GWT avoids drawing grid columns that would not be visible without scrolling)
      Returns:
        The grid row number being edited or null, as described above

    - #### getIcon

          public FormItemIcon getIcon(java.lang.String name)

      Given a `FormItemIcon.name`, returns the `FormItemIcon` object.
      Parameters:
        `name` - specified `FormItemIcon.name`
      Returns:
        form item icon matching the specified name, or `null` if there is no such icon.

    - #### getPageLeft

          public int getPageLeft()

      Returns the drawn page-left coordinate of this form item in pixels.
      Returns:
        page-left coordinate in px
      See Also:
        `Positioning overview and related methods`

    - #### getPageTop

          public int getPageTop()

      Returns the drawn page-top coordinate of this form item in pixels.
      Returns:
        page-top coordinate in px
      See Also:
        `Positioning overview and related methods`

    - #### getPixelHeight

          public int getPixelHeight()

      Returns the specified `height` of this formItem in pixels. For heights specified as a percentage value or `"*"`, the pixel height may not be available prior to the item being drawn. In cases where the height has not yet been resolved to a pixel value, this method will return `-1`.
      Returns:
        Specified height resolved to a pixel value.

    - #### getPixelWidth

          public int getPixelWidth()

      Returns the specified `width` of this formItem in pixels. For widths specified as a percentage value or `"*"`, the pixel width may not be available prior to the item being drawn. In cases where the width has not yet been resolved to a pixel value, this method will return `-1`.
      Returns:
        Specified width resolved to a pixel value.

    - #### getSelectedRecord

          public ListGridRecord getSelectedRecord()

      Get the record returned from the `optionDataSource` when `fetchMissingValues` is true, and the missing value is fetched.

      `fetchMissingValues` kicks off the fetch when the form item is initialized with a non null value or when setValue() is called on the item. Note that this method will return null before the fetch completes, or if no record is found in the optionDataSource matching the underlying value.

      Returns:
        selected record

    - #### getValueFieldName

          public java.lang.String getValueFieldName()

      Getter method to retrieve the `valueField` for this item. If unset, default behavior will return the `name` of this field.
      Returns:
        fieldName to use a "value field" in records from this items `optionDataSource`

    - #### getVisibleTitleWidth

          public int getVisibleTitleWidth(java.lang.Boolean labelOnly)

      Returns the visible width of this item's title in px. If that is not applicable (for example, the form item has no title) or cannot be determined (for example, the form is not drawn), returns 0.
      Parameters:
        `labelOnly` - If true, returns the visible width of the title text only; if false (the default) returns the width of the title cell
      Returns:
        width of the form item's title in px
      See Also:
        `Sizing overview and related methods`

    - #### hasAdvancedCriteria

          public java.lang.Boolean hasAdvancedCriteria()

      Does this form item produce an `AdvancedCriteria` sub criterion object? If this method returns true, `DynamicForm.getValuesAsCriteria()` on the form containing this item will always return an `AdvancedCriteria` object, calling `FormItemCriterionGetter.getCriterion()` on each item to retrieve the individual criteria.

      Default implementation will return `true` if `operator` is explicitly specified.

      Returns:
        true if this item will return an AdvancedCriteria sub-criterion.
      See Also:
        `CriteriaEditing overview and related methods`

    - #### hasErrors

          public boolean hasErrors()

      Return whether this item currently has any validation errors as a result of a previous validation pass.
      Returns:
        true == item currently has validation errors.
      See Also:
        `ErrorHandling overview and related methods`

    - #### hide

          public void hide()

      Hide this form item.
      This will cause the form to redraw. If this item had an item.showIf expression, it will be destroyed.

    - #### hideIcon

          public void hideIcon(java.lang.String icon)

      This method will hide some icon in this item's `icons` array, if it is currently visible. Note that once this method has been called, any previously specified `FormItemIcon.showIf()` will be discarded.
      Parameters:
        `icon` - `name` of the icon to be hidden.

    - #### addIconClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addIconClickHandler(IconClickHandler handler)

      Add a iconClick handler.

      Notification method called when the user clicks on a form item icon.

      The icon's `FormItemIcon.formItemClick()` method if any is called first. Then, if the clicked icon is the `picker icon`, the `FormItem.pickerIconClick()` method is called. Then, this method is called.

      Specified by:
        `addIconClickHandler` in interface `HasIconClickHandlers`
      Parameters:
        `handler` - the iconClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addIconKeyPressHandler

          public com.google.gwt.event.shared.HandlerRegistration addIconKeyPressHandler(IconKeyPressHandler handler)

      Add a iconKeyPress handler.

      StringMethod. Default action to fire when an icon has keyboard focus and the user types a key. May be overridden by setting `keyPress` on the form item icon directly.

      Specified by:
        `addIconKeyPressHandler` in interface `HasIconKeyPressHandlers`
      Parameters:
        `handler` - the iconKeyPress handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### invalidateDisplayValueCache

          public void invalidateDisplayValueCache()

      If this item has a specified `displayField`, the value displayed to the user for this item may be derived from another field.

      The display field can be either another field value in the same record or a field that must be retrieved from a related `optionDataSource` if `fetchMissingValues` is true. In this latter case, we perform a fetch against the option dataSource when the item value changes in order to determine the display value to show (and we make the associated record available via `getSelectedRecord()`).

      We cache this data on the form item, so if the item value changes to a new value, then reverts to a previously-seen value, the display value and selected record are already available without the need for an additional fetch. The cached values will also be kept in synch with the dataSource data assuming it is modified via standard add, update or delete operations.

      This method explicitly invalidates this cache of optionDataSource data, and if the item value is non null and fetchMissingValues is still true, re-fetches the data.

    - #### isCutEvent

          public boolean isCutEvent()

      Is the user performing a native "cut" event to modify the value of a freeform text field? This method may be invoked during change notification flow methods including `FormItem.change()`, `FormItem.changed()` and `FormItem.transformInput()`. See `supportsCutPasteEvents`.
      Returns:
        true if this is a cut event.

    - #### isDrawn

          public java.lang.Boolean isDrawn()

      Returns true if this item has been written out into the DOM.
      Returns:
        whether this item is drawn
      See Also:
        `Drawing overview and related methods`

    - #### isFocused

          public java.lang.Boolean isFocused()

      Returns true if this formItem has the keyboard focus. Note that focus is assigned asynchronously in Internet Explorer, so in that browser only, this method can correctly return false when, intuitively, you would expect it to return true:

                someItem.focusInItem();
                if (someItem.isFocused()) {
                    // In most browsers we would get here, but not in Internet Explorer!
                }

      Returns:
        whether this formItem has the keyboard focus

    - #### isInGrid

          public java.lang.Boolean isInGrid()

      Returns true if this item's `containerWidget` is a `GridRenderer` or GridRenderer subclass
      Returns:
        whether the item's container is a GridRenderer (and thus ultimately a ListGrid)

    - #### isPasteEvent

          public boolean isPasteEvent()

      Is the user performing a native "paste" event to modify the value of a freeform text field? This method may be invoked during change notification flow methods including `FormItem.change()`, `FormItem.changed()` and `FormItem.transformInput()`. See `supportsCutPasteEvents`.
      Returns:
        true if this is a cut event.

    - #### isVisible

          public java.lang.Boolean isVisible()

      Return true if the form item is currently visible. Note that like the similar `Canvas API`, it indicates visibility settings only and so will return true for an item that is not drawn.
      Returns:
        true if the form item is visible
      See Also:
        `Visibility overview and related methods`

    - #### addItemHoverHandler

          public com.google.gwt.event.shared.HandlerRegistration addItemHoverHandler(ItemHoverHandler handler)

      Add a itemHover handler.

      Optional stringMethod to fire when the user hovers over this item. Call `com.smartgwt.client.widgets.form.fields.events.ItemHoverEvent#cancel()` from within `ItemHoverHandler.onItemHover(com.smartgwt.client.widgets.form.fields.events.ItemHoverEvent)` to suppress default behavior of showing a hover canvas containing the HTML returned by `formItem.itemHoverHTML()` / `form.itemHoverHTML()`.

      Specified by:
        `addItemHoverHandler` in interface `HasItemHoverHandlers`
      Parameters:
        `handler` - the itemHover handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addKeyDownHandler

          public com.google.gwt.event.shared.HandlerRegistration addKeyDownHandler(KeyDownHandler handler)

      Add a keyDown handler.

      StringMethod fired in response to a keydown while focused in this form item.

      Specified by:
        `addKeyDownHandler` in interface `HasKeyDownHandlers`
      Parameters:
        `handler` - the keyDown handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addKeyPressHandler

          public com.google.gwt.event.shared.HandlerRegistration addKeyPressHandler(KeyPressHandler handler)

      Add a keyPress handler.

      StringMethod fired when the user presses a key while focused in this form item.

      Specified by:
        `addKeyPressHandler` in interface `HasKeyPressHandlers`
      Parameters:
        `handler` - the keyPress handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addKeyUpHandler

          public com.google.gwt.event.shared.HandlerRegistration addKeyUpHandler(KeyUpHandler handler)

      Add a keyUp handler.

      StringMethod fired in response to a keyup while focused in this form item.

      Specified by:
        `addKeyUpHandler` in interface `HasKeyUpHandlers`
      Parameters:
        `handler` - the keyUp handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addPendingStatusChangedHandler

          public com.google.gwt.event.shared.HandlerRegistration addPendingStatusChangedHandler(PendingStatusChangedHandler handler)

      Add a pendingStatusChanged handler.

      Notification method called when `showPending` is enabled and this form item should either clear or show its "Pending" visual state.

      The default behavior is that the `titleStyle` and `cellStyle` are updated to include/exclude the "Pending" suffix. Standard form item types may implement additional default behavior (see any item-specific pendingStatusChanged() documentation). Returning `false` will cancel the default behavior.

      The pendingStatusChanged() notification method is typically used by `CanvasItem`-derived form items, where a custom or supplemental pending visual state is desired.

      Specified by:
        `addPendingStatusChangedHandler` in interface `HasPendingStatusChangedHandlers`
      Parameters:
        `handler` - the pendingStatusChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addPickerIconClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addPickerIconClickHandler(PickerIconClickHandler handler)

      Add a pickerIconClick handler.

      Notification method called when the `picker icon` is clicked.

      Specified by:
        `addPickerIconClickHandler` in interface `HasPickerIconClickHandlers`
      Parameters:
        `handler` - the pickerIconClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### redraw

          public void redraw()

      Redraw this form item.

      Depending on the item and the `containerWidget` it's embedded in, this may redraw this particular item or require a redraw of all items in the form.

      Do not call this method unless the documentation directs you to do so. Calling `redraw()` unnecessarily has significant performance consequences.

    - #### redraw

          public void redraw(java.lang.String reason)

      Redraw this form item.

      Depending on the item and the `containerWidget` it's embedded in, this may redraw this particular item or require a redraw of all items in the form.

      Do not call this method unless the documentation directs you to do so. Calling `redraw()` unnecessarily has significant performance consequences.

      Parameters:
        `reason` - optional reason for performing the redraw, which may appear in diagnostic logs if enabled

    - #### setIconDisabled

          public void setIconDisabled(java.lang.String icon,
                                      boolean disabled)

      Set an icon as enabled or disabled at runtime.
      Parameters:
        `icon` - `name` of the icon to be disabled/enabled.
        `disabled` - true if icon should be disabled
      See Also:
        `FormItemIcon.getDisabled()`, `Enable overview and related methods`

    - #### shouldApplyHeightToTextBox

          public boolean shouldApplyHeightToTextBox()

      If `height` is specified, should it be applied to the item's text box element? If this method returns false, the text box will not have an explicit height applied, though the containing cell will be sized to accomodiate any specified height.

      This is used in cases where the text box does not have distinctive styling (for example in standard `StaticTextItem`s). As the textBox has no explicit height, it fits the content. Since the text box is not visually distinct to the user, this makes `vAlign` behave as expected with the text value of the item being vertically aligned within the cell.

      Default implementation will return `applyHeightToTextBox` if explicitly set otherwise `false` if `readOnlyDisplay` is set to `"static"` and the item is `not editable`, otherwise true.

      Returns:
        true if the height should be written into the items' text box.

    - #### shouldFetchMissingValue

          public java.lang.Boolean shouldFetchMissingValue(java.lang.Object newValue)

      If this field has a specified `optionDataSource`, should we perform a fetch against that dataSource to find the record that matches this field's value?

      If the value is non-null, this method is called when the item is first rendered or whenever the value is changed via a call to `setValue()`. If it returns true, a fetch will be dispatched against the optionDataSource to get the record matching the value

      When the fetch completes, if a record was found that matches the data value (and the form item value has not subsequently changed again), the item will be re-rendered to reflect any changes to the display value, and the record matching the value will be available via `this.getSelectedRecord()`.

      Default behavior will return false if `this.fetchMissingValues` is set to false. Otherwise it will return true if `this.alwaysFetchMissingValues` is set to true, or if a `displayField` is specified for this item and the item value is not already present in the item's valueMap.

      Parameters:
        `newValue` - The new data value of the item.
      Returns:
        should we fetch the record matching the new value from the item's optionDataSource?

    - #### shouldSaveOnEnter

          public java.lang.Boolean shouldSaveOnEnter()

      Returns true if 'Enter' key presses in this formItem should allow a saveOnEnter: true parent form to save it's data. The default implementation returns the value of `saveOnEnter` or false if that property is unset.
      Returns:
        boolean indicating whether saving should be allowed to proceed

    - #### shouldStopKeyPressBubbling

          public boolean shouldStopKeyPressBubbling(java.lang.String keyName,
                                                    int characterValue)

      Should some keypress event on this item be prevented from bubbling (such that the containing form and ancestors do not receive the event).

      This method is called after standard item keypress handlers when the user presses a key while focused in this item. Returning true will suppress bubbling of the event to the containing form. This is useful to avoid having the form react to key events which "have meaning" to the focused item.

      Default implementation varies by item type. In short character keys are suppressed for all editable fields, as are keys which will modify the current state of the field ("Arrow" keys for moving around free form text editors, etc).

      Note that when this method returns true, no `keyPress` event will fire on the form for the key pressed. However developers will still receive the separate `DynamicForm.itemKeyPress()` event.

      Parameters:
        `keyName` - name of the key pressed
        `characterValue` - If this was a character key, this is the numeric value for the character
      Returns:
        return true to prevent bubbling of the pressed key.

    - #### show

          public void show()

      Show this form item.

      This will cause the form to redraw. If this item had an item.showIf expression, it will be destroyed.

    - #### addShowContextMenuHandler

          public com.google.gwt.event.shared.HandlerRegistration addShowContextMenuHandler(ShowContextMenuHandler handler)

      Add a showContextMenu handler.

      Called when the mouse is right-clicked anywhere in this formItem. If the implementation returns false, default browser behavior is cancelled.

      Note that it can be bad practice to cancel this method if the mouse is over the data element for the item, because doing so would replace the builtin browser-default menus that users may expect. You can use `DynamicForm.getEventItemInfo()` to return an info object that can be used to determine which part of the item is under the mouse.

      Specified by:
        `addShowContextMenuHandler` in interface `HasShowContextMenuHandlers`
      Parameters:
        `handler` - the showContextMenu handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### showIcon

          public void showIcon(java.lang.String icon)

      This method will show some icon in this item's `icons` array, if it is not already visible. Note that once this method has been called, andy previously specified `FormItemIcon.showIf()` will be discarded.

      Note that if the form item's showIcons property is set to false, no icons will be displayed for the item. In this case this method will not cause the icon to be displayed.

      Parameters:
        `icon` - `name` of the icon to be shown.

    - #### showPicker

          public void showPicker()

      Method to show a picker for this item. By default this method is called if the user clicks on a `pickerIcon`. May also be called programmatically.

      Default implementation lazily creates and shows the `Picker Autochild`. May be overridden to implement some custom picker for this item.

    - #### stopHover

          public void stopHover()

      This method is fired when the user rolls off this item (or the title for this item) and will clear any hover canvas shown by the item.

    - #### storeValue

          public void storeValue(java.lang.Object value)

      Store (and optionally show) a value for this form item.

      This method will fire standard `FormItem.change()` and `DynamicForm.itemChanged()` handlers, and store the value passed in such that subsequent calls to `getValue()` or `DynamicForm.getValue()` will return the new value for this item.

      This method is intended to provide a way for custom formItems - most commonly `canvasItems` - to provide a new interface to the user, allowing them to manipulate the item's value, for example in an embedded `CanvasItem.canvas`, or a pop-up dialog launched from an `icon`, etc. Developers should call this method when the user interacts with this custom interface in order to store the changed value.

      `shouldSaveValue` for CanvasItems is false by default. Custom CanvasItems will need to override shouldSaveValue to true if the values stored via this API should be included in the form's `getValues()` and saved with the form when `saveData()` is called.

      If you cannot easily detect interactions that should change the value as the user performs them, a workaround is to call `storeValue` right before the form saves.

      Note that this method is not designed for customizing a value which is already being saved by a standard user interaction. For example you should not call this method from a `change handler`. Other APIs such as `FormItem.transformInput()` exist for this.

      Parameters:
        `value` - value to save for this item
      See Also:
        ListGrid Item Example

    - #### storeValue

          public void storeValue(java.lang.Object value,
                                 java.lang.Boolean showValue)

      Store (and optionally show) a value for this form item.

      This method will fire standard `FormItem.change()` and `DynamicForm.itemChanged()` handlers, and store the value passed in such that subsequent calls to `getValue()` or `DynamicForm.getValue()` will return the new value for this item.

      This method is intended to provide a way for custom formItems - most commonly `canvasItems` - to provide a new interface to the user, allowing them to manipulate the item's value, for example in an embedded `CanvasItem.canvas`, or a pop-up dialog launched from an `icon`, etc. Developers should call this method when the user interacts with this custom interface in order to store the changed value.

      `shouldSaveValue` for CanvasItems is false by default. Custom CanvasItems will need to override shouldSaveValue to true if the values stored via this API should be included in the form's `getValues()` and saved with the form when `saveData()` is called.

      If you cannot easily detect interactions that should change the value as the user performs them, a workaround is to call `storeValue` right before the form saves.

      Note that this method is not designed for customizing a value which is already being saved by a standard user interaction. For example you should not call this method from a `change handler`. Other APIs such as `FormItem.transformInput()` exist for this.

      Parameters:
        `value` - value to save for this item
        `showValue` - Should the formItem be updated to display the new value?
      See Also:
        ListGrid Item Example

    - #### addTitleClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addTitleClickHandler(TitleClickHandler handler)

      Add a titleClick handler.

      Notification method fired when the user clicks the title for this item

      Specified by:
        `addTitleClickHandler` in interface `HasTitleClickHandlers`
      Parameters:
        `handler` - the titleClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addTitleDoubleClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addTitleDoubleClickHandler(TitleDoubleClickHandler handler)

      Add a titleDoubleClick handler.

      Notification method fired when the user double-clicks the title for this item

      Specified by:
        `addTitleDoubleClickHandler` in interface `HasTitleDoubleClickHandlers`
      Parameters:
        `handler` - the titleDoubleClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addTitleHoverHandler

          public com.google.gwt.event.shared.HandlerRegistration addTitleHoverHandler(TitleHoverHandler handler)

      Add a titleHover handler.

      Optional stringMethod to fire when the user hovers over this item's title. Call `com.smartgwt.client.widgets.form.fields.events.TitleHoverEvent#cancel()` from within `TitleHoverHandler.onTitleHover(com.smartgwt.client.widgets.form.fields.events.TitleHoverEvent)` to suppress default behavior of showing a hover canvas containing the HTML returned by `formItem.titleHoverHTML()` / `form.titleHoverHTML()`.

      Specified by:
        `addTitleHoverHandler` in interface `HasTitleHoverHandlers`
      Parameters:
        `handler` - the titleHover handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### updateState

          public void updateState()

      Update the visual state of a FormItem to reflect any changes in state or any changes in style settings (e.g. `textBoxStyle`).

      Calls to `updateState()` normally occur automatically as a consequence of focus changes, items becoming disabled, etc. This method is advanced and intended only for use in workarounds.

    - #### validate

          public java.lang.Boolean validate()

      Validate this item.
      Returns:
        returns true if validation was successful (no errors encountered), false otherwise.

    - #### valueClipped

          public boolean valueClipped()

      Is the value clipped?

      The form item must have value clipping enabled. If a form item type supports the clipValue attribute, then clipValue must be true. `TextItem`s and derivatives (e.g. `SpinnerItem`) automatically clip their values.

      Returns:
        true if the value is clipped; false otherwise.

    - #### addValueHoverHandler

          public com.google.gwt.event.shared.HandlerRegistration addValueHoverHandler(ValueHoverHandler handler)

      Add a valueHover handler.

      Optional stringMethod to fire when the user hovers over this item's value. Call `com.smartgwt.client.widgets.form.fields.events.ValueHoverEvent#cancel()` from within `ValueHoverHandler.onValueHover(com.smartgwt.client.widgets.form.fields.events.ValueHoverEvent)` to suppress default behavior of showing a hover canvas containing the HTML returned by `FormItem.valueHoverHTML()` / `DynamicForm.valueHoverHTML()`.

      Specified by:
        `addValueHoverHandler` in interface `HasValueHoverHandlers`
      Parameters:
        `handler` - the valueHover handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addValueIconClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addValueIconClickHandler(ValueIconClickHandler handler)

      Add a valueIconClick handler.

      Notification method fires when the user clicks a `value icon` for this item.

      Specified by:
        `addValueIconClickHandler` in interface `HasValueIconClickHandlers`
      Parameters:
        `handler` - the valueIconClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### setDefaultProperties

          public static void setDefaultProperties(FormItem formItemProperties)

      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:
        `formItemProperties` - properties that should be used as new defaults when instances of this class are created
      See Also:
        `SGWTProperties`

    - #### getScClassName

          public java.lang.String getScClassName()

      Get the name of the underlying SmartClient class
      Returns:
        the SmartClient class name

    - #### setScClassName

          public void setScClassName(java.lang.String scClassName)

      Set the name of the underlying SmartClient class. This is an advanced setting.
      Parameters:
        `scClassName` - the SmartClient class

    - #### asSGWTComponent

          public static <T extends RefDataClass> T asSGWTComponent(com.google.gwt.core.client.JavaScriptObject jsObj)

      Returns the existing SGWT FormItem, or creates and returns one if none exist, associated with the supplied `JavaScriptObject`. If the supplied object is not a SmartClient FormItem, a warning will be logged and null returned; otherwise the FormItem will be returned as the appropriate subtype of SGWT FormItem.
      Parameters:
        `jsObj` - SmartClient FormItem whose wrapper is wanted
      Returns:
        wrapping SGWT FormItem, of an appropriate subtype, or null

    - #### getClassName

          public java.lang.String getClassName()

      Returns the JavaScript class name.
      Returns:

    - #### setInitHandler

          public void setInitHandler(FormItemInitHandler initHandler)

      Specify a notification method to fire when this formItem is initialized in JavaScript. This allows developers to set up form item state dynamically when the item is created.
      Parameters:
        `initHandler` -

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   java.lang.String value)

      Description copied from class: `DataClass`
      Set attribute value to a String
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   java.util.Map value)

      Description copied from class: `DataClass`
      Set attribute value to a Map. Value will be stored as a JavaScript Object on the underlying data object, with property/value pairs matching the keys/values specified on the Map. Note that this is a recursive conversion - each value will also be converted to the equivalent JavaScript type where appropriate.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   BaseClass[] value)

      Description copied from class: `DataClass`
      Set attribute value to a BaseClass array. Value will be stored as a JavaScript Array of the underlying JavaScript objects for each entry.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   DataClass[] value)

      Description copied from class: `DataClass`
      Set attribute value to a DataClass array. Value will be stored as a JavaScript Array of the underlying JavaScript objects for each entry.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   java.util.Date value)

      Description copied from class: `DataClass`
      Set attribute value to a Date. Value will be stored as a JavaScript Date on the underlying data object
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   ValueEnum[] value)

      Description copied from class: `DataClass`
      Set attribute value to a ValueEnum array. Value will be stored as a JavaScript Array containing the each Enum value.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   DataClass value)

      Description copied from class: `DataClass`
      Set attribute value to a DataClass. Value will be stored as the underlying JavaScript object for the DataClass instance passed in.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   BaseClass value)

      Description copied from class: `DataClass`
      Set attribute value to a BaseClass. Value will be stored as the underlying JavaScript object for the BaseClass instance passed in.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   com.google.gwt.core.client.JavaScriptObject value)

      Description copied from class: `DataClass`
      Set attribute value to a JavaScriptObject.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   java.lang.String[] value)

      Description copied from class: `DataClass`
      Set attribute value to a String array. Value will be stored as a JavaScript Array of Strings on the underlying data object.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   boolean value)

      Description copied from class: `DataClass`
      Set attribute value to a boolean.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   java.lang.Boolean value)

      Description copied from class: `DataClass`
      Set attribute value to a Boolean.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   int value)

      Description copied from class: `DataClass`
      Set attribute value to an int. Value will be stored as a JavaScript Number on the underlying data object
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   java.lang.Integer value)

      Description copied from class: `DataClass`
      Set attribute value to an Integer. Value will be stored as a JavaScript Number on the underlying data object
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   long value)

      Description copied from class: `DataClass`
      Set attribute value to a long. Value will be stored as a JavaScript Number on the underlying data object.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   java.lang.Float value)

      Description copied from class: `DataClass`
      Set attribute value to a Float. Value will be stored as a JavaScript Number on the underlying data object
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   double value)

      Description copied from class: `DataClass`
      Set attribute value to a double. Value will be stored as a JavaScript Number on the underlying data object
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   java.lang.Double value)

      Description copied from class: `DataClass`
      Set attribute value to a Double. Value will be stored as a JavaScript Number on the underlying data object
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   int[] value)

      Description copied from class: `DataClass`
      Set attribute value to an int array. Value will be stored as a JavaScript Array of Numbers on the underlying data object.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   java.lang.Integer[] value)

      Description copied from class: `DataClass`
      Set attribute value to an Integer array. Value will be stored as a JavaScript Array of Numbers on the underlying data object.
      Overrides:
        `setAttribute` in class `DataClass`

    - #### setAttribute

          public void setAttribute(java.lang.String attribute,
                                   double[] value)

      Description copied from class: `DataClass`
      Set attribute value to a double array. Value will be stored as a JavaScript Array of Numbers on the underlying data object
      Overrides:
        `setAttribute` in class `DataClass`

    - #### getAttribute

          public java.lang.String getAttribute(java.lang.String attribute)

      Description copied from class: `DataClass`
      Returns attribute value as a String
      Overrides:
        `getAttribute` in class `DataClass`
      Returns:

    - #### getAttributeAsString

          public java.lang.String getAttributeAsString(java.lang.String property)

      Description copied from class: `DataClass`
      Returns attribute value as a String.
      Overrides:
        `getAttributeAsString` in class `DataClass`
      Returns:

    - #### getAttributeAsDate

          public java.util.Date getAttributeAsDate(java.lang.String property)

      Description copied from class: `DataClass`
      Returns attribute value as a Date. Applies to values stored as a JavaScript Date on the underlying data object.
      Overrides:
        `getAttributeAsDate` in class `DataClass`
      Returns:

    - #### getAttributeAsDouble

          public java.lang.Double getAttributeAsDouble(java.lang.String property)

      Description copied from class: `DataClass`
      Returns attribute as a Double. Applies to values stored as a JavaScript Number on the underlying data object.
      Overrides:
        `getAttributeAsDouble` in class `DataClass`
      Returns:

    - #### getAttributeAsJavaScriptObject

          public com.google.gwt.core.client.JavaScriptObject getAttributeAsJavaScriptObject(java.lang.String property)

      Description copied from class: `DataClass`
      Returns attribute value as a JavaScript Object.
      Overrides:
        `getAttributeAsJavaScriptObject` in class `DataClass`
      Returns:

    - #### getAttributeAsInt

          public java.lang.Integer getAttributeAsInt(java.lang.String property)

      Description copied from class: `DataClass`
      Returns attribute value as an Integer. Applies to values stored as a JavaScript number on the underlying data object.
      Overrides:
        `getAttributeAsInt` in class `DataClass`
      Returns:

    - #### getAttributeAsFloat

          public java.lang.Float getAttributeAsFloat(java.lang.String property)

      Description copied from class: `DataClass`
      Returns attribute value as a Float. Applies to values stored as a JavaScript number on the underlying data object.
      Overrides:
        `getAttributeAsFloat` in class `DataClass`
      Returns:

    - #### getAttributeAsBoolean

          public java.lang.Boolean getAttributeAsBoolean(java.lang.String property)

      Description copied from class: `DataClass`
      Returns attribute value set as a Boolean. For convenience in checking boolean properties, `getAttributeAsBoolean` will return Boolean `false` if the attribute value is `null` or not a Boolean. Use the two parameter variant of this API `DataClass.getAttributeAsBoolean(String, boolean)` if you want `null` returned for `null` attribute values.
      Overrides:
        `getAttributeAsBoolean` in class `DataClass`
      Parameters:
        `property` - the property name
      Returns:
        the property value

    - #### getAttributeAsBoolean

          public java.lang.Boolean getAttributeAsBoolean(java.lang.String property,
                                                         boolean allowNull)

      Description copied from class: `DataClass`
      Returns attribute value set as a Boolean. If the attribute value is `null` or not a Boolean, the return value depends upon `allowNull`. If `allowNull` is true, `null` will be returned; otherwise Boolean `false` will be returned. For a simpler approach that never returns `null`, use the one parameter variant of this API `DataClass.getAttributeAsBoolean(String)`.
      Overrides:
        `getAttributeAsBoolean` in class `DataClass`
      Parameters:
        `property` - the property name
        `allowNull` - whether to allow null
      Returns:
        the property value

    - #### getAttributeAsObject

          public java.lang.Object getAttributeAsObject(java.lang.String property,
                                                       com.google.gwt.core.client.JavaScriptObject convertToObject)

    - #### setNullProperty

          public void setNullProperty(java.lang.String property)

    - #### setProperty

          public void setProperty(java.lang.String property,
                                  java.lang.String value)

    - #### setProperty

          public void setProperty(java.lang.String property,
                                  boolean value)

    - #### setProperty

          public void setProperty(java.lang.String property,
                                  int value)

    - #### setProperty

          public void setProperty(java.lang.String property,
                                  double value)

    - #### setProperty

          public void setProperty(java.lang.String property,
                                  com.google.gwt.core.client.JavaScriptObject value)

    - #### setJavaScriptObject

          public final void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)

      Overrides:
        `setJavaScriptObject` in class `JsObject`

    - #### isCreated

          public final boolean isCreated()

      Overrides:
        `isCreated` in class `JsObject`

    - #### error

          protected final void error(java.lang.String attribute,
                                     java.lang.String value)
                              throws java.lang.IllegalStateException

      Throws:
        `java.lang.IllegalStateException`

    - #### errorIfNotCreated

          protected final void errorIfNotCreated(java.lang.String property)
                                          throws java.lang.IllegalStateException

      Throws:
        `java.lang.IllegalStateException`

    - #### error

          protected final void error(java.lang.String message)
                              throws java.lang.IllegalStateException

      Throws:
        `java.lang.IllegalStateException`

    - #### setAutoChildConstructor

          public void setAutoChildConstructor(java.lang.String autoChildName,
                                              java.lang.String className)

      Sets the SmartClient constructor for the AutoChild named `autoChildName`.
      Parameters:
        `autoChildName` - the name of the AutoChild
        `className` - the SmartClient class name to use when constructing the AutoChild.
      See Also:
        `AutoChildUsage`

    - #### setAutoChildProperties

          public void setAutoChildProperties(java.lang.String autoChildName,
                                             Canvas properties)
                                      throws java.lang.IllegalStateException

      Sets the properties for creating a `Canvas` AutoChild named `autoChildName`.

      `properties` must not have already been created (`properties.isCreated()` must be `false`).

      NOTE: Overrides at override points are not applied to AutoChildren created from `properties`; that is, if the Java `Class` of `properties` overrides a Smart GWT override point, the custom method implementation will not be called.

      Throws:
        `java.lang.IllegalStateException` - if `properties` has been created.
      See Also:
        `AutoChildUsage`

    - #### setAutoChildProperties

          public void setAutoChildProperties(java.lang.String autoChildName,
                                             FormItem properties)
                                      throws java.lang.IllegalStateException

      Sets the properties for creating a `FormItem` AutoChild named `autoChildName`.

      `properties` must not have already been created (`properties.isCreated()` must be `false`).

      NOTE: Overrides at override points are not applied to AutoChildren created from `properties`; that is, if the Java `Class` of `properties` overrides a Smart GWT override point, the custom method implementation will not be called.

      Throws:
        `java.lang.IllegalStateException` - if `properties` has been created.
      See Also:
        `AutoChildUsage`

    - #### setAutoChildProperties

          public void setAutoChildProperties(java.lang.String autoChildName,
                                             EditProxy properties)
                                      throws java.lang.IllegalStateException

      Sets the properties for creating an AutoChild named `autoChildName`.

      `properties` must not have already been created (`properties.isCreated()` must be `false`).

      Throws:
        `java.lang.IllegalStateException` - if `properties` has been created.
      See Also:
        `AutoChildUsage`

    - #### setAutoChildVisibility

          public void setAutoChildVisibility(java.lang.String autoChildName,
                                             boolean visible)

      Sets whether to create and show the AutoChild named `autoChildName`.

      NOTE: This API is not valid for all AutoChildren because some AutoChildren cannot be hidden without destroying the main functions of the component.

      Parameters:
        `autoChildName` - name of an AutoChild
        `visible` - whether to show the AutoChild

    - #### getCanvasAutoChild

          public final Canvas getCanvasAutoChild(java.lang.String autoChildName)

      Returns the `Canvas` AutoChild named `autoChildName` if already created.
      Parameters:
        `autoChildName` - name of an AutoChild to return.
      Throws:
        `java.lang.RuntimeException` - if the AutoChild is not a SmartClient `Canvas` object.

    - #### getFormItemAutoChild

          public final FormItem getFormItemAutoChild(java.lang.String autoChildName)

      Returns the `FormItem` AutoChild named `autoChildName` if already created.
      Parameters:
        `autoChildName` - name of an AutoChild to return.
      Throws:
        `java.lang.RuntimeException` - if the AutoChild is not a SmartClient `FormItem` object.

    - #### setName

          public void setName(java.lang.String name)

      Name for this form field.

      The FormItem's name determines the name of the property it edits within the form. Must be unique within the form as well as a valid JavaScript identifier, as specified by ECMA-262 Section 7.6 (the `StringUtil.isValidID(String)` function can be used to test whether a name is a valid JavaScript identifier).

      Parameters:
        `name` - name Default value is null

    - #### getName

          public java.lang.String getName()

      Name for this form field.

      The FormItem's name determines the name of the property it edits within the form. Must be unique within the form as well as a valid JavaScript identifier, as specified by ECMA-262 Section 7.6 (the `StringUtil.isValidID(String)` function can be used to test whether a name is a valid JavaScript identifier).

      Returns:
        String

    - #### setErrorOrientation

          public void setErrorOrientation(FormErrorOrientation errorOrientation)

      If `showInlineErrors` is true, where should the error icon and text appear relative to the form item itself. Valid options are `"top"`, `"bottom"`, `"left"` or `"right"`.
      If unset the orientation will be derived from `errorOrientation`.
      Parameters:
        `errorOrientation` - errorOrientation Default value is null

    - #### setType

          public void setType(java.lang.String type)

      The DynamicForm picks a field renderer based on the type of the field (and sometimes other attributes of the field).
      Parameters:
        `type` - type Default value is "text"

    - #### setColSpan

          public void setColSpan(java.lang.String colSpan)

      Number of columns that this item spans.

      The `colSpan` setting does not include the title shown for items with `showTitle`:true, so the effective `colSpan` is one higher than this setting for items that are showing a title and whose `TitleOrientation` is either "left" or "right".

      Parameters:
        `colSpan` - colSpan Default value is 1

    - #### setColSpan

          public void setColSpan(int colSpan)

      Number of columns that this item spans.

      The `colSpan` setting does not include the title shown for items with `showTitle` set to true, so the effective `colSpan` is one higher than this setting for items that are showing a title and whose `TitleOrientation` is either "left" or "right".

      Parameters:
        `colSpan` - colSpan Default value is 1

    - #### getType

          public java.lang.String getType()

      The DynamicForm picks a field renderer based on the type of the field (and sometimes other attributes of the field).
      Returns:
        the type

    - #### setDefaultValue

          public void setDefaultValue(java.lang.String defaultValue)

      Value used when no value is provided for this item. Note that whenever this item's value is cleared by the user or set to `null` programmatically, it will be reverted to the `defaultValue`. Developers should use the `values` object if their intention is to provide an initial value for a field in a form rather than a value to use in place of `null`.
      Parameters:
        `defaultValue` - defaultValue Default value is null

    - #### setDefaultValue

          public void setDefaultValue(java.lang.Integer defaultValue)

      Value used when no value is provided for this item. Note that whenever this item's value is cleared by the user or set to `null` programmatically, it will be reverted to the `defaultValue`. Developers should use the `values` object if their intention is to provide an initial value for a field in a form rather than a value to use in place of `null`.
      Parameters:
        `defaultValue` - defaultValue Default value is null

    - #### setDefaultValue

          public void setDefaultValue(java.util.Date defaultValue)

      Value used when no value is provided for this item. Note that whenever this item's value is cleared by the user or set to `null` programmatically, it will be reverted to the `defaultValue`. Developers should use the `values` object if their intention is to provide an initial value for a field in a form rather than a value to use in place of `null`.
      Parameters:
        `defaultValue` - defaultValue Default value is null

    - #### setDefaultValue

          public void setDefaultValue(java.lang.Boolean defaultValue)

      Value used when no value is provided for this item. Note that whenever this item's value is cleared by the user or set to `null` programmatically, it will be reverted to the `defaultValue`. Developers should use the `values` object if their intention is to provide an initial value for a field in a form rather than a value to use in place of `null`.
      Parameters:
        `defaultValue` - defaultValue Default value is null

    - #### setDefaultValue

          public void setDefaultValue(java.lang.Float defaultValue)

      Value used when no value is provided for this item. Note that whenever this item's value is cleared by the user or set to `null` programmatically, it will be reverted to the `defaultValue`. Developers should use the `values` object if their intention is to provide an initial value for a field in a form rather than a value to use in place of `null`.
      Parameters:
        `defaultValue` - defaultValue Default value is null

    - #### setDefaultValue

          public void setDefaultValue(java.lang.Double defaultValue)

      Value used when no value is provided for this item. Note that whenever this item's value is cleared by the user or set to `null` programmatically, it will be reverted to the `defaultValue`. Developers should use the `values` object if their intention is to provide an initial value for a field in a form rather than a value to use in place of `null`.
      Parameters:
        `defaultValue` - defaultValue Default value is null

    - #### setDefaultValue

          public void setDefaultValue(java.lang.Object value)

    - #### setValueMap

          public void setValueMap(java.lang.String... valueMap)

      Set the valueMap for this item.
      Parameters:
        `valueMap` - the value map

    - #### setValueMap

          public void setValueMap(java.util.LinkedHashMap valueMap)

      Set the valueMap for this item.
      Parameters:
        `valueMap` - the value map

    - #### setValueIcons

          public void setValueIcons(java.util.Map valueIcons)

      Set the valueIcons for this item.
      Parameters:
        `valueIcons` - mapping of logical values for this item to icon src URLs

    - #### setEditorProperties

          public void setEditorProperties(FormItem editorProperties)

      Set default properties to use when editing.

      The type of FormItem to use for editing is normally derived automatically from `type`, which is the data type of the field, by the rules explained `here`.

      Note: When you supply a custom FormItem via setEditorProperties(), you're really providing properties which are then used to create multiple FormItems (eg, in grids, forms and trees) and there's an underlying limitation here where event handlers have to be written to dynamically receive the actual FormItem rather than relying on "this" (because there's more than one "this"). This means you need to follow the special rules indicated for `DataSourceField.setEditorProperties(FormItem)`. As an alternative, you can use `setEditorType(String)` or `setEditorType(Class)` to avoid these limitations, if you register the FormItem subclass with the `reflection mechanism`.

      Parameters:
        `editorProperties` - FormItem with the properties you want to set as defaults.

    - #### setEditorType

          public void setEditorType(FormItem editorType)

      Deprecated. Renamed to `setEditorProperties(FormItem)`. You can also consider using `setEditorType(Class)` or `setEditorType(String)` instead.
      Synonym for `setEditorProperties(FormItem)`.
      Parameters:
        `editorType` - FormItem with the properties you want to set as defaults

    - #### setEditorType

          public void setEditorType(java.lang.String editorType)

      Set the FormItem subclass to use when editing.

      The type of `FormItem` to use for editing is normally derived automatically from the `type`, which is the data type of the field, by the rules explained `here`.

      Note: The editorType must be registered for use with the `reflection mechanism`. By doing so, you avoid the limitations of `setEditorProperties(FormItem)`.

      Parameters:
        `editorType` - the fully-qualified class name of a `FormItem` subclass.
      Throws:
        `java.lang.IllegalArgumentException` - if the editorType class has not been registered for use with the `reflection mechanism`, or if it does not inherit from `FormItem`.

    - #### setEditorType

          public void setEditorType(java.lang.Class<? extends FormItem> editorType)

      Set the FormItem subclass to use when editing.

      The type of `FormItem` to use for editing is normally derived automatically from the `type`, which is the data type of the field, by the rules explained `here`.

      Note: The editorType must be registered for use with the `reflection mechanism`. By doing so, you avoid the limitations of `setEditorProperties(FormItem)`.

      Parameters:
        `editorType` - a `FormItem` subclass.
      Throws:
        `java.lang.IllegalArgumentException` - if the editorType class has not been registered for use with the `reflection mechanism`, or if it does not inherit from `FormItem`.

    - #### setValue

          public void setValue(int value)

      Set the value of the form item.
      Parameters:
        `value` - the form item value

    - #### setValue

          public void setValue(double value)

      Set the value of the form item.
      Parameters:
        `value` - the form item value

    - #### setValue

          public void setValue(java.util.Date value)

      Set the value of the form item.
      Parameters:
        `value` - the form item value

    - #### setValue

          public void setValue(java.lang.String value)

      Set the value of the form item.
      Parameters:
        `value` - the form item value

    - #### setValue

          public void setValue(boolean value)

      Set the value of the form item.
      Parameters:
        `value` - the form item value

    - #### setValue

          public void setValue(java.lang.Object value)

      Set the value of the form item as an object. GWT objects set as FormItem values are typically used with `FormItemValueParser` and `FormItemValueFormatter` API's for custom value parsing and formatting.
      Parameters:
        `value` - the form item value

    - #### getDisplayValue

          public java.lang.String getDisplayValue()

      Returns this item's value with any valueMap applied to it - the value as currently displayed to the user.
      Returns:
        value displayed to the user

    - #### getDisplayValue

          public java.lang.String getDisplayValue(java.lang.String value)

      Returns this item's value with any valueMap applied to it - the value as currently displayed to the user.
      Returns:
        value displayed to the user

    - #### getVisibleHeight

          public int getVisibleHeight()

      Output the drawn height for this item in pixels. Note: this is only reliable after this item has been written out into the DOM.
      Returns:
        height of the form item. returns 0 if the parent form has not been rendered.

    - #### getVisibleWidth

          public int getVisibleWidth()

      Output the drawn width for this item in pixels. Note: this is only reliable after this item has been written out into the DOM.
      Returns:
        height of the form item. returns 0 if the parent form has not been rendered.

    - #### getPageRect

          public Rectangle getPageRect()

      Return the page-level coordinates of this object.
      Returns:
        the page-level coordinates of this object

    - #### getRect

          public Rectangle getRect()

      Return the coordinates of this object.
      Returns:
        the coordinates of this object

    - #### getIconRect

          public Rectangle getIconRect(FormItemIcon icon)

    - #### getIconPageRect

          public Rectangle getIconPageRect(FormItemIcon icon)

    - #### getConfig

          public com.google.gwt.core.client.JavaScriptObject getConfig()

      Returns the FormItem's config object suitable for use in API's that set the editorType
      Returns:
        the config object

    - #### getEditorTypeConfig

          public com.google.gwt.core.client.JavaScriptObject getEditorTypeConfig()

    - #### setTooltip

          public void setTooltip(java.lang.String tooltip)

      This text is shown as a tooltip prompt when the cursor hovers over this item. Alias for `setPrompt(java.lang.String)`.
      Parameters:
        `tooltip` - tooltip Default value is null

    - #### getTooltip

          public java.lang.String getTooltip()

      This text is shown as a tooltip prompt when the cursor hovers over this item. Alias for `getPrompt()`
      Returns:
        String

    - #### setOptionFilterContext

          public void setOptionFilterContext(RPCRequest rpcRequestProperties)

      If this item has a specified `optionDataSource`, and this property is not null, this will be passed to the datasource as `RPCRequest` properties when performing the fetch operation on the dataSource to obtain a data-value to display-value mapping

      Note : This is an advanced setting

      Parameters:
        `rpcRequestProperties` - optionFilterContext Default value is null

    - #### getOptionFilterContext

          public RPCRequest getOptionFilterContext()

      If this item has a specified `optionDataSource`, and this property is not null, this will be passed to the datasource as `RPCRequest` properties when performing the fetch operation on the dataSource to obtain a data-value to display-value mapping
      Returns:
        RPCRequest Properties

    - #### setOptionCriteria

          public void setOptionCriteria(Criteria optionCriteria)

      If this item has a specified `optionDataSource`, and this property may be used to specify criteria to pass to the datasource when performing the fetch operation on the dataSource to obtain a data-value to display-value mapping

      Note : This is an advanced setting

      Parameters:
        `optionCriteria` - optionCriteria Default value is null

    - #### getOptionCriteria

          public Criteria getOptionCriteria()

      If this item has a specified `optionDataSource`, and this property may be used to specify criteria to pass to the datasource when performing the fetch operation on the dataSource to obtain a data-value to display-value mapping
      Returns:
        the option criteria

    - #### setShowIfCondition

          public void setShowIfCondition(FormItemIfFunction showIf)

      Expression that's evaluated to see if an item should be dynamically hidden. The showIf FormItemIfFunction is is evaluated whenever the form draws or redraws.
      Parameters:
        `showIf` - the showIf handler
      See Also:
        `FormItem#setRedrawOnChange(boolean)`

    - #### setErrorFormatter

          public void setErrorFormatter(FormItemErrorFormatter errorFormatter)

      Register a custom error formatter for this FormItem.
      Parameters:
        `errorFormatter` - the error formatter.

    - #### setInputTransformer

          public void setInputTransformer(FormItemInputTransformer inputTransformer)

      The transformer is called when a FormItem's value is about to change as the result of user interaction. This method fires after the user performed an action that would change the value of this field, and allows the developer to modify / reformat the value before it gets validated / saved. Fires before the `change` event.
      Parameters:
        `inputTransformer` - the input transformer

    - #### setItemHoverFormatter

          public void setItemHoverFormatter(FormItemHoverFormatter hoverFormatter)

      The FormItemHoverFormatter should return the HTML to display in a hover canvas when the user holds the mousepointer over this item. Return null to suppress the hover canvas altogether.
      Parameters:
        `hoverFormatter` - the hover formatter

    - #### setItemTitleHoverFormatter

          public void setItemTitleHoverFormatter(FormItemHoverFormatter hoverFormatter)

      The `FormItemHoverFormatter` should return the HTML to display in a hover canvas when the user holds the mouse pointer over this item's title and the title is clipped. Return null to suppress the hover canvas altogether.
      Parameters:
        `hoverFormatter` - the hover formatter
      See Also:
        `DynamicForm.titleClipped(com.smartgwt.client.widgets.form.fields.FormItem)`

    - #### setTitleHoverFormatter

          public void setTitleHoverFormatter(FormItemHoverFormatter hoverFormatter)

      Synonym for `setItemTitleHoverFormatter(FormItemHoverFormatter)`.
      Parameters:
        `hoverFormatter` - the hover formatter

    - #### setItemValueHoverFormatter

          public void setItemValueHoverFormatter(FormItemHoverFormatter hoverFormatter)

      The `FormItemHoverFormatter` should return the HTML to display in a hover canvas when the user holds the mouse pointer over this item's value and the value is clipped. Return null to suppress the hover canvas altogether.
      Parameters:
        `hoverFormatter` - the hover formatter
      See Also:
        `valueClipped()`

    - #### setValueHoverFormatter

          public void setValueHoverFormatter(FormItemHoverFormatter hoverFormatter)

      Synonym for `setItemValueHoverFormatter(FormItemHoverFormatter)`.
      Parameters:
        `hoverFormatter` - the hover formatter

    - #### getForm

          public DynamicForm getForm()

      A reference to the FormItem's DynamicForm.

      Note that you must treat this as a read-only reference to the from

      Returns:
        the form

    - #### getValue

          public java.lang.Object getValue()

      Return the value tracked by this form item. If this item has multiple:true, then either null or a `List` or `RecordList` instance is returned.

      Note that for FormItems that have a ValueMap or where a `formatter` has been defined, `getValue()` returns the underlying value of the FormItem, not the displayed value.

      Returns:
        value of this element

    - #### _getValue

          public java.lang.Object _getValue()

    - #### getValueAsRecordList

          public RecordList getValueAsRecordList()

    - #### setValueFormatter

          public void setValueFormatter(FormItemValueFormatter formatter)

      Optional `FormItemValueFormatter`, if provided, is evaluated to get the display value to show for this form items underlying data value. If you are considering using this method, you should first consider using `FormItem.setFormat`, which provides for simple and flexible declarative formatting of dates, times and numbers, without the need to write formatting code.

      This provides a way to perform a more complex data to display value manipulation than a simple `valueMap`. Note that by default this formatter will only be applied to static displays such as `StaticTextItem` or `SelectItem`, and does not apply to values displayed in a freely editable text entry field (such as a `TextItem` or `TextAreaItem`), unless `TextItem.setFormatOnBlur(java.lang.Boolean)` is set to `true`, which causes this formatter to be applied while the item does not have focus, and then be cleared when the user moves focus to the text field.

      See also `setEditorValueFormatter(com.smartgwt.client.widgets.form.FormItemValueFormatter)` and `setEditorValueParser(com.smartgwt.client.widgets.form.FormItemValueParser)`.

      Parameters:
        `formatter` - the FormItemValueFormatter

    - #### setEditorValueFormatter

          public void setEditorValueFormatter(FormItemValueFormatter formatter)

      An optional `FormItemValueFormatter` to map this item's current data value to a display value.

      Note that this only applies to items which show a free-form entry area, such as a `TextItem` or `TextAreaItem`. For display values which will not be directly manipulated by the user, use `setValueFormatter(com.smartgwt.client.widgets.form.FormItemValueFormatter)` instead.

      See also `setEditorValueParser(com.smartgwt.client.widgets.form.FormItemValueParser)`.

      Parameters:
        `formatter` - the FormItemValueFormatter

    - #### setEditorValueParser

          public void setEditorValueParser(FormItemValueParser valueParser)

      An optional `FormItemValueParser` to map a user-entered display value to a data value for storage. This method only applies to form items which show a free-form text entry area, such at the `TextItem` or `TextAreaItem`.

      See also `com.smartgwt.client.widgets.form.fields.FormItem#formatEditorValue`

      Parameters:
        `valueParser` - the FormItemValueParser

    - #### setValueIconMapper

          public void setValueIconMapper(ValueIconMapper valueIconMapper)

      Set the FormItem Value Icon mapper that allows the developer to specify the image source for an icon to be displayed for the current form item value. Takes precedence over `setValueIcons(java.util.Map)`.
      Parameters:
        `valueIconMapper` - the valueIconMapper

    - #### setDisplayFormat

          public void setDisplayFormat(DateDisplayFormat displayFormat)

      Fields of type `"date"` or `"time"` will be edited using a `DateItem` or `TimeItem` by default.

      However this can be overridden - for `canEdit:false` fields, a `StaticTextItem` is used by default, and the developer can always specify a custom `editorType` as well as `data type`.

      For fields of type `"date"`, set this property to a valid `DateDisplayFormat` to specify how the date should be formatted.
      For fields of type `"time"`, set this property to a valid `timeFormatter` to specify how the time should be formatted.
      Note that if `dateFormatter` or `timeFormatter` are specified they will take precedence over this setting.

      If this field is of type `"date"` and is editable, the `inputFormat` may be used to specify how user-edited date strings will be parsed.

      Note : This is an advanced setting

      Parameters:
        `displayFormat` - displayFormat Default value is null
      See Also:
        `setInputFormat(java.lang.String)`, `setDateFormatter(com.smartgwt.client.types.DateDisplayFormat)`, `setTimeFormatter(com.smartgwt.client.types.TimeDisplayFormat)`

    - #### setDisplayFormat

          public void setDisplayFormat(TimeFormatter displayFormat)

      Fields of type `"date"` or `"time"` will be edited using a `DateItem` or `TimeItem` by default.

      However this can be overridden - for `canEdit:false` fields, a `StaticTextItem` is used by default, and the developer can always specify a custom `editorType` as well as `data type`.

      For fields of type `"date"`, set this property to a valid `DateDisplayFormat` to specify how the date should be formatted.
      For fields of type `"time"`, set this property to a valid `timeFormatter` to specify how the time should be formatted.
      Note that if `dateFormatter` or `timeFormatter` are specified they will take precedence over this setting.

      If this field is of type `"date"` and is editable, the `inputFormat` may be used to specify how user-edited date strings will be parsed.

      Note : This is an advanced setting

      Parameters:
        `displayFormat` - displayFormat Default value is null
      See Also:
        `setInputFormat(java.lang.String)`, `setDateFormatter(com.smartgwt.client.types.DateDisplayFormat)`, `setTimeFormatter(com.smartgwt.client.types.TimeDisplayFormat)`

    - #### setCanEditCriterionPredicate

          public void setCanEditCriterionPredicate(FormItemCanEditCriterionPredicate predicate)

      When a dynamic form is editing an advanced criteria object via `DynamicForm.setValuesAsCriteria`, this predicate is used to determine which sub-criteria apply to which form item(s).

      This method will be called on each item, and passed the sub-criterion of the AdvancedCriteria object. It should return true if the item can edit the criterion, otherwise false. If it returns true, setValuesAsCriteria() will call `FormItemCriterionSetter.setCriterion` from the registered `FormItemCriterionSetter` to actually apply the criterion to the form item, and `DynamicForm.getValuesAsCriteria` can subsequently retrieve the edited criterion by calling `FormItemCriterionGetter.getCriterion` from the registered `FormItemCriterionGetter`.

      Default implementation will return true if the criterion `fieldName` and `operator` match the fieldName and operator (or default operator) for this item.

      Parameters:
        `predicate` - the predicate to determine the form items that can edit the criterion in question
      See Also:
        `CriteriaEditing overview and related methods`

    - #### canEditCriterion

          public final java.lang.Boolean canEditCriterion(Criterion criterion)

      Calls the `canEditCriterion()` method of the `FormItemCanEditCriterionPredicate` that is registered with this field.
      Parameters:
        `criterion` - sub-criterion from an AdvancedCriteria object
      Returns:
        return true if this item can edit the criterion in question.
      See Also:
        `CriteriaEditing overview and related methods`

    - #### setCriterionGetter

          public void setCriterionGetter(FormItemCriterionGetter getter)

      Provides a specialized criterion from this formItem when creating an AdvancedCriteria via `DynamicForm.getValuesAsCriteria`.

      This API is provided to allow you to specify a more complex criterion than the "field-operator-value" criterions that are built-in. Note that the built-in behavior is generally quite flexible and powerful enough for most requirements. An example of a case where you might want to override this method is if you wanted to implement a date range selection (ie, date > x AND date < y) on a form that was combining its other criteria fields with an "or" operator.

      Note that this method is part of the criteria editing subsystem: if overridden, it is likely that you will want to also override `FormItem.hasAdvancedCriteria` to ensure this method is called by the form, and to support editing of existing advanced criteria you may also need to set the `FormItemCanEditCriterionPredicate` and the `FormItemCriterionSetter`.

      The default implementation will return a criterion including the form item value, fieldName and specified `operator`, or a default operator derived from the form item data type if no explicit operator is specified.

      Parameters:
        `getter` - provides a method to get a criterion object based on this field's current edited value(s).
      See Also:
        `CriteriaEditing overview and related methods`

    - #### getCriterion

          public final Criterion getCriterion()

      Calls the `getCriterion()` method of the `FormItemCriterionGetter` that is registered with this field.
      Returns:
        criterion object based on this fields current edited value(s).
      See Also:
        `CriteriaEditing overview and related methods`

    - #### getCriterion

          public final Criterion getCriterion(TextMatchStyle textMatchStyle)

      Calls the `getCriterion()` method of the `FormItemCriterionGetter` that is registered with this field.
      Parameters:
        `textMatchStyle` - If passed assume the textMatchStyle will be used when performing a fetch operation with these criteria. This may impact the criterion's operator property.
      Returns:
        criterion object based on this fields current edited value(s).
      See Also:
        `CriteriaEditing overview and related methods`

    - #### setCriterionSetter

          public void setCriterionSetter(FormItemCriterionSetter setter)

      Set the method to update this form item to reflect a criterion object from within an AdvancedCriteria. Called by `DynamicForm.setValuesAsCriteria` when the registered `FormItemCanEditCriterionPredicate` returns true for this item.

      Default implementation simply calls `FormItem.setValue` with the `value` of the criterion passed in

      Parameters:
        `setter` - provides a method to update this field with the edited criterion

    - #### setCriterion

          public final void setCriterion(Criterion criterion)

      Calls the `setCriterion()` method of the `FormItemCriterionSetter` that is registered with this field.
      Parameters:
        `criterion` - criterion to edit

    - #### setAriaState

          public void setAriaState(java.lang.String stateName,
                                   java.lang.Object stateValue)
                            throws java.lang.IllegalStateException

      Set a specific ARIA state mapping for this form item. Usually this does not need to be manually set. See `com.smartgwt.docs.Accessibility`.
      Parameters:
        `stateName` -
        `stateValue` -
      Throws:
        `java.lang.IllegalStateException` - ARIA state cannot be changed after the form item has been created.

    - #### getErrors

          public java.lang.String[] getErrors()

      Returns any validation errors for this field. If no errors are present, will return null.
      Returns:
        error messages for the field.

    - #### setErrors

          public void setErrors(java.lang.String error)

      Sets a validation error message for this field.

    - #### setErrors

          public void setErrors(java.lang.String[] errors)

      Sets multiple validation error messages for this field.

    - #### isDisabled

          public java.lang.Boolean isDisabled()

      Is this item disabled?

    - #### getDisabled

          public java.lang.Boolean getDisabled()

      Deprecated. Do not use this API. Instead, use `#isDisabled)`, which correctly inherits the disabled state from containers
      Is this item disabled?

    - #### setDisabled

          public void setDisabled(java.lang.Boolean disabled)

      Sets whether this item is disabled. If the widget containing this formItem is disabled, the formItem will behave in a disabled manner regardless of the value passed to this method.

      Note that not all items can be disabled, and not all browsers show an obvious disabled style for native form elements.
      If this method is called after the component has been drawn/initialized: Set this item to be enabled or disabled at runtime.

      Parameters:
        `disabled` - true if this item should be disabled. Default value is false
      See Also:
        `isDisabled()`, `Appearance overview and related methods`, Enable & Disable Example

    - #### setCustomStateGetter

          public void setCustomStateGetter(FormItem.CustomStateGetter getter)

      Deprecated. Do not use CustomStateGetter; use `com.smartgwt.client.widgets.form.fields.FormItem.setStateCustomizer` instead
      Specify a CustomStateGetter to use for this formItem.

      If defined, the CustomStateGetter's getCustomState() method will be called whenever the framework needs to determine which style to use for the formItem in its state at that time

      Parameters:
        `getter` - the CustomStateGetter object

    - #### setStateCustomizer

          public void setStateCustomizer(FormItem.StateCustomizer customizer)

      Specify a StateCustomizer to use for this formItem. Note, StateCustomizer supersedes the deprecated `CustomStateGetter`; the only difference between the two interfaces is that the `StateCustomizer`'s `getCustomState()` method is passed the applicable FormItem, so application code does not need to track this information.

      The StateCustomizer's getCustomState() method will be called whenever the framework needs to determine which style to use for the formItem in its state at that time

      Parameters:
        `customizer` - the StateCustomizer object

    - #### linkToInstanceUponCreate

          public void linkToInstanceUponCreate()

    - #### mapDisplayToValue

          public java.lang.Object mapDisplayToValue(java.lang.String value)

      Given a display value for this FormItem, return the underlying data value. This is done by reverse value-mapping, and/or parsing.

      This method is called by the framework to derive an underlying data value for a given display value (ie, the value the user sees and interacts with) in a FormItem. Your own code can call this method if you need to programmatically obtain the underlying data value for a given display value. However, this method is not an override point. If you have a field that requires the stored value to be different from the displayed value, and the requirement cannot be satisfied with a `valueMap` for some reason, you can add custom parsing logic by setting an `editor value parser`

      This method is also not intended as a place where you can validate, sanitize, transform or canonicalize user input

      - To ensure you get well-formed input values, use `input masks` or a com.smartgwt.client.widgets.form.fields.FormItem#addChangeHandler(com.smartgwt.client.widgets.form.fields.events.ChangeHandler change handler)
      - To transform or canonicalize input values, use a {@link com.smartgwt.client.types.ValidatorType mask validator} with "transformTo". See the link to "mask validator" for more details and an example of this
      - To transform or canonicalize input character-by-character as the user types, use an {@link com.smartgwt.client.widgets.form.fields.FormItem#setInputTransformer() input transformer}

      ### Deriving the data value

      The process of deriving an underlying data display value from a display value involves the following steps:
      - If the formItem has an {@link com.smartgwt.client.widgets.form.fields.FormItem#setEditorValueParser() editor value parser}, it is called
      - Otherwise, if the formItem is of a {@link com.smartgwt.client.data.SimpleType} that has had an edit parser applied with the `setEditParser()` API, the edit parser is called
      - If the formItem is of a `SimpleType` that {@link com.smartgwt.client.data.SimpleType#getInheritsFrom inheritsFrom} "date", "time" or "datetime", it will be parsed as a date, time or datetime. Note, this parsing step is applied on top of custom SimpleType- and FormItem-level parsing
      - If the formItem declares a {@link com.smartgwt.client.widgets.form.fields.FormItem#getValueMap valueMap}, a value is derived by looking up the display value (including the effects of any parsing we may have done so far) in the valueMap
      Note: Unlike the corollary method {@link com.smartgwt.client.widgets.form.fields.FormItem#mapValueToDisplay mapValueToDisplay()}, there is no special built-in handling of `{@link com.smartgwt.client.data.DataSourceField#getMultiple DataSourceField.multiple}:true` fields. If you want an array to be parsed out of some user input, you must write the parser method to do so.
      Parameters:
        `value` - display value
      Returns:
        value re-mapped for storing
      See Also:
        `mapValueToDisplay(java.util.Map)`

    - #### mapValueToDisplay

          public java.lang.String mapValueToDisplay(java.util.Map value)

      Given a value for this FormItem, return the value to be displayed.

      This method is called by the framework to derive a display value for a given data value in a FormItem. Your own code can call this method if you need to programmatically obtain the display value (for example, to display in a hover prompt or error message). However, this method is not an override point. There are several supported ways to apply custom formatting to your form values:

      - If you want to apply a consistent custom format to every instance of a given `SimpleType`, specify a `format` on the SimpleType. This is the most general approach. Note, this is a static formatter: it will only affect the format of values the user can interact with if `TextItem.formatOnBlur` is set
      - If you want to apply a consistent custom format to a `DataSource-described field`, the best approach is `DataSourceField.format`. This overrides SimpleType-level formatting and, again, is static formatting
      - For a FormItem that is not DataSource-described, or for special formats that should only be used on a particular form, `format` can also be declared for individual FormItems. This overrides DataSource-level formatting
      - For temporal values, you can declare `dateFormatter` and `timeFormatter` at both `FormItem` and `DynamicForm` levels. Generally, however, we recommend the generic declarative `format` as the simpler approach
      - If you want to apply a specialized format that cannot be expressed declaratively, use `setValueFormatter(com.smartgwt.client.widgets.form.FormItemValueFormatter)` for static-valued items like `StaticTextItem` or `SelectItem`, and `setEditorValueFormatter(com.smartgwt.client.widgets.form.FormItemValueFormatter)` for other types of FormItem

      ### Deriving the display value

      The process of deriving a display value from a data value involves the following steps:
      - If the item declares a `valueMap`, the display value is derived by looking up the value in the valueMap
      - If the item does not have a valueMap - or the value was not found in the item's valueMap - and the item declares a `displayField` and an `optionDataSource`, the display value is derived by looking up the "displayField" corresponding to the value in the optionDataSource's local cache
      - Formatting is now applied to the derived display value. Note, it is perfectly normal at this point for no display value has to be derived - this will be the case for any field with no `valueMap` and no `optionDataSource`. In this case, the passed-in value is treated as the display value for all further purposes.
        - If the FormItem involves static display value(s), like `StaticTextItem` or `SelectItem`
          - If the FormItem has had a static value formatter applied with the `setValueFormatter()` API, the value formatter is called
          - Otherwise, if the formItem declares a `format`, the formst is applied in line with the rules of `FormatString`
          - Otherwise, if the FormItem is of a `SimpleType` that declares a `format`, the format is applied
        - Otherwise, if the FormItem has had an editor value formatter applied with the `setEditorValueFormatter()` API, the editor value formatter is called
        - Otherwise, if the FormItem is of a `SimpleType` that has had an edit formatter applied with the `setEditFormatter()` API, the edit formatter is called
        - Otherwise, if the value is a Date:
          - If the formItem declares a `timeFormatter` and no `dateFormatter`, the timeFormatter is called
          - Otherwise, if the formItem is of a `SimpleType` that `inheritsFrom` "time", the value is formatted using the `default time format`
          - Otherwise, the date or datetime is formatted using the rules described for `dateFormatter`.
        - Otherwise, if the FormItem involves static display value(s) and is of a `SimpleType` that declares a `normalDisplayFormatter`, this is used
        - Otherwise, if the value is not null and is of a "simple" type (ie, it is not an object or an array), a display value is derived by calling the Javascript `toLocaleString()` method, if the value has one, or the `toString()` method if it does not
        - Otherwise, if the value is null or a zero-length string, the display value is set to the formItem's `emptyDisplayValue`
        - Otherwise, the "display value" is the simple, unformatted data value that was passed in

      ### Treatment of arrays

      Ordinarily, arrays are treated like any other value. This means you can, for example, create a `value formatter` that is capable of formatting an array-valued field in some way that makes sense for the particular application domain.

      However, for items that are marked to handle `multiple` values, array values are treated differently. In this case, the display value is built up by calling `mapValueToDisplay()` recursively for each array entry, and concatenating these partial display values together using the `multipleValueSeparator`.

      Parameters:
        `value` - value to be mapped to a display value
      Returns:
        value to display. Note, for items with static value(s), such as `SelectItem` or `StaticTextItem`, the display value string will be interpreted as HTML by the browser. See `SelectItem.escapeHTML` for more details
      See Also:
        `mapDisplayToValue(java.lang.String)`

    - #### mapValueToDisplay

          public java.lang.String mapValueToDisplay(com.google.gwt.core.client.JavaScriptObject value)

    - #### mapValueToDisplay

          public java.lang.String mapValueToDisplay(java.lang.Object value)

    - #### getWarnOnEditorTypeConversionDefault

          public static boolean getWarnOnEditorTypeConversionDefault()

      Gets whether, by default, a warning will be logged if the Framework replaces a SmartGWT FormItem (that wraps the SmartClient item instance) to more closely match the underlying item's type.
      Returns:
        whether to warn if SmartGWT FormItem wrapping a SmartClient item is replaced
      See Also:
        `getWarnOnEditorTypeConversion()`

    - #### setWarnOnEditorTypeConversionDefault

          public static void setWarnOnEditorTypeConversionDefault(boolean warn)

      Sets whether, by default, a warning will be logged if the Framework replaces a SmartGWT FormItem (that wraps the SmartClient item instance) to more closely match the underlying item's type.
      Parameters:
        `warn` - whether to warn if SmartGWT FormItem wrapping a SmartClient item is replaced
      See Also:
        `setWarnOnEditorTypeConversion(boolean)`

    - #### getWarnOnEditorTypeConversion

          public boolean getWarnOnEditorTypeConversion()

      Gets whether a warning will be logged if the Framework replaces this SmartGWT FormItem (that wraps the SmartClient item instance) to more closely match the underlying item's type. The default value can be configured by calling `setWarnOnEditorTypeConversionDefault(boolean)`.
      Returns:
        whether to warn if SmartGWT FormItem wrapping a SmartClient item is replaced

    - #### setWarnOnEditorTypeConversion

          public void setWarnOnEditorTypeConversion(boolean warn)

      Sets whether a warning will be logged if the Framework replaces this SmartGwt FormItem (that wraps the SmartClient item instance) to more closely match the underlying item's type when `getOrCreateRef()` is called. A SmartGWT FormItem created using the default or (String) name constructor will never be replaced unless it has the base class (i.e. FormItem) type, in which case it's always replaced as no SmartClient FormItem instance will ever have the FormItem class type. A SmartGWT FormItem created using the `JavaScriptObject` constructor (perhaps indirectly via `FormItemFactory`) will be replaced by a call to `getOrCreateRef()` if the wrapping SmartGWT FormItem type ends up mismatching the underlying SmartClient instance. This may happen if:
      - the SmartGWT FormItem type wrapping the instance is the base class, FormItem,
      - the JavaScriptObject content passed in is chosen inconsistently with the actual class of the SmartGWT FormItem constructor chosen to wrap it, or
      - the `DynamicForm` instance doesn't exist, so `FormItemFactory` (if used) is unable to select the right SmartGWT FormItem class to wrap the underlying SmartClient item instance

      Note that when calling a SmartGWT FormItem constructor taking a JavaScriptObject, you can call `setAttribute()` on the "editorType" property and pass the desired FormItem subclass name to ensure that the ultimate SmartClient instance type matches the SmartGWT FormItem constructor you've chosen (except when creating the base class FormItem type - that will always be replaced). You can use `setEditorType()` instead of setAttribute() if you've made the Java annotation to generate the appropriate BeanFactory, but that's really only needed if the type being set doesn't correspond to a native SmartGWT Framework FormItem class.

      The default value can be configured by calling `setWarnOnEditorTypeConversionDefault(boolean)`.

      Parameters:
        `warn` - whether to warn if SmartGWT FormItem wrapping a SmartClient item is replaced

    - #### handleWarnOnEditorTypeConversion

          public void handleWarnOnEditorTypeConversion(FormItem oldItem,
                                                       FormItem newItem)