Package com.google.gwt.cell.client
Class IconCellDecorator<C>
java.lang.Object
com.google.gwt.cell.client.IconCellDecorator<C>
- Type Parameters:
C
- the type that this Cell represents
- All Implemented Interfaces:
Cell<C>
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.google.gwt.cell.client.Cell
Cell.Context
-
Constructor Summary
ConstructorDescriptionIconCellDecorator
(ImageResource icon, Cell<C> cell) Construct a newIconCellDecorator
.IconCellDecorator
(ImageResource icon, Cell<C> cell, HasVerticalAlignment.VerticalAlignmentConstant valign, int spacing) Construct a newIconCellDecorator
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Check if this cell depends on the selection state.Get the set of events that this cell consumes (seeBrowserEvents
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
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 aSafeHtmlBuilder
, suitable for passing toElement.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 usingElement.setInnerHTML(String)
.
-
Constructor Details
-
IconCellDecorator
Construct a newIconCellDecorator
. The icon and the content will be middle aligned by default.- Parameters:
icon
- the icon to usecell
- the cell to decorate
-
IconCellDecorator
public IconCellDecorator(ImageResource icon, Cell<C> cell, HasVerticalAlignment.VerticalAlignmentConstant valign, int spacing) Construct a newIconCellDecorator
.- Parameters:
icon
- the icon to usecell
- the cell to decoratevalign
- the vertical alignment attribute of the contentsspacing
- the pixel space between the icon and the cell
-
-
Method Details
-
dependsOnSelection
public boolean dependsOnSelection()Description copied from interface:Cell
Check if this cell depends on the selection state.- Specified by:
dependsOnSelection
in interfaceCell<C>
- Returns:
- true if dependent on selection, false if not
-
getConsumedEvents
Description copied from interface:Cell
Get the set of events that this cell consumes (seeBrowserEvents
for useful constants). The container that uses this cell should only pass these events toCell.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 interfaceCell<C>
- Returns:
- the consumed events, or null if no events are consumed
- See Also:
-
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 interfaceCell<C>
- Returns:
- true if the cell handles selection, false if not
-
isEditing
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 interfaceCell<C>
- Parameters:
context
- theCell.Context
of the cellparent
- the parent Elementvalue
- 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 interfaceCell<C>
- Parameters:
context
- theCell.Context
of the cellparent
- the parent Elementvalue
- the value associated with the cellevent
- the native browser eventvalueUpdater
- aValueUpdater
, or null if not specified
-
resetFocus
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 interfaceCell<C>
- Parameters:
context
- theCell.Context
of the cellparent
- the parent Elementvalue
- the value associated with the cell- Returns:
- true if focus is taken, false if not
-
setValue
Description copied from interface:Cell
This method may be used by cell containers to set the value on a single cell directly, rather than usingElement.setInnerHTML(String)
. SeeAbstractCell.setValue(Context, Element, Object)
for a default implementation that usesCell.render(Context, Object, SafeHtmlBuilder)
.- Specified by:
setValue
in interfaceCell<C>
- Parameters:
context
- theCell.Context
of the cellparent
- the parent Elementvalue
- the value associated with the cell
-
getIconHtml
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
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
- theImageResource
to render as HTMLvalign
- the vertical alignmentisPlaceholder
- if true, do not include the background image- Returns:
- the rendered HTML
-