16 #ifndef QGSCOMPOSITIONCONVERTER_H
17 #define QGSCOMPOSITIONCONVERTER_H
20 #include <QDomDocument>
21 #include <QDomElement>
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 );
151 static bool isCompositionTemplate(
const QDomDocument &document );
160 static QDomDocument convertCompositionTemplate(
const QDomDocument
172 const QDomElement &itemElem,
176 const QDomElement &itemElem,
180 const QDomElement &itemElem,
185 template <
class T,
class T2>
static bool readPolyXml( T *layoutItem,
186 const QDomElement &itemElem,
190 const QDomElement &itemElem,
194 const QDomElement &itemElem,
199 const QDomElement &itemElem,
204 const QDomElement &itemElem,
209 const QDomElement &itemElem,
213 const QDomElement &itemElem,
217 const QDomElement &itemElem,
220 static bool readOldComposerObjectXml(
QgsLayoutObject *layoutItem,
const QDomElement &itemElem );
222 static void readOldDataDefinedPropertyMap(
const QDomElement &itemElem,
225 static QgsProperty readOldDataDefinedProperty( DataDefinedProperty property,
const QDomElement &ddElem );
227 static void initPropertyDefinitions();
232 static bool readXml(
QgsLayoutItem *layoutItem,
const QDomElement &itemElem );
235 static void adjustPos(
QgsPrintLayout *layout,
QgsLayoutItem *layoutItem, QPointF *position,
bool &pasteInPlace,
int zOrderOffset, QPointF &pasteShiftPos,
int &pageNumber );
238 static void restoreGeneralComposeItemProperties(
QgsLayoutItem *layoutItem,
const QDomElement &itemElem );
241 static QRectF itemPosition(
QgsLayoutItem *layoutItem,
const QDomElement &itemElem );
244 static QPointF minPointFromXml(
const QDomElement &elem );
248 #endif // QGSCOMPOSITIONCONVERTER_H