QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Classes | Signals | Public Member Functions | Protected Slots | Protected Attributes | List of all members
QgsLayerTreeRegistryBridge Class Reference

Listens to the updates in map layer registry and does changes in layer tree. More...

#include <qgslayertreeregistrybridge.h>

Inheritance diagram for QgsLayerTreeRegistryBridge:
Inheritance graph
[legend]

Classes

struct  InsertionPoint
 A structure to define the insertion point to the layer tree. More...
 

Signals

void addedLayersToLayerTree (const QList< QgsMapLayer * > &layers)
 Tell others we have just added layers to the tree (used in QGIS to auto-select first newly added layer) More...
 

Public Member Functions

 QgsLayerTreeRegistryBridge (QgsLayerTreeGroup *root, QgsProject *project, QObject *parent=nullptr)
 Create the instance that synchronizes given project with a layer tree root. More...
 
bool isEnabled () const
 
Qgis::LayerTreeInsertionMethod layerInsertionMethod () const
 Returns the insertion method used to add layers to the tree. More...
 
bool newLayersVisible () const
 
void setEnabled (bool enabled)
 
void setLayerInsertionMethod (Qgis::LayerTreeInsertionMethod method)
 Sets the insertion method used to add layers to the tree. More...
 
void setLayerInsertionPoint (const InsertionPoint &insertionPoint)
 Set where the new layers should be inserted - can be used to follow current selection. More...
 
Q_DECL_DEPRECATED void setLayerInsertionPoint (QgsLayerTreeGroup *parentGroup, int index)
 Set where the new layers should be inserted - can be used to follow current selection. More...
 
void setNewLayersVisible (bool enabled)
 

Protected Slots

void groupRemovedChildren ()
 
void groupWillRemoveChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 
void layersAdded (const QList< QgsMapLayer * > &layers)
 
void layersWillBeRemoved (const QStringList &layerIds)
 
void removeLayersFromRegistry (const QStringList &layerIds)
 

Protected Attributes

bool mEnabled
 
Qgis::LayerTreeInsertionMethod mInsertionMethod = Qgis::LayerTreeInsertionMethod::AboveInsertionPoint
 
InsertionPoint mInsertionPoint
 
QStringList mLayerIdsForRemoval
 
bool mNewLayersVisible
 
QgsProjectmProject = nullptr
 
bool mRegistryRemovingLayers
 
QgsLayerTreeGroupmRoot = nullptr
 

Detailed Description

Listens to the updates in map layer registry and does changes in layer tree.

When connected to a layer tree, any layers added to the map layer registry will be also added to the layer tree. Similarly, map layers that are removed from registry will be removed from the layer tree.

If a layer is completely removed from the layer tree, it will be also removed from the map layer registry.

Definition at line 44 of file qgslayertreeregistrybridge.h.

Constructor & Destructor Documentation

◆ QgsLayerTreeRegistryBridge()

QgsLayerTreeRegistryBridge::QgsLayerTreeRegistryBridge ( QgsLayerTreeGroup root,
QgsProject project,
QObject *  parent = nullptr 
)
explicit

Create the instance that synchronizes given project with a layer tree root.

Definition at line 23 of file qgslayertreeregistrybridge.cpp.

Member Function Documentation

◆ addedLayersToLayerTree

void QgsLayerTreeRegistryBridge::addedLayersToLayerTree ( const QList< QgsMapLayer * > &  layers)
signal

Tell others we have just added layers to the tree (used in QGIS to auto-select first newly added layer)

◆ groupRemovedChildren

void QgsLayerTreeRegistryBridge::groupRemovedChildren ( )
protectedslot

Definition at line 149 of file qgslayertreeregistrybridge.cpp.

◆ groupWillRemoveChildren

void QgsLayerTreeRegistryBridge::groupWillRemoveChildren ( QgsLayerTreeNode node,
int  indexFrom,
int  indexTo 
)
protectedslot

Definition at line 136 of file qgslayertreeregistrybridge.cpp.

◆ isEnabled()

bool QgsLayerTreeRegistryBridge::isEnabled ( ) const
inline

Definition at line 68 of file qgslayertreeregistrybridge.h.

◆ layerInsertionMethod()

Qgis::LayerTreeInsertionMethod QgsLayerTreeRegistryBridge::layerInsertionMethod ( ) const
inline

Returns the insertion method used to add layers to the tree.

Since
QGIS 3.30

Definition at line 97 of file qgslayertreeregistrybridge.h.

◆ layersAdded

void QgsLayerTreeRegistryBridge::layersAdded ( const QList< QgsMapLayer * > &  layers)
protectedslot

Definition at line 50 of file qgslayertreeregistrybridge.cpp.

◆ layersWillBeRemoved

void QgsLayerTreeRegistryBridge::layersWillBeRemoved ( const QStringList &  layerIds)
protectedslot

Definition at line 97 of file qgslayertreeregistrybridge.cpp.

◆ newLayersVisible()

bool QgsLayerTreeRegistryBridge::newLayersVisible ( ) const
inline

Definition at line 71 of file qgslayertreeregistrybridge.h.

◆ removeLayersFromRegistry

void QgsLayerTreeRegistryBridge::removeLayersFromRegistry ( const QStringList &  layerIds)
protectedslot

Definition at line 171 of file qgslayertreeregistrybridge.cpp.

◆ setEnabled()

void QgsLayerTreeRegistryBridge::setEnabled ( bool  enabled)
inline

Definition at line 67 of file qgslayertreeregistrybridge.h.

◆ setLayerInsertionMethod()

void QgsLayerTreeRegistryBridge::setLayerInsertionMethod ( Qgis::LayerTreeInsertionMethod  method)
inline

Sets the insertion method used to add layers to the tree.

Since
QGIS 3.30

Definition at line 91 of file qgslayertreeregistrybridge.h.

◆ setLayerInsertionPoint() [1/2]

void QgsLayerTreeRegistryBridge::setLayerInsertionPoint ( const InsertionPoint insertionPoint)

Set where the new layers should be inserted - can be used to follow current selection.

By default it is root group with zero index.

Since
QGIS 3.10

Definition at line 45 of file qgslayertreeregistrybridge.cpp.

◆ setLayerInsertionPoint() [2/2]

void QgsLayerTreeRegistryBridge::setLayerInsertionPoint ( QgsLayerTreeGroup parentGroup,
int  index 
)

Set where the new layers should be inserted - can be used to follow current selection.

By default it is root group with zero index.

Deprecated:
since QGIS 3.10 use setLayerInsertionPoint( const InsertionPoint &insertionPoint ) instead

Definition at line 39 of file qgslayertreeregistrybridge.cpp.

◆ setNewLayersVisible()

void QgsLayerTreeRegistryBridge::setNewLayersVisible ( bool  enabled)
inline

Definition at line 70 of file qgslayertreeregistrybridge.h.

Member Data Documentation

◆ mEnabled

bool QgsLayerTreeRegistryBridge::mEnabled
protected

Definition at line 120 of file qgslayertreeregistrybridge.h.

◆ mInsertionMethod

Qgis::LayerTreeInsertionMethod QgsLayerTreeRegistryBridge::mInsertionMethod = Qgis::LayerTreeInsertionMethod::AboveInsertionPoint
protected

Definition at line 124 of file qgslayertreeregistrybridge.h.

◆ mInsertionPoint

InsertionPoint QgsLayerTreeRegistryBridge::mInsertionPoint
protected

Definition at line 123 of file qgslayertreeregistrybridge.h.

◆ mLayerIdsForRemoval

QStringList QgsLayerTreeRegistryBridge::mLayerIdsForRemoval
protected

Definition at line 118 of file qgslayertreeregistrybridge.h.

◆ mNewLayersVisible

bool QgsLayerTreeRegistryBridge::mNewLayersVisible
protected

Definition at line 121 of file qgslayertreeregistrybridge.h.

◆ mProject

QgsProject* QgsLayerTreeRegistryBridge::mProject = nullptr
protected

Definition at line 117 of file qgslayertreeregistrybridge.h.

◆ mRegistryRemovingLayers

bool QgsLayerTreeRegistryBridge::mRegistryRemovingLayers
protected

Definition at line 119 of file qgslayertreeregistrybridge.h.

◆ mRoot

QgsLayerTreeGroup* QgsLayerTreeRegistryBridge::mRoot = nullptr
protected

Definition at line 116 of file qgslayertreeregistrybridge.h.


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