Class TLcyMapManager

java.lang.Object
com.luciad.lucy.map.TLcyMapManager
All Implemented Interfaces:
ILcyMapManager, ILcdPropertyChangeSource

public class TLcyMapManager extends Object implements ILcyMapManager
By implementing ILcyMapManager this class is a collection of ILcyMapComponents with one map being the active map. It also adds the mutable property AsynchronousPaintFacade, which makes working with or without asynchronous painting transparent.

Note that this map manager only deals with ILcyMapComponents, which are 2D. For other map components, refer to TLcyCombinedMapManager, or a specific TLcyGenericMapManager for the map component type you are interested in.

See Also:
  • Constructor Details

    • TLcyMapManager

      public TLcyMapManager()
      Creates a new TLcyMapManager. There is normally no need to use this constructor, the map manager is usually retrieved using ILcyLucyEnv.getMapManager().
  • Method Details

    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener aPropertyChangeListener)
      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 interface ILcdPropertyChangeSource
      Parameters:
      aPropertyChangeListener - The listener to be notified
      See Also:
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener aPropertyChangeListener)
      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 interface ILcdPropertyChangeSource
      Parameters:
      aPropertyChangeListener - the listener that should no longer be notified of changes of this object's properties
      See Also:
    • firePropertyChange

      protected void firePropertyChange(String aPropertyName, Object aOldValue, Object aNewValue)
      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(ILcyMapManagerListener aMapManagerListener)
      Description copied from interface: ILcyMapManager
      Adds the given ILcyMapManagerListener to this ILcyMapManager.
      Specified by:
      addMapManagerListener in interface ILcyMapManager
      Parameters:
      aMapManagerListener - The listener to add.
    • addMapManagerListener

      public void addMapManagerListener(ILcyMapManagerListener aListener, boolean aFireEventForExistingMaps)

      Adds the given ILcyGeneralMapManagerListener to this TLcyGeneralMapManager.

      For every existing map a MAP_COMPONENT_ADDED event will be fired to aListener when aFireEventForExistingMaps is true. 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 registered
      aFireEventForExistingMaps - true when aListener must be warned about all existing maps, false otherwise
      See Also:
    • removeMapManagerListener

      public void removeMapManagerListener(ILcyMapManagerListener aMapManagerListener)
      Description copied from interface: ILcyMapManager
      Removes the given ILcyMapManagerListener to this ILcyMapManager.
      Specified by:
      removeMapManagerListener in interface ILcyMapManager
      Parameters:
      aMapManagerListener - The listener to remove.
    • getMapComponentCount

      public int getMapComponentCount()
      Description copied from interface: ILcyMapManager
      Returns the number of currently existing ILcyMapComponents.
      Specified by:
      getMapComponentCount in interface ILcyMapManager
      Returns:
      the number of currently existing ILcyMapComponents.
    • getMapComponent

      public ILcyMapComponent getMapComponent(int aIndex)
      Description copied from interface: ILcyMapManager
      Returns the ILcyMapComponent at the given index.
      Specified by:
      getMapComponent in interface ILcyMapManager
      Parameters:
      aIndex - the index of the ILcyMapComponent to return.
      Returns:
      the ILcyMapComponent at the given index.
    • addMapComponent

      public void addMapComponent(ILcyMapComponent aMapComponent)
      Adds the given map to this ILcyMapManager. Whenever a new ILcyMapComponent is instantiated, this method needs to be invoked. The responsibility to do this belongs to whoever created the map, for example the TLcyMapAddOn.

      Once an ILcdMapComponent has been removed, it must not be re-added.

      Specified by:
      addMapComponent in interface ILcyMapManager
      Parameters:
      aMapComponent - The ILcyMapComponent to add.
      See Also:
    • removeMapComponent

      public void removeMapComponent(ILcyMapComponent aMapComponent)
      Removes the given map from this ILcyMapManager. Whenever a ILcyMapComponent is removed, this method needs to be invoked. The responsibility to do this belongs to whoever disposed the map, for example the TLcyMapAddOn.

      Once an ILcdMapComponent has been removed, it must not be re-added.

      Specified by:
      removeMapComponent in interface ILcyMapManager
      Parameters:
      aMapComponent - The ILcyMapComponent to remove.
      See Also:
    • fireMapManagerEvent

      protected void fireMapManagerEvent(TLcyMapManagerEvent aMapManagerEvent)
      Fires the given event to all associated listeners.
      Parameters:
      aMapManagerEvent - The event to fire.
    • getActiveMapComponent

      public ILcyMapComponent getActiveMapComponent()
      Description copied from interface: ILcyMapManager
      Returns null, or the active ILcyMapComponent. 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.
      Specified by:
      getActiveMapComponent in interface ILcyMapManager
      Returns:
      null, or the active ILcyMapComponent.
    • setActiveMapComponent

      public void setActiveMapComponent(ILcyMapComponent aActiveMapComponent)
      Description copied from interface: ILcyMapManager
      Sets the active map component. This property is typically set by the responsible for the maps, for example the TLcyMapAddOn, as the user starts working on a different map.

      Fires a property change event.

      Specified by:
      setActiveMapComponent in interface ILcyMapManager
      Parameters:
      aActiveMapComponent - The active map component, or null.
    • getAsynchronousPaintFacade

      public ALcyAsynchronousPaintFacade getAsynchronousPaintFacade()
      Returns the facade that is used for painting layers asynchronously. The facade allows writing code that can transparently handle both synchronous and asynchronous painting.
      Returns:
      a facade for painting layers asynchronously
      See Also:
    • setAsynchronousPaintFacade

      public void setAsynchronousPaintFacade(ALcyAsynchronousPaintFacade aAsynchronousPaintFacade)
      Sets the facade that is used for painting layers asynchronously.
      Parameters:
      aAsynchronousPaintFacade - a facade to be used when painting layers asynchronously
      See Also: