com.google.gwt.user.client.ui

## Class ValueBoxBase<T>

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.google.gwt.user.client.ui.FocusWidget
      - - com.google.gwt.user.client.ui.ValueBoxBase<T>

Type Parameters:
  `T` - the value type

All Implemented Interfaces:
  IsEditor<ValueBoxEditor<T>>, HasAllDragAndDropHandlers, HasAllFocusHandlers, HasAllGestureHandlers, HasAllKeyHandlers, HasAllMouseHandlers, HasAllTouchHandlers, HasBlurHandlers, HasChangeHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragEndHandlers, HasDragEnterHandlers, HasDragHandlers, HasDragLeaveHandlers, HasDragOverHandlers, HasDragStartHandlers, HasDropHandlers, HasFocusHandlers, HasGestureChangeHandlers, HasGestureEndHandlers, HasGestureStartHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasTouchCancelHandlers, HasTouchEndHandlers, HasTouchMoveHandlers, HasTouchStartHandlers, HasAttachHandlers, HasValueChangeHandlers<T>, HasHandlers, AutoDirectionHandler.Target, HasDirection, HasDirectionEstimator, EventListener, TakesValue<T>, Focusable, HasEnabled, HasFocus, HasName, HasText, HasValue<T>, HasVisibility, IsWidget, SourcesClickEvents, SourcesFocusEvents, SourcesKeyboardEvents, SourcesMouseEvents

Direct Known Subclasses:
  TextBoxBase, ValueBox

    public class ValueBoxBase<T>
    extends FocusWidget
    implements HasChangeHandlers, HasName, HasDirectionEstimator, HasValue<T>, HasText, AutoDirectionHandler.Target, IsEditor<ValueBoxEditor<T>>

Abstract base class for all text entry widgets.

### Use in UiBinder Templates

### Nested Class Summary

Nested Classes
`static class` `ValueBoxBase.TextAlignment` Alignment values for `setAlignment(com.google.gwt.user.client.ui.ValueBoxBase.TextAlignment)`.

### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

`UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

### Nested classes/interfaces inherited from interface com.google.gwt.i18n.client.HasDirection

`HasDirection.Direction`

### Field Summary

### Fields inherited from class com.google.gwt.user.client.ui.Widget

`eventsToSink`

### Fields inherited from class com.google.gwt.user.client.ui.UIObject

`DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR`

### Constructor Summary

Constructors
`protected` `ValueBoxBase(Element elem, Renderer<T> renderer, Parser<T> parser)` Creates a value box that wraps the given browser element handle.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`HandlerRegistration` `addChangeHandler(ChangeHandler handler)` Adds a `ChangeEvent` handler.
`HandlerRegistration` `addValueChangeHandler(ValueChangeHandler<T> handler)` Adds a `ValueChangeEvent` handler.
`ValueBoxEditor<T>` `asEditor()` Returns an Editor that is backed by the ValueBoxBase.
`void` `cancelKey()` If a keyboard event is currently being handled on this text box, calling this method will suppress it.
`int` `getCursorPos()` Gets the current position of the cursor (this also serves as the beginning of the text selection).
`HasDirection.Direction` `getDirection()` Gets the directionality of the widget.
`DirectionEstimator` `getDirectionEstimator()` Gets the direction estimation model of the auto-dir handler.
`protected com.google.gwt.user.client.ui.impl.TextBoxImpl` `getImpl()`
`java.lang.String` `getName()` Gets the widget's name.
`java.lang.String` `getSelectedText()` Gets the text currently selected within this text box.
`int` `getSelectionLength()` Gets the length of the current text selection.
`java.lang.String` `getText()` Gets this object's text.
`T` `getValue()` Return the parsed value, or null if the field is empty or parsing fails.
`T` `getValueOrThrow()` Return the parsed value, or null if the field is empty.
`boolean` `isReadOnly()` Determines whether or not the widget is read-only.
`void` `onBrowserEvent(Event event)` Fired whenever a browser event is received.
`protected void` `onLoad()` This method is called immediately after a widget becomes attached to the browser's document.
`void` `removeChangeListener(ChangeListener listener)` Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by `addChangeHandler(com.google.gwt.event.dom.client.ChangeHandler)` instead
`void` `selectAll()` Selects all of the text in the box.
`void` `setAlignment(ValueBoxBase.TextAlignment align)`
`void` `setCursorPos(int pos)` Sets the cursor position.
`void` `setDirection(HasDirection.Direction direction)` Sets the directionality for a widget.
`void` `setDirectionEstimator(boolean enabled)` Toggles on / off direction estimation.
`void` `setDirectionEstimator(DirectionEstimator directionEstimator)` Sets the direction estimation model of the auto-dir handler.
`void` `setKey(char key)` Deprecated. this method only works in IE and should not have been added to the API
`void` `setName(java.lang.String name)` Sets the widget's name.
`void` `setReadOnly(boolean readOnly)` Turns read-only mode on or off.
`void` `setSelectionRange(int pos, int length)` Sets the range of text to be selected.
`void` `setText(java.lang.String text)` Sets this object's text.
`void` `setValue(T value)` Sets this object's value without firing any events.
`void` `setValue(T value, boolean fireEvents)` Sets this object's value.

### Methods inherited from class com.google.gwt.user.client.ui.FocusWidget

`addBlurHandler, addClickHandler, addClickListener, addDoubleClickHandler, addDragEndHandler, addDragEnterHandler, addDragHandler, addDragLeaveHandler, addDragOverHandler, addDragStartHandler, addDropHandler, addFocusHandler, addFocusListener, addGestureChangeHandler, addGestureEndHandler, addGestureStartHandler, addKeyboardListener, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addMouseDownHandler, addMouseListener, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMouseWheelHandler, addMouseWheelListener, addTouchCancelHandler, addTouchEndHandler, addTouchMoveHandler, addTouchStartHandler, getFocusImpl, getTabIndex, isEnabled, onAttach, removeClickListener, removeFocusListener, removeKeyboardListener, removeMouseListener, removeMouseWheelListener, setAccessKey, setEnabled, setFocus, setTabIndex`

### Methods inherited from class com.google.gwt.user.client.ui.Widget

`addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isAttached, isOrWasAttached, onDetach, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, sinkEvents, unsinkEvents`

### Methods inherited from class com.google.gwt.user.client.ui.UIObject

`addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface com.google.gwt.event.dom.client.HasKeyUpHandlers

`addKeyUpHandler`

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

`fireEvent`

### Constructor Detail

#### ValueBoxBase

    protected ValueBoxBase(Element elem,
                           Renderer<T> renderer,
                           Parser<T> parser)

Creates a value box that wraps the given browser element handle. This is only used by subclasses.

Parameters:
  `elem` - the browser element to wrap

### Method Detail

#### addChangeHandler

    public HandlerRegistration addChangeHandler(ChangeHandler handler)

Description copied from interface: `HasChangeHandlers`
Adds a `ChangeEvent` handler.

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

#### addValueChangeHandler

    public HandlerRegistration addValueChangeHandler(ValueChangeHandler<T> handler)

Description copied from interface: `HasValueChangeHandlers`
Adds a `ValueChangeEvent` handler.

Specified by:
  `addValueChangeHandler` in interface `HasValueChangeHandlers<T>`
Parameters:
  `handler` - the handler
Returns:
  the registration for the event

#### asEditor

    public ValueBoxEditor<T> asEditor()

Returns an Editor that is backed by the ValueBoxBase. The default implementation returns `ValueBoxEditor.of(ValueBoxBase)`. Subclasses may override this method to provide custom error-handling when using the Editor framework.

Specified by:
  `asEditor` in interface `IsEditor<ValueBoxEditor<T>>`
Returns:
  an `Editor` of type E

#### cancelKey

    public void cancelKey()

If a keyboard event is currently being handled on this text box, calling this method will suppress it. This allows listeners to easily filter keyboard input.

#### getCursorPos

    public int getCursorPos()

Gets the current position of the cursor (this also serves as the beginning of the text selection).

Returns:
  the cursor's position

#### getDirection

    public HasDirection.Direction getDirection()

Description copied from interface: `HasDirection`
Gets the directionality of the widget.

Specified by:
  `getDirection` in interface `HasDirection`
Returns:
  `RTL` if the directionality is right-to-left, `LTR` if the directionality is left-to-right, or `DEFAULT` if the directionality is not explicitly specified

#### getDirectionEstimator

    public DirectionEstimator getDirectionEstimator()

Gets the direction estimation model of the auto-dir handler.

Specified by:
  `getDirectionEstimator` in interface `HasDirectionEstimator`

#### getName

    public java.lang.String getName()

Description copied from interface: `HasName`
Gets the widget's name.

Specified by:
  `getName` in interface `HasName`
Returns:
  the widget's name

#### getSelectedText

    public java.lang.String getSelectedText()

Gets the text currently selected within this text box.

Returns:
  the selected text, or an empty string if none is selected

#### getSelectionLength

    public int getSelectionLength()

Gets the length of the current text selection.

Returns:
  the text selection length

#### getText

    public java.lang.String getText()

Description copied from interface: `HasText`
Gets this object's text.

Specified by:
  `getText` in interface `AutoDirectionHandler.Target`
Specified by:
  `getText` in interface `HasText`
Returns:
  the object's text

#### getValue

    public T getValue()

Return the parsed value, or null if the field is empty or parsing fails.

Specified by:
  `getValue` in interface `TakesValue<T>`
Specified by:
  `getValue` in interface `HasValue<T>`
Returns:
  the object's value
See Also:
  `TakesValue.setValue(V)`

#### getValueOrThrow

    public T getValueOrThrow()
                      throws java.text.ParseException

Return the parsed value, or null if the field is empty.

Throws:
  `java.text.ParseException` - if the value cannot be parsed

#### isReadOnly

    public boolean isReadOnly()

Determines whether or not the widget is read-only.

Returns:
  `true` if the widget is currently read-only, `false` if the widget is currently editable

#### onBrowserEvent

    public void onBrowserEvent(Event event)

Description copied from interface: `EventListener`
Fired whenever a browser event is received.

Specified by:
  `onBrowserEvent` in interface `EventListener`
Overrides:
  `onBrowserEvent` in class `Widget`
Parameters:
  `event` - the event received

#### removeChangeListener

    @Deprecated
    public void removeChangeListener(ChangeListener listener)

Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by `addChangeHandler(com.google.gwt.event.dom.client.ChangeHandler)` instead

#### selectAll

    public void selectAll()

Selects all of the text in the box. This will only work when the widget is attached to the document and not hidden.

#### setAlignment

    public void setAlignment(ValueBoxBase.TextAlignment align)

#### setCursorPos

    public void setCursorPos(int pos)

Sets the cursor position. This will only work when the widget is attached to the document and not hidden.

Parameters:
  `pos` - the new cursor position

#### setDirection

    public void setDirection(HasDirection.Direction direction)

Description copied from interface: `HasDirection`
Sets the directionality for a widget.

Specified by:
  `setDirection` in interface `HasDirection`
Parameters:
  `direction` - `RTL` if the directionality should be set to right-to-left, `LTR` if the directionality should be set to left-to-right `DEFAULT` if the directionality should not be explicitly set

#### setDirectionEstimator

    public void setDirectionEstimator(boolean enabled)

Toggles on / off direction estimation.

Specified by:
  `setDirectionEstimator` in interface `HasDirectionEstimator`
Parameters:
  `enabled` - Whether to enable direction estimation. If `true`, sets the `DirectionEstimator` object to a default `DirectionEstimator`.

#### setDirectionEstimator

    public void setDirectionEstimator(DirectionEstimator directionEstimator)

Sets the direction estimation model of the auto-dir handler.

Specified by:
  `setDirectionEstimator` in interface `HasDirectionEstimator`
Parameters:
  `directionEstimator` - The `DirectionEstimator` to be set. `null` means turning off direction estimation.

#### setKey

    @Deprecated
    public void setKey(char key)

Deprecated. this method only works in IE and should not have been added to the API
If a keyboard event is currently being handled by the text box, this method replaces the unicode character or key code associated with it. This allows listeners to easily filter keyboard input.

Parameters:
  `key` - the new key value

#### setName

    public void setName(java.lang.String name)

Description copied from interface: `HasName`
Sets the widget's name.

Specified by:
  `setName` in interface `HasName`
Parameters:
  `name` - the widget's new name

#### setReadOnly

    public void setReadOnly(boolean readOnly)

Turns read-only mode on or off.

Parameters:
  `readOnly` - if `true`, the widget becomes read-only; if `false` the widget becomes editable

#### setSelectionRange

    public void setSelectionRange(int pos,
                                  int length)

Sets the range of text to be selected. This will only work when the widget is attached to the document and not hidden.

Parameters:
  `pos` - the position of the first character to be selected
  `length` - the number of characters to be selected

#### setText

    public void setText(java.lang.String text)

Sets this object's text. Note that some browsers will manipulate the text before adding it to the widget. For example, most browsers will strip all `\r` from the text, except IE which will add a `\r` before each `\n`. Use `getText()` to get the text directly from the widget.

Specified by:
  `setText` in interface `AutoDirectionHandler.Target`
Specified by:
  `setText` in interface `HasText`
Parameters:
  `text` - the object's new text

#### setValue

    public void setValue(T value)

Description copied from interface: `HasValue`
Sets this object's value without firing any events. This should be identical to calling setValue(value, false).

It is acceptable to fail assertions or throw (documented) unchecked exceptions in response to bad values.

Widgets must accept null as a valid value. By convention, setting a widget to null clears value, calling getValue() on a cleared widget returns null. Widgets that can not be cleared (e.g. `CheckBox`) must find another valid meaning for null input.

Specified by:
  `setValue` in interface `TakesValue<T>`
Specified by:
  `setValue` in interface `HasValue<T>`
Parameters:
  `value` - the object's new value
See Also:
  `TakesValue.getValue()`

#### setValue

    public void setValue(T value,
                         boolean fireEvents)

Description copied from interface: `HasValue`
Sets this object's value. Fires `ValueChangeEvent` when fireEvents is true and the new value does not equal the existing value.

It is acceptable to fail assertions or throw (documented) unchecked exceptions in response to bad values.

Specified by:
  `setValue` in interface `HasValue<T>`
Parameters:
  `value` - the object's new value
  `fireEvents` - fire events if true and value is new

#### getImpl

    protected com.google.gwt.user.client.ui.impl.TextBoxImpl getImpl()

#### onLoad

    protected void onLoad()

Description copied from class: `Widget`
This method is called immediately after a widget becomes attached to the browser's document.

Overrides:
  `onLoad` in class `Widget`