//introduced in 1.8 QList<QgsMapLayer *> QgsMapLayerRegistry::addMapLayers( QList<QgsMapLayer *> theMapLayers, bool addToLegend, bool takeOwnership ) { QList<QgsMapLayer *> myResultList; for ( int i = 0; i < theMapLayers.size(); ++i ) { QgsMapLayer * myLayer = theMapLayers.at( i ); if ( !myLayer || !myLayer->isValid() ) { QgsDebugMsg( "cannot add invalid layers" ); continue; } //check the layer is not already registered! if ( !mMapLayers.contains( myLayer->id() ) ) { mMapLayers[myLayer->id()] = myLayer; myResultList << mMapLayers[myLayer->id()]; if ( takeOwnership ) mOwnedLayers << myLayer; emit layerWasAdded( myLayer ); } } if ( myResultList.count() > 0 ) { emit layersAdded( myResultList ); if ( addToLegend ) emit legendLayersAdded( myResultList ); } return myResultList; } // QgsMapLayerRegistry::addMapLayers
QList<QgsMapLayer *> QgsMapLayerRegistry::addMapLayers( const QList<QgsMapLayer *>& theMapLayers, bool addToLegend, bool takeOwnership ) { QList<QgsMapLayer *> myResultList; Q_FOREACH ( QgsMapLayer* myLayer, theMapLayers ) { if ( !myLayer || !myLayer->isValid() ) { QgsDebugMsg( "Cannot add invalid layers" ); continue; } //check the layer is not already registered! if ( !mMapLayers.contains( myLayer->id() ) ) { mMapLayers[myLayer->id()] = myLayer; myResultList << mMapLayers[myLayer->id()]; if ( takeOwnership ) { myLayer->setParent( this ); } connect( myLayer, SIGNAL( destroyed( QObject* ) ), this, SLOT( onMapLayerDeleted( QObject* ) ) ); emit layerWasAdded( myLayer ); } }
QList<QgsMapLayer *> QgsMapLayerStore::addMapLayers( const QList<QgsMapLayer *> &layers, bool takeOwnership ) { QList<QgsMapLayer *> myResultList; Q_FOREACH ( QgsMapLayer *myLayer, layers ) { if ( !myLayer || !myLayer->isValid() ) { QgsDebugMsg( "Cannot add invalid layers" ); continue; } //check the layer is not already registered! if ( !mMapLayers.contains( myLayer->id() ) ) { mMapLayers[myLayer->id()] = myLayer; myResultList << mMapLayers[myLayer->id()]; if ( takeOwnership ) { myLayer->setParent( this ); } connect( myLayer, &QObject::destroyed, this, &QgsMapLayerStore::onMapLayerDeleted ); emit layerWasAdded( myLayer ); } } if ( !myResultList.isEmpty() ) { emit layersAdded( myResultList ); } return myResultList; }
QgsMapLayer * QgsMapLayerRegistry::addMapLayer( QgsMapLayer * theMapLayer, bool theEmitSignal ) { if ( !theMapLayer || !theMapLayer->isValid() ) { QgsDebugMsg( "cannot add invalid layers" ); return 0; } //check the layer is not already registered! QMap<QString, QgsMapLayer*>::iterator myIterator = mMapLayers.find( theMapLayer->id() ); //if myIterator returns mMapLayers.end() then it does not exist in registry and its safe to add it if ( myIterator == mMapLayers.end() ) { mMapLayers[theMapLayer->id()] = theMapLayer; if ( theEmitSignal ) emit layerWasAdded( theMapLayer ); return mMapLayers[theMapLayer->id()]; } else { return 0; } } // QgsMapLayerRegistry::addMapLayer
//introduced in 1.8 QList<QgsMapLayer *> QgsMapLayerRegistry::addMapLayers( QList<QgsMapLayer *> theMapLayers, bool addToLegend ) { QList<QgsMapLayer *> myResultList; for ( int i = 0; i < theMapLayers.size(); ++i ) { QgsMapLayer * myLayer = theMapLayers.at( i ); if ( !myLayer || !myLayer->isValid() ) { QgsDebugMsg( "cannot add invalid layers" ); continue; } //check the layer is not already registered! QMap<QString, QgsMapLayer*>::iterator myIterator = mMapLayers.find( myLayer->id() ); //if myIterator returns mMapLayers.end() then it //does not exist in registry and its safe to add it if ( myIterator == mMapLayers.end() ) { mMapLayers[myLayer->id()] = myLayer; myResultList << mMapLayers[myLayer->id()]; emit layerWasAdded( myLayer ); } } if ( myResultList.count() > 0 ) { emit layersAdded( myResultList ); if ( addToLegend ) emit legendLayersAdded( myResultList ); } return myResultList; } // QgsMapLayerRegistry::addMapLayers