Class TLcyGenericMapManager<S extends ILcdView,T extends ILcdLayer>
- All Implemented Interfaces:
ILcdPropertyChangeSource
- Direct Known Subclasses:
TLcyLspMapManager
Manager of the ILcyGenericMapComponent
s that currently exist. A map manager offers
functionality to:
- retrieve all existing maps,
- listen to the creation of new maps,
- listen for the removal of existing maps,
- retrieve the active map or
- listen to changes in the active map.
Whenever a new ILcyGenericMapComponent
is created, it needs to be added to the
TLcyGenericMapManager
. When a map is removed, it needs to be removed from the
TLcyGenericMapManager
. The responsibility to do this belongs to whoever created or
disposed the map, for example the TLcyMapAddOn
.
- See Also:
-
Constructor Summary
ModifierConstructorDescriptionprotected
The Default Constructor for TLcyGenericMapManager. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addMapComponent
(ILcyGenericMapComponent<S, T> aMapComponent) Adds the given map to thisTLcyGeneralMapManager
.void
addMapManagerListener
(ILcyGenericMapManagerListener<? super S, ? super T> aMapManagerListener) Adds the givenILcyGeneralMapManagerListener
to thisTLcyGeneralMapManager
.void
addMapManagerListener
(ILcyGenericMapManagerListener<? super S, ? super T> aListener, boolean aFireEventForExistingMaps) Adds the givenILcyGeneralMapManagerListener
to thisTLcyGeneralMapManager
.void
addPropertyChangeListener
(PropertyChangeListener aPropertyChangeListener) Registers the givenPropertyChangeListener
to be notified when this object's properties change.boolean
containsMapComponent
(ILcyGenericMapComponent<? extends ILcdView, ? extends ILcdLayer> aMapComponent) Returnstrue
when the map componentaMapComponent
is registered to this map manager.protected void
fireMapManagerEvent
(TLcyGenericMapManagerEvent<S, T> aMapManagerEvent) Fires the given event to all associated listeners.protected void
firePropertyChange
(String aPropertyName, Object aOldValue, Object aNewValue) Fires a property change event.Returns null, or the activeILcyGenericMapComponent
.getMapComponent
(int aIndex) Returns theILcyGenericMapComponent
at the given index.int
Returns the number of currently existingILcyGenericMapComponent
s.void
removeMapComponent
(ILcyGenericMapComponent<S, T> aMapComponent) Removes the given map from thisTLcyGeneralMapManager
.void
removeMapManagerListener
(ILcyGenericMapManagerListener<? super S, ? super T> aMapManagerListener) Removes the givenILcyGeneralMapManagerListener
to thisTLcyGeneralMapManager
.void
removePropertyChangeListener
(PropertyChangeListener aPropertyChangeListener) De-registers the givenPropertyChangeListener
from receiving property change events for this object.void
setActiveMapComponent
(ILcyGenericMapComponent<S, T> aActiveMapComponent) Sets the active map component.
-
Constructor Details
-
TLcyGenericMapManager
protected TLcyGenericMapManager()The Default Constructor for TLcyGenericMapManager.
-
-
Method Details
-
addPropertyChangeListener
Description copied from interface:ILcdPropertyChangeSource
Registers the given
PropertyChangeListener
to be notified when this object's properties change.In case you need to register a listener which keeps a reference to an object with a shorter life-time than this change source, you can use a
ALcdWeakPropertyChangeListener
instance as property change listener.- Specified by:
addPropertyChangeListener
in interfaceILcdPropertyChangeSource
- Parameters:
aPropertyChangeListener
- The listener to be notified- See Also:
-
removePropertyChangeListener
Description copied from interface:ILcdPropertyChangeSource
De-registers the given
PropertyChangeListener
from receiving property change events for this object.If the listener was added more than once, it will be notified one less time after being removed. If the listener is
null
, or was never added, no exception is thrown and no action is taken.- Specified by:
removePropertyChangeListener
in interfaceILcdPropertyChangeSource
- Parameters:
aPropertyChangeListener
- the listener that should no longer be notified of changes of this object's properties- See Also:
-
firePropertyChange
Fires a property change event. This method must be invoked after a property has been changed.- Parameters:
aPropertyName
- The property name. First letter is lower case, unless there are at least two capitals in the beginning. E.g. for setSelectedIndex, aPropertyName must be "selectedIndex". For setXYWorldReference, aPropertyName must be "XYWorldReference".aOldValue
- The old value of the property.aNewValue
- The new value of the property.
-
addMapManagerListener
public void addMapManagerListener(ILcyGenericMapManagerListener<? super S, ? super T> aMapManagerListener) Adds the givenILcyGeneralMapManagerListener
to thisTLcyGeneralMapManager
.- Parameters:
aMapManagerListener
- The listener to add.- See Also:
-
addMapManagerListener
public void addMapManagerListener(ILcyGenericMapManagerListener<? super S, ? super T> aListener, boolean aFireEventForExistingMaps) Adds the given
ILcyGeneralMapManagerListener
to thisTLcyGeneralMapManager
.For every existing map a MAP_COMPONENT_ADDED event will be fired to
aListener
whenaFireEventForExistingMaps
istrue
. A use-case for this is when you want to use the listener to perform an action on any existing map and on all future maps.- Parameters:
aListener
- The listener to be registeredaFireEventForExistingMaps
-true
whenaListener
must be warned about all existing maps,false
otherwise- See Also:
-
removeMapManagerListener
public void removeMapManagerListener(ILcyGenericMapManagerListener<? super S, ? super T> aMapManagerListener) Removes the givenILcyGeneralMapManagerListener
to thisTLcyGeneralMapManager
.- Parameters:
aMapManagerListener
- The listener to remove.
-
getMapComponentCount
public int getMapComponentCount()Returns the number of currently existingILcyGenericMapComponent
s.- Returns:
- the number of currently existing
ILcyGenericMapComponent
s.
-
getMapComponent
Returns theILcyGenericMapComponent
at the given index.- Parameters:
aIndex
- the index of theILcyGenericMapComponent
to return.- Returns:
- the
ILcyGenericMapComponent
at the given index.
-
addMapComponent
Adds the given map to this
TLcyGeneralMapManager
. Whenever a newILcyGenericMapComponent
is instantiated, this method needs to be invoked. The responsibility to do this belongs to whoever created the map, for example theTLcyMapAddOn
.Once an
ILcyGenericMapComponent
has been removed, it must not be re-added.Note: normally you do not need to call this method yourself. If you want to create new map components, consult the class javadoc of
TLcyLspMapAddOn
orTLcyMapAddOn
for a snippet on how to achieve this.- Parameters:
aMapComponent
- TheILcyGenericMapComponent
to add.
-
removeMapComponent
Removes the given map from this
TLcyGeneralMapManager
. Whenever aILcyGenericMapComponent
is removed, this method needs to be invoked. The responsibility to do this belongs to whoever disposed the map, for example theTLcyMapAddOn
.Once an
ILcyGenericMapComponent
has been removed, it must not be re-added.Note: normally you do not need to call this method yourself. If you want to remove a map component from the UI, consult the class javadoc of
TLcyLspMapAddOn
orTLcyMapAddOn
for a snippet on how to achieve this.- Parameters:
aMapComponent
- TheILcyGenericMapComponent
to remove.
-
fireMapManagerEvent
Fires the given event to all associated listeners.- Parameters:
aMapManagerEvent
- The event to fire.
-
getActiveMapComponent
Returns null, or the activeILcyGenericMapComponent
. The active map is the one that the user is working on, or has recently worked on. The active map component is typically null if there are no maps.- Returns:
- null, or the active
ILcyGenericMapComponent
.
-
setActiveMapComponent
Sets the active map component. This property is typically set by the responsible for the maps, for example theTLcyMapAddOn
, as the user starts working on a different map. Fires a property change event.- Parameters:
aActiveMapComponent
- The active map component, or null.
-
containsMapComponent
public boolean containsMapComponent(ILcyGenericMapComponent<? extends ILcdView, ? extends ILcdLayer> aMapComponent) Returnstrue
when the map componentaMapComponent
is registered to this map manager.- Parameters:
aMapComponent
- The map component- Returns:
true
when the map componentaMapComponent
us registered to this map manager,false
in all other cases.
-