QGIS API Documentation 3.41.0-Master (af5edcb665c)
|
Internal structure to keep weak pointer to QgsMapLayer or layerId if the layer is not available yet. More...
#include <qgsmaplayerref.h>
Public Types | |
enum | MatchType { Name = 1 << 2 , Provider = 1 << 3 , Source = 1 << 4 , All = Provider | Source } |
Flag for match type in weak resolution. More... | |
Public Member Functions | |
_LayerRef (const QString &id, const QString &name=QString(), const QString &source=QString(), const QString &provider=QString()) | |
Constructor for a weak layer reference, using a combination of layer ID, name, public source and provider key. | |
_LayerRef (TYPE *l=nullptr) | |
Constructor for a layer reference from an existing map layer. | |
TYPE * | get () const |
Returns a pointer to the layer, or nullptr if the reference has not yet been matched to a layer. | |
bool | layerMatchesSource (QgsMapLayer *layer) const |
Returns true if a layer matches the weak references to layer public source, layer name and data provider contained in this layer reference. | |
bool | layerMatchesWeakly (QgsMapLayer *layer, MatchType matchType=MatchType::All) const |
operator bool () const | |
Returns true if the layer reference is resolved and contains a reference to an existing map layer. | |
TYPE * | operator-> () const |
Forwards the to map layer. | |
bool | operator== (const _LayerRef &other)=delete |
Equality operator is deleted to avoid confusion as there are multiple ways two _LayerRef objects can be considered equal. | |
bool | readXml (const QDomElement &element, const QgsReadWriteContext &context) |
Reads the layer's properties from an XML element. | |
TYPE * | resolve (const QgsProject *project) |
Resolves the map layer by attempting to find a layer with matching ID within a project. | |
TYPE * | resolveByIdOrNameOnly (const QgsProject *project) |
Resolves the map layer by attempting to find a matching layer in a project using a weak match. | |
TYPE * | resolveWeakly (const QgsProject *project, MatchType matchType=MatchType::All) |
Resolves the map layer by attempting to find a matching layer in a project using a weak match. | |
void | setLayer (TYPE *l) |
Sets the reference to point to a specified layer. | |
void | writeXml (QDomElement &element, const QgsReadWriteContext &context) const |
Writes the layer's properties to a XML element. | |
Public Attributes | |
QPointer< TYPE > | layer |
Weak pointer to map layer. | |
QString | layerId |
Original layer ID. | |
QString | name |
Weak reference to layer name. | |
QString | provider |
Weak reference to layer provider. | |
QString | source |
Weak reference to layer public source. | |
Internal structure to keep weak pointer to QgsMapLayer or layerId if the layer is not available yet.
Definition at line 35 of file qgsmaplayerref.h.
enum _LayerRef::MatchType |
Flag for match type in weak resolution.
Enumerator | |
---|---|
Name | Match layer name. |
Provider | Match layer provider name. |
Source | Match layer source. |
All | Match all. |
Definition at line 42 of file qgsmaplayerref.h.
|
inline |
Constructor for a layer reference from an existing map layer.
The layerId, source, name and provider members will automatically be populated from this layer.
Definition at line 56 of file qgsmaplayerref.h.
|
inline |
Constructor for a weak layer reference, using a combination of layer ID, name, public source and provider key.
Definition at line 68 of file qgsmaplayerref.h.
|
inline |
Returns a pointer to the layer, or nullptr
if the reference has not yet been matched to a layer.
Definition at line 114 of file qgsmaplayerref.h.
|
inline |
Returns true
if a layer matches the weak references to layer public source, layer name and data provider contained in this layer reference.
Definition at line 137 of file qgsmaplayerref.h.
|
inline |
Definition at line 169 of file qgsmaplayerref.h.
|
inlineexplicit |
Returns true
if the layer reference is resolved and contains a reference to an existing map layer.
Definition at line 97 of file qgsmaplayerref.h.
|
inline |
Forwards the to map layer.
Definition at line 105 of file qgsmaplayerref.h.
|
delete |
Equality operator is deleted to avoid confusion as there are multiple ways two _LayerRef objects can be considered equal.
|
inline |
Reads the layer's properties from an XML element.
Definition at line 304 of file qgsmaplayerref.h.
|
inline |
Resolves the map layer by attempting to find a layer with matching ID within a project.
If found, this reference will be updated to match the found layer and the layer will be returned. If no matching layer is found, nullptr
is returned.
Definition at line 156 of file qgsmaplayerref.h.
|
inline |
Resolves the map layer by attempting to find a matching layer in a project using a weak match.
First, the layer is attempted to match to project layers using the layer's ID (calling this method implicitly calls resolve()).
Failing a match by layer ID, the layer will be matched by using the weak references to layer public source, layer name and data provider contained in this layer reference.
Failing a match by weak reference, the layer will be matched by using the name only.
If a matching layer is found, this reference will be updated to match the found layer and the layer will be returned. If no matching layer is found, nullptr
is returned.
Definition at line 276 of file qgsmaplayerref.h.
|
inline |
Resolves the map layer by attempting to find a matching layer in a project using a weak match.
First, the layer is attempted to match to project layers using the layer's ID (calling this method implicitly calls resolve()).
Failing a match by layer ID, the layer will be matched by using the weak references to layer public source, layer name and data provider contained in this layer reference.
The matchType enum can used to refine the matching criteria when using the weak reference and include layer name, provider name and layer source in the equality test, by default they are all checked.
If a matching layer is found, this reference will be updated to match the found layer and the layer will be returned. If no matching layer is found, nullptr
is returned.
Definition at line 217 of file qgsmaplayerref.h.
|
inline |
Sets the reference to point to a specified layer.
Definition at line 79 of file qgsmaplayerref.h.
|
inline |
Writes the layer's properties to a XML element.
Definition at line 321 of file qgsmaplayerref.h.
QPointer<TYPE> _LayerRef< TYPE >::layer |
Weak pointer to map layer.
Definition at line 120 of file qgsmaplayerref.h.
QString _LayerRef< TYPE >::layerId |
Original layer ID.
Definition at line 123 of file qgsmaplayerref.h.
QString _LayerRef< TYPE >::name |
Weak reference to layer name.
Definition at line 128 of file qgsmaplayerref.h.
QString _LayerRef< TYPE >::provider |
Weak reference to layer provider.
Definition at line 130 of file qgsmaplayerref.h.
QString _LayerRef< TYPE >::source |
Weak reference to layer public source.
Definition at line 126 of file qgsmaplayerref.h.