54   QAction *a = 
new QAction( 
QgsApplication::getThemeIcon( QStringLiteral( 
"/mActionInOverview.svg" ) ), tr( 
"&Show in Overview" ), parent );
    56   a->setCheckable( 
true );
    57   a->setChecked( node->
customProperty( QStringLiteral( 
"overview" ), 0 ).toInt() );
    69     text = tr( 
"Re&name Group" );
    71     text = tr( 
"Re&name Layer" );
    73   QAction *a = 
new QAction( text, parent );
    84   QAction *a = 
new QAction( tr( 
"Show Feature Count" ), parent );
    86   a->setCheckable( 
true );
    87   a->setChecked( node->
customProperty( QStringLiteral( 
"showFeatureCount" ), 0 ).toInt() );
    94                             tr( 
"&Zoom to Layer" ), parent );
    95   a->setData( QVariant::fromValue( reinterpret_cast<void *>( canvas ) ) );
   103                             tr( 
"&Zoom to Selection" ), parent );
   104   a->setData( QVariant::fromValue( reinterpret_cast<void *>( canvas ) ) );
   112                             tr( 
"&Zoom to Group" ), parent );
   113   a->setData( QVariant::fromValue( reinterpret_cast<void *>( canvas ) ) );
   120   QAction *a = 
new QAction( tr( 
"&Move to Top-level" ), parent );
   129   QAction *a = 
new QAction( tr( 
"Move Out of &Group" ), parent );
   136   QAction *a = 
new QAction( tr( 
"Move to &Top" ), parent );
   143   QAction *a = 
new QAction( tr( 
"&Group Selected" ), parent );
   154   QAction *a = 
new QAction( tr( 
"Mutually Exclusive Group" ), parent );
   155   a->setCheckable( 
true );
   167   QAction *a = 
new QAction( tr( 
"Check and All its Children (⌘-click)" ), parent );
   169   QAction *a = 
new QAction( tr( 
"Check and All its Children (Ctrl-click)" ), parent );
   171   connect( a, &QAction::triggered, 
this, &QgsLayerTreeViewDefaultActions::checkAndAllChildren );
   181   QAction *a = 
new QAction( tr( 
"Uncheck and All its Children (⌘-click)" ), parent );
   183   QAction *a = 
new QAction( tr( 
"Uncheck and All its Children (Ctrl-click)" ), parent );
   185   connect( a, &QAction::triggered, 
this, &QgsLayerTreeViewDefaultActions::uncheckAndAllChildren );
   194   QAction *a = 
new QAction( tr( 
"Check and All its Parents" ), parent );
   195   connect( a, &QAction::triggered, 
this, &QgsLayerTreeViewDefaultActions::checkAndAllParents );
   199 void QgsLayerTreeViewDefaultActions::checkAndAllChildren()
   207 void QgsLayerTreeViewDefaultActions::uncheckAndAllChildren()
   215 void QgsLayerTreeViewDefaultActions::checkAndAllParents()
   253   int newValue = node->
customProperty( QStringLiteral( 
"overview" ), 0 ).toInt();
   256     l->setCustomProperty( QStringLiteral( 
"overview" ), newValue ? 0 : 1 );
   265   int newValue = node->
customProperty( QStringLiteral( 
"showFeatureCount" ), 0 ).toInt();
   268     l->setCustomProperty( QStringLiteral( 
"showFeatureCount" ), newValue ? 0 : 1 );
   278   QList<QgsMapLayer *> layers;
   298   QList<QgsMapLayer *> layers;
   299   const auto constFindLayerIds = groupNode->
findLayerIds();
   300   for ( 
const QString &layerId : constFindLayerIds )
   308   QAction *s = qobject_cast<QAction *>( sender() );
   310   QApplication::setOverrideCursor( Qt::WaitCursor );
   312   QApplication::restoreOverrideCursor();
   317   QAction *s = qobject_cast<QAction *>( sender() );
   325   QAction *s = qobject_cast<QAction *>( sender() );
   327   QApplication::setOverrideCursor( Qt::WaitCursor );
   329   QApplication::restoreOverrideCursor();
   338   for ( 
int i = 0; i < layers.size(); ++i )
   352         layerExtent = vLayer->
extent();
   356     if ( layerExtent.
isNull() )
   369   extent.
scale( 1.05 );
   380   QString newName = prefix + 
'1';
   381   for ( 
int i = 2; parentGroup->
findGroup( newName ); ++i )
   382     newName = prefix + QString::number( i );
   394     if ( !parentGroup || parentGroup == rootGroup )
   410     if ( !parentGroup || parentGroup == rootGroup )
   413     while ( tempGroup->
parent() != rootGroup )
   418     int insertIdx = rootGroup->
children().indexOf( tempGroup );
   427   QMap <QgsLayerTreeGroup *, int> groupInsertIdx;
   434     if ( groupInsertIdx.contains( parentGroup ) )
   436       insertIdx = groupInsertIdx.value( parentGroup );
   444     groupInsertIdx.insert( parentGroup, insertIdx + 1 );
   455   int insertIdx = parentGroup->
children().indexOf( nodes[0] );
 Layer tree group node serves as a container for layers and further groups. 
 
A rectangle specified with double values. 
 
Base class for all map layer types. 
 
The QgsLayerTreeView class extends QTreeView and provides some additional functionality when working ...
 
QgsLayerTreeGroup * addGroup(const QString &name)
Append a new group node with given name. 
 
Temporarily sets a cursor override for the QApplication for the lifetime of the object. 
 
void zoomToSelection()
Slot to zoom to selected features of a vector layer. 
 
void setMinimal()
Set a rectangle so that min corner is at max and max corner is at min. 
 
static bool isGroup(QgsLayerTreeNode *node)
Check whether the node is a valid group node. 
 
bool isItemVisibilityUncheckedRecursive() const
Returns whether this node is unchecked and all its children. 
 
void setIsMutuallyExclusive(bool enabled, int initialChildIndex=-1)
Set whether the group is mutually exclusive (only one child can be checked at a time). 
 
void zoomToLayers(QgsMapCanvas *canvas, const QList< QgsMapLayer *> &layers)
 
QAction * actionZoomToGroup(QgsMapCanvas *canvas, QObject *parent=nullptr)
 
virtual QgsLayerTreeNode * clone() const =0
Create a copy of the node. Returns new instance. 
 
QAction * actionMoveOutOfGroup(QObject *parent=nullptr)
 
static QgsLayerTreeGroup * toGroup(QgsLayerTreeNode *node)
Cast node to a group. 
 
QAction * actionCheckAndAllChildren(QObject *parent=nullptr)
Action to check a group and all its children. 
 
QgsLayerTreeViewDefaultActions(QgsLayerTreeView *view)
 
QAction * actionAddGroup(QObject *parent=nullptr)
 
void scale(double scaleFactor, const QgsPointXY *c=nullptr)
Scale the rectangle around its center point. 
 
void renameGroupOrLayer()
 
#define Q_NOWARN_DEPRECATED_PUSH
 
QAction * actionGroupSelected(QObject *parent=nullptr)
 
Q_DECL_DEPRECATED void makeTopLevel()
 
QgsWkbTypes::GeometryType geometryType() const
Returns point, line or polygon. 
 
QAction * actionRemoveGroupOrLayer(QObject *parent=nullptr)
 
void refresh()
Repaints the canvas map. 
 
static QIcon getThemeIcon(const QString &name)
Helper to get a theme icon. 
 
void removeChildNode(QgsLayerTreeNode *node)
Remove a child node from this group. 
 
bool isVisible() const
Returns whether a node is really visible (ie checked and all its ancestors checked as well) ...
 
QgsMapLayer * currentLayer() const
Returns the currently selected layer, or nullptr if no layers is selected. 
 
QModelIndex node2index(QgsLayerTreeNode *node) const
Returns index for a given node. If the node does not belong to the layer tree, the result is undefine...
 
Map canvas is a class for displaying all GIS data types on a canvas. 
 
virtual QgsRectangle extent() const
Returns the extent of the layer. 
 
QList< QgsLayerTreeLayer * > selectedLayerNodes() const
Returns list of selected nodes filtered to just layer nodes. 
 
void moveOutOfGroup()
Moves selected layer(s) out of the group(s) and places this/these above the group(s) ...
 
QAction * actionZoomToSelection(QgsMapCanvas *canvas, QObject *parent=nullptr)
Action to zoom to selected features of a vector layer. 
 
The QgsLayerTreeViewDefaultActions class serves as a factory of actions that can be used together wit...
 
virtual void updateExtents(bool force=false)
Update the extents for the layer. 
 
virtual void setItemVisibilityCheckedRecursive(bool checked)
Check or uncheck a node and all its children (taking into account exclusion rules) ...
 
QList< QgsLayerTreeNode * > children()
Gets list of children of the node. Children are owned by the parent. 
 
void removeGroupOrLayer()
 
bool isEmpty() const
Returns true if the rectangle is empty. 
 
Q_DECL_DEPRECATED QAction * actionMakeTopLevel(QObject *parent=nullptr)
 
void mutuallyExclusiveGroup()
Slot to enable/disable mutually exclusive group flag. 
 
QgsLayerTreeNode * parent()
Gets pointer to the parent. If parent is nullptr, the node is a root node. 
 
QgsLayerTreeGroup * currentGroupNode() const
Gets current group node. If a layer is current node, the function will return parent group...
 
QAction * actionCheckAndAllParents(QObject *parent=nullptr)
Action to check a group and all its parents. 
 
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...
 
QgsRectangle layerExtentToOutputExtent(const QgsMapLayer *layer, QgsRectangle extent) const
transform bounding box from layer's CRS to output CRS 
 
static bool isLayer(const QgsLayerTreeNode *node)
Check whether the node is a valid layer node. 
 
This class is a base class for nodes in a layer tree. 
 
QgsRectangle extent() const FINAL
Returns the extent of the layer. 
 
QgsLayerTreeModel * layerTreeModel() const
Gets access to the model casted to QgsLayerTreeModel. 
 
void zoomToSelected(QgsVectorLayer *layer=nullptr)
Zoom to the extent of the selected features of provided (vector) layer. 
 
void setItemVisibilityCheckedParentRecursive(bool checked)
Check or uncheck a node and all its parents. 
 
bool isItemVisibilityCheckedRecursive() const
Returns whether this node is checked and all its children. 
 
QAction * actionZoomToLayer(QgsMapCanvas *canvas, QObject *parent=nullptr)
 
const QgsMapSettings & mapSettings() const
Gets access to properties used for map rendering. 
 
void combineExtentWith(const QgsRectangle &rect)
Expands the rectangle so that it covers both the original rectangle and the given rectangle...
 
#define Q_NOWARN_DEPRECATED_POP
 
QAction * actionMutuallyExclusiveGroup(QObject *parent=nullptr)
Action to enable/disable mutually exclusive flag of a group (only one child node may be checked) ...
 
QList< QgsLayerTreeNode * > selectedNodes(bool skipInternal=false) const
Returns list of selected nodes. 
 
void insertChildNode(int index, QgsLayerTreeNode *node)
Insert existing node at specified position. 
 
QgsLayerTree * rootGroup() const
Returns pointer to the root node of the layer tree. Always a non nullptr value. 
 
QgsLayerTreeGroup * findGroup(const QString &name)
Find group node with specified name. 
 
static QgsProject * instance()
Returns the QgsProject singleton instance. 
 
QString uniqueGroupName(QgsLayerTreeGroup *parentGroup)
 
bool isNull() const
Test if the rectangle is null (all coordinates zero or after call to setMinimal()). 
 
void addChildNode(QgsLayerTreeNode *node)
Append an existing node. 
 
void setExtent(const QgsRectangle &r, bool magnified=false)
Sets the extent of the map canvas. 
 
QAction * actionMoveToTop(QObject *parent=nullptr)
 
Q_INVOKABLE QgsMapLayer * mapLayer(const QString &layerId) const
Retrieve a pointer to a registered layer by layer ID. 
 
QStringList findLayerIds() const
Find layer IDs used in all layer nodes. 
 
QAction * actionShowFeatureCount(QObject *parent=nullptr)
 
QAction * actionRenameGroupOrLayer(QObject *parent=nullptr)
 
Represents a vector layer which manages a vector based data sets. 
 
QAction * actionUncheckAndAllChildren(QObject *parent=nullptr)
Action to uncheck a group and all its children. 
 
QgsLayerTreeLayer * clone() const override
Create a copy of the node. Returns new instance. 
 
QAction * actionShowInOverview(QObject *parent=nullptr)
 
Layer tree node points to a map layer. 
 
void moveToTop()
Moves selected layer(s) and/or group(s) to the top of the layer panel or the top of the group if the ...
 
QgsLayerTreeNode * currentNode() const
Gets current node. May be nullptr.