29 QDomDocument currentDoc;
32 QDomElement elem =
writeXml( currentDoc, context );
33 currentDoc.appendChild( elem );
35 std::unique_ptr< QgsPrintLayout > newLayout = qgis::make_unique< QgsPrintLayout >(
project() );
37 newLayout->loadFromTemplate( currentDoc, context,
true, &ok );
43 return newLayout.release();
70 layoutElem.setAttribute( QStringLiteral(
"name" ), mName );
71 mAtlas->
writeXml( layoutElem, document, context );
80 QDomElement atlasElem = layoutElement.firstChildElement( QStringLiteral(
"Atlas" ) );
81 mAtlas->
readXml( atlasElem, document, context );
83 setName( layoutElement.attribute( QStringLiteral(
"name" ) ) );
90 return writeXml( document, context );
95 return readXml( layoutElement, document, context );
QgsPrintLayout * clone() const override
Creates a clone of the layout.
QgsPrintLayout(QgsProject *project)
Constructor for QgsPrintLayout.
The class is used as a container of context for various read/write operations on other objects...
virtual bool readXml(const QDomElement &layoutElement, const QDomDocument &document, const QgsReadWriteContext &context)
Sets the collection's state from a DOM element.
static QIcon getThemeIcon(const QString &name)
Helper to get a theme icon.
QgsExpressionContext createExpressionContext() const override
Creates an expression context relating to the layout's current state.
bool readXml(const QDomElement &layoutElement, const QDomDocument &document, const QgsReadWriteContext &context) override
Sets the collection's state from a DOM element.
bool writeXml(QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context) const override
Stores the objects's state in a DOM element.
bool readXml(const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context) override
Sets the objects's state from a DOM element.
QgsProject * layoutProject() const override
The project associated with the layout.
bool enabled() const
Returns whether the atlas generation is enabled.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Class used to render QgsLayout as an atlas, by iterating over the features from an associated vector ...
Reads and writes project states.
QgsLayoutAtlas * atlas()
Returns the print layout's atlas.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
QDomElement writeXml(QDomDocument &document, const QgsReadWriteContext &context) const override
Returns the layout's state encapsulated in a DOM element.
QgsExpressionContext createExpressionContext() const override
Creates an expression context relating to the layout's current state.
static QgsExpressionContextScope * atlasScope(QgsLayoutAtlas *atlas)
Creates a new scope which contains variables and functions relating to a QgsLayoutAtlas.
QIcon icon() const override
Returns an icon for the layout.
void appendScope(QgsExpressionContextScope *scope)
Appends a scope to the end of the context.
void nameChanged(const QString &name)
Emitted when the layout's name is changed.
bool readLayoutXml(const QDomElement &layoutElement, const QDomDocument &document, const QgsReadWriteContext &context) override
Sets the layout's state from a DOM element.
QgsMasterLayoutInterface::Type layoutType() const override
Returns the master layout type.
void setName(const QString &name) override
Sets the layout's name.
Print layout, a QgsLayout subclass for static or atlas-based layouts.
virtual QDomElement writeXml(QDomDocument &document, const QgsReadWriteContext &context) const
Returns the layout's state encapsulated in a DOM element.
void updateSettings() override
Refreshes the layout when global layout related options change.
void reloadSettings()
Refreshes the layout when global layout related options change.
QgsProject * project() const
The project associated with the layout.
Individual print layout (QgsPrintLayout)
QString name() const override
Returns the layout's name.
QDomElement writeLayoutXml(QDomDocument &document, const QgsReadWriteContext &context) const override
Returns the layout's state encapsulated in a DOM element.