QGIS/python/core/layertree/qgslayertreeregistrybridge.sip

48 lines
1.7 KiB
Plaintext
Raw Normal View History

/**
* 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:
2016-12-10 16:17:02 +08:00
//! 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 );
};