27using namespace Qt::StringLiterals;
61 if ( !mPluginLayerTypes.isEmpty() )
63 QgsDebugMsgLevel( u
"QgsPluginLayerRegistry::~QgsPluginLayerRegistry(): creator list not empty"_s, 2 );
64 const QStringList keys = mPluginLayerTypes.keys();
65 for (
const QString &key : keys )
74 return mPluginLayerTypes.keys();
82 if ( mPluginLayerTypes.contains( type->
name() ) )
85 mPluginLayerTypes[type->
name()] = type;
92 if ( !mPluginLayerTypes.contains( typeName ) )
97 const auto constLayers = layers;
106 QStringList() << layer->id() );
111 delete mPluginLayerTypes.take( typeName );
117 return mPluginLayerTypes.value( typeName,
nullptr );
130 if ( !uri.isEmpty() )
@ Plugin
Plugin based layer.
Base class for all map layer types.
bool addPluginLayerType(QgsPluginLayerType *pluginLayerType)
Add plugin layer type (take ownership) and return true on success.
~QgsPluginLayerRegistry()
bool removePluginLayerType(const QString &typeName)
Remove plugin layer type and return true on success.
QStringList pluginLayerTypes()
List all known layer types.
QgsPluginLayerType * pluginLayerType(const QString &typeName)
Returns plugin layer type metadata or nullptr if doesn't exist.
QgsPluginLayer * createLayer(const QString &typeName, const QString &uri=QString())
Returns new layer if corresponding plugin has been found else returns nullptr.
Responsible for creating plugin specific map layers.
virtual bool showLayerProperties(QgsPluginLayer *layer)
Show plugin layer properties dialog. Return false if the dialog cannot be shown.
QgsPluginLayerType(const QString &name)
virtual QgsPluginLayer * createLayer()
Returns new layer of this type. Return nullptr on error.
Base class for plugin layers.
QString pluginLayerType() const
Returns plugin layer type (the same as used in QgsPluginLayerRegistry).
static QgsProject * instance()
Returns the QgsProject singleton instance.
void removeMapLayers(const QStringList &layerIds)
Remove a set of layers from the registry by layer ID.
QMap< QString, QgsMapLayer * > mapLayers(const bool validOnly=false) const
Returns a map of all registered layers by layer ID.
#define QgsDebugMsgLevel(str, level)
#define QgsDebugError(str)