2014-06-03 15:56:53 +07:00
|
|
|
/**
|
|
|
|
* 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 15:18:12 +08:00
|
|
|
explicit QgsLayerTreeRegistryBridge( QgsLayerTreeGroup* root, QgsProject* project, QObject *parent /TransferThis/ = 0 );
|
2014-06-03 15:56:53 +07:00
|
|
|
|
|
|
|
void setEnabled( bool enabled );
|
|
|
|
bool isEnabled() const;
|
|
|
|
|
2014-06-04 13:31:39 +07:00
|
|
|
void setNewLayersVisible( bool enabled );
|
|
|
|
bool newLayersVisible() const;
|
|
|
|
|
2014-06-03 15:56:53 +07:00
|
|
|
//! 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 );
|
|
|
|
|
2014-10-23 19:01:22 +07:00
|
|
|
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
|
2015-10-26 22:46:25 +11:00
|
|
|
void addedLayersToLayerTree( const QList<QgsMapLayer*>& layers );
|
2014-10-23 19:01:22 +07:00
|
|
|
|
2016-01-04 22:51:18 +11:00
|
|
|
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 );
|
|
|
|
|
2014-06-03 15:56:53 +07:00
|
|
|
};
|