public class MainLayerManager extends LayerManager
The active layer is the layer the user is currently working on.
The edit layer is an data layer that we currently work with.
| Modifier and Type | Class and Description |
|---|---|
class |
MainLayerManager.ActiveLayerChangeEvent
This event is fired whenever the active or the edit layer changes.
|
static interface |
MainLayerManager.ActiveLayerChangeListener
This listener listens to changes of the active or the edit layer.
|
LayerManager.LayerAddEvent, LayerManager.LayerChangeListener, LayerManager.LayerManagerEvent, LayerManager.LayerOrderChangeEvent, LayerManager.LayerRemoveEvent| Modifier and Type | Field and Description |
|---|---|
private Layer |
activeLayer
The layer from the layers list that is currently active.
|
private java.util.List<MainLayerManager.ActiveLayerChangeListener> |
activeLayerChangeListeners |
private OsmDataLayer |
editLayer
The edit layer is the current active data layer.
|
| Constructor and Description |
|---|
MainLayerManager() |
| Modifier and Type | Method and Description |
|---|---|
void |
addActiveLayerChangeListener(MainLayerManager.ActiveLayerChangeListener listener,
boolean initialFire)
Adds a active/edit layer change listener
|
private void |
fireActiveLayerChange(MainLayerManager.ActiveLayerChangeEvent event) |
Layer |
getActiveLayer()
Replies the currently active layer
|
DataSet |
getEditDataSet()
Gets the data set of the active edit layer.
|
OsmDataLayer |
getEditLayer()
Replies the current edit layer, if any
|
java.util.List<Layer> |
getVisibleLayersInZOrder()
Creates a list of the visible layers in Z-Order, the layer with the lowest Z-Order
first, layer with the highest Z-Order last.
|
protected void |
realAddLayer(Layer layer) |
protected void |
realRemoveLayer(Layer layer) |
protected void |
realSetActiveLayer(Layer layer) |
void |
removeActiveLayerChangeListener(MainLayerManager.ActiveLayerChangeListener listener)
Removes an active/edit layer change listener.
|
void |
setActiveLayer(Layer layer)
Set the active layer.
|
private void |
setActiveLayer(Layer layer,
boolean forceEditLayerUpdate) |
private Layer |
suggestNextActiveLayer(Layer except)
Determines the next active data layer according to the following
rules:
if there is at least one
OsmDataLayer the first one
becomes active
otherwise, the top most layer of any type becomes active
|
addLayer, addLayerChangeListener, addLayerChangeListener, checkContainsLayer, containsLayer, getLayers, getLayersOfType, moveLayer, realMoveLayer, removeLayer, removeLayerChangeListener, removeLayerChangeListenerprivate Layer activeLayer
private OsmDataLayer editLayer
private final java.util.List<MainLayerManager.ActiveLayerChangeListener> activeLayerChangeListeners
public MainLayerManager()
public void addActiveLayerChangeListener(MainLayerManager.ActiveLayerChangeListener listener, boolean initialFire)
listener - the listener.initialFire - fire a fake active-layer-changed-event right after adding
the listener. The previous layers will be null. The listener is notified in the current thread.public void removeActiveLayerChangeListener(MainLayerManager.ActiveLayerChangeListener listener)
listener - the listener.public void setActiveLayer(Layer layer)
layer - The active layer.protected void realSetActiveLayer(Layer layer)
private void setActiveLayer(Layer layer, boolean forceEditLayerUpdate)
private void fireActiveLayerChange(MainLayerManager.ActiveLayerChangeEvent event)
protected void realAddLayer(Layer layer)
realAddLayer in class LayerManagerprotected void realRemoveLayer(Layer layer)
realRemoveLayer in class LayerManagerprivate Layer suggestNextActiveLayer(Layer except)
OsmDataLayer the first one
becomes activeexcept - A layer to ignore.public Layer getActiveLayer()
public OsmDataLayer getEditLayer()
public DataSet getEditDataSet()
null if there is no edit layer.public java.util.List<Layer> getVisibleLayersInZOrder()
The active data layer is pulled above all adjacent data layers.