From 51a460775fe7299d1998eeeeb59a654e79b48509 Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Tue, 19 Dec 2017 12:24:28 +0100 Subject: [PATCH] [layout] Disable ref images generation and added docs --- src/core/layout/qgscompositionconverter.h | 33 ++++++++++++++++--- .../src/core/testqgscompositionconverter.cpp | 2 +- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/core/layout/qgscompositionconverter.h b/src/core/layout/qgscompositionconverter.h index 7ab4f89328d..35064c409a8 100644 --- a/src/core/layout/qgscompositionconverter.h +++ b/src/core/layout/qgscompositionconverter.h @@ -16,11 +16,15 @@ #ifndef QGSCOMPOSITIONCONVERTER_H #define QGSCOMPOSITIONCONVERTER_H + #include #include - #include "qgis.h" +#include "qgis_sip.h" + +#define SIP_NO_FILE + #include "qgspropertycollection.h" class QgsLayout; @@ -38,6 +42,13 @@ class QgsLayoutItemMap; class QgsLayoutItemScaleBar; class QgsLayoutItemLegend; + +/** + * QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout + * \since QGIS 3.0 + * \note Not available in Python bindings. + * \ingroup core + */ class CORE_EXPORT QgsCompositionConverter { public: @@ -97,7 +108,7 @@ class CORE_EXPORT QgsCompositionConverter }; /** - * The MarkerMode enum is the old 2.x arrow marker mode + * The MarkerMode enum is the old QGIS 2.x arrow marker mode */ enum MarkerMode { @@ -109,16 +120,28 @@ class CORE_EXPORT QgsCompositionConverter /** * \brief createLayoutFromCompositionXml is a factory that creates layout instances from a - * QGIS 2.x XML composition \a document + * QGIS 2.x XML composition \a document * \param parentElement is the Composition element - * \param document - * \param context + * \param project the QGIS project * \return a QgsLayout instance + * \since QGIS 3.0 + * \note Not available in Python bindings. */ static QgsLayout *createLayoutFromCompositionXml( const QDomElement &parentElement, QgsProject *project ) SIP_FACTORY; + /** + * addItemsFromCompositionXml parse a QGIS 2.x composition XML in the \a parentElement, + * converts the 2.x items to the new layout elements and add them to the \a layout + * \param layout the lay + * \param parentElement + * \param position for pasting + * \param pasteInPlace if true element position is translated to \a position + * \return a list of layout items + * \since QGIS 3.0 + * \note Not available in Python bindings. + */ static QList addItemsFromCompositionXml( QgsLayout *layout, const QDomElement &parentElement, QPointF *position = nullptr, diff --git a/tests/src/core/testqgscompositionconverter.cpp b/tests/src/core/testqgscompositionconverter.cpp index a88328753b9..011deacbb51 100644 --- a/tests/src/core/testqgscompositionconverter.cpp +++ b/tests/src/core/testqgscompositionconverter.cpp @@ -402,7 +402,7 @@ void TestQgsCompositionConverter::checkRenderedImage( QgsLayout *layout, const Q QSize size( layout->pageCollection()->page( pageNumber )->sizeWithUnits().width() * 3.77, layout->pageCollection()->page( pageNumber )->sizeWithUnits().height() * 3.77 ); checker.setSize( size ); checker.setControlPathPrefix( QStringLiteral( "compositionconverter" ) ); - QVERIFY( checker.testLayout( mReport, pageNumber, 0, true ) ); + QVERIFY( checker.testLayout( mReport, pageNumber ) ); } void TestQgsCompositionConverter::exportLayout( QgsLayout *layout, const QString testName )