Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Merge pull request #4478 from nyalldawson/layer_store
Split off map layer storage handling from QgsProject to QgsMapLayerStore
- Loading branch information
Showing
18 changed files
with
2,003 additions
and
723 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,313 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/qgsmaplayerstore.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
|
||
|
||
|
||
class QgsMapLayerStore : QObject | ||
{ | ||
%Docstring | ||
A storage object for map layers, in which the layers are owned by the | ||
store and have their lifetime bound to the store. | ||
.. versionadded:: 3.0 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsmaplayerstore.h" | ||
%End | ||
public: | ||
|
||
explicit QgsMapLayerStore( QObject *parent /TransferThis/ = 0 ); | ||
%Docstring | ||
Constructor for QgsMapLayerStore. | ||
%End | ||
|
||
~QgsMapLayerStore(); | ||
|
||
int count() const; | ||
%Docstring | ||
Returns the number of layers contained in the store. | ||
:rtype: int | ||
%End | ||
|
||
|
||
int __len__() const; | ||
%Docstring | ||
Returns the number of layers contained in the store. | ||
:rtype: int | ||
%End | ||
%MethodCode | ||
sipRes = sipCpp->count(); | ||
%End | ||
|
||
QgsMapLayer *mapLayer( const QString &id ) const; | ||
%Docstring | ||
Retrieve a pointer to a layer by layer ``id``. | ||
\param id ID of layer to retrieve | ||
:return: matching layer, or None if no matching layer found | ||
.. seealso:: mapLayersByName() | ||
.. seealso:: mapLayers() | ||
:rtype: QgsMapLayer | ||
%End | ||
|
||
QList<QgsMapLayer *> mapLayersByName( const QString &name ) const; | ||
%Docstring | ||
Retrieve a list of matching layers by layer ``name``. | ||
\param name name of layers to match | ||
:return: list of matching layers | ||
.. seealso:: mapLayer() | ||
.. seealso:: mapLayers() | ||
:rtype: list of QgsMapLayer | ||
%End | ||
|
||
QMap<QString, QgsMapLayer *> mapLayers() const; | ||
%Docstring | ||
Returns a map of all layers by layer ID. | ||
.. seealso:: mapLayer() | ||
.. seealso:: mapLayersByName() | ||
.. seealso:: layers() | ||
:rtype: QMap<str, QgsMapLayer *> | ||
%End | ||
|
||
|
||
QList<QgsMapLayer *> addMapLayers( const QList<QgsMapLayer *> &layers /Transfer/); | ||
|
||
%Docstring | ||
\brief | ||
Add a list of ``layers`` to the store. Ownership of the layers is transferred | ||
to the store. | ||
|
||
The layersAdded() and layerWasAdded() signals will always be emitted. | ||
|
||
\param layers A list of layer which should be added to the store. | ||
\param takeOwnership Ownership will be transferred to the layer store. | ||
If you specify false here you have take care of deleting | ||
the layers yourself. Not available in Python. | ||
|
||
:return: a list of the map layers that were added | ||
successfully. If a layer is invalid, or already exists in the store, | ||
it will not be part of the returned list. | ||
|
||
.. seealso:: addMapLayer() | ||
:rtype: list of QgsMapLayer | ||
%End | ||
|
||
QgsMapLayer *addMapLayer( QgsMapLayer *layer /Transfer/); | ||
|
||
%Docstring | ||
\brief | ||
Add a ``layer`` to the store. Ownership of the layer is transferred to the | ||
store. | ||
|
||
The layersAdded() and layerWasAdded() signals will always be emitted. | ||
If you are adding multiple layers at once, you should use | ||
addMapLayers() instead. | ||
|
||
\param layer A layer to add to the store | ||
\param takeOwnership Ownership will be transferred to the layer store. | ||
If you specify false here you have take care of deleting | ||
the layers yourself. Not available in Python. | ||
|
||
:return: None if unable to add layer, otherwise pointer to newly added layer | ||
|
||
.. seealso:: addMapLayers | ||
|
||
.. note:: | ||
|
||
Use addMapLayers() if adding more than one layer at a time. | ||
.. seealso:: addMapLayers() | ||
:rtype: QgsMapLayer | ||
%End | ||
|
||
void removeMapLayers( const QStringList &layerIds ) /PyName=removeMapLayersById/; | ||
%Docstring | ||
\brief | ||
Remove a set of layers from the store by layer ID. | ||
|
||
The specified layers will be removed from the store. | ||
These layers will also be deleted. | ||
|
||
\param layerIds list of IDs of the layers to remove | ||
|
||
.. seealso:: takeMapLayer() | ||
.. seealso:: removeMapLayer() | ||
.. seealso:: removeAllMapLayers() | ||
.. note:: | ||
|
||
available in Python bindings as removeMapLayersById. | ||
%End | ||
|
||
void removeMapLayers( const QList<QgsMapLayer *> &layers ); | ||
%Docstring | ||
\brief | ||
Remove a set of ``layers`` from the store. | ||
|
||
The specified layers will be removed from the store. | ||
These layers will also be deleted. | ||
|
||
\param layers A list of layers to remove. Null pointers are ignored. | ||
|
||
.. seealso:: takeMapLayer() | ||
.. seealso:: removeMapLayer() | ||
.. seealso:: removeAllMapLayers() | ||
%End | ||
|
||
void removeMapLayer( const QString &id ); | ||
%Docstring | ||
\brief | ||
Remove a layer from the store by layer ``id``. | ||
|
||
The specified layer will be removed from the store. The layer will also be deleted. | ||
|
||
\param id ID of the layer to remove | ||
|
||
.. seealso:: takeMapLayer() | ||
.. seealso:: removeMapLayers() | ||
.. seealso:: removeAllMapLayers() | ||
%End | ||
|
||
void removeMapLayer( QgsMapLayer *layer ); | ||
%Docstring | ||
\brief | ||
Remove a ``layer`` from the store. | ||
|
||
The specified layer will be removed from the store. The layer will also be deleted. | ||
|
||
\param layer The layer to remove. Null pointers are ignored. | ||
|
||
.. seealso:: takeMapLayer() | ||
.. seealso:: removeMapLayers() | ||
.. seealso:: removeAllMapLayers() | ||
%End | ||
|
||
QgsMapLayer *takeMapLayer( QgsMapLayer *layer ) /TransferBack/; | ||
%Docstring | ||
Takes a ``layer`` from the store. If the layer was owned by the store, the | ||
layer will be returned without deleting it. The caller takes ownership of | ||
the layer and is responsible for deleting it. | ||
.. seealso:: removeMapLayer() | ||
:rtype: QgsMapLayer | ||
%End | ||
|
||
void removeAllMapLayers(); | ||
%Docstring | ||
Removes all registered layers. These layers will also be deleted. | ||
|
||
.. note:: | ||
|
||
Calling this method will cause the removeAll() signal to | ||
be emitted. | ||
.. seealso:: removeMapLayer() | ||
.. seealso:: removeMapLayers() | ||
%End | ||
|
||
signals: | ||
|
||
void layersWillBeRemoved( const QStringList &layerIds ); | ||
%Docstring | ||
Emitted when one or more layers are about to be removed from the store. | ||
|
||
\param layerIds A list of IDs for the layers which are to be removed. | ||
.. seealso:: layerWillBeRemoved() | ||
.. seealso:: layersRemoved() | ||
%End | ||
|
||
void layersWillBeRemoved( const QList<QgsMapLayer *> &layers ); | ||
%Docstring | ||
Emitted when one or more layers are about to be removed from the store. | ||
|
||
\param layers A list of layers which are to be removed. | ||
.. seealso:: layerWillBeRemoved() | ||
.. seealso:: layersRemoved() | ||
%End | ||
|
||
void layerWillBeRemoved( const QString &layerId ); | ||
%Docstring | ||
Emitted when a layer is about to be removed from the store. | ||
|
||
\param layerId The ID of the layer to be removed. | ||
|
||
.. note:: | ||
|
||
Consider using layersWillBeRemoved() instead. | ||
.. seealso:: layersWillBeRemoved() | ||
.. seealso:: layerRemoved() | ||
%End | ||
|
||
void layerWillBeRemoved( QgsMapLayer *layer ); | ||
%Docstring | ||
Emitted when a layer is about to be removed from the store. | ||
|
||
\param layer The layer to be removed. | ||
|
||
.. note:: | ||
|
||
Consider using layersWillBeRemoved() instead. | ||
.. seealso:: layersWillBeRemoved() | ||
.. seealso:: layerRemoved() | ||
%End | ||
|
||
void layersRemoved( const QStringList &layerIds ); | ||
%Docstring | ||
Emitted after one or more layers were removed from the store. | ||
|
||
\param layerIds A list of IDs of the layers which were removed. | ||
.. seealso:: layersWillBeRemoved() | ||
%End | ||
|
||
void layerRemoved( const QString &layerId ); | ||
%Docstring | ||
Emitted after a layer was removed from the store. | ||
|
||
\param layerId The ID of the layer removed. | ||
|
||
.. note:: | ||
|
||
Consider using layersRemoved() instead | ||
.. seealso:: layerWillBeRemoved() | ||
%End | ||
|
||
void allLayersRemoved(); | ||
%Docstring | ||
Emitted when all layers are removed, before layersWillBeRemoved() and | ||
layerWillBeRemoved() signals are emitted. The layersWillBeRemoved() and | ||
layerWillBeRemoved() signals will still be emitted following this signal. | ||
You can use this signal to do easy (and fast) cleanup. | ||
%End | ||
|
||
void layersAdded( const QList<QgsMapLayer *> &layers ); | ||
%Docstring | ||
Emitted when one or more layers were added to the store. | ||
|
||
\param layers List of layers which have been added. | ||
|
||
.. seealso:: legendLayersAdded() | ||
.. seealso:: layerWasAdded() | ||
%End | ||
|
||
void layerWasAdded( QgsMapLayer *layer ); | ||
%Docstring | ||
Emitted when a ``layer`` was added to the store. | ||
|
||
.. note:: | ||
|
||
Consider using layersAdded() instead | ||
.. seealso:: layersAdded() | ||
%End | ||
|
||
}; | ||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/qgsmaplayerstore.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.