public class EditTextCell extends AbstractEditableCell<java.lang.String,EditTextCell.ViewData>
Modifier and Type | Class and Description |
---|---|
(package private) static interface |
EditTextCell.Template |
(package private) static class |
EditTextCell.ViewData
The view data object used by this cell.
|
Cell.Context
Constructor and Description |
---|
EditTextCell()
Construct a new EditTextCell that will use a
SimpleSafeHtmlRenderer . |
EditTextCell(SafeHtmlRenderer<java.lang.String> renderer)
Construct a new EditTextCell that will use a given
SafeHtmlRenderer
to render the value when not in edit mode. |
Modifier and Type | Method and Description |
---|---|
protected void |
edit(Cell.Context context,
Element parent,
java.lang.String value)
Convert the cell to edit mode.
|
boolean |
isEditing(Cell.Context context,
Element parent,
java.lang.String 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,
java.lang.String value,
NativeEvent event,
ValueUpdater<java.lang.String> valueUpdater)
Handle a browser event that took place within the cell.
|
void |
render(Cell.Context context,
java.lang.String value,
SafeHtmlBuilder sb)
Render a cell as HTML into a
SafeHtmlBuilder , suitable for passing
to Element.setInnerHTML(String) on a container element. |
boolean |
resetFocus(Cell.Context context,
Element parent,
java.lang.String value)
Reset focus on the Cell.
|
clearViewData, getViewData, setViewData
dependsOnSelection, getConsumedEvents, handlesSelection, onEnterKeyDown, setValue
public EditTextCell()
SimpleSafeHtmlRenderer
.public EditTextCell(SafeHtmlRenderer<java.lang.String> renderer)
SafeHtmlRenderer
to render the value when not in edit mode.renderer
- a SafeHtmlRenderer
instancepublic boolean isEditing(Cell.Context context, Element parent, java.lang.String value)
AbstractEditableCell
isEditing
in interface Cell<java.lang.String>
isEditing
in class AbstractEditableCell<java.lang.String,EditTextCell.ViewData>
context
- the Context
of the cellparent
- the parent Elementvalue
- the value associated with the cellpublic void onBrowserEvent(Cell.Context context, Element parent, java.lang.String value, NativeEvent event, ValueUpdater<java.lang.String> 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<java.lang.String>
onBrowserEvent
in class AbstractCell<java.lang.String>
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 void render(Cell.Context context, java.lang.String value, SafeHtmlBuilder sb)
Cell
SafeHtmlBuilder
, suitable for passing
to Element.setInnerHTML(String)
on a container element.
Note: If your cell contains natively focusable elements, such as buttons or input elements, be sure to set the tabIndex to -1 so that they do not steal focus away from the containing widget.
render
in interface Cell<java.lang.String>
render
in class AbstractCell<java.lang.String>
context
- the Cell.Context
of the cellvalue
- the cell value to be renderedsb
- the SafeHtmlBuilder
to be written topublic boolean resetFocus(Cell.Context context, Element parent, java.lang.String 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<java.lang.String>
resetFocus
in class AbstractCell<java.lang.String>
context
- the Cell.Context
of the cellparent
- the parent Elementvalue
- the value associated with the cellprotected void edit(Cell.Context context, Element parent, java.lang.String value)
context
- the Context
of the cellparent
- the parent elementvalue
- the current value