QGIS API Documentation  2.99.0-Master (0a63d1f)
Signals | Public Member Functions | Static Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
QgsLayerTreeLayer Class Reference

Layer tree node points to a map layer. More...

#include <qgslayertreelayer.h>

Inheritance diagram for QgsLayerTreeLayer:
Inheritance graph
[legend]

Signals

void layerLoaded ()
 emitted when a previously unavailable layer got loaded More...
 
void layerWillBeUnloaded ()
 emitted when a previously available layer got unloaded (from layer registry) More...
 
- Signals inherited from QgsLayerTreeNode
void addedChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes have been added to a node within the tree. More...
 
void customPropertyChanged (QgsLayerTreeNode *node, const QString &key)
 Emitted when a custom property of a node within the tree has been changed or removed. More...
 
void expandedChanged (QgsLayerTreeNode *node, bool expanded)
 Emitted when the collapsed/expanded state of a node within the tree has been changed. More...
 
void nameChanged (QgsLayerTreeNode *node, QString name)
 Emitted when the name of the node is changed. More...
 
void removedChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes has been removed from a node within the tree. More...
 
void visibilityChanged (QgsLayerTreeNode *node)
 Emitted when check state of a node within the tree has been changed. More...
 
void willAddChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes will be added to a node within the tree. More...
 
void willRemoveChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes will be removed from a node within the tree. More...
 

Public Member Functions

 QgsLayerTreeLayer (QgsMapLayer *layer)
 
 QgsLayerTreeLayer (const QgsLayerTreeLayer &other)
 
 QgsLayerTreeLayer (const QString &layerId, const QString &name=QString())
 
virtual QgsLayerTreeLayerclone () const override
 Create a copy of the node. Returns new instance. More...
 
virtual QString dump () const override
 Return string with layer tree structure. For debug purposes only. More...
 
QgsMapLayerlayer () const
 
QString layerId () const
 
QString name () const override
 Get layer's name. More...
 
void setName (const QString &n) override
 Set layer's name. More...
 
virtual void writeXml (QDomElement &parentElement) override
 Write layer tree to XML. More...
 
- Public Member Functions inherited from QgsLayerTreeNode
 ~QgsLayerTreeNode ()
 
QList< QgsLayerTreeNode * > children ()
 Get list of children of the node. Children are owned by the parent. More...
 
QList< QgsLayerTreeNode * > children () const
 Get list of children of the node. Children are owned by the parent. More...
 
QStringList customProperties () const
 Return list of keys stored in custom properties. More...
 
QVariant customProperty (const QString &key, const QVariant &defaultValue=QVariant()) const
 Read a custom property from layer. Properties are stored in a map and saved in project file. More...
 
bool isExpanded () const
 Return whether the node should be shown as expanded or collapsed in GUI. More...
 
bool isItemVisibilityCheckedRecursive () const
 Return whether this node is checked and all its children. More...
 
bool isItemVisibilityUncheckedRecursive () const
 Return whether this node is unchecked and all its children. More...
 
bool isVisible () const
 Returns whether a node is really visible (ie checked and all its ancestors checked as well) More...
 
bool itemVisibilityChecked () const
 Returns whether a node is checked (independently of its ancestors or children) More...
 
NodeType nodeType ()
 Find out about type of the node. It is usually shorter to use convenience functions from QgsLayerTree namespace for that. More...
 
QgsLayerTreeNodeparent ()
 Get pointer to the parent. If parent is a null pointer, the node is a root node. More...
 
void removeCustomProperty (const QString &key)
 Remove a custom property from layer. Properties are stored in a map and saved in project file. More...
 
void setCustomProperty (const QString &key, const QVariant &value)
 Set a custom property for the node. Properties are stored in a map and saved in project file. More...
 
void setExpanded (bool expanded)
 Set whether the node should be shown as expanded or collapsed in GUI. More...
 
void setItemVisibilityChecked (bool checked)
 Check or uncheck a node (independently of its ancestors or children) More...
 
void setItemVisibilityCheckedParentRecursive (bool checked)
 Check or uncheck a node and all its parents. More...
 
virtual void setItemVisibilityCheckedRecursive (bool checked)
 Check or uncheck a node and all its children (taking into account exclusion rules) More...
 
bool takeChild (QgsLayerTreeNode *node)
 Remove a child from a node. More...
 

Static Public Member Functions

static QgsLayerTreeLayerreadXml (QDomElement &element)
 
- Static Public Member Functions inherited from QgsLayerTreeNode
static QgsLayerTreeNodereadXml (QDomElement &element)
 Read layer tree from XML. Returns new instance. More...
 

Protected Slots

void layerNameChanged ()
 Emits a nameChanged() signal if layer's name has changed. More...
 
void registryLayersAdded (const QList< QgsMapLayer *> &layers)
 
void registryLayersWillBeRemoved (const QStringList &layerIds)
 

Protected Member Functions

void attachToLayer ()
 
- Protected Member Functions inherited from QgsLayerTreeNode
 QgsLayerTreeNode (NodeType t, bool checked=true)
 Constructor. More...
 
 QgsLayerTreeNode (const QgsLayerTreeNode &other)
 
void insertChildrenPrivate (int index, QList< QgsLayerTreeNode *> nodes)
 Low-level insertion of children to the node. The children must not have any parent yet! More...
 
void readCommonXml (QDomElement &element)
 Read common XML elements. More...
 
void removeChildrenPrivate (int from, int count, bool destroy=true)
 Low-level removal of children from the node. More...
 
void writeCommonXml (QDomElement &element)
 Write common XML elements. More...
 

Protected Attributes

QgsMapLayermLayer
 
QString mLayerId
 
QString mLayerName
 
- Protected Attributes inherited from QgsLayerTreeNode
bool mChecked
 
QList< QgsLayerTreeNode * > mChildren
 list of children - node is responsible for their deletion More...
 
bool mExpanded
 whether the node should be shown in GUI as expanded More...
 
NodeType mNodeType
 type of the node - determines which subclass is used More...
 
QgsLayerTreeNodemParent
 pointer to the parent node - null in case of root node More...
 
QgsObjectCustomProperties mProperties
 custom properties attached to the node More...
 

Additional Inherited Members

- Public Types inherited from QgsLayerTreeNode
enum  NodeType { NodeGroup, NodeLayer }
 Enumeration of possible tree node types. More...
 

Detailed Description

Layer tree node points to a map layer.

When using with existing QgsMapLayer instance, it is expected that the layer has been registered in QgsProject earlier.

The node can exist also without a valid instance of a layer (just ID). That means the referenced layer does not need to be loaded in order to use it in layer tree. In such case, the node will start listening to map layer registry updates in expectation that the layer (identified by its ID) will be loaded later.

A map layer is supposed to be present in one layer tree just once. It is however possible that temporarily a layer exists in one tree more than just once, e.g. while reordering items with drag and drop.

Note
added in 2.4

Definition at line 42 of file qgslayertreelayer.h.

Constructor & Destructor Documentation

◆ QgsLayerTreeLayer() [1/3]

QgsLayerTreeLayer::QgsLayerTreeLayer ( QgsMapLayer layer)
explicit

Definition at line 23 of file qgslayertreelayer.cpp.

◆ QgsLayerTreeLayer() [2/3]

QgsLayerTreeLayer::QgsLayerTreeLayer ( const QgsLayerTreeLayer other)

Definition at line 41 of file qgslayertreelayer.cpp.

◆ QgsLayerTreeLayer() [3/3]

QgsLayerTreeLayer::QgsLayerTreeLayer ( const QString &  layerId,
const QString &  name = QString() 
)
explicit

Definition at line 32 of file qgslayertreelayer.cpp.

Member Function Documentation

◆ attachToLayer()

void QgsLayerTreeLayer::attachToLayer ( )
protected

Definition at line 50 of file qgslayertreelayer.cpp.

◆ clone()

QgsLayerTreeLayer * QgsLayerTreeLayer::clone ( ) const
overridevirtual

Create a copy of the node. Returns new instance.

Implements QgsLayerTreeNode.

Definition at line 139 of file qgslayertreelayer.cpp.

◆ dump()

QString QgsLayerTreeLayer::dump ( ) const
overridevirtual

Return string with layer tree structure. For debug purposes only.

Implements QgsLayerTreeNode.

Definition at line 134 of file qgslayertreelayer.cpp.

◆ layer()

QgsMapLayer* QgsLayerTreeLayer::layer ( ) const
inline

Definition at line 53 of file qgslayertreelayer.h.

◆ layerId()

QString QgsLayerTreeLayer::layerId ( ) const
inline

Definition at line 51 of file qgslayertreelayer.h.

◆ layerLoaded

void QgsLayerTreeLayer::layerLoaded ( )
signal

emitted when a previously unavailable layer got loaded

◆ layerNameChanged

void QgsLayerTreeLayer::layerNameChanged ( )
protectedslot

Emits a nameChanged() signal if layer's name has changed.

Note
added in 3.0

Definition at line 172 of file qgslayertreelayer.cpp.

◆ layerWillBeUnloaded

void QgsLayerTreeLayer::layerWillBeUnloaded ( )
signal

emitted when a previously available layer got unloaded (from layer registry)

Note
added in 2.6

◆ name()

QString QgsLayerTreeLayer::name ( ) const
overridevirtual

Get layer's name.

Note
added in 3.0

Implements QgsLayerTreeNode.

Definition at line 71 of file qgslayertreelayer.cpp.

◆ readXml()

QgsLayerTreeLayer * QgsLayerTreeLayer::readXml ( QDomElement &  element)
static

Definition at line 94 of file qgslayertreelayer.cpp.

◆ registryLayersAdded

void QgsLayerTreeLayer::registryLayersAdded ( const QList< QgsMapLayer *> &  layers)
protectedslot

Definition at line 144 of file qgslayertreelayer.cpp.

◆ registryLayersWillBeRemoved

void QgsLayerTreeLayer::registryLayersWillBeRemoved ( const QStringList &  layerIds)
protectedslot

Definition at line 158 of file qgslayertreelayer.cpp.

◆ setName()

void QgsLayerTreeLayer::setName ( const QString &  n)
overridevirtual

Set layer's name.

Note
added in 3.0

Implements QgsLayerTreeNode.

Definition at line 76 of file qgslayertreelayer.cpp.

◆ writeXml()

void QgsLayerTreeLayer::writeXml ( QDomElement &  parentElement)
overridevirtual

Write layer tree to XML.

Implements QgsLayerTreeNode.

Definition at line 120 of file qgslayertreelayer.cpp.

Member Data Documentation

◆ mLayer

QgsMapLayer* QgsLayerTreeLayer::mLayer
protected

Definition at line 88 of file qgslayertreelayer.h.

◆ mLayerId

QString QgsLayerTreeLayer::mLayerId
protected

Definition at line 86 of file qgslayertreelayer.h.

◆ mLayerName

QString QgsLayerTreeLayer::mLayerName
protected

Definition at line 87 of file qgslayertreelayer.h.


The documentation for this class was generated from the following files: