C
- the type that this Cell representsV
- the data type of the view data statepublic abstract class AbstractInputCell<C,V> extends AbstractEditableCell<C,V>
AbstractCell
used to render input elements that can receive focus.Cell.Context
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. |
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.
|
clearViewData, getViewData, setViewData
dependsOnSelection, getConsumedEvents, handlesSelection, render, setValue
public AbstractInputCell(java.lang.String... consumedEvents)
AbstractInputCell
with the specified consumed
events.consumedEvents
- the events that this cell consumespublic AbstractInputCell(java.util.Set<java.lang.String> consumedEvents)
AbstractInputCell
with the specified consumed
events.consumedEvents
- the events that this cell consumespublic boolean isEditing(Cell.Context context, Element parent, C value)
AbstractEditableCell
public void onBrowserEvent(Cell.Context context, Element parent, C value, NativeEvent event, ValueUpdater<C> valueUpdater)
AbstractCell
If you override this method to add support for events, remember to pass the event types that the cell expects into the constructor.
onBrowserEvent
in interface Cell<C>
onBrowserEvent
in class AbstractCell<C>
context
- the Cell.Context
of the cellparent
- the parent Elementvalue
- the value associated with the cellevent
- the native browser eventvalueUpdater
- a ValueUpdater
, or null if not specifiedpublic boolean resetFocus(Cell.Context context, Element parent, C value)
AbstractCell
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.
resetFocus
in interface Cell<C>
resetFocus
in class AbstractCell<C>
context
- the Cell.Context
of the cellparent
- the parent Elementvalue
- the value associated with the cellprotected void finishEditing(Element parent, C value, java.lang.Object key, ValueUpdater<C> valueUpdater)
parent
- the parent Elementvalue
- the value associated with the cellkey
- the unique key associated with the row objectvalueUpdater
- the value update to fireprotected Element getInputElement(Element parent)
parent
- the cell parent elementprotected void onEnterKeyDown(Cell.Context context, Element parent, C value, NativeEvent event, ValueUpdater<C> valueUpdater)
AbstractCell
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.onEnterKeyDown
in class AbstractCell<C>
context
- the Context
of the cellparent
- the parent Elementvalue
- the value associated with the cellevent
- the native browser eventvalueUpdater
- a ValueUpdater
, or null if not specified