16#ifndef QGSCOMPOSITIONCONVERTER_H
17#define QGSCOMPOSITIONCONVERTER_H
23#include <QDomDocument>
96 PictureSvgBackgroundColor,
97 PictureSvgStrokeColor,
98 PictureSvgStrokeWidth,
127 static std::unique_ptr<QgsPrintLayout> createLayoutFromCompositionXml(
const QDomElement &composerElement,
QgsProject *project );
139 static QList<QgsLayoutObject *> addItemsFromCompositionXml(
QgsPrintLayout *layout,
const QDomElement &parentElement, QPointF *position =
nullptr,
bool pasteInPlace =
false );
145 static bool isCompositionTemplate(
const QDomDocument &document );
153 static QDomDocument convertCompositionTemplate(
const QDomDocument &document,
QgsProject *project );
168 template<
class T,
class T2>
static bool readPolyXml( T *layoutItem,
const QDomElement &itemElem,
const QgsProject *project );
184 static bool readGroupXml(
QgsLayoutItemGroup *layoutItem,
const QDomElement &itemElem,
const QgsProject *project,
const QList<QgsLayoutObject *> &items );
186 static bool readOldComposerObjectXml(
QgsLayoutObject *layoutItem,
const QDomElement &itemElem );
188 static void readOldDataDefinedPropertyMap(
const QDomElement &itemElem,
QgsPropertyCollection &dataDefinedProperties );
190 static QgsProperty readOldDataDefinedProperty( DataDefinedProperty property,
const QDomElement &ddElem );
192 static void initPropertyDefinitions();
197 static bool readXml(
QgsLayoutItem *layoutItem,
const QDomElement &itemElem );
200 static void adjustPos(
QgsPrintLayout *layout,
QgsLayoutItem *layoutItem, QPointF *position,
bool &pasteInPlace,
int zOrderOffset, QPointF &pasteShiftPos,
int &pageNumber );
203 static void restoreGeneralComposeItemProperties(
QgsLayoutItem *layoutItem,
const QDomElement &itemElem );
206 static QRectF itemPosition(
QgsLayoutItem *layoutItem,
const QDomElement &itemElem );
209 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.