SelectionEvent<T> class
Represents a selection event.
@param <T> the type being selected
class SelectionEvent<T> extends DwtEvent {
/**
* Handler type.
*/
static EventType<SelectionHandler> TYPE = new EventType<SelectionHandler>();
/**
* Fires a selection event on all registered handlers in the handler
* manager.If no such handlers exist, this method will do nothing.
*
* @param <T> the selected item type
* @param source the source of the handlers
* @param selectedItem the selected item
*/
static void fire(HasSelectionHandlers source, selectedItem) {
if (TYPE != null) {
SelectionEvent event = new SelectionEvent(selectedItem);
source.fireEvent(event);
}
}
/**
* Gets the type associated with this event.
*
* @return returns the handler type
*/
static EventType<SelectionHandler> getType() {
return TYPE;
}
T _selectedItem;
/**
* Creates a new selection event.
*
* @param selectedItem selected item
*/
SelectionEvent(T selectedItem) {
this._selectedItem = selectedItem;
}
// The instance knows its BeforeSelectionHandler is of type I, but the TYPE
// field itself does not, so we have to do an unsafe cast here.
EventType<SelectionHandler<T>> getAssociatedType() {
return TYPE;
}
/**
* Gets the selected item.
*
* @return the selected item
*/
T getSelectedItem() {
return _selectedItem;
}
void dispatch(SelectionHandler<T> handler) {
handler.onSelection(this);
}
}
Extends
IEvent<H> > DwtEvent > SelectionEvent<T>
Static Properties
EventType<SelectionHandler> TYPE #
Handler type.
static EventType<SelectionHandler> TYPE = new EventType<SelectionHandler>()
Static Methods
void fire(HasSelectionHandlers source, selectedItem) #
Fires a selection event on all registered handlers in the handler manager.If no such handlers exist, this method will do nothing.
@param <T> the selected item type @param source the source of the handlers @param selectedItem the selected item
static void fire(HasSelectionHandlers source, selectedItem) {
if (TYPE != null) {
SelectionEvent event = new SelectionEvent(selectedItem);
source.fireEvent(event);
}
}
EventType<SelectionHandler> getType() #
Gets the type associated with this event.
@return returns the handler type
static EventType<SelectionHandler> getType() {
return TYPE;
}
Constructors
Methods
void assertLive() #
Asserts that the event still should be accessed. All events are considered to be "dead" after their original handler manager finishes firing them. An event can be revived by calling {@link GwtEvent#revive()}.
void assertLive() {
assert (!_dead) ; //: "This event has already finished being processed by its original handler manager, so you can no longer access it";
}
void dispatch(SelectionHandler<T> handler) #
Implemented by subclasses to invoke their handlers in a type safe
manner. Intended to be called by EventBus#fireEvent(Event) or
EventBus#fireEventFromSource(Event, Object).
@param handler handler @see EventBus#dispatchEvent(Event, Object)
void dispatch(SelectionHandler<T> handler) {
handler.onSelection(this);
}
EventType<SelectionHandler<T>> getAssociatedType() #
T getSelectedItem() #
Gets the selected item.
@return the selected item
T getSelectedItem() {
return _selectedItem;
}
Object getSource() #
Returns the source for this event. The type and meaning of the source is
arbitrary, and is most useful as a secondary key for handler registration.
(See EventBus#addHandlerToSource, which allows a handler to
register for events of a particular type, tied to a particular source.)
Note that the source is actually set at dispatch time, e.g. via
EventBus#fireEventFromSource(Event, Object).
@return object representing the source of this event
Object getSource() {
assertLive();
return super.getSource();
}
bool isLive() #
Is the event current live?
@return whether the event is live
bool isLive() {
return !_dead;
}
void kill() #
Kill the event. After the event has been killed, users cannot really on its values or functions being available.
void kill() {
_dead = true;
setSource(null);
}
void overrideSource(Object source) #
void overrideSource(Object source) {
super.setSource(source);
}
void revive() #
Revives the event. Used when recycling event instances.
void revive() {
_dead = false;
setSource(null);
}
void setSource(source) #
Set the source that triggered this event. Intended to be called by the EventBus during dispatch.
@param source the source of this event. @see EventBus#fireEventFromSource(Event, Object) @see EventBus#setSourceOfEvent(Event, Object)
void setSource(dynamic source) {
this._source = source;
}