Class EditTextCell

All Implemented Interfaces:
Cell<String>

public class EditTextCell extends AbstractEditableCell<String,EditTextCell.ViewData>
An editable text cell. Click to edit, escape to cancel, return to commit.
  • Constructor Details

  • Method Details

    • isEditing

      public boolean isEditing(Cell.Context context, Element parent, String 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<String>
      Specified by:
      isEditing in class AbstractEditableCell<String,EditTextCell.ViewData>
      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, String value, NativeEvent event, ValueUpdater<String> 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<String>
      Overrides:
      onBrowserEvent in class AbstractCell<String>
      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
    • render

      public void render(Cell.Context context, String value, SafeHtmlBuilder sb)
      Description copied from interface: Cell
      Render a cell as HTML into a 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.

      Specified by:
      render in interface Cell<String>
      Specified by:
      render in class AbstractCell<String>
      Parameters:
      context - the Cell.Context of the cell
      value - the cell value to be rendered
      sb - the SafeHtmlBuilder to be written to
    • resetFocus

      public boolean resetFocus(Cell.Context context, Element parent, String 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<String>
      Overrides:
      resetFocus in class AbstractCell<String>
      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
    • edit

      protected void edit(Cell.Context context, Element parent, String value)
      Convert the cell to edit mode.
      Parameters:
      context - the Cell.Context of the cell
      parent - the parent element
      value - the current value