void QgsLayerTreeMapCanvasBridge::defaultLayerOrder( QgsLayerTreeNode* node, QStringList& order ) const { if ( QgsLayerTree::isLayer( node ) ) { QgsLayerTreeLayer* nodeLayer = QgsLayerTree::toLayer( node ); order << nodeLayer->layerId(); } foreach ( QgsLayerTreeNode* child, node->children() ) defaultLayerOrder( child, order ); }
void QgsLayerTreeRegistryBridge::layersAdded( QList<QgsMapLayer*> layers ) { if ( !mEnabled ) return; foreach ( QgsMapLayer* layer, layers ) { // add new layer to the top QgsLayerTreeLayer* nodeLayer = mInsertionPointGroup->insertLayer( mInsertionPointIndex, layer ); // check whether the layer is marked as embedded QString projectFile = QgsProject::instance()->layerIsEmbedded( nodeLayer->layerId() ); if ( !projectFile.isEmpty() ) { nodeLayer->setCustomProperty( "embedded", 1 ); nodeLayer->setCustomProperty( "embedded_project", projectFile ); } }
void QgsLayerTreeRegistryBridge::layersAdded( const QList<QgsMapLayer*>& layers ) { if ( !mEnabled ) return; QList<QgsLayerTreeNode*> nodes; Q_FOREACH ( QgsMapLayer* layer, layers ) { QgsLayerTreeLayer* nodeLayer = new QgsLayerTreeLayer( layer ); nodeLayer->setVisible( mNewLayersVisible ? Qt::Checked : Qt::Unchecked ); nodes << nodeLayer; // check whether the layer is marked as embedded QString projectFile = QgsProject::instance()->layerIsEmbedded( nodeLayer->layerId() ); if ( !projectFile.isEmpty() ) { nodeLayer->setCustomProperty( "embedded", 1 ); nodeLayer->setCustomProperty( "embedded_project", projectFile ); } }
void QgsLayerTreeRegistryBridge::layersAdded( QList<QgsMapLayer*> layers ) { if ( !mEnabled ) return; int i = 0; foreach ( QgsMapLayer* layer, layers ) { QgsLayerTreeLayer* nodeLayer = new QgsLayerTreeLayer( layer ); nodeLayer->setVisible( mNewLayersVisible ? Qt::Checked : Qt::Unchecked ); // add new layer to the top mInsertionPointGroup->insertChildNode( mInsertionPointIndex + i++, nodeLayer ); // check whether the layer is marked as embedded QString projectFile = QgsProject::instance()->layerIsEmbedded( nodeLayer->layerId() ); if ( !projectFile.isEmpty() ) { nodeLayer->setCustomProperty( "embedded", 1 ); nodeLayer->setCustomProperty( "embedded_project", projectFile ); } }
QStringList QgsLayerTreeUtils::invisibleLayerList( QgsLayerTreeNode *node ) { QStringList list; if ( QgsLayerTree::isGroup( node ) ) { const auto constChildren = QgsLayerTree::toGroup( node )->children(); for ( QgsLayerTreeNode *child : constChildren ) { list << invisibleLayerList( child ); } } else if ( QgsLayerTree::isLayer( node ) ) { QgsLayerTreeLayer *layer = QgsLayerTree::toLayer( node ); if ( !layer->isVisible() ) list << layer->layerId(); } return list; }