Package com.google.gwt.cell.client

## Class ActionCell<C>

- java.lang.Object
- - com.google.gwt.cell.client.AbstractCell<C>
  - - com.google.gwt.cell.client.ActionCell<C>

- Type Parameters:
    `C` - the type that this Cell represents
  All Implemented Interfaces:
    `Cell<C>`

      public class ActionCell<C>
      extends AbstractCell<C>

  A cell that renders a button and takes a delegate to perform actions on mouseUp.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `ActionCell.Delegate<T>` | The delegate that will handle events from the cell.

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

      `Cell.Context`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ActionCell​(SafeHtml message, ActionCell.Delegate<C> delegate)` | Construct a new `ActionCell`.
    `ActionCell​(java.lang.String text, ActionCell.Delegate<C> delegate)` | Construct a new `ActionCell` with a text String that does not contain HTML markup.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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.
    `void` | `render​(Cell.Context context, C value, SafeHtmlBuilder sb)` | Render a cell as HTML into a `SafeHtmlBuilder`, suitable for passing to `Element.setInnerHTML(String)` on a container element.

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

      `dependsOnSelection, getConsumedEvents, handlesSelection, isEditing, resetFocus, setValue`

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

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

- - ### Constructor Detail

    - #### ActionCell

          public ActionCell​(SafeHtml message,
                            ActionCell.Delegate<C> delegate)

      Construct a new `ActionCell`.
      Parameters:
        `message` - the message to display on the button
        `delegate` - the delegate that will handle events

    - #### ActionCell

          public ActionCell​(java.lang.String text,
                            ActionCell.Delegate<C> delegate)

      Construct a new `ActionCell` with a text String that does not contain HTML markup.
      Parameters:
        `text` - the text to display on the button
        `delegate` - the delegate that will handle events

  - ### Method Detail

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

    - #### render

          public void render​(Cell.Context context,
                             C 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<C>`
      Specified by:
        `render` in class `AbstractCell<C>`
      Parameters:
        `context` - the `Cell.Context` of the cell
        `value` - the cell value to be rendered
        `sb` - the `SafeHtmlBuilder` to be written to

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