16 #ifndef QGSLAYOUTATLAS_H 17 #define QGSLAYOUTATLAS_H 19 #include "qgis_core.h" 69 void setEnabled(
bool enabled );
81 void setHideCoverage(
bool hide );
99 bool setFilenameExpression(
const QString &expression, QString &errorString
SIP_OUT );
106 QString currentFilename()
const;
137 QString nameForPage(
int page )
const;
234 bool setFilterExpression(
const QString &expression, QString &errorString SIP_OUT );
240 int updateFeatures();
244 int count()
override;
245 QString
filePath(
const QString &baseFilePath,
const QString &extension )
override;
254 bool next()
override;
290 bool seekTo(
int feature );
304 void refreshCurrentFeature();
312 void toggled(
bool );
318 void messagePushed(
const QString &message );
323 void numberFeaturesChanged(
int numFeatures );
326 void featureChanged(
const QgsFeature &feature );
335 void removeLayers(
const QStringList &layers );
343 bool updateFilenameExpression( QString &error );
356 bool prepareForFeature(
int i );
358 QPointer< QgsLayout > mLayout;
360 bool mEnabled =
false;
361 bool mHideCoverage =
false;
362 QString mFilenameExpressionString;
364 QgsExpression mFilenameExpression;
367 QString mCurrentFilename;
368 bool mSortFeatures =
false;
369 bool mSortAscending =
true;
371 typedef QMap< QgsFeatureId, QVariant > SorterKeys;
373 SorterKeys mFeatureKeys;
375 QString mSortExpression;
377 QString mPageNameExpression;
379 bool mFilterFeatures =
false;
380 QString mFilterExpression;
382 QString mFilterParserError;
385 QVector< QPair<QgsFeatureId, QString> > mFeatureIds;
387 int mCurrentFeatureNo = -1;
392 friend class AtlasFeatureSorter;
395 #endif //QGSLAYOUTATLAS_H The class is used as a container of context for various read/write operations on other objects...
virtual bool writeXml(QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context) const =0
Stores the objects's state in a DOM element.
virtual bool endRender()=0
Ends the render, performing any required cleanup tasks.
QString sortExpression() const
Returns the expression (or field name) to use for sorting features.
void setSortAscending(bool ascending)
Sets whether features should be sorted in an ascending order.
virtual bool next()=0
Iterates to next feature, returning false if no more features exist to iterate over.
void setFilterFeatures(bool filtered)
Sets whether features should be filtered in the coverage layer.
bool filterFeatures() const
Returns true if features should be filtered in the coverage layer.
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
void setSortExpression(const QString &expression)
Sets the expression (or field name) to use for sorting features.
QString pageNameExpression() const
Returns the expression (or field name) used for calculating the page name.
bool hideCoverage() const
Returns true if the atlas is set to hide the coverage layer.
An abstract base class for QgsLayout based classes which can be exported by QgsLayoutExporter.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Class used to render an Atlas, iterating over geometry features.
virtual QString stringType() const =0
Return the object type as a string.
virtual int count()=0
Returns the number of features to iterate over.
virtual QgsLayout * layout()=0
Returns the layout associated with the iterator.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
int currentFeatureNumber() const
Returns the current feature number, where a value of 0 corresponds to the first feature.
QString filterExpression() const
Returns the expression used for filtering features in the coverage layer.
bool sortAscending() const
Returns true if features should be sorted in an ascending order.
An interface for layout objects which can be stored and read from DOM elements.
bool enabled() const
Returns whether the atlas generation is enabled.
QString filenameExpression() const
Returns the filename expression used for generating output filenames for each atlas page...
QgsVectorLayer * coverageLayer() const
Returns the coverage layer used for the atlas features.
virtual bool readXml(const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context)=0
Sets the objects's state from a DOM element.
void setSortFeatures(bool enabled)
Sets whether features should be sorted in the atlas.
void setPageNameExpression(const QString &expression)
Sets the expression (or field name) used for calculating the page name.
Represents a vector layer which manages a vector based data sets.
virtual bool beginRender()=0
Called when rendering begins, before iteration commences.
bool sortFeatures() const
Returns true if features should be sorted in the atlas.
virtual QString filePath(const QString &baseFilePath, const QString &extension)=0
Returns the file path for the current feature, based on a specified base file path and extension...