public class DatePickerCell extends AbstractEditableCell<java.util.Date,java.util.Date>
Cell used to render and edit Dates. When a cell is selected
by clicking on it, a DatePicker is popped up. When a date is selected
using the DatePicker, the new date is passed to the
update method of the ValueUpdater that
was passed to onBrowserEvent(com.google.gwt.cell.client.Cell.Context, com.google.gwt.dom.client.Element, java.util.Date, com.google.gwt.dom.client.NativeEvent, com.google.gwt.cell.client.ValueUpdater<java.util.Date>) for the click event. Note that this
means that the call to ValueUpdater.update(C) will occur after onBrowserEvent(com.google.gwt.cell.client.Cell.Context, com.google.gwt.dom.client.Element, java.util.Date, com.google.gwt.dom.client.NativeEvent, com.google.gwt.cell.client.ValueUpdater<java.util.Date>) has returned. Pressing the 'escape' key dismisses the DatePicker popup without calling ValueUpdater.update(C).
Each DatePickerCell has a unique DatePicker popup associated
with it; thus, if a single DatePickerCell is used as the cell for a
column in a table, only one entry in that column will be editable at a given
time.
Cell.Context| Constructor and Description |
|---|
DatePickerCell()
Constructs a new DatePickerCell that uses the date/time format given by
DateTimeFormat.getFullDateFormat(). |
DatePickerCell(DateTimeFormat format)
Constructs a new DatePickerCell that uses the given date/time format and a
SimpleSafeHtmlRenderer. |
DatePickerCell(DateTimeFormat format,
SafeHtmlRenderer<java.lang.String> renderer)
Constructs a new DatePickerCell that uses the given date/time format and
SafeHtmlRenderer. |
DatePickerCell(SafeHtmlRenderer<java.lang.String> renderer)
Constructs a new DatePickerCell that uses the date/time format given by
DateTimeFormat.getFullDateFormat() and the given
SafeHtmlRenderer. |
| Modifier and Type | Method and Description |
|---|---|
DatePicker |
getDatePicker()
Returns the underlying
DatePicker widget used by this cell. |
boolean |
isEditing(Cell.Context context,
Element parent,
java.util.Date 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.util.Date value,
NativeEvent event,
ValueUpdater<java.util.Date> valueUpdater)
Handle a browser event that took place within the cell.
|
protected void |
onEnterKeyDown(Cell.Context context,
Element parent,
java.util.Date value,
NativeEvent event,
ValueUpdater<java.util.Date> valueUpdater)
Called when the user triggers a
keydown event with the ENTER
key while focused on the cell. |
void |
render(Cell.Context context,
java.util.Date value,
SafeHtmlBuilder sb)
Render a cell as HTML into a
SafeHtmlBuilder, suitable for passing
to Element.setInnerHTML(String) on a container element. |
clearViewData, getViewData, setViewDatadependsOnSelection, getConsumedEvents, handlesSelection, resetFocus, setValuepublic DatePickerCell()
DateTimeFormat.getFullDateFormat().public DatePickerCell(DateTimeFormat format)
SimpleSafeHtmlRenderer.format - a DateTimeFormat instancepublic DatePickerCell(SafeHtmlRenderer<java.lang.String> renderer)
DateTimeFormat.getFullDateFormat() and the given
SafeHtmlRenderer.renderer - a SafeHtmlRenderer instancepublic DatePickerCell(DateTimeFormat format, SafeHtmlRenderer<java.lang.String> renderer)
SafeHtmlRenderer.format - a DateTimeFormat instancerenderer - a SafeHtmlRenderer instancepublic DatePicker getDatePicker()
DatePicker widget used by this cell.public boolean isEditing(Cell.Context context, Element parent, java.util.Date value)
AbstractEditableCellisEditing in interface Cell<java.util.Date>isEditing in class AbstractEditableCell<java.util.Date,java.util.Date>context - the Context of the cellparent - the parent Elementvalue - the value associated with the cellpublic void onBrowserEvent(Cell.Context context, Element parent, java.util.Date value, NativeEvent event, ValueUpdater<java.util.Date> valueUpdater)
AbstractCellIf 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.util.Date>onBrowserEvent in class AbstractCell<java.util.Date>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.util.Date value, SafeHtmlBuilder sb)
CellSafeHtmlBuilder, 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.util.Date>render in class AbstractCell<java.util.Date>context - the Cell.Context of the cellvalue - the cell value to be renderedsb - the SafeHtmlBuilder to be written toprotected void onEnterKeyDown(Cell.Context context, Element parent, java.util.Date value, NativeEvent event, ValueUpdater<java.util.Date> valueUpdater)
AbstractCellkeydown 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.onEnterKeyDown in class AbstractCell<java.util.Date>context - the Context of the cellparent - the parent Elementvalue - the value associated with the cellevent - the native browser eventvalueUpdater - a ValueUpdater, or null if not specified