GWT 2.7.0

com.google.gwt.cell.client
Class IconCellDecorator<C>

java.lang.Object
  extended by com.google.gwt.cell.client.IconCellDecorator<C>
Type Parameters:
C - the type that this Cell represents
All Implemented Interfaces:
Cell<C>

public class IconCellDecorator<C>
extends java.lang.Object
implements Cell<C>

A Cell decorator that adds an icon to another Cell.


Nested Class Summary
(package private) static interface IconCellDecorator.Template
           
 
Nested classes/interfaces inherited from interface com.google.gwt.cell.client.Cell
Cell.Context
 
Constructor Summary
IconCellDecorator(ImageResource icon, Cell<C> cell)
          Construct a new IconCellDecorator.
IconCellDecorator(ImageResource icon, Cell<C> cell, HasVerticalAlignment.VerticalAlignmentConstant valign, int spacing)
          Construct a new IconCellDecorator.
 
Method Summary
 boolean dependsOnSelection()
          Check if this cell depends on the selection state.
 java.util.Set<java.lang.String> getConsumedEvents()
          Get the set of events that this cell consumes (see BrowserEvents for useful constants).
protected  SafeHtml getIconHtml(C value)
          Get the safe HTML string that represents the icon.
(package private)  SafeHtml getImageHtml(ImageResource res, HasVerticalAlignment.VerticalAlignmentConstant valign, boolean isPlaceholder)
          Get the HTML representation of an image.
 boolean handlesSelection()
          Check if this cell handles selection.
 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.
protected  boolean isIconUsed(C value)
          Check if the icon should be used for the value.
 void onBrowserEvent(Cell.Context context, Element parent, C value, NativeEvent event, ValueUpdater<C> valueUpdater)
          Handle a browser event that took place within 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.
 boolean resetFocus(Cell.Context context, Element parent, C value)
          Reset focus on the Cell.
 void setValue(Cell.Context context, Element parent, C value)
          This method may be used by cell containers to set the value on a single cell directly, rather than using Element.setInnerHTML(String).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IconCellDecorator

public IconCellDecorator(ImageResource icon,
                         Cell<C> cell)
Construct a new IconCellDecorator. The icon and the content will be middle aligned by default.

Parameters:
icon - the icon to use
cell - the cell to decorate

IconCellDecorator

public IconCellDecorator(ImageResource icon,
                         Cell<C> cell,
                         HasVerticalAlignment.VerticalAlignmentConstant valign,
                         int spacing)
Construct a new IconCellDecorator.

Parameters:
icon - the icon to use
cell - the cell to decorate
valign - the vertical alignment attribute of the contents
spacing - the pixel space between the icon and the cell
Method Detail

dependsOnSelection

public boolean dependsOnSelection()
Description copied from interface: Cell
Check if this cell depends on the selection state.

Specified by:
dependsOnSelection in interface Cell<C>
Returns:
true if dependent on selection, false if not

getConsumedEvents

public java.util.Set<java.lang.String> getConsumedEvents()
Description copied from interface: Cell
Get the set of events that this cell consumes (see BrowserEvents for useful constants). The container that uses this cell should only pass these events to Cell.onBrowserEvent(Context, Element, Object, NativeEvent, ValueUpdater) when the event occurs.

The returned value should not be modified, and may be an unmodifiable set. Changes to the return value may not be reflected in the cell.

Specified by:
getConsumedEvents in interface Cell<C>
Returns:
the consumed events, or null if no events are consumed
See Also:
BrowserEvents

handlesSelection

public boolean handlesSelection()
Description copied from interface: Cell
Check if this cell handles selection. If the cell handles selection, then its container should not automatically handle selection.

Specified by:
handlesSelection in interface Cell<C>
Returns:
true if the cell handles selection, false if not

isEditing

public boolean isEditing(Cell.Context context,
                         Element parent,
                         C value)
Description copied from interface: Cell
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>
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 interface: Cell
Handle a browser event that took place within the cell. The default implementation returns null.

Specified by:
onBrowserEvent in interface Cell<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>
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,
                          C value)
Description copied from interface: Cell
Reset focus on the Cell. This method is called if the cell has focus when it is refreshed.

Specified by:
resetFocus in interface Cell<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

setValue

public void setValue(Cell.Context context,
                     Element parent,
                     C value)
Description copied from interface: Cell
This method may be used by cell containers to set the value on a single cell directly, rather than using Element.setInnerHTML(String). See Cell.setValue(Context, Element, Object) for a default implementation that uses Cell.render(Context, Object, SafeHtmlBuilder).

Specified by:
setValue in interface Cell<C>
Parameters:
context - the Cell.Context of the cell
parent - the parent Element
value - the value associated with the cell

getIconHtml

protected SafeHtml getIconHtml(C value)
Get the safe HTML string that represents the icon. Override this method to change the icon based on the value.

Parameters:
value - the value being rendered
Returns:
the HTML string that represents the icon

isIconUsed

protected boolean isIconUsed(C value)
Check if the icon should be used for the value. If the icon should not be used, a placeholder of the same size will be used instead. The default implementations returns true.

Parameters:
value - the value being rendered
Returns:
true to use the icon, false to use a placeholder

getImageHtml

SafeHtml getImageHtml(ImageResource res,
                      HasVerticalAlignment.VerticalAlignmentConstant valign,
                      boolean isPlaceholder)
Get the HTML representation of an image. Visible for testing.

Parameters:
res - the ImageResource to render as HTML
valign - the vertical alignment
isPlaceholder - if true, do not include the background image
Returns:
the rendered HTML

GWT 2.7.0