![]() |
LuciadCPillar C# 2024.1.09
|
Common representation for layers that can be added to a map. More...
Public Member Functions | |
void | AddObserver (Luciad.Layers.ILayerObserver layerObserver) |
Adds an observer that allows to receive change events from this layer. More... | |
void | Dispose () |
void | RemoveObserver (Luciad.Layers.ILayerObserver layerObserver) |
Removes the given observer. More... | |
Properties | |
ulong | Id [get] |
The layer's unique id. More... | |
bool | IsBusy [get] |
Whether this layer is busy loading data, rendering, loading attributions, or anything else. More... | |
bool | IsVisible [get, set] |
Whether this layer is visible. More... | |
static string | PropertyBusy = PropertyBusyInternal() [get] |
Property name for the LayerEvent that is fired as a result of the layer's busy flag changing. More... | |
static string | PropertyTitle = PropertyTitleInternal() [get] |
Property name for the LayerEvent that is fired as a result of changing the layer's title. More... | |
static string | PropertyVisible = PropertyVisibleInternal() [get] |
Property name for the LayerEvent that is fired as a result of changing the layer's visible flag. More... | |
string | Title [get, set] |
The layer's title. More... | |
Common representation for layers that can be added to a map.
A layer has a few properties that can be changed.
An observer can be attached to get notifications about layer changes.
A Layer
can only be active on a single Map
. It can be part of multiple LayerLists
if at most one of them is attached to a map, either directly, or indirectly via a IController
.
Use one of the concrete classes extending this class.
Note that this class tracks on which thread it is constructed. This is done so that, in subsequent calls, it can verify that the same threads are used consistently. When an inconsistency is detected, an assertion is triggered. This means that all functions on Layer
(and its subclasses) must be called on the thread on which the Map
was constructed (the "UI" thread). The only exception is adding and removing observers. Related article: Threading rules for the Map
|
inline |
Adds an observer that allows to receive change events from this layer.
Adding the same observer twice is forbidden, and will cause an exception to be thrown.
layerObserver | an observer. |
System.ArgumentException | when the observer was already added. |
System.ArgumentNullException | when the observer is null . |
|
inline |
|
inline |
Removes the given observer.
If the given observer was never added, an exception is thrown.
layerObserver | an observer. |
System.ArgumentException | when the observer is not known. |
System.ArgumentNullException | when the observer is null . |
|
get |
The layer's unique id.
Returns the layer's unique id.
|
get |
Whether this layer is busy loading data, rendering, loading attributions, or anything else.
Returns whether this layer is busy loading data, rendering, loading attributions, or anything else. When this property changes, a LayerEvent
is delivered to the observers with the property name propertyBusy
.
Note: when the map is moving around it can be that the layer is repeatedly loading new data, but does this fast enough that it is done by the time new data is needed, resulting in a repeatedly changing busyness state.
|
getset |
Whether this layer is visible.
Returns whether this layer is visible.
Sets whether this layer is visible. Changes this layer's visibility. If the new visibility is different from the old one, a LayerEvent
is delivered to the observers with the property name PropertyVisible.
|
staticget |
Property name for the LayerEvent
that is fired as a result of the layer's busy flag changing.
isBusy
|
staticget |
Property name for the LayerEvent
that is fired as a result of changing the layer's title.
Title
|
staticget |
Property name for the LayerEvent
that is fired as a result of changing the layer's visible flag.
setVisible
|
getset |
The layer's title.
Returns the layer's title. Should be suitable for presenting to the user.
Sets the layer's title. Should be suitable for presenting to the user.
If the new title is indeed different from the old one, a LayerEvent
is delivered to the observers with the property name PropertyTitle.