QGIS/python/core/layertree/qgslayertreeregistrybridge.sip
Martin Dobias cc306099d9 Fix #11474 (cannot move layers in layer tree anymore)
I have managed to break that with implementation of #11369.
Obviously it is a bad idea to change selection in a slot connected to model's rowsInserted signals
because the drag'n'drop does not work properly anymore. Now registry bridge will emit a signal after
new layers have been added, so the selection change at that point should be safe.
2014-10-23 19:08:54 +07:00

38 lines
1.2 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:
explicit QgsLayerTreeRegistryBridge( QgsLayerTreeGroup* root, 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( QList<QgsMapLayer*> layers );
};