mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
48 lines
1.7 KiB
Plaintext
48 lines
1.7 KiB
Plaintext
/**
|
|
* 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.
|
|
*
|
|
* @note added in 2.4
|
|
*/
|
|
class QgsLayerTreeRegistryBridge : QObject
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgslayertreeregistrybridge.h>
|
|
%End
|
|
|
|
public:
|
|
//! Create the instance that synchronizes given project with a layer tree root
|
|
explicit QgsLayerTreeRegistryBridge( QgsLayerTreeGroup* root, QgsProject* project, QObject *parent /TransferThis/ = 0 );
|
|
|
|
void setEnabled( bool enabled );
|
|
bool isEnabled() const;
|
|
|
|
void setNewLayersVisible( bool enabled );
|
|
bool newLayersVisible() const;
|
|
|
|
//! Set where the new layers should be inserted - can be used to follow current selection.
|
|
//! By default it is root group with zero index.
|
|
void setLayerInsertionPoint( QgsLayerTreeGroup* parentGroup, int index );
|
|
|
|
signals:
|
|
//! Tell others we have just added layers to the tree (used in QGIS to auto-select first newly added layer)
|
|
//! @note added in 2.6
|
|
void addedLayersToLayerTree( const QList<QgsMapLayer*>& layers );
|
|
|
|
protected slots:
|
|
void layersAdded( const QList<QgsMapLayer*>& layers );
|
|
void layersWillBeRemoved( const QStringList& layerIds );
|
|
|
|
void groupWillRemoveChildren( QgsLayerTreeNode* node, int indexFrom, int indexTo );
|
|
void groupRemovedChildren();
|
|
|
|
void removeLayersFromRegistry( const QStringList& layerIds );
|
|
|
|
};
|