|
QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
|
Container class that allows storage of map themes consisting of visible map layers and layer styles. More...
#include <qgsmapthemecollection.h>

Classes | |
| class | MapThemeLayerRecord |
| Individual record of a visible layer in a map theme record. More... | |
| class | MapThemeRecord |
| Individual map theme record of visible layers and styles. More... | |
Signals | |
| void | mapThemeChanged (const QString &theme) |
| Emitted when a map theme changes definition. | |
| void | mapThemeRenamed (const QString &name, const QString &newName) |
| Emitted when a map theme within the collection is renamed. | |
| void | mapThemesChanged () |
| Emitted when map themes within the collection are changed. | |
| void | projectChanged () |
| Emitted when the project changes. | |
Public Member Functions | |
| QgsMapThemeCollection (QgsProject *project=nullptr) | |
| Create map theme collection that handles themes of the given project. | |
| void | applyTheme (const QString &name, QgsLayerTreeGroup *root, QgsLayerTreeModel *model) |
| Apply theme given by its name and modify layer tree, current style of layers and checked legend items of passed layer tree model. | |
| void | clear () |
| Removes all map themes from the collection. | |
| bool | hasMapTheme (const QString &name) const |
| Returns whether a map theme with a matching name exists. | |
| void | insert (const QString &name, const QgsMapThemeCollection::MapThemeRecord &state) |
| Inserts a new map theme to the collection. | |
| QStringList | mapThemes () const |
| Returns a list of existing map theme names. | |
| QgsMapThemeCollection::MapThemeRecord | mapThemeState (const QString &name) const |
| Returns the recorded state of a map theme. | |
| QMap< QString, QString > | mapThemeStyleOverrides (const QString &name) |
| Gets layer style overrides (for QgsMapSettings) of the visible layers for given map theme. | |
| QStringList | mapThemeVisibleLayerIds (const QString &name) const |
| Returns the list of layer IDs that are visible for the specified map theme. | |
| QList< QgsMapLayer * > | mapThemeVisibleLayers (const QString &name) const |
| Returns the list of layers that are visible for the specified map theme. | |
| QList< QgsMapLayer * > | masterLayerOrder () const |
| Returns the master layer order (this will always match the project's QgsProject::layerOrder() ). | |
| QList< QgsMapLayer * > | masterVisibleLayers () const |
| Returns the master list of visible layers. | |
| QgsProject * | project () |
| Returns the QgsProject on which this map theme collection works. | |
| void | readXml (const QDomDocument &doc) |
| Reads the map theme collection state from XML. | |
| void | removeMapTheme (const QString &name) |
| Removes an existing map theme from collection. | |
| bool | renameMapTheme (const QString &name, const QString &newName) |
| Renames the existing map theme called name to newName. | |
| void | setProject (QgsProject *project) |
| Sets the project on which this map theme collection works. | |
| void | update (const QString &name, const QgsMapThemeCollection::MapThemeRecord &state) |
| Updates a map theme within the collection. | |
| void | writeXml (QDomDocument &doc) const |
| Writes the map theme collection state to XML. | |
Static Public Member Functions | |
| static QgsMapThemeCollection::MapThemeRecord | createThemeFromCurrentState (QgsLayerTreeGroup *root, QgsLayerTreeModel *model) |
| Static method to create theme from the current state of layer visibilities in layer tree, current style of layers and check state of legend items (from a layer tree model). | |
Properties | |
| QStringList | mapThemes |
| QgsProject * | project |
Container class that allows storage of map themes consisting of visible map layers and layer styles.
Definition at line 43 of file qgsmapthemecollection.h.
| QgsMapThemeCollection::QgsMapThemeCollection | ( | QgsProject * | project = nullptr | ) |
Create map theme collection that handles themes of the given project.
Definition at line 32 of file qgsmapthemecollection.cpp.
| void QgsMapThemeCollection::applyTheme | ( | const QString & | name, |
| QgsLayerTreeGroup * | root, | ||
| QgsLayerTreeModel * | model ) |
Apply theme given by its name and modify layer tree, current style of layers and checked legend items of passed layer tree model.
Definition at line 205 of file qgsmapthemecollection.cpp.
| void QgsMapThemeCollection::clear | ( | ) |
Removes all map themes from the collection.
Definition at line 310 of file qgsmapthemecollection.cpp.
|
static |
Static method to create theme from the current state of layer visibilities in layer tree, current style of layers and check state of legend items (from a layer tree model).
Definition at line 107 of file qgsmapthemecollection.cpp.
| bool QgsMapThemeCollection::hasMapTheme | ( | const QString & | name | ) | const |
Returns whether a map theme with a matching name exists.
Definition at line 260 of file qgsmapthemecollection.cpp.
| void QgsMapThemeCollection::insert | ( | const QString & | name, |
| const QgsMapThemeCollection::MapThemeRecord & | state ) |
Inserts a new map theme to the collection.
Definition at line 265 of file qgsmapthemecollection.cpp.
|
signal |
Emitted when a map theme changes definition.
|
signal |
Emitted when a map theme within the collection is renamed.
| QStringList QgsMapThemeCollection::mapThemes | ( | ) | const |
Returns a list of existing map theme names.
Definition at line 318 of file qgsmapthemecollection.cpp.
|
signal |
Emitted when map themes within the collection are changed.
|
inline |
Returns the recorded state of a map theme.
Definition at line 295 of file qgsmapthemecollection.h.
| QMap< QString, QString > QgsMapThemeCollection::mapThemeStyleOverrides | ( | const QString & | name | ) |
Gets layer style overrides (for QgsMapSettings) of the visible layers for given map theme.
Definition at line 388 of file qgsmapthemecollection.cpp.
| QStringList QgsMapThemeCollection::mapThemeVisibleLayerIds | ( | const QString & | name | ) | const |
Returns the list of layer IDs that are visible for the specified map theme.
Definition at line 323 of file qgsmapthemecollection.cpp.
| QList< QgsMapLayer * > QgsMapThemeCollection::mapThemeVisibleLayers | ( | const QString & | name | ) | const |
Returns the list of layers that are visible for the specified map theme.
Definition at line 334 of file qgsmapthemecollection.cpp.
| QList< QgsMapLayer * > QgsMapThemeCollection::masterLayerOrder | ( | ) | const |
Returns the master layer order (this will always match the project's QgsProject::layerOrder() ).
All map themes will maintain the same layer order as the master layer order.
Definition at line 229 of file qgsmapthemecollection.cpp.
| QList< QgsMapLayer * > QgsMapThemeCollection::masterVisibleLayers | ( | ) | const |
Returns the master list of visible layers.
The order of returned layers will always match those of masterLayerOrder(), but the returned layers are filtered to only include those visible in the project's layer tree.
Definition at line 237 of file qgsmapthemecollection.cpp.
| QgsProject * QgsMapThemeCollection::project | ( | ) |
Returns the QgsProject on which this map theme collection works.
|
signal |
Emitted when the project changes.
| void QgsMapThemeCollection::readXml | ( | const QDomDocument & | doc | ) |
Reads the map theme collection state from XML.
| doc | DOM document |
Definition at line 437 of file qgsmapthemecollection.cpp.
| void QgsMapThemeCollection::removeMapTheme | ( | const QString & | name | ) |
Removes an existing map theme from collection.
Definition at line 299 of file qgsmapthemecollection.cpp.
| bool QgsMapThemeCollection::renameMapTheme | ( | const QString & | name, |
| const QString & | newName ) |
Renames the existing map theme called name to newName.
Returns true if the rename was successful, or false if it failed (e.g. due to a duplicate name for newName).
Definition at line 286 of file qgsmapthemecollection.cpp.
| void QgsMapThemeCollection::setProject | ( | QgsProject * | project | ) |
Sets the project on which this map theme collection works.
Definition at line 218 of file qgsmapthemecollection.cpp.
| void QgsMapThemeCollection::update | ( | const QString & | name, |
| const QgsMapThemeCollection::MapThemeRecord & | state ) |
Updates a map theme within the collection.
| name | name of map theme to update |
| state | map theme record to replace existing map theme |
Definition at line 274 of file qgsmapthemecollection.cpp.
| void QgsMapThemeCollection::writeXml | ( | QDomDocument & | doc | ) | const |
Writes the map theme collection state to XML.
| doc | DOM document |
Definition at line 459 of file qgsmapthemecollection.cpp.
|
read |
Definition at line 47 of file qgsmapthemecollection.h.
|
readwrite |
Definition at line 48 of file qgsmapthemecollection.h.