GWT 2.7.0

com.google.gwt.cell.client
Class DatePickerCell

java.lang.Object
  extended by com.google.gwt.cell.client.AbstractCell<C>
      extended by com.google.gwt.cell.client.AbstractEditableCell<java.util.Date,java.util.Date>
          extended by com.google.gwt.cell.client.DatePickerCell
All Implemented Interfaces:
Cell<java.util.Date>

public class DatePickerCell
extends AbstractEditableCell<java.util.Date,java.util.Date>

A 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) 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) 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.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.google.gwt.cell.client.Cell
Cell.Context
 
Constructor Summary
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.
 
Method Summary
 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.
 
Methods inherited from class com.google.gwt.cell.client.AbstractEditableCell
clearViewData, getViewData, setViewData
 
Methods inherited from class com.google.gwt.cell.client.AbstractCell
dependsOnSelection, getConsumedEvents, handlesSelection, resetFocus, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DatePickerCell

public DatePickerCell()
Constructs a new DatePickerCell that uses the date/time format given by DateTimeFormat.getFullDateFormat().


DatePickerCell

public DatePickerCell(DateTimeFormat format)
Constructs a new DatePickerCell that uses the given date/time format and a SimpleSafeHtmlRenderer.

Parameters:
format - a DateTimeFormat instance

DatePickerCell

public DatePickerCell(SafeHtmlRenderer<java.lang.String> renderer)
Constructs a new DatePickerCell that uses the date/time format given by DateTimeFormat.getFullDateFormat() and the given SafeHtmlRenderer.

Parameters:
renderer - a SafeHtmlRenderer instance

DatePickerCell

public DatePickerCell(DateTimeFormat format,
                      SafeHtmlRenderer<java.lang.String> renderer)
Constructs a new DatePickerCell that uses the given date/time format and SafeHtmlRenderer.

Parameters:
format - a DateTimeFormat instance
renderer - a SafeHtmlRenderer instance
Method Detail

getDatePicker

public DatePicker getDatePicker()
Returns the underlying DatePicker widget used by this cell.


isEditing

public boolean isEditing(Cell.Context context,
                         Element parent,
                         java.util.Date 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<java.util.Date>
Specified by:
isEditing in class AbstractEditableCell<java.util.Date,java.util.Date>
Parameters:
context - the 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,
                           java.util.Date value,
                           NativeEvent event,
                           ValueUpdater<java.util.Date> 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<java.util.Date>
Overrides:
onBrowserEvent in class AbstractCell<java.util.Date>
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,
                   java.util.Date 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<java.util.Date>
Specified by:
render in class AbstractCell<java.util.Date>
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,
                              java.util.Date value,
                              NativeEvent event,
                              ValueUpdater<java.util.Date> 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<java.util.Date>
Parameters:
context - the 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

GWT 2.7.0