com.smartgwt.client.widgets.form.fields

## Class TextItem

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

- All Implemented Interfaces:
    HasHandlers, HasBlurHandlers, HasChangedHandlers, HasChangeHandlers, HasClickHandlers, HasDoubleClickHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFocusHandlers, HasIconClickHandlers, HasIconKeyPressHandlers, HasItemHoverHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasPickerIconClickHandlers, HasTitleClickHandlers, HasTitleDoubleClickHandlers, HasTitleHoverHandlers, HasValueHoverHandlers, HasValueIconClickHandlers
  Direct Known Subclasses:
    ColorItem, ComboBoxItem, DoubleItem, FloatItem, IntegerItem, PasswordItem, SpinnerItem, TimeItem, UploadItem

      public class TextItem
      extends FormItem

  FormItem for managing a text field.

- - ### Field Summary

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

      `scClassName`

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

      `id`

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

      `factoryCreated, factoryProperties`

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

      `jsObj`

  - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, DrawItem defaults)` Changes the defaults for DrawItem AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `static void` | `changePickerIconDefaults(FormItemIcon defaults)`
    `void` | `deselectValue()` If this item currently has focus, clear the current selection.
    `void` | `deselectValue(java.lang.Boolean start)` If this item currently has focus, clear the current selection.
    `java.lang.Boolean` | `getBrowserAutoCapitalize()`
    `java.lang.Boolean` | `getBrowserAutoCorrect()` In Mobile Safari, should automatic correction be offered for text in the item's text box? If `null`, then Mobile Safari determines automatically whether to enable autocorrect.
    `java.lang.String` | `getBrowserInputType()` This property corresponds to the HTML5 "inputType" attribute applied to the <input> element for this TextItem.
    `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.
    `CharacterCasing` | `getCharacterCasing()` Should entered characters be converted to upper or lowercase? Also applies to values applied with `FormItem.setValue()`.
    `java.lang.String` | `getEditProxyConstructor()` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `boolean` | `getEnforceLength()` If a `length` is specified for this item, should user input be limited to the specified length? If set to true, user input and values passed to `setValue()` will be trimmed to the specified length.
    `java.lang.String` | `getEnteredValue()` Returns the raw text value that currently appears in the text field, which can differ from `FormItem.getValue()` in various cases - for example: for items that constrain the value range, such as a `DateItem` with `enforceDate`:true, or a `ComboBoxItem` with `addUnknownValues`:false for items with a defined valueMap or edit value formatter and parser functions which converts display value to data value while the item has focus if `changeOnKeypress` is false
    `java.lang.Boolean` | `getFormatOnBlur()` With `formatOnBlur` enabled, this textItem will format its value according to any specified static `static formatter` as long as the item does not have focus.
    `java.lang.Boolean` | `getFormatOnFocusChange()` Should `FormItem.formatEditorValue()` re-run whenever this item recieves or loses focus? Setting this property allows developers to conditionally format the display value based on item.hasFocus, typically to display a longer, more informative string while the item does not have focus, and simplifying it down to an easier-to-edit string when the user puts focus into the item.
    `java.lang.String` | `getHint()` Returns the hint text for this item.
    `java.lang.String` | `getKeyPressFilter()` Sets a keypress filter regular expression to limit valid characters that can be entered by the user.
    `java.lang.Integer` | `getLength()` If set, maximum number of characters for this field.
    `java.lang.String` | `getMask()` Input mask used to filter text entry.
    `java.lang.Boolean` | `getMaskOverwriteMode()` During entry into masked field, should keystrokes overwrite current position value? By default new keystrokes are inserted into the field.
    `java.lang.String` | `getMaskPadChar()` Character that is used to fill required empty mask positions to display text while control has no focus.
    `java.lang.String` | `getMaskPromptChar()` Character that is used to fill required empty mask positions to display text while control has focus.
    `java.lang.Boolean` | `getMaskSaveLiterals()` Should entered mask value be saved with embedded literals?
    `static TextItem` | `getOrCreateRef(JavaScriptObject jsObj)`
    `java.lang.Boolean` | `getPrintFullText()` When generating a print-view of the component containing this TextItem, should the form item expand to accommodate its value? If set to false the text box will not expand to fit its content in the print view, instead showing exactly as it does in the live form.
    `java.lang.Boolean` | `getSaveOnEnter()` Text items will submit their containing form on enter keypress if `saveOnEnter` is true.
    `int[]` | `getSelectionRange()` For text-based items, this method returns the indices of the start/end of the current selection if the item currently has the focus.
    `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` | `getShowHintInField()` If showing hint for this form item, should it be shown within the field?
    `java.lang.String` | `getTextBoxStyle()` Base CSS class name for this item's input element.
    `java.lang.String` | `getValueAsString()` Return the value tracked by this form item.
    `void` | `selectValue()` Put focus in this item and select the entire value.
    `void` | `setBrowserAutoCapitalize(java.lang.Boolean browserAutoCapitalize)` Note : This is an advanced setting
    `void` | `setBrowserAutoCorrect(java.lang.Boolean browserAutoCorrect)` In Mobile Safari, should automatic correction be offered for text in the item's text box? If `null`, then Mobile Safari determines automatically whether to enable autocorrect.
    `void` | `setBrowserInputType(java.lang.String browserInputType)` This property corresponds to the HTML5 "inputType" attribute applied to the <input> element for this TextItem.
    `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` | `setCharacterCasing(CharacterCasing characterCasing)` Should entered characters be converted to upper or lowercase? Also applies to values applied with `FormItem.setValue()`.
    `static void` | `setDefaultProperties(TextItem textItemProperties)` Class level method to set the default properties of this class.
    `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` | `setEnforceLength(boolean enforceLength)` If a `length` is specified for this item, should user input be limited to the specified length? If set to true, user input and values passed to `setValue()` will be trimmed to the specified length.
    `void` | `setFormatOnBlur(java.lang.Boolean formatOnBlur)` With `formatOnBlur` enabled, this textItem will format its value according to any specified static `static formatter` as long as the item does not have focus.
    `void` | `setFormatOnFocusChange(java.lang.Boolean formatOnFocusChange)` Should `FormItem.formatEditorValue()` re-run whenever this item recieves or loses focus? Setting this property allows developers to conditionally format the display value based on item.hasFocus, typically to display a longer, more informative string while the item does not have focus, and simplifying it down to an easier-to-edit string when the user puts focus into the item.
    `void` | `setKeyPressFilter(java.lang.String keyPressFilter)` Sets a keypress filter regular expression to limit valid characters that can be entered by the user.
    `void` | `setLength(java.lang.Integer length)` If set, maximum number of characters for this field.
    `void` | `setMask(java.lang.String mask)` Input mask used to filter text entry.
    `void` | `setMaskOverwriteMode(java.lang.Boolean maskOverwriteMode)` During entry into masked field, should keystrokes overwrite current position value? By default new keystrokes are inserted into the field.
    `void` | `setMaskPadChar(java.lang.String maskPadChar)` Character that is used to fill required empty mask positions to display text while control has no focus.
    `void` | `setMaskPromptChar(java.lang.String maskPromptChar)` Character that is used to fill required empty mask positions to display text while control has focus.
    `void` | `setMaskSaveLiterals(java.lang.Boolean maskSaveLiterals)` Should entered mask value be saved with embedded literals?
    `void` | `setPrintFullText(java.lang.Boolean printFullText)` When generating a print-view of the component containing this TextItem, should the form item expand to accommodate its value? If set to false the text box will not expand to fit its content in the print view, instead showing exactly as it does in the live form.
    `void` | `setSaveOnEnter(java.lang.Boolean saveOnEnter)` Text items will submit their containing form on enter keypress if `saveOnEnter` is true.
    `void` | `setSelectionRange(int start, int end)` Puts focus into this form item and selects characters between the given indices.
    `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` | `setShowHintInField(java.lang.Boolean showHintInField)` If showing hint for this form item, should it be shown within the field?
    `void` | `setTextBoxStyle(java.lang.String textBoxStyle)` Base CSS class name for this item's input element.

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

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

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

      `getRef, getRef, internalSetID`

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

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

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

      `equals, getJsObj, hashCode, setJavaScriptObject, setJsObj`

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

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

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

      `fireEvent`

- - ### Constructor Detail

    - #### TextItem

          public TextItem()

    - #### TextItem

          public TextItem(JavaScriptObject jsObj)

    - #### TextItem

          public TextItem(java.lang.String name)

    - #### TextItem

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

  - ### Method Detail

    - #### getOrCreateRef

          public static TextItem getOrCreateRef(JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

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

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

    - #### changeAutoChildDefaults

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

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

    - #### changeAutoChildDefaults

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

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

    - #### changePickerIconDefaults

          public static void changePickerIconDefaults(FormItemIcon defaults)

    - #### setBrowserAutoCapitalize

          public void setBrowserAutoCapitalize(java.lang.Boolean browserAutoCapitalize)

      Note : This is an advanced setting

      Parameters:
        `browserAutoCapitalize` - Default value is null

    - #### getBrowserAutoCapitalize

          public java.lang.Boolean getBrowserAutoCapitalize()

      Returns:
        Boolean

    - #### setBrowserAutoCorrect

          public void setBrowserAutoCorrect(java.lang.Boolean browserAutoCorrect)

      In Mobile Safari, should automatic correction be offered for text in the item's text box? If `null`, then Mobile Safari determines automatically whether to enable autocorrect.

      When enabled, Mobile Safari displays "autocorrect bubbles" to suggest automatic corrections:

      Note : This is an advanced setting

      Parameters:
        `browserAutoCorrect` - Default value is null

    - #### getBrowserAutoCorrect

          public java.lang.Boolean getBrowserAutoCorrect()

      In Mobile Safari, should automatic correction be offered for text in the item's text box? If `null`, then Mobile Safari determines automatically whether to enable autocorrect.

      When enabled, Mobile Safari displays "autocorrect bubbles" to suggest automatic corrections:

      Returns:
        Boolean

    - #### setBrowserInputType

          public void setBrowserInputType(java.lang.String browserInputType)

      This property corresponds to the HTML5 "inputType" attribute applied to the <input> element for this TextItem.

      The only currently supported use of this attribute is hinting to touch-enabled mobile devices that a particular keyboard layout should be used. Even here, be careful; to take a random example, using type "number" on Android up to at least 3.2 leads to a keyboard with no "-" key, so negative numbers cannot be entered.

      Valid values:

      "text" | Normal text keyboard
      "digits" | Makes the text field more suitable for entering a string of digits 0 - 9. On iOS, this causes the virtual keyboard to show a numeric keypad with only "0", "1", "2", ..., "9", and delete keys.
      "email" | Makes the text field more suitable for entering an e-mail address. On iOS, this causes the virtual keyboard to show special "@" and "." keys on the alphabetic keys screen.
      "tel" | Makes the text field more suitable for entering a telephone number. On iOS, this causes the virtual keyboard to show a numeric keypad with a "+*#" key for displaying punctuation keys.
      "number" | Makes the text field more suitable for entering a floating-point value. On iOS, this causes the virtual keyboard to start on the number and punctuation keys screen. NOTE: This is not an appropriate text input type for credit card numbers, postal codes, ISBNs, and other formats that are not strictly parsable as floating-point numbers. This is because the browser is required to perform floating-point value sanitization to ensure that the value is a valid floating-point number.
      "url" | Makes the text field more suitable for entering a URL. On iOS, this causes the virtual keyboard to show a special ".com" key.
      Any vendor- specific value | If a browser supports another input type.

      Note : This is an advanced setting

      Parameters:
        `browserInputType` - Default value is null

    - #### getBrowserInputType

          public java.lang.String getBrowserInputType()

      This property corresponds to the HTML5 "inputType" attribute applied to the <input> element for this TextItem.

      The only currently supported use of this attribute is hinting to touch-enabled mobile devices that a particular keyboard layout should be used. Even here, be careful; to take a random example, using type "number" on Android up to at least 3.2 leads to a keyboard with no "-" key, so negative numbers cannot be entered.

      Valid values:

      "text" | Normal text keyboard
      "digits" | Makes the text field more suitable for entering a string of digits 0 - 9. On iOS, this causes the virtual keyboard to show a numeric keypad with only "0", "1", "2", ..., "9", and delete keys.
      "email" | Makes the text field more suitable for entering an e-mail address. On iOS, this causes the virtual keyboard to show special "@" and "." keys on the alphabetic keys screen.
      "tel" | Makes the text field more suitable for entering a telephone number. On iOS, this causes the virtual keyboard to show a numeric keypad with a "+*#" key for displaying punctuation keys.
      "number" | Makes the text field more suitable for entering a floating-point value. On iOS, this causes the virtual keyboard to start on the number and punctuation keys screen. NOTE: This is not an appropriate text input type for credit card numbers, postal codes, ISBNs, and other formats that are not strictly parsable as floating-point numbers. This is because the browser is required to perform floating-point value sanitization to ensure that the value is a valid floating-point number.
      "url" | Makes the text field more suitable for entering a URL. On iOS, this causes the virtual keyboard to show a special ".com" key.
      Any vendor- specific value | If a browser supports another input type.

      Returns:
        String

    - #### 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.

      Overrides:
        `setChangeOnKeypress` in class `FormItem`
      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.

      Overrides:
        `getChangeOnKeypress` in class `FormItem`
      Returns:
        Boolean

    - #### setCharacterCasing

          public void setCharacterCasing(CharacterCasing characterCasing)

      Should entered characters be converted to upper or lowercase? Also applies to values applied with `FormItem.setValue()`.

      Note: character casing cannot be used at the same time as a `mask`.

      Note : This is an advanced setting

      Parameters:
        `characterCasing` - Default value is TextItem.DEFAULT
      See Also:
        KeyPress Filters Example

    - #### getCharacterCasing

          public CharacterCasing getCharacterCasing()

      Should entered characters be converted to upper or lowercase? Also applies to values applied with `FormItem.setValue()`.

      Note: character casing cannot be used at the same time as a `mask`.

      Returns:
        CharacterCasing
      See Also:
        KeyPress Filters Example

    - #### 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`.
      Overrides:
        `setEditProxyConstructor` in class `FormItem`
      Parameters:
        `editProxyConstructor` - See `SCClassName` . Default value is "TextItemEditProxy"

    - #### getEditProxyConstructor

          public java.lang.String getEditProxyConstructor()

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `getEditProxyConstructor` in class `FormItem`
      Returns:
        See `SCClassName`

    - #### setEnforceLength

          public void setEnforceLength(boolean enforceLength)

      If a `length` is specified for this item, should user input be limited to the specified length? If set to true, user input and values passed to `setValue()` will be trimmed to the specified length. Otherwise values exceeding the specified length will raise an error on validation.

      Note that having this value set to true limits user interactivity in some ways. For example users would be unable to paste a longer string into the field for editing without seeing it be truncated.

      Parameters:
        `enforceLength` - Default value is true

    - #### getEnforceLength

          public boolean getEnforceLength()

      If a `length` is specified for this item, should user input be limited to the specified length? If set to true, user input and values passed to `setValue()` will be trimmed to the specified length. Otherwise values exceeding the specified length will raise an error on validation.

      Note that having this value set to true limits user interactivity in some ways. For example users would be unable to paste a longer string into the field for editing without seeing it be truncated.

      Returns:
        boolean

    - #### setFormatOnBlur

          public void setFormatOnBlur(java.lang.Boolean formatOnBlur)

      With `formatOnBlur` enabled, this textItem will format its value according to any specified static `static formatter` as long as the item does not have focus. Once the user puts focus into the item the formatter will be removed. This provides a simply way for developers to show a nicely formatted display value in a freeform text field, without the need for an explicit `FormItem.formatEditorValue()` and `FormItem.parseEditorValue()` pair.
      Parameters:
        `formatOnBlur` - Default value is false

    - #### getFormatOnBlur

          public java.lang.Boolean getFormatOnBlur()

      With `formatOnBlur` enabled, this textItem will format its value according to any specified static `static formatter` as long as the item does not have focus. Once the user puts focus into the item the formatter will be removed. This provides a simply way for developers to show a nicely formatted display value in a freeform text field, without the need for an explicit `FormItem.formatEditorValue()` and `FormItem.parseEditorValue()` pair.
      Returns:
        Boolean

    - #### setFormatOnFocusChange

          public void setFormatOnFocusChange(java.lang.Boolean formatOnFocusChange)

      Should `FormItem.formatEditorValue()` re-run whenever this item recieves or loses focus? Setting this property allows developers to conditionally format the display value based on item.hasFocus, typically to display a longer, more informative string while the item does not have focus, and simplifying it down to an easier-to-edit string when the user puts focus into the item.
      Parameters:
        `formatOnFocusChange` - Default value is false

    - #### getFormatOnFocusChange

          public java.lang.Boolean getFormatOnFocusChange()

      Should `FormItem.formatEditorValue()` re-run whenever this item recieves or loses focus? Setting this property allows developers to conditionally format the display value based on item.hasFocus, typically to display a longer, more informative string while the item does not have focus, and simplifying it down to an easier-to-edit string when the user puts focus into the item.
      Returns:
        Boolean

    - #### setKeyPressFilter

          public void setKeyPressFilter(java.lang.String keyPressFilter)

      Sets a keypress filter regular expression to limit valid characters that can be entered by the user. If defined, keys that match the regular expression are allowed; all others are suppressed. The filter is applied after character casing, if defined.

      Note: keypress filtering cannot be used at the same time as a `mask`.
      If this method is called after the component has been drawn/initialized: Set the `keyPressFilter` for this item

      Note : This is an advanced setting

      Parameters:
        `keyPressFilter` - new keyPress filter for the item. Default value is null
      See Also:
        `setCharacterCasing(com.smartgwt.client.types.CharacterCasing)`, KeyPress Filters Example

    - #### getKeyPressFilter

          public java.lang.String getKeyPressFilter()

      Sets a keypress filter regular expression to limit valid characters that can be entered by the user. If defined, keys that match the regular expression are allowed; all others are suppressed. The filter is applied after character casing, if defined.

      Note: keypress filtering cannot be used at the same time as a `mask`.

      Returns:
        String
      See Also:
        `getCharacterCasing()`, KeyPress Filters Example

    - #### setLength

          public void setLength(java.lang.Integer length)

      If set, maximum number of characters for this field. If `enforceLength` is set to true, user input will be limited to this value, and values exceeding this length passed to `setValue()` will be trimmed. Otherwise values exceeding the specified length will raise an error on validation.

      See also `length`.

      Parameters:
        `length` - Default value is null
      See Also:
        `Validation overview and related methods`

    - #### getLength

          public java.lang.Integer getLength()

      If set, maximum number of characters for this field. If `enforceLength` is set to true, user input will be limited to this value, and values exceeding this length passed to `setValue()` will be trimmed. Otherwise values exceeding the specified length will raise an error on validation.

      See also `length`.

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

    - #### setMask

          public void setMask(java.lang.String mask)

      Input mask used to filter text entry.

      Sample masks:

      - Phone number: (###) ###-####
      - Social Security number: ###-##-####
      - First name: >?<??????????
      - Date: ##/##/####
      - State: >LL
      Overview of available mask characters

      Character | Description
      --- | ---
      0 | Digit (0 through 9) or plus [+] or minus [-] signs
      9 | Digit or space
      # | Digit
      L | Letter (A through Z)
      ? | Letter (A through Z) or space
      A | Letter or digit
      a | Letter or digit
      C | Any character or space
      < | Causes all characters that follow to be converted to lowercase
      > | Causes all characters that follow to be converted to uppercase

      Any character not matching one of the above mask characters or that is escaped with a backslash (\) is considered to be a literal.

      Custom mask characters can be defined by standard regular expression character set or range. For example, a hexadecimal color code mask could be:

      - Color: \#>[0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]

      Note: input mask cannot be used at the same time as a `keyPressFilter`. Also note that this property is not supported for `ComboBoxItem` or `SpinnerItem`.
      If this method is called after the component has been drawn/initialized: Set the mask for this item. Pass null to clear an existing mask.

      Note that the current value of the field is cleared when changing the mask.

      Note : This is an advanced setting

      Parameters:
        `mask` - mask to apply to text item. Default value is null
      See Also:
        `setKeyPressFilter(java.lang.String)`, Text - Masked Example

    - #### getMask

          public java.lang.String getMask()

      Input mask used to filter text entry.

      Sample masks:

      - Phone number: (###) ###-####
      - Social Security number: ###-##-####
      - First name: >?<??????????
      - Date: ##/##/####
      - State: >LL
      Overview of available mask characters

      Character | Description
      --- | ---
      0 | Digit (0 through 9) or plus [+] or minus [-] signs
      9 | Digit or space
      # | Digit
      L | Letter (A through Z)
      ? | Letter (A through Z) or space
      A | Letter or digit
      a | Letter or digit
      C | Any character or space
      < | Causes all characters that follow to be converted to lowercase
      > | Causes all characters that follow to be converted to uppercase

      Any character not matching one of the above mask characters or that is escaped with a backslash (\) is considered to be a literal.

      Custom mask characters can be defined by standard regular expression character set or range. For example, a hexadecimal color code mask could be:

      - Color: \#>[0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]

      Note: input mask cannot be used at the same time as a `keyPressFilter`. Also note that this property is not supported for `ComboBoxItem` or `SpinnerItem`.

      Returns:
        String
      See Also:
        `getKeyPressFilter()`, Text - Masked Example

    - #### setMaskOverwriteMode

          public void setMaskOverwriteMode(java.lang.Boolean maskOverwriteMode)

      During entry into masked field, should keystrokes overwrite current position value? By default new keystrokes are inserted into the field.

      Note : This is an advanced setting

      Parameters:
        `maskOverwriteMode` - Default value is null

    - #### getMaskOverwriteMode

          public java.lang.Boolean getMaskOverwriteMode()

      During entry into masked field, should keystrokes overwrite current position value? By default new keystrokes are inserted into the field.
      Returns:
        Boolean

    - #### setMaskPadChar

          public void setMaskPadChar(java.lang.String maskPadChar)

      Character that is used to fill required empty mask positions to display text while control has no focus.

      Note : This is an advanced setting

      Parameters:
        `maskPadChar` - Default value is " "

    - #### getMaskPadChar

          public java.lang.String getMaskPadChar()

      Character that is used to fill required empty mask positions to display text while control has no focus.
      Returns:
        String

    - #### setMaskPromptChar

          public void setMaskPromptChar(java.lang.String maskPromptChar)

      Character that is used to fill required empty mask positions to display text while control has focus.

      Note : This is an advanced setting

      Parameters:
        `maskPromptChar` - Default value is "_"

    - #### getMaskPromptChar

          public java.lang.String getMaskPromptChar()

      Character that is used to fill required empty mask positions to display text while control has focus.
      Returns:
        String

    - #### setMaskSaveLiterals

          public void setMaskSaveLiterals(java.lang.Boolean maskSaveLiterals)

      Should entered mask value be saved with embedded literals?

      Note : This is an advanced setting

      Parameters:
        `maskSaveLiterals` - Default value is null

    - #### getMaskSaveLiterals

          public java.lang.Boolean getMaskSaveLiterals()

      Should entered mask value be saved with embedded literals?
      Returns:
        Boolean

    - #### setPrintFullText

          public void setPrintFullText(java.lang.Boolean printFullText)

      When generating a print-view of the component containing this TextItem, should the form item expand to accommodate its value? If set to false the text box will not expand to fit its content in the print view, instead showing exactly as it does in the live form.
      Parameters:
        `printFullText` - Default value is false
      See Also:
        `Printing overview and related methods`

    - #### getPrintFullText

          public java.lang.Boolean getPrintFullText()

      When generating a print-view of the component containing this TextItem, should the form item expand to accommodate its value? If set to false the text box will not expand to fit its content in the print view, instead showing exactly as it does in the live form.
      Returns:
        Boolean
      See Also:
        `Printing overview and related methods`

    - #### setSaveOnEnter

          public void setSaveOnEnter(java.lang.Boolean saveOnEnter)

      Text items will submit their containing form on enter keypress if `saveOnEnter` is true. Setting this property to `false` will disable this behavior.
      Overrides:
        `setSaveOnEnter` in class `FormItem`
      Parameters:
        `saveOnEnter` - Default value is true

    - #### getSaveOnEnter

          public java.lang.Boolean getSaveOnEnter()

      Text items will submit their containing form on enter keypress if `saveOnEnter` is true. Setting this property to `false` will disable this behavior.
      Overrides:
        `getSaveOnEnter` in class `FormItem`
      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 `selectOnClick`.
      Overrides:
        `setSelectOnClick` in class `FormItem`
      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 `selectOnClick`.
      Overrides:
        `getSelectOnClick` in class `FormItem`
      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 `selectOnFocus`.
      Overrides:
        `setSelectOnFocus` in class `FormItem`
      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 `selectOnFocus`.
      Overrides:
        `getSelectOnFocus` in class `FormItem`
      Returns:
        Boolean
      See Also:
        `Focus overview and related methods`

    - #### setShowHintInField

          public void setShowHintInField(java.lang.Boolean showHintInField)

      If showing hint for this form item, should it be shown within the field?

      CSS style for the hint is `textBoxStyle` with the suffix "Hint" appended to it. If the item is disabled the suffix "DisabledHint" will be used.

      To change this attribute after being drawn, it is necessary to call `FormItem.redraw()` or redraw the form.

      Note : This is an advanced setting

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

    - #### getShowHintInField

          public java.lang.Boolean getShowHintInField()

      If showing hint for this form item, should it be shown within the field?

      CSS style for the hint is `textBoxStyle` with the suffix "Hint" appended to it. If the item is disabled the suffix "DisabledHint" will be used.

      To change this attribute after being drawn, it is necessary to call `FormItem.redraw()` or redraw the form.

      Returns:
        Boolean
      See Also:
        `FormItem.getHint()`, `Appearance overview and related methods`

    - #### setTextBoxStyle

          public void setTextBoxStyle(java.lang.String textBoxStyle)

      Base CSS class name for this item's input element. NOTE: See the `CompoundFormItem_skinning` discussion for special skinning considerations.
      Overrides:
        `setTextBoxStyle` in class `FormItem`
      Parameters:
        `textBoxStyle` - See `FormItemBaseStyle` . Default value is "textItem"
      See Also:
        `Appearance overview and related methods`

    - #### getTextBoxStyle

          public java.lang.String getTextBoxStyle()

      Base CSS class name for this item's input element. NOTE: See the `CompoundFormItem_skinning` discussion for special skinning considerations.
      Overrides:
        `getTextBoxStyle` in class `FormItem`
      Returns:
        See `FormItemBaseStyle`
      See Also:
        `Appearance overview and related methods`

    - #### deselectValue

          public void deselectValue()

      If this item currently has focus, clear the current selection. leaving focus in the item. Has no effect if the item is undrawn or unfocused. Only applies to text-based items.

    - #### deselectValue

          public void deselectValue(java.lang.Boolean start)

      If this item currently has focus, clear the current selection. leaving focus in the item. Has no effect if the item is undrawn or unfocused. Only applies to text-based items.
      Parameters:
        `start` - By default the text insertion cursor will be moved to the end of the current value - pass in this parameter to move to the start instead

    - #### getEnteredValue

          public java.lang.String getEnteredValue()

      Returns the raw text value that currently appears in the text field, which can differ from `FormItem.getValue()` in various cases - for example:
      - for items that constrain the value range, such as a `DateItem` with `enforceDate`:true, or a `ComboBoxItem` with `addUnknownValues`:false
      - for items with a defined valueMap or edit value formatter and parser functions which converts display value to data value
      - while the item has focus if `changeOnKeypress` is false
      Returns:
        current entered value

    - #### getHint

          public java.lang.String getHint()

      Returns the hint text for this item. Default implementation returns `hint`, or null if there is no hint to show.
      Overrides:
        `getHint` in class `FormItem`
      Returns:
        HTML to show as the hint for the item
      See Also:
        `Appearance overview and related methods`

    - #### getSelectionRange

          public int[] getSelectionRange()

      For text-based items, this method returns the indices of the start/end of the current selection if the item currently has the focus. In browsers other than Internet Explorer 6-9, if this item does not have focus, then this method returns the indices of the start/end of the selection the last time that this item had focus. In IE 6-9, returns null if the item does not have focus.

      In all browsers, clicking anywhere outside of the item causes the item to lose focus; hence, in IE 6-9, this method will not work in other components' event handlers for certain events. For example, within the `click()` handler of a button, this item will have already lost focus, so in IE 6-9, this method will return null if called within the button's click() handler. One cross-browser solution to this issue is to save the selection range for later in a `mouseDown()` or `mouseOver()` handler.

      Notes:

      - In browsers other than IE 6-9, calling `setValue()` or otherwise changing the `entered value` invalidates the past selection range.
      - The returned indices are indices within the entered value rather than the item's value as returned by `getValue()`. The distinction is particularly important for `TextAreaItem`s because browsers normalize the line endings in the `<textarea>` element's value. Internet Explorer 6, 7, and 8 convert line endings to "\r\n" while other browsers convert line endings to "\n" as specified by the HTML5 standard.
      Returns:
        2 element array showing character index of the current or past selection's start and end points within this item's `entered value`. In IE 6-9, returns null if the item does not have focus.

    - #### selectValue

          public void selectValue()

      Put focus in this item and select the entire value. Only applies to text based items

    - #### setSelectionRange

          public void setSelectionRange(int start,
                               int end)

      Puts focus into this form item and selects characters between the given indices. Only applies to drawn text based items.
      Parameters:
        `start` - selection starting character index
        `end` - end of selection character index

    - #### setDefaultProperties

          public static void setDefaultProperties(TextItem textItemProperties)

      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:
        `textItemProperties` - properties that should be used as new defaults when instances of this class are created

    - #### getValueAsString

          public java.lang.String getValueAsString()

      Return the value tracked by this form item.
      Returns:
        value of this element