com.google.gwt.user.client.ui

## Class ValuePicker<T>

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

- Type Parameters:
    `T` - the type of value
  All Implemented Interfaces:
    IsEditor<LeafValueEditor<T>>, HasAttachHandlers, HasValueChangeHandlers<T>, HasHandlers, EventListener, TakesValue<T>, HasConstrainedValue<T>, HasValue<T>, HasVisibility, IsRenderable, IsWidget

      public class ValuePicker<T>
      extends Composite
      implements HasConstrainedValue<T>, IsEditor<LeafValueEditor<T>>

  Allows the user to pick a single value from a list.

- - ### Nested Class Summary

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

      `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

  - ### 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
    Constructor and Description
    `ValuePicker(CellList<T> cellList)`
    `ValuePicker(Renderer<T> renderer)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HandlerRegistration` | `addValueChangeHandler(ValueChangeHandler<T> handler)` Adds a `ValueChangeEvent` handler.
    `LeafValueEditor<T>` | `asEditor()` Returns a `TakesValueEditor` backed by the ValuePicker.
    `ValuePicker<T>` | `asWidget()` Returns this view.
    `int` | `getPageSize()`
    `T` | `getValue()` Gets this object's value.
    `void` | `setAcceptableValues(java.util.Collection<T> places)` Set the acceptable values.
    `void` | `setPageSize(int size)`
    `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.Composite

      `claimElement, getWidget, initializeClaimedElement, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, render, render, resolvePotentialElement, setWidget`

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

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

    - ### 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, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString, unsinkEvents`

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

      `fireEvent`

- - ### Constructor Detail

    - #### ValuePicker

          public ValuePicker(CellList<T> cellList)

    - #### ValuePicker

          public ValuePicker(Renderer<T> renderer)

  - ### Method Detail

    - #### 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 LeafValueEditor<T> asEditor()

      Returns a `TakesValueEditor` backed by the ValuePicker.
      Specified by:
        `asEditor` in interface `IsEditor<LeafValueEditor<T>>`
      Returns:
        an `Editor` of type E

    - #### asWidget

          public ValuePicker<T> asWidget()

      Returns this view.
      Specified by:
        `asWidget` in interface `IsWidget`
      Overrides:
        `asWidget` in class `Widget`

    - #### getPageSize

          public int getPageSize()

    - #### getValue

          public T getValue()

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

    - #### setAcceptableValues

          public void setAcceptableValues(java.util.Collection<T> places)

      Description copied from interface: `HasConstrainedValue`
      Set the acceptable values.
      Specified by:
        `setAcceptableValues` in interface `HasConstrainedValue<T>`
      Parameters:
        `places` - the acceptible values

    - #### setPageSize

          public void setPageSize(int size)

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