This class tracks map layers that are currently loaded and provides a means to fetch a pointer to a map layer and delete it.
More...
#include <qgsmaplayerregistry.h>
Public Member Functions |
int | count () |
| Return the number of registered layers.
|
| ~QgsMapLayerRegistry () |
QgsMapLayer * | mapLayer (QString theLayerId) |
| Retrieve a pointer to a loaded layer by id.
|
QList< QgsMapLayer * > | mapLayersByName (QString layerName) |
| Retrieve a pointer to a loaded layer by name.
|
const QMap< QString,
QgsMapLayer * > & | mapLayers () |
| Retrieve the mapLayers collection (mainly intended for use by projection)
|
QList< QgsMapLayer * > | addMapLayers (QList< QgsMapLayer * > theMapLayers, bool addToLegend=true, bool takeOwnership=true) |
| Add a list of layers to the map of loaded layers.
|
QgsMapLayer * | addMapLayer (QgsMapLayer *theMapLayer, bool addToLegend=true, bool takeOwnership=true) |
| Add a layer to the map of loaded layers.
|
void | removeMapLayers (QStringList theLayerIds) |
| Remove a set of layers from the registry.
|
void | removeMapLayer (const QString &theLayerId) |
| Remove a layer from qgis.
|
void | removeAllMapLayers () |
| Remove all registered layers.
|
Q_DECL_DEPRECATED void | clearAllLayerCaches () |
| Clears all layer caches, resetting them to zero and freeing up any memory they may have been using.
|
void | reloadAllLayers () |
| Reload all provider data caches (currently used for WFS and WMS providers)
|
Static Public Member Functions |
static QgsMapLayerRegistry * | instance () |
| Returns the instance pointer, creating the object on the first call.
|
Protected Member Functions |
void | connectNotify (const char *signal) |
| debugging member invoked when a connect() is made to this object
|
Detailed Description
This class tracks map layers that are currently loaded and provides a means to fetch a pointer to a map layer and delete it.
Constructor & Destructor Documentation
QgsMapLayerRegistry::~QgsMapLayerRegistry |
( |
| ) |
|
Member Function Documentation
QgsMapLayer * QgsMapLayerRegistry::addMapLayer |
( |
QgsMapLayer * |
theMapLayer, |
|
|
bool |
addToLegend = true , |
|
|
bool |
takeOwnership = true |
|
) |
| |
Add a layer to the map of loaded layers.
The layersAdded() and layersWasAdded() signals will be emitted in any case. The legendLayersAdded() signal only if addToLegend is true. If you are adding multiple layers at once, you should use addMapLayers() instead.
- Parameters
-
theMapLayer | A layer to add to the registry |
addToLegend | If true (by default), the layer will be added to the legend and to the main canvas. If you have a private you can set this parameter to false to hide it. |
takeOwnership | Ownership will be transferred to the layer registry. If you specify false here, you have take care of deleting the layer yourself. Not available in python. |
- Returns
- NULL if unable to add layer, otherwise pointer to newly added layer
- See Also
- addMapLayers
- Note
- As a side-effect QgsProject is made dirty.
-
Use addMapLayers if adding more than one layer at a time
-
takeOwner not available in python binding - always takes ownership
QList< QgsMapLayer * > QgsMapLayerRegistry::addMapLayers |
( |
QList< QgsMapLayer * > |
theMapLayers, |
|
|
bool |
addToLegend = true , |
|
|
bool |
takeOwnership = true |
|
) |
| |
Add a list of layers to the map of loaded layers.
The layersAdded() and layersWasAdded() signals will be emitted in any case. The legendLayersAdded() signal only if addToLegend is true.
- Parameters
-
theMapLayers | A list of layer which should be added to the registry |
addToLegend | If true (by default), the layers will be added to the legend and to the main canvas. If you have a private layer, you can set this parameter to false to hide it. |
takeOwnership | Ownership will be transferred to the layer registry. If you specify false here, you have take care of deleting the layers yourself. Not available in python. |
- Returns
- QList<QgsMapLayer *> - a list of the map layers that were added successfully. If a layer is invalid, or already exists in the registry, it will not be part of the returned QList.
- Note
- As a side-effect QgsProject is made dirty.
-
takeOwner not available in python binding - always takes ownership
void QgsMapLayerRegistry::clearAllLayerCaches |
( |
| ) |
|
Clears all layer caches, resetting them to zero and freeing up any memory they may have been using.
Layer caches are used to speed up rendering in certain situations see ticket #1974 for more details.
- Deprecated:
- since 2.4 - does nothing
void QgsMapLayerRegistry::connectNotify |
( |
const char * |
signal | ) |
|
|
protected |
debugging member invoked when a connect() is made to this object
int QgsMapLayerRegistry::count |
( |
| ) |
|
Return the number of registered layers.
Returns the instance pointer, creating the object on the first call.
void QgsMapLayerRegistry::layerRemoved |
( |
QString |
theLayerId | ) |
|
|
signal |
Emitted after a layer was removed from the registry.
- Parameters
-
theLayerId | The id of the layer removed |
- Note
- Consider using layersRemoved() instead
void QgsMapLayerRegistry::layersAdded |
( |
QList< QgsMapLayer * > |
theMapLayers | ) |
|
|
signal |
Emitted when one or more layers are added to the registry.
This signal is also emitted for layers added to the registry, but not to the legend and canvas.
- Parameters
-
theMapLayers | The layers which have been added |
- See Also
- legendLayersAdded()
void QgsMapLayerRegistry::layersRemoved |
( |
QStringList |
theLayerIds | ) |
|
|
signal |
Emitted after one or more layers were removed from the registry.
- Parameters
-
theLayerIds | A list of ids of the layers which were removed. |
void QgsMapLayerRegistry::layersWillBeRemoved |
( |
QStringList |
theLayerIds | ) |
|
|
signal |
Emitted when one or more layers are removed from the registry.
- Parameters
-
theLayerIds | A list of ids of the layers which are removed. |
void QgsMapLayerRegistry::layerWasAdded |
( |
QgsMapLayer * |
theMapLayer | ) |
|
|
signal |
Emitted when a layer is added to the registry.
- Parameters
-
theMapLayer | The id of the layer which has been added |
- Note
- Consider using layersAdded() instead
void QgsMapLayerRegistry::layerWillBeRemoved |
( |
QString |
theLayerId | ) |
|
|
signal |
Emitted when a layer is removed from the registry.
- Parameters
-
theLayerId | The id of the layer being removed |
- Note
- Consider using layersWillBeRemoved() instead
void QgsMapLayerRegistry::legendLayersAdded |
( |
QList< QgsMapLayer * > |
theMapLayers | ) |
|
|
signal |
Emitted, when a layer is added to the registry and the legend.
Plugins are allowed to have private layers, which are signalled by layersAdded() and layerWasAdded() but will not be advertised by this signal.
- Parameters
-
theMapLayers | The QgsMapLayers which are added to the legend. |
QgsMapLayer * QgsMapLayerRegistry::mapLayer |
( |
QString |
theLayerId | ) |
|
Retrieve a pointer to a loaded layer by id.
const QMap< QString, QgsMapLayer * > & QgsMapLayerRegistry::mapLayers |
( |
| ) |
|
Retrieve the mapLayers collection (mainly intended for use by projection)
QList< QgsMapLayer * > QgsMapLayerRegistry::mapLayersByName |
( |
QString |
layerName | ) |
|
Retrieve a pointer to a loaded layer by name.
void QgsMapLayerRegistry::reloadAllLayers |
( |
| ) |
|
Reload all provider data caches (currently used for WFS and WMS providers)
void QgsMapLayerRegistry::removeAll |
( |
| ) |
|
|
signal |
Emitted, when all layers are removed, before layersWillBeRemoved() and layerWillBeRemoved() signals are emitted.
You will still get these signals in any case. You can use this signal to do easy (and fast) cleanup.
void QgsMapLayerRegistry::removeAllMapLayers |
( |
| ) |
|
Remove all registered layers.
- Note
- As a side-effect QgsProject is made dirty.
-
The layers are deleted as the registry is cleared!
void QgsMapLayerRegistry::removeMapLayer |
( |
const QString & |
theLayerId | ) |
|
Remove a layer from qgis.
Any canvases using the affected layers will need to remove them
The layer being removed is deleted as well as the registry table entry.
- Parameters
-
theLayerId | The id of the layer to remove |
- Note
- As a side-effect QgsProject is made dirty.
void QgsMapLayerRegistry::removeMapLayers |
( |
QStringList |
theLayerIds | ) |
|
Remove a set of layers from the registry.
Any canvases using the affected layers will need to remove them
The layers being removed are deleted as well as the registry table entries.
- Parameters
-
theLayerIds | The ids of the layers to remove |
- Note
- As a side-effect QgsProject is made dirty.
The documentation for this class was generated from the following files: