QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
QgsLayerTreeGroup Class Reference

Layer tree group node serves as a container for layers and further groups. More...

#include <qgslayertreegroup.h>

Inheritance diagram for QgsLayerTreeGroup:

Public Member Functions

 QgsLayerTreeGroup (const QgsLayerTreeGroup &other)
 QgsLayerTreeGroup (const QString &name=QString(), bool checked=true)
 Constructor.
void addChildNode (QgsLayerTreeNode *node)
 Append an existing node.
QgsLayerTreeCustomNodeaddCustomNode (const QString &id, const QString &name=QString())
 Append a new custom node with the given id and name.
QgsLayerTreeGroupaddGroup (const QString &name)
 Append a new group node with given name.
QgsLayerTreeLayeraddLayer (QgsMapLayer *layer)
 Append a new layer node for given map layer.
QgsLayerTreeGroupclone () const override
 Returns a clone of the group.
QgsGroupLayerconvertToGroupLayer (const QgsGroupLayer::LayerOptions &options)
 Converts the group to a QgsGroupLayer.
QString dump () const override
 Returns text representation of the tree.
QgsLayerTreeCustomNodefindCustomNode (const QString &id) const
 Find custom node representing an object specified by its ID.
QStringList findCustomNodeIds () const
 Find custom node IDs.
QgsLayerTreeGroupfindGroup (const QString &name)
 Find group node with specified name.
QList< QgsLayerTreeGroup * > findGroups (bool recursive=false) const
 Find group layer nodes.
QgsLayerTreeLayerfindLayer (const QString &layerId) const
 Find layer node representing the map layer specified by its ID.
QgsLayerTreeLayerfindLayer (QgsMapLayer *layer) const
 Find layer node representing the map layer.
QStringList findLayerIds () const
 Find layer IDs used in all layer nodes.
QList< QgsLayerTreeLayer * > findLayers () const
 Find all layer nodes.
QList< QgsLayerTreeNode * > findLayersAndCustomNodes () const
 Find all layer and custom nodes.
QgsGroupLayergroupLayer ()
 Returns a reference to the associated group layer, if the layer tree group will be treated as group layer during map rendering.
bool hasWmsTimeDimension () const
 Returns whether the WMS time dimension should be computed for this group or not.
void insertChildNode (int index, QgsLayerTreeNode *node)
 Insert existing node at specified position.
void insertChildNodes (int index, const QList< QgsLayerTreeNode * > &nodes)
 Insert existing nodes at specified position.
QgsLayerTreeCustomNodeinsertCustomNode (int index, const QString &id, const QString &name=QString())
 Insert a new custom node with the given id and name at specified index.
QgsLayerTreeCustomNodeinsertCustomNode (int index, QgsLayerTreeCustomNode *node)
 Insert an existent custom node at specified index.
QgsLayerTreeGroupinsertGroup (int index, const QString &name)
 Insert a new group node with given name at specified position.
QgsLayerTreeLayerinsertLayer (int index, QgsMapLayer *layer)
 Insert a new layer node for given map layer at specified position.
bool isMutuallyExclusive () const
 Returns whether the group is mutually exclusive (only one child can be checked at a time).
QList< QgsLayerTreeNode * > layerAndCustomNodeOrderRespectingGroupLayers () const
 Returns an ordered list of map layers and custom nodes in the group, ignoring any layers which are child layers of QgsGroupLayers.
QList< QgsMapLayer * > layerOrderRespectingGroupLayers () const
 Returns an ordered list of map layers in the group, ignoring any layers which are child layers of QgsGroupLayers.
QString name () const override
 Returns the group's name.
void readChildrenFromXml (const QDomElement &element, const QgsReadWriteContext &context)
 Read children from XML and append them to the group.
void removeAllChildren ()
 Remove all child nodes.
void removeChildNode (QgsLayerTreeNode *node)
 Remove a child node from this group.
void removeChildren (int from, int count)
 Remove child nodes from index "from".
void removeChildrenGroupWithoutLayers ()
 Remove all child group nodes without layers.
void removeCustomNode (const QString &id)
 Remove a custom node from this group.
void removeLayer (QgsMapLayer *layer)
 Remove map layer's node from this group.
void reorderGroupLayers (const QList< QgsMapLayer * > &order)
 Reorders layers in the group to match the order specified by order.
void reorderGroupLayersAndCustomNodes (const QList< QgsLayerTreeNode * > &order)
 Reorders layers and custom nodes in the group to match the order specified by order.
void resolveReferences (const QgsProject *project, bool looseMatching=false) override
 Calls resolveReferences() on child tree nodes.
QgsMapLayerServerPropertiesserverProperties ()
 Returns QGIS Server Properties for the layer tree group.
const QgsMapLayerServerPropertiesserverProperties () const
 Returns QGIS Server Properties const for the layer tree group.
void setGroupLayer (QgsGroupLayer *layer)
 Sets the associated group layer, if the layer tree group will be treated as group layer during map rendering.
void setHasWmsTimeDimension (const bool hasWmsTimeDimension)
 Sets whether the WMS time dimension should be computed for this group or not.
void setIsMutuallyExclusive (bool enabled, int initialChildIndex=-1)
 Set whether the group is mutually exclusive (only one child can be checked at a time).
void setItemVisibilityCheckedRecursive (bool checked) override
 Check or uncheck a node and all its children (taking into account exclusion rules).
void setName (const QString &n) override
 Sets the group's name.
void writeXml (QDomElement &parentElement, const QgsReadWriteContext &context) override
 Write group (tree) as XML element <layer-tree-group> and add it to the given parent element.
Public Member Functions inherited from QgsLayerTreeNode
 ~QgsLayerTreeNode () override
QList< QgsLayerTreeNode * > abandonChildren ()
 Removes the children, disconnect all the forwarded and external signals and sets their parent to nullptr.
QList< QgsMapLayer * > checkedLayers () const
 Returns a list of any checked layers which belong to this node or its children.
QList< QgsLayerTreeNode * > children ()
 Gets list of children of the node. Children are owned by the parent.
QList< QgsLayerTreeNode * > children () const
 Gets list of children of the node. Children are owned by the parent.
QStringList customProperties () const
 Returns list of keys stored in custom properties.
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.
int depth () const
 Returns the depth of this node, i.e.
bool isExpanded () const
 Returns whether the node should be shown as expanded or collapsed in GUI.
bool isItemVisibilityCheckedRecursive () const
 Returns whether this node is checked and all its children.
bool isItemVisibilityUncheckedRecursive () const
 Returns whether this node is unchecked and all its children.
bool isVisible () const
 Returns whether a node is really visible (ie checked and all its ancestors checked as well).
bool itemVisibilityChecked () const
 Returns whether a node is checked (independently of its ancestors or children).
NodeType nodeType () const
 Find out about type of the node. It is usually shorter to use convenience functions from QgsLayerTree namespace for that.
QgsLayerTreeNodeparent ()
 Gets pointer to the parent. If parent is nullptr, the node is a root node.
void removeCustomProperty (const QString &key)
 Remove a custom property from layer. Properties are stored in a map and saved in project file.
void setCustomProperty (const QString &key, const QVariant &value)
 Sets a custom property for the node. Properties are stored in a map and saved in project file.
void setExpanded (bool expanded)
 Sets whether the node should be shown as expanded or collapsed in GUI.
void setItemVisibilityChecked (bool checked)
 Check or uncheck a node (independently of its ancestors or children).
void setItemVisibilityCheckedParentRecursive (bool checked)
 Check or uncheck a node and all its parents.
bool takeChild (QgsLayerTreeNode *node)
 Remove a child from a node.

Static Public Member Functions

static QgsLayerTreeGroupreadXml (const QDomElement &element, const QgsProject *project, const QgsReadWriteContext &context)
 Read group (tree) from XML element <layer-tree-group> and return the newly created group (or nullptr on error).
static QgsLayerTreeGroupreadXml (const QDomElement &element, const QgsReadWriteContext &context)
 Read group (tree) from XML element <layer-tree-group> and return the newly created group (or nullptr on error).
Static Public Member Functions inherited from QgsLayerTreeNode
static QgsLayerTreeNodereadXml (QDomElement &element, const QgsProject *project)
 Read layer tree from XML.
static QgsLayerTreeNodereadXml (QDomElement &element, const QgsReadWriteContext &context)
 Read layer tree from XML.

Protected Slots

void nodeVisibilityChanged (QgsLayerTreeNode *node)

Protected Member Functions

void makeOrphan () override
 Sets parent to nullptr and disconnects all external and forwarded signals.
void updateChildVisibilityMutuallyExclusive ()
 Set check state of children - if mutually exclusive.
Protected Member Functions inherited from QgsLayerTreeNode
 QgsLayerTreeNode (const QgsLayerTreeNode &other)
 QgsLayerTreeNode (NodeType t, bool checked=true)
 Constructor.
void insertChildrenPrivate (int index, const QList< QgsLayerTreeNode * > &nodes)
 Low-level insertion of children to the node. The children must not have any parent yet!
void readCommonXml (const QDomElement &element)
 Read common XML elements.
void removeChildrenPrivate (int from, int count, bool destroy=true)
 Low-level removal of children from the node.
void writeCommonXml (QDomElement &element)
 Write common XML elements.

Protected Attributes

bool mChangingChildVisibility = false
bool mMutuallyExclusive = false
 Whether the group is mutually exclusive (i.e. only one child can be checked at a time).
int mMutuallyExclusiveChildIndex = -1
 Keeps track which child has been most recently selected (so if the whole group is unchecked and checked again, we know which child to check).
QString mName
bool mWmsHasTimeDimension = false
Protected Attributes inherited from QgsLayerTreeNode
bool mChecked
QList< QgsLayerTreeNode * > mChildren
 list of children - node is responsible for their deletion
bool mExpanded = true
 whether the node should be shown in GUI as expanded
NodeType mNodeType
 type of the node - determines which subclass is used
QgsLayerTreeNodemParent = nullptr
 pointer to the parent node - nullptr in case of root node
QgsObjectCustomProperties mProperties
 custom properties attached to the node

Additional Inherited Members

Public Types inherited from QgsLayerTreeNode
enum  NodeType { NodeGroup , NodeLayer , NodeCustom }
 Enumeration of possible tree node types. 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.
void customPropertyChanged (QgsLayerTreeNode *node, const QString &key)
 Emitted when a custom property of a node within the tree has been changed or removed.
void expandedChanged (QgsLayerTreeNode *node, bool expanded)
 Emitted when the collapsed/expanded state of a node within the tree has been changed.
void nameChanged (QgsLayerTreeNode *node, QString name)
 Emitted when the name of the node is changed.
void removedChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes has been removed from a node within the tree.
void visibilityChanged (QgsLayerTreeNode *node)
 Emitted when check state of a node within the tree has been changed.
void willAddChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes will be added to a node within the tree.
void willRemoveChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes will be removed from a node within the tree.

Detailed Description

Layer tree group node serves as a container for layers and further groups.

Group names do not need to be unique within one tree nor within one parent.

While a layer tree group is typically used for hierarchical organisation of a QgsProject, they can optionally be associated with a QgsGroupLayer for map rendering purposes.

Definition at line 40 of file qgslayertreegroup.h.

Constructor & Destructor Documentation

◆ QgsLayerTreeGroup() [1/2]

QgsLayerTreeGroup::QgsLayerTreeGroup ( const QString & name = QString(),
bool checked = true )

Constructor.

Definition at line 28 of file qgslayertreegroup.cpp.

◆ QgsLayerTreeGroup() [2/2]

QgsLayerTreeGroup::QgsLayerTreeGroup ( const QgsLayerTreeGroup & other)

Definition at line 36 of file qgslayertreegroup.cpp.

Member Function Documentation

◆ addChildNode()

void QgsLayerTreeGroup::addChildNode ( QgsLayerTreeNode * node)

Append an existing node.

The node must not have a parent yet. The node will be owned by this group.

Definition at line 193 of file qgslayertreegroup.cpp.

◆ addCustomNode()

QgsLayerTreeCustomNode * QgsLayerTreeGroup::addCustomNode ( const QString & id,
const QString & name = QString() )

Append a new custom node with the given id and name.

The newly created node is owned by this group.

Since
QGIS 4.0

Definition at line 141 of file qgslayertreegroup.cpp.

◆ addGroup()

QgsLayerTreeGroup * QgsLayerTreeGroup::addGroup ( const QString & name)

Append a new group node with given name.

Newly created node is owned by this group.

Definition at line 81 of file qgslayertreegroup.cpp.

◆ addLayer()

QgsLayerTreeLayer * QgsLayerTreeGroup::addLayer ( QgsMapLayer * layer)

Append a new layer node for given map layer.

The newly created node is owned by this group.

Definition at line 100 of file qgslayertreegroup.cpp.

◆ clone()

QgsLayerTreeGroup * QgsLayerTreeGroup::clone ( ) const
overridevirtual

Returns a clone of the group.

The children are cloned too.

Implements QgsLayerTreeNode.

Definition at line 614 of file qgslayertreegroup.cpp.

◆ convertToGroupLayer()

QgsGroupLayer * QgsLayerTreeGroup::convertToGroupLayer ( const QgsGroupLayer::LayerOptions & options)

Converts the group to a QgsGroupLayer.

This method will convert the layer tree group to an equivalent QgsGroupLayer, and return the result. The caller takes ownership of the returned layer, and it is the caller's responsibility to add the layer to the associated QgsProject.

If the group is already associated with a group layer (see groupLayer()), nullptr will be returned.

See also
groupLayer()
setGroupLayer()
Since
QGIS 3.24

Definition at line 684 of file qgslayertreegroup.cpp.

◆ dump()

QString QgsLayerTreeGroup::dump ( ) const
overridevirtual

Returns text representation of the tree.

For debugging purposes only.

Implements QgsLayerTreeNode.

Definition at line 603 of file qgslayertreegroup.cpp.

◆ findCustomNode()

QgsLayerTreeCustomNode * QgsLayerTreeGroup::findCustomNode ( const QString & id) const

Find custom node representing an object specified by its ID.

Searches recursively the whole sub-tree.

Since
QGIS 4.0

Definition at line 321 of file qgslayertreegroup.cpp.

◆ findCustomNodeIds()

QStringList QgsLayerTreeGroup::findCustomNodeIds ( ) const

Find custom node IDs.

Searches recursively the whole sub-tree.

Definition at line 723 of file qgslayertreegroup.cpp.

◆ findGroup()

QgsLayerTreeGroup * QgsLayerTreeGroup::findGroup ( const QString & name)

Find group node with specified name.

Searches recursively the whole sub-tree.

Definition at line 454 of file qgslayertreegroup.cpp.

◆ findGroups()

QList< QgsLayerTreeGroup * > QgsLayerTreeGroup::findGroups ( bool recursive = false) const

Find group layer nodes.

Searches recursively the whole sub-tree, if recursive is set.

Definition at line 474 of file qgslayertreegroup.cpp.

◆ findLayer() [1/2]

QgsLayerTreeLayer * QgsLayerTreeGroup::findLayer ( const QString & layerId) const

Find layer node representing the map layer specified by its ID.

Searches recursively the whole sub-tree.

Definition at line 288 of file qgslayertreegroup.cpp.

◆ findLayer() [2/2]

QgsLayerTreeLayer * QgsLayerTreeGroup::findLayer ( QgsMapLayer * layer) const

Find layer node representing the map layer.

Searches recursively the whole sub-tree.

Definition at line 280 of file qgslayertreegroup.cpp.

◆ findLayerIds()

QStringList QgsLayerTreeGroup::findLayerIds ( ) const

Find layer IDs used in all layer nodes.

Searches recursively the whole sub-tree.

Definition at line 710 of file qgslayertreegroup.cpp.

◆ findLayers()

QList< QgsLayerTreeLayer * > QgsLayerTreeGroup::findLayers ( ) const

Find all layer nodes.

Searches recursively the whole sub-tree.

See also
findLayersAndCustomNodes()

Definition at line 308 of file qgslayertreegroup.cpp.

◆ findLayersAndCustomNodes()

QList< QgsLayerTreeNode * > QgsLayerTreeGroup::findLayersAndCustomNodes ( ) const

Find all layer and custom nodes.

Searches recursively the whole sub-tree.

See also
findLayers()
Since
QGIS 4.0

Definition at line 341 of file qgslayertreegroup.cpp.

◆ groupLayer()

QgsGroupLayer * QgsLayerTreeGroup::groupLayer ( )

Returns a reference to the associated group layer, if the layer tree group will be treated as group layer during map rendering.

See also
setGroupLayer()
convertToGroupLayer()
Since
QGIS 3.24

Definition at line 666 of file qgslayertreegroup.cpp.

◆ hasWmsTimeDimension()

bool QgsLayerTreeGroup::hasWmsTimeDimension ( ) const

Returns whether the WMS time dimension should be computed for this group or not.

if true, when a GetCapabilities request is sent, QGIS server would return a TIME dimension computed as an union of all time dimensions of its children recursively. Else, no TIME dimension will be returned.

See also
setHasWmsTimeDimension()
Since
QGIS 3.44

Definition at line 854 of file qgslayertreegroup.cpp.

◆ insertChildNode()

void QgsLayerTreeGroup::insertChildNode ( int index,
QgsLayerTreeNode * node )

Insert existing node at specified position.

The node must not have a parent yet. The node will be owned by this group.

Definition at line 156 of file qgslayertreegroup.cpp.

◆ insertChildNodes()

void QgsLayerTreeGroup::insertChildNodes ( int index,
const QList< QgsLayerTreeNode * > & nodes )

Insert existing nodes at specified position.

The nodes must not have a parent yet. The nodes will be owned by this group.

Definition at line 163 of file qgslayertreegroup.cpp.

◆ insertCustomNode() [1/2]

QgsLayerTreeCustomNode * QgsLayerTreeGroup::insertCustomNode ( int index,
const QString & id,
const QString & name = QString() )

Insert a new custom node with the given id and name at specified index.

The newly created node is owned by this group.

Since
QGIS 4.0

Definition at line 112 of file qgslayertreegroup.cpp.

◆ insertCustomNode() [2/2]

QgsLayerTreeCustomNode * QgsLayerTreeGroup::insertCustomNode ( int index,
QgsLayerTreeCustomNode * node )

Insert an existent custom node at specified index.

The node must not have a parent yet. The node will be owned by this group.

Since
QGIS 4.0

Definition at line 127 of file qgslayertreegroup.cpp.

◆ insertGroup()

QgsLayerTreeGroup * QgsLayerTreeGroup::insertGroup ( int index,
const QString & name )

Insert a new group node with given name at specified position.

The newly created node is owned by this group.

Definition at line 74 of file qgslayertreegroup.cpp.

◆ insertLayer()

QgsLayerTreeLayer * QgsLayerTreeGroup::insertLayer ( int index,
QgsMapLayer * layer )

Insert a new layer node for given map layer at specified position.

The newly created node is owned by this group.

Definition at line 88 of file qgslayertreegroup.cpp.

◆ isMutuallyExclusive()

bool QgsLayerTreeGroup::isMutuallyExclusive ( ) const

Returns whether the group is mutually exclusive (only one child can be checked at a time).

Definition at line 633 of file qgslayertreegroup.cpp.

◆ layerAndCustomNodeOrderRespectingGroupLayers()

QList< QgsLayerTreeNode * > QgsLayerTreeGroup::layerAndCustomNodeOrderRespectingGroupLayers ( ) const

Returns an ordered list of map layers and custom nodes in the group, ignoring any layers which are child layers of QgsGroupLayers.

Searches recursively the whole sub-tree.

Note
Not available in Python bindings
See also
layerOrderRespectingGroupLayers()
Since
QGIS 4.0

Definition at line 422 of file qgslayertreegroup.cpp.

◆ layerOrderRespectingGroupLayers()

QList< QgsMapLayer * > QgsLayerTreeGroup::layerOrderRespectingGroupLayers ( ) const

Returns an ordered list of map layers in the group, ignoring any layers which are child layers of QgsGroupLayers.

Searches recursively the whole sub-tree.

Note
Not available in Python bindings
See also
layerAndCustomNodeOrderRespectingGroupLayers()
Since
QGIS 3.24

Definition at line 394 of file qgslayertreegroup.cpp.

◆ makeOrphan()

void QgsLayerTreeGroup::makeOrphan ( )
overrideprotectedvirtual

Sets parent to nullptr and disconnects all external and forwarded signals.

Reimplemented from QgsLayerTreeNode.

Definition at line 778 of file qgslayertreegroup.cpp.

◆ name()

QString QgsLayerTreeGroup::name ( ) const
overridevirtual

Returns the group's name.

Implements QgsLayerTreeNode.

Definition at line 59 of file qgslayertreegroup.cpp.

◆ nodeVisibilityChanged

void QgsLayerTreeGroup::nodeVisibilityChanged ( QgsLayerTreeNode * node)
protectedslot

Definition at line 736 of file qgslayertreegroup.cpp.

◆ readChildrenFromXml()

void QgsLayerTreeGroup::readChildrenFromXml ( const QDomElement & element,
const QgsReadWriteContext & context )

Read children from XML and append them to the group.

Does not resolve textual references to layers. Call resolveReferences() afterwards to do it.

Definition at line 587 of file qgslayertreegroup.cpp.

◆ readXml() [1/2]

QgsLayerTreeGroup * QgsLayerTreeGroup::readXml ( const QDomElement & element,
const QgsProject * project,
const QgsReadWriteContext & context )
static

Read group (tree) from XML element <layer-tree-group> and return the newly created group (or nullptr on error).

Also resolves textual references to layers from the project (calls resolveReferences() internally).

Definition at line 546 of file qgslayertreegroup.cpp.

◆ readXml() [2/2]

QgsLayerTreeGroup * QgsLayerTreeGroup::readXml ( const QDomElement & element,
const QgsReadWriteContext & context )
static

Read group (tree) from XML element <layer-tree-group> and return the newly created group (or nullptr on error).

Does not resolve textual references to layers. Call resolveReferences() afterwards to do it.

Definition at line 491 of file qgslayertreegroup.cpp.

◆ removeAllChildren()

void QgsLayerTreeGroup::removeAllChildren ( )

Remove all child nodes.

The nodes will be deleted.

Definition at line 275 of file qgslayertreegroup.cpp.

◆ removeChildNode()

void QgsLayerTreeGroup::removeChildNode ( QgsLayerTreeNode * node)

Remove a child node from this group.

The node will be deleted.

Definition at line 200 of file qgslayertreegroup.cpp.

◆ removeChildren()

void QgsLayerTreeGroup::removeChildren ( int from,
int count )

Remove child nodes from index "from".

The nodes will be deleted.

Definition at line 236 of file qgslayertreegroup.cpp.

◆ removeChildrenGroupWithoutLayers()

void QgsLayerTreeGroup::removeChildrenGroupWithoutLayers ( )

Remove all child group nodes without layers.

The groupnodes will be deleted.

Definition at line 256 of file qgslayertreegroup.cpp.

◆ removeCustomNode()

void QgsLayerTreeGroup::removeCustomNode ( const QString & id)

Remove a custom node from this group.

The node will be deleted.

Parameters
idId of the node to be removed.
Since
QGIS 4.0

Definition at line 227 of file qgslayertreegroup.cpp.

◆ removeLayer()

void QgsLayerTreeGroup::removeLayer ( QgsMapLayer * layer)

Remove map layer's node from this group.

The node will be deleted.

Definition at line 209 of file qgslayertreegroup.cpp.

◆ reorderGroupLayers()

void QgsLayerTreeGroup::reorderGroupLayers ( const QList< QgsMapLayer * > & order)

Reorders layers in the group to match the order specified by order.

Only layers which are direct children of this group will be reordered, other layers will be ignored.

Note
This method does not recursively reorder child groups.
Matching layers will be moved to the start of the group, with any existing non-matching layers and group nodes moved to sit after the re-ordered matching layers.
See also
reorderGroupLayersAndCustomNodes()
Since
QGIS 3.30

Definition at line 354 of file qgslayertreegroup.cpp.

◆ reorderGroupLayersAndCustomNodes()

void QgsLayerTreeGroup::reorderGroupLayersAndCustomNodes ( const QList< QgsLayerTreeNode * > & order)

Reorders layers and custom nodes in the group to match the order specified by order.

Only layers and custom nodes which are direct children of this group will be reordered, other layers and custom nodes will be ignored, as well as child group nodes.

Note
This method does not recursively reorder child groups.
Matching layers or custom nodes will be moved to the start of the group, with any existing non-matching layers, custom and group nodes moved to sit after the re-ordered matching layers and custom nodes.
See also
reorderGroupLayers()
Since
QGIS 4.0

Definition at line 374 of file qgslayertreegroup.cpp.

◆ resolveReferences()

void QgsLayerTreeGroup::resolveReferences ( const QgsProject * project,
bool looseMatching = false )
overridevirtual

Calls resolveReferences() on child tree nodes.

Implements QgsLayerTreeNode.

Definition at line 619 of file qgslayertreegroup.cpp.

◆ serverProperties() [1/2]

QgsMapLayerServerProperties * QgsLayerTreeGroup::serverProperties ( )

Returns QGIS Server Properties for the layer tree group.

Since
QGIS 3.44

Definition at line 839 of file qgslayertreegroup.cpp.

◆ serverProperties() [2/2]

const QgsMapLayerServerProperties * QgsLayerTreeGroup::serverProperties ( ) const

Returns QGIS Server Properties const for the layer tree group.

Since
QGIS 3.44

Definition at line 844 of file qgslayertreegroup.cpp.

◆ setGroupLayer()

void QgsLayerTreeGroup::setGroupLayer ( QgsGroupLayer * layer)

Sets the associated group layer, if the layer tree group will be treated as group layer during map rendering.

This method does not take ownership of the group layer, and only a weak reference to the layer is stored.

See also
groupLayer()
convertToGroupLayer()
Since
QGIS 3.24

Definition at line 671 of file qgslayertreegroup.cpp.

◆ setHasWmsTimeDimension()

void QgsLayerTreeGroup::setHasWmsTimeDimension ( const bool hasWmsTimeDimension)

Sets whether the WMS time dimension should be computed for this group or not.

Parameters
hasWmsTimeDimensionif true, when a GetCapabilities request is sent, QGIS server would return a TIME dimension computed as an union of all time dimensions of its children recursively. Else, no TIME dimension will be returned.
See also
hasWmsTimeDimension()
Since
QGIS 3.44

Definition at line 849 of file qgslayertreegroup.cpp.

◆ setIsMutuallyExclusive()

void QgsLayerTreeGroup::setIsMutuallyExclusive ( bool enabled,
int initialChildIndex = -1 )

Set whether the group is mutually exclusive (only one child can be checked at a time).

The initial child index determines which child should be initially checked. The default value of -1 will determine automatically (either first one currently checked or none)

Definition at line 638 of file qgslayertreegroup.cpp.

◆ setItemVisibilityCheckedRecursive()

void QgsLayerTreeGroup::setItemVisibilityCheckedRecursive ( bool checked)
overridevirtual

Check or uncheck a node and all its children (taking into account exclusion rules).

Reimplemented from QgsLayerTreeNode.

Definition at line 821 of file qgslayertreegroup.cpp.

◆ setName()

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

Sets the group's name.

Implements QgsLayerTreeNode.

Definition at line 64 of file qgslayertreegroup.cpp.

◆ updateChildVisibilityMutuallyExclusive()

void QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive ( )
protected

Set check state of children - if mutually exclusive.

Definition at line 759 of file qgslayertreegroup.cpp.

◆ writeXml()

void QgsLayerTreeGroup::writeXml ( QDomElement & parentElement,
const QgsReadWriteContext & context )
overridevirtual

Write group (tree) as XML element <layer-tree-group> and add it to the given parent element.

Implements QgsLayerTreeNode.

Definition at line 557 of file qgslayertreegroup.cpp.

Member Data Documentation

◆ mChangingChildVisibility

bool QgsLayerTreeGroup::mChangingChildVisibility = false
protected

Definition at line 409 of file qgslayertreegroup.h.

◆ mMutuallyExclusive

bool QgsLayerTreeGroup::mMutuallyExclusive = false
protected

Whether the group is mutually exclusive (i.e. only one child can be checked at a time).

Definition at line 412 of file qgslayertreegroup.h.

◆ mMutuallyExclusiveChildIndex

int QgsLayerTreeGroup::mMutuallyExclusiveChildIndex = -1
protected

Keeps track which child has been most recently selected (so if the whole group is unchecked and checked again, we know which child to check).

Definition at line 418 of file qgslayertreegroup.h.

◆ mName

QString QgsLayerTreeGroup::mName
protected

Definition at line 407 of file qgslayertreegroup.h.

◆ mWmsHasTimeDimension

bool QgsLayerTreeGroup::mWmsHasTimeDimension = false
protected

Definition at line 420 of file qgslayertreegroup.h.


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