QGIS API Documentation 3.41.0-Master (af5edcb665c)
|
Class used to render QgsLayout as an atlas, by iterating over the features from an associated vector layer. More...
#include <qgslayoutatlas.h>
Public Slots | |
bool | first () |
Seeks to the first feature, returning false if no feature was found. | |
bool | last () |
Seeks to the last feature, returning false if no feature was found. | |
bool | next () override |
bool | previous () |
Iterates to the previous feature, returning false if no previous feature exists. | |
void | refreshCurrentFeature () |
Refreshes the current atlas feature, by refetching its attributes from the vector layer provider. | |
bool | seekTo (const QgsFeature &feature) |
Seeks to the specified feature. | |
bool | seekTo (int feature) |
Seeks to the specified feature number. | |
Signals | |
void | changed () |
Emitted when one of the atlas parameters changes. | |
void | coverageLayerChanged (QgsVectorLayer *layer) |
Emitted when the coverage layer for the atlas changes. | |
void | featureChanged (const QgsFeature &feature) |
Emitted when the current atlas feature changes. | |
void | messagePushed (const QString &message) |
Emitted when the atlas has an updated status bar message. | |
void | numberFeaturesChanged (int numFeatures) |
Emitted when the number of features for the atlas changes. | |
void | renderBegun () |
Emitted when atlas rendering has begun. | |
void | renderEnded () |
Emitted when atlas rendering has ended. | |
void | toggled (bool enabled) |
Emitted when atlas is enabled or disabled. | |
Public Member Functions | |
QgsLayoutAtlas (QgsLayout *layout) | |
Constructor for new QgsLayoutAtlas. | |
bool | beginRender () override |
Called when rendering begins, before iteration commences. | |
int | count () const override |
Returns the number of features to iterate over. | |
QgsVectorLayer * | coverageLayer () const |
Returns the coverage layer used for the atlas features. | |
QgsExpressionContext | createExpressionContext () const override |
This method needs to be reimplemented in all classes which implement this interface and return an expression context. | |
int | currentFeatureNumber () const |
Returns the current feature number, where a value of 0 corresponds to the first feature. | |
QString | currentFilename () const |
Returns the current feature filename. | |
bool | enabled () const |
Returns whether the atlas generation is enabled. | |
bool | endRender () override |
Ends the render, performing any required cleanup tasks. | |
QString | filenameExpression () const |
Returns the filename expression used for generating output filenames for each atlas page. | |
QString | filePath (const QString &baseFilePath, const QString &extension) override |
Returns the file path for the current feature, based on a specified base file path and extension. | |
QString | filterExpression () const |
Returns the expression used for filtering features in the coverage layer. | |
bool | filterFeatures () const |
Returns true if features should be filtered in the coverage layer. | |
bool | hideCoverage () const |
Returns true if the atlas is set to hide the coverage layer. | |
const QgsLayout * | layout () const |
Returns the atlas' layout. | |
QgsLayout * | layout () override |
Returns the layout associated with the iterator. | |
QString | nameForPage (int page) const |
Returns the calculated name for a specified atlas page number. | |
QString | pageNameExpression () const |
Returns the expression (or field name) used for calculating the page name. | |
bool | readXml (const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context) override |
Sets the objects's state from a DOM element. | |
void | setCoverageLayer (QgsVectorLayer *layer) |
Sets the coverage layer to use for the atlas features. | |
void | setEnabled (bool enabled) |
Sets whether the atlas is enabled. | |
bool | setFilenameExpression (const QString &expression, QString &errorString) |
Sets the filename expression used for generating output filenames for each atlas page. | |
bool | setFilterExpression (const QString &expression, QString &errorString) |
Sets the expression used for filtering features in the coverage layer. | |
void | setFilterFeatures (bool filtered) |
Sets whether features should be filtered in the coverage layer. | |
void | setHideCoverage (bool hide) |
Sets whether the coverage layer should be hidden in map items in the layouts. | |
void | setPageNameExpression (const QString &expression) |
Sets the expression (or field name) used for calculating the page name. | |
void | setSortAscending (bool ascending) |
Sets whether features should be sorted in an ascending order. | |
void | setSortExpression (const QString &expression) |
Sets the expression (or field name) to use for sorting features. | |
void | setSortFeatures (bool enabled) |
Sets whether features should be sorted in the atlas. | |
bool | sortAscending () const |
Returns true if features should be sorted in an ascending order. | |
QString | sortExpression () const |
Returns the expression (or field name) to use for sorting features. | |
bool | sortFeatures () const |
Returns true if features should be sorted in the atlas. | |
QString | stringType () const override |
Returns the object type as a string. | |
int | updateFeatures () |
Requeries the current atlas coverage layer and applies filtering and sorting. | |
bool | writeXml (QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context) const override |
Stores the objects's state in a DOM element. | |
Public Member Functions inherited from QgsAbstractLayoutIterator | |
virtual | ~QgsAbstractLayoutIterator ()=default |
virtual bool | next ()=0 |
Iterates to next feature, returning false if no more features exist to iterate over. | |
Public Member Functions inherited from QgsLayoutSerializableObject | |
QgsAbstractLayoutUndoCommand * | createCommand (const QString &text, int id, QUndoCommand *parent=nullptr) override |
Creates a new layout undo command with the specified text and parent. | |
Public Member Functions inherited from QgsLayoutUndoObjectInterface | |
virtual | ~QgsLayoutUndoObjectInterface ()=default |
Public Member Functions inherited from QgsExpressionContextGenerator | |
virtual | ~QgsExpressionContextGenerator ()=default |
Friends | |
class | AtlasFeatureSorter |
Class used to render QgsLayout as an atlas, by iterating over the features from an associated vector layer.
QgsLayoutAtlas implement the QgsAbstractLayoutIterator interface, allowing them to be used directly with QgsLayoutExporter to automatically output all pages from the atlas.
For QgsPrintLayout layouts, it is not necessary to manually construct a QgsLayoutAtlas object. Instead, the atlas attached to the print layout should be used. This can be retrieved by calling QgsPrintLayout::atlas().
Definition at line 40 of file qgslayoutatlas.h.
QgsLayoutAtlas::QgsLayoutAtlas | ( | QgsLayout * | layout | ) |
Constructor for new QgsLayoutAtlas.
Definition at line 33 of file qgslayoutatlas.cpp.
|
overridevirtual |
Called when rendering begins, before iteration commences.
Returns true
if successful, false
if no iteration is available or required.
Implements QgsAbstractLayoutIterator.
Definition at line 381 of file qgslayoutatlas.cpp.
|
signal |
Emitted when one of the atlas parameters changes.
|
overridevirtual |
Returns the number of features to iterate over.
Implements QgsAbstractLayoutIterator.
Definition at line 406 of file qgslayoutatlas.cpp.
|
inline |
Returns the coverage layer used for the atlas features.
Definition at line 115 of file qgslayoutatlas.h.
|
signal |
Emitted when the coverage layer for the atlas changes.
|
overridevirtual |
This method needs to be reimplemented in all classes which implement this interface and return an expression context.
Implements QgsExpressionContextGenerator.
Definition at line 513 of file qgslayoutatlas.cpp.
|
inline |
Returns the current feature number, where a value of 0 corresponds to the first feature.
Definition at line 253 of file qgslayoutatlas.h.
QString QgsLayoutAtlas::currentFilename | ( | ) | const |
Returns the current feature filename.
Definition at line 508 of file qgslayoutatlas.cpp.
|
inline |
Returns whether the atlas generation is enabled.
Definition at line 66 of file qgslayoutatlas.h.
|
overridevirtual |
Ends the render, performing any required cleanup tasks.
Implements QgsAbstractLayoutIterator.
Definition at line 399 of file qgslayoutatlas.cpp.
|
signal |
Emitted when the current atlas feature changes.
|
inline |
Returns the filename expression used for generating output filenames for each atlas page.
Definition at line 92 of file qgslayoutatlas.h.
|
overridevirtual |
Returns the file path for the current feature, based on a specified base file path and extension.
Implements QgsAbstractLayoutIterator.
Definition at line 411 of file qgslayoutatlas.cpp.
|
inline |
Returns the expression used for filtering features in the coverage layer.
This property has no effect is filterFeatures() is false
.
Definition at line 224 of file qgslayoutatlas.h.
|
inline |
Returns true
if features should be filtered in the coverage layer.
Definition at line 207 of file qgslayoutatlas.h.
|
slot |
Seeks to the first feature, returning false
if no feature was found.
Definition at line 444 of file qgslayoutatlas.cpp.
|
inline |
Returns true
if the atlas is set to hide the coverage layer.
Definition at line 78 of file qgslayoutatlas.h.
|
slot |
Seeks to the last feature, returning false
if no feature was found.
Definition at line 449 of file qgslayoutatlas.cpp.
const QgsLayout * QgsLayoutAtlas::layout | ( | ) | const |
Returns the atlas' layout.
Definition at line 56 of file qgslayoutatlas.cpp.
|
overridevirtual |
Returns the layout associated with the iterator.
Implements QgsAbstractLayoutIterator.
Definition at line 51 of file qgslayoutatlas.cpp.
|
signal |
Emitted when the atlas has an updated status bar message.
QString QgsLayoutAtlas::nameForPage | ( | int | page | ) | const |
Returns the calculated name for a specified atlas page number.
Page numbers start at 0.
Definition at line 182 of file qgslayoutatlas.cpp.
|
overrideslot |
Definition at line 422 of file qgslayoutatlas.cpp.
|
signal |
Emitted when the number of features for the atlas changes.
|
inline |
Returns the expression (or field name) used for calculating the page name.
Definition at line 128 of file qgslayoutatlas.h.
|
slot |
|
overridevirtual |
Sets the objects's state from a DOM element.
element is the DOM node corresponding to the object.
Implements QgsLayoutSerializableObject.
Definition at line 99 of file qgslayoutatlas.cpp.
|
slot |
Refreshes the current atlas feature, by refetching its attributes from the vector layer provider.
Definition at line 481 of file qgslayoutatlas.cpp.
|
signal |
Emitted when atlas rendering has begun.
|
signal |
Emitted when atlas rendering has ended.
|
slot |
Seeks to the specified feature.
Definition at line 459 of file qgslayoutatlas.cpp.
|
slot |
Seeks to the specified feature number.
Definition at line 454 of file qgslayoutatlas.cpp.
void QgsLayoutAtlas::setCoverageLayer | ( | QgsVectorLayer * | layer | ) |
Sets the coverage layer to use for the atlas features.
Definition at line 162 of file qgslayoutatlas.cpp.
void QgsLayoutAtlas::setEnabled | ( | bool | enabled | ) |
Sets whether the atlas is enabled.
Definition at line 131 of file qgslayoutatlas.cpp.
bool QgsLayoutAtlas::setFilenameExpression | ( | const QString & | expression, |
QString & | errorString | ||
) |
Sets the filename expression used for generating output filenames for each atlas page.
If an invalid expression is passed, false
will be returned and errorString will be set to the expression error.
Definition at line 497 of file qgslayoutatlas.cpp.
bool QgsLayoutAtlas::setFilterExpression | ( | const QString & | expression, |
QString & | errorString | ||
) |
Sets the expression used for filtering features in the coverage layer.
This property has no effect is filterFeatures() is false
.
If an invalid expression is passed, false
will be returned and errorString will be set to the expression error.
Definition at line 226 of file qgslayoutatlas.cpp.
void QgsLayoutAtlas::setFilterFeatures | ( | bool | filtered | ) |
Sets whether features should be filtered in the coverage layer.
Definition at line 217 of file qgslayoutatlas.cpp.
void QgsLayoutAtlas::setHideCoverage | ( | bool | hide | ) |
Sets whether the coverage layer should be hidden in map items in the layouts.
Definition at line 486 of file qgslayoutatlas.cpp.
void QgsLayoutAtlas::setPageNameExpression | ( | const QString & | expression | ) |
Sets the expression (or field name) used for calculating the page name.
Definition at line 173 of file qgslayoutatlas.cpp.
void QgsLayoutAtlas::setSortAscending | ( | bool | ascending | ) |
Sets whether features should be sorted in an ascending order.
This property has no effect is sortFeatures() is false
.
Definition at line 199 of file qgslayoutatlas.cpp.
void QgsLayoutAtlas::setSortExpression | ( | const QString & | expression | ) |
Sets the expression (or field name) to use for sorting features.
This property has no effect is sortFeatures() is false
.
Definition at line 208 of file qgslayoutatlas.cpp.
void QgsLayoutAtlas::setSortFeatures | ( | bool | enabled | ) |
Sets whether features should be sorted in the atlas.
Definition at line 190 of file qgslayoutatlas.cpp.
|
inline |
Returns true
if features should be sorted in an ascending order.
This property has no effect is sortFeatures() is false
.
Definition at line 167 of file qgslayoutatlas.h.
|
inline |
Returns the expression (or field name) to use for sorting features.
This property has no effect is sortFeatures() is false
.
Definition at line 189 of file qgslayoutatlas.h.
|
inline |
Returns true
if features should be sorted in the atlas.
Definition at line 148 of file qgslayoutatlas.h.
|
overridevirtual |
Returns the object type as a string.
This string must be a unique, single word, character only representation of the item type, eg "LayoutScaleBar"
Implements QgsLayoutSerializableObject.
Definition at line 46 of file qgslayoutatlas.cpp.
|
signal |
Emitted when atlas is enabled or disabled.
int QgsLayoutAtlas::updateFeatures | ( | ) |
Requeries the current atlas coverage layer and applies filtering and sorting.
Returns number of matching features.
Definition at line 267 of file qgslayoutatlas.cpp.
|
overridevirtual |
Stores the objects's state in a DOM element.
The parentElement should refer to the parent layout's DOM element.
Implements QgsLayoutSerializableObject.
Definition at line 61 of file qgslayoutatlas.cpp.
|
friend |
Definition at line 396 of file qgslayoutatlas.h.