|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.fhpotsdam.unfolding.events.EventDispatcher
public class EventDispatcher
The event dispatcher is the core class for handling the event system.
In the simplest case all user input only affects a single UnfoldingMap. For instance, a user clicks and drags the
mouse, so that the map gets panned. In this case, the MouseHandler
, a MapEventBroadcaster
, reacts to
the user's mouse-dragging, and creates a PanMapEvent with the respective geo-location to pan to. That event is fired,
and send via the EventDispatcher to the only listener, the single map.
In other cases, applications can set up more sophisticated behaviors. For instance, in an overview+detail setting
with a large detail map and a small overview map, the small map shall only show an overview but not be interactive
itself. For this case, the MouseHandler is created for the large map, but with a scope of both maps. The
EventDispatcher is initiated with both maps listening to pan-events. Thus, any panning on the large overview map also
affects the small detail map.
See the OverviewAndDetailMapApp and the ComplexMapEventApp in the examples section for this.
Your application then can create EventDispatcher to connect broadcasters and listeners, and customize the event handling in an application.
Field Summary | |
---|---|
static org.apache.log4j.Logger |
log
|
java.util.Map<java.lang.String,java.util.List<ScopedListeners>> |
typedScopedListeners
|
Constructor Summary | |
---|---|
EventDispatcher()
|
Method Summary | |
---|---|
void |
addBroadcaster(MapEventBroadcaster broadcaster)
Adds broadcaster by setting this EventDispatcher in the MapEventDispatcher. |
void |
fireMapEvent(MapEvent event)
Fires a map event. |
void |
register(java.util.List<MapEventListener> listeners,
java.lang.String type,
java.lang.String... scopeIds)
Registers multiple listener for an event type within one or more event scopes. |
void |
register(MapEventListener listener,
java.lang.String type,
java.lang.String... scopeIds)
Registers listener to an event type within one or more event scopes. |
void |
unregister(MapEventListener listener,
java.lang.String type,
java.lang.String... scopeIds)
Removes listener if ScopedListeners exist for scopeIds to unregister. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final org.apache.log4j.Logger log
public java.util.Map<java.lang.String,java.util.List<ScopedListeners>> typedScopedListeners
Constructor Detail |
---|
public EventDispatcher()
Method Detail |
---|
public void fireMapEvent(MapEvent event)
event
- public void addBroadcaster(MapEventBroadcaster broadcaster)
broadcaster
- The broadcaster to add.public void register(MapEventListener listener, java.lang.String type, java.lang.String... scopeIds)
listener
- The listener to register, e.g. a map.type
- The type of the event, e.g. pan or zoom.scopeIds
- IDs of scopes to register for. If none is provided the scope of the listener is used. Note, that if
you provide some scopes the listener's own scope is not added, automatically.public void register(java.util.List<MapEventListener> listeners, java.lang.String type, java.lang.String... scopeIds)
listeners
- The listeners to register, e.g. some maps.type
- The type of the event, e.g. pan or zoom.scopeIds
- IDs of scopes to register for. If none is provided the scope of the listener is used. Note, that if
you provide some scopes the listener's own scope is not added, automatically.public void unregister(MapEventListener listener, java.lang.String type, java.lang.String... scopeIds)
listener
- The listener to unregister, e.g. a maps.type
- The type of the event, e.g. pan or zoom.scopeIds
- IDs of scopes to unregister for.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |