com.google.gwt.cell.client

## Class AbstractInputCell<C,V>

- java.lang.Object
- - com.google.gwt.cell.client.AbstractCell<C>
  - - com.google.gwt.cell.client.AbstractEditableCell<C,V>
    - - com.google.gwt.cell.client.AbstractInputCell<C,V>

- Type Parameters:
    `C` - the type that this Cell represents
    `V` - the data type of the view data state
  All Implemented Interfaces:
    Cell<C>
  Direct Known Subclasses:
    SelectionCell, TextInputCell

      public abstract class AbstractInputCell<C,V>
      extends AbstractEditableCell<C,V>

  An `AbstractCell` used to render input elements that can receive focus.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.google.gwt.cell.client.Cell

      `Cell.Context`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractInputCell(java.util.Set<java.lang.String> consumedEvents)` Construct a new `AbstractInputCell` with the specified consumed events.
    `AbstractInputCell(java.lang.String... consumedEvents)` Construct a new `AbstractInputCell` with the specified consumed events.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `finishEditing(Element parent, C value, java.lang.Object key, ValueUpdater<C> valueUpdater)` Call this method when editing is complete.
    `protected Element` | `getInputElement(Element parent)` Get the input element.
    `boolean` | `isEditing(Cell.Context context, Element parent, C value)` Returns true if the cell is currently editing the data identified by the given element and key.
    `void` | `onBrowserEvent(Cell.Context context, Element parent, C value, NativeEvent event, ValueUpdater<C> valueUpdater)` Handle a browser event that took place within the cell.
    `protected void` | `onEnterKeyDown(Cell.Context context, Element parent, C value, NativeEvent event, ValueUpdater<C> valueUpdater)` Called when the user triggers a `keydown` event with the ENTER key while focused on the cell.
    `boolean` | `resetFocus(Cell.Context context, Element parent, C value)` Reset focus on the Cell.

    - ### Methods inherited from class com.google.gwt.cell.client.AbstractEditableCell

      `clearViewData, getViewData, setViewData`

    - ### Methods inherited from class com.google.gwt.cell.client.AbstractCell

      `dependsOnSelection, getConsumedEvents, handlesSelection, render, setValue`

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

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

- - ### Constructor Detail

    - #### AbstractInputCell

          public AbstractInputCell(java.lang.String... consumedEvents)

      Construct a new `AbstractInputCell` with the specified consumed events.
      Parameters:
        `consumedEvents` - the events that this cell consumes

    - #### AbstractInputCell

          public AbstractInputCell(java.util.Set<java.lang.String> consumedEvents)

      Construct a new `AbstractInputCell` with the specified consumed events.
      Parameters:
        `consumedEvents` - the events that this cell consumes

  - ### Method Detail

    - #### isEditing

          public boolean isEditing(Cell.Context context,
                          Element parent,
                          C value)

      Description copied from class: `AbstractEditableCell`
      Returns true if the cell is currently editing the data identified by the given element and key. While a cell is editing, widgets containing the cell may choose to pass keystrokes directly to the cell rather than using them for navigation purposes.
      Specified by:
        `isEditing` in interface `Cell<C>`
      Specified by:
        `isEditing` in class `AbstractEditableCell<C,V>`
      Parameters:
        `context` - the `Cell.Context` of the cell
        `parent` - the parent Element
        `value` - the value associated with the cell
      Returns:
        true if the cell is in edit mode

    - #### onBrowserEvent

          public void onBrowserEvent(Cell.Context context,
                            Element parent,
                            C value,
                            NativeEvent event,
                            ValueUpdater<C> valueUpdater)

      Description copied from class: `AbstractCell`
      Handle a browser event that took place within the cell. The default implementation returns null.

      If you override this method to add support for events, remember to pass the event types that the cell expects into the constructor.

      Specified by:
        `onBrowserEvent` in interface `Cell<C>`
      Overrides:
        `onBrowserEvent` in class `AbstractCell<C>`
      Parameters:
        `context` - the `Cell.Context` of the cell
        `parent` - the parent Element
        `value` - the value associated with the cell
        `event` - the native browser event
        `valueUpdater` - a `ValueUpdater`, or null if not specified

    - #### resetFocus

          public boolean resetFocus(Cell.Context context,
                           Element parent,
                           C value)

      Description copied from class: `AbstractCell`
      Reset focus on the Cell. This method is called if the cell has focus when it is refreshed.

      This method is a no-op and returns false. If your cell is editable or can be focused by the user, override this method to reset focus when the containing widget is refreshed.

      Specified by:
        `resetFocus` in interface `Cell<C>`
      Overrides:
        `resetFocus` in class `AbstractCell<C>`
      Parameters:
        `context` - the `Cell.Context` of the cell
        `parent` - the parent Element
        `value` - the value associated with the cell
      Returns:
        true if focus is taken, false if not

    - #### finishEditing

          protected void finishEditing(Element parent,
                           C value,
                           java.lang.Object key,
                           ValueUpdater<C> valueUpdater)

      Call this method when editing is complete.
      Parameters:
        `parent` - the parent Element
        `value` - the value associated with the cell
        `key` - the unique key associated with the row object
        `valueUpdater` - the value update to fire

    - #### getInputElement

          protected Element getInputElement(Element parent)

      Get the input element.
      Parameters:
        `parent` - the cell parent element
      Returns:
        the input element

    - #### onEnterKeyDown

          protected void onEnterKeyDown(Cell.Context context,
                            Element parent,
                            C value,
                            NativeEvent event,
                            ValueUpdater<C> valueUpdater)

      Description copied from class: `AbstractCell`
      Called when the user triggers a `keydown` event with the ENTER key while focused on the cell. If your cell interacts with the user, you should override this method to provide a consistent user experience. Your widget must consume `keydown` events for this method to be called.
      Overrides:
        `onEnterKeyDown` in class `AbstractCell<C>`
      Parameters:
        `context` - the `Context` of the cell
        `parent` - the parent Element
        `value` - the value associated with the cell
        `event` - the native browser event
        `valueUpdater` - a `ValueUpdater`, or null if not specified