16#ifndef QGSCOMPOSITIONCONVERTER_H
17#define QGSCOMPOSITIONCONVERTER_H
23#include <QDomDocument>
97 PictureSvgBackgroundColor,
98 PictureSvgStrokeColor,
99 PictureSvgStrokeWidth,
128 static std::unique_ptr<QgsPrintLayout> createLayoutFromCompositionXml(
const QDomElement &composerElement,
141 static QList<QgsLayoutObject *> addItemsFromCompositionXml(
QgsPrintLayout *layout,
142 const QDomElement &parentElement,
143 QPointF *position =
nullptr,
144 bool pasteInPlace =
false );
150 static bool isCompositionTemplate(
const QDomDocument &document );
158 static QDomDocument convertCompositionTemplate(
const QDomDocument
170 const QDomElement &itemElem,
174 const QDomElement &itemElem,
178 const QDomElement &itemElem,
183 template <
class T,
class T2>
static bool readPolyXml( T *layoutItem,
184 const QDomElement &itemElem,
188 const QDomElement &itemElem,
192 const QDomElement &itemElem,
197 const QDomElement &itemElem,
202 const QDomElement &itemElem,
207 const QDomElement &itemElem,
211 const QDomElement &itemElem,
215 const QDomElement &itemElem,
219 const QDomElement &itemElem,
221 const QList<QgsLayoutObject *> &items );
223 static bool readOldComposerObjectXml(
QgsLayoutObject *layoutItem,
const QDomElement &itemElem );
225 static void readOldDataDefinedPropertyMap(
const QDomElement &itemElem,
228 static QgsProperty readOldDataDefinedProperty( DataDefinedProperty property,
const QDomElement &ddElem );
230 static void initPropertyDefinitions();
235 static bool readXml(
QgsLayoutItem *layoutItem,
const QDomElement &itemElem );
238 static void adjustPos(
QgsPrintLayout *layout,
QgsLayoutItem *layoutItem, QPointF *position,
bool &pasteInPlace,
int zOrderOffset, QPointF &pasteShiftPos,
int &pageNumber );
241 static void restoreGeneralComposeItemProperties(
QgsLayoutItem *layoutItem,
const QDomElement &itemElem );
244 static QRectF itemPosition(
QgsLayoutItem *layoutItem,
const QDomElement &itemElem );
247 static QPointF minPointFromXml(
const QDomElement &elem );
Converts a QGIS 2.x composition to a QGIS 3.x layout.
DataDefinedProperty
Composition data defined properties for different item types.
MarkerMode
The MarkerMode enum is the old QGIS 2.x arrow marker mode.
Used to render QgsLayout as an atlas, by iterating over the features from an associated vector layer.
A layout table subclass that displays attributes from a vector layer.
A container for grouping several QgsLayoutItems.
A layout multiframe subclass for HTML content.
A layout item subclass for text labels.
A layout item subclass for map legends.
Layout graphical items for displaying a map.
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
Layout item for node based polygon shapes.
Layout item for node based polyline shapes.
A layout item subclass for scale bars.
Layout item for basic filled shapes (e.g.
Base class for graphical items within a QgsLayout.
A base class for objects which belong to a layout.
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
A grouped map of multiple QgsProperty objects, each referenced by an integer key value.
A store for object properties.
A container for the context for various read/write operations on objects.
QMap< QString, QString > QgsStringMap
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.