From e6863be68e100c68b215009e513b436477907564 Mon Sep 17 00:00:00 2001 From: Martin Dobias Date: Thu, 22 Jun 2017 10:58:41 +0200 Subject: [PATCH] Fix subclassing of QgsDiagramRenderer in Python --- python/core/qgsdiagramrenderer.sip | 9 +++++++++ src/core/qgsdiagramrenderer.h | 12 ++++++++++++ 2 files changed, 21 insertions(+) diff --git a/python/core/qgsdiagramrenderer.sip b/python/core/qgsdiagramrenderer.sip index fce5d15a5fe..ab09f9b89ba 100644 --- a/python/core/qgsdiagramrenderer.sip +++ b/python/core/qgsdiagramrenderer.sip @@ -450,6 +450,15 @@ class QgsDiagramRenderer %TypeHeaderCode #include "qgsdiagramrenderer.h" +%End + +%ConvertToSubClassCode + if ( sipCpp->rendererName() == QStringLiteral( "SingleCategory" ) ) + sipType = sipType_QgsSingleCategoryDiagramRenderer; + else if ( sipCpp->rendererName() == QStringLiteral( "LinearlyInterpolated" ) ) + sipType = sipType_QgsLinearlyInterpolatedDiagramRenderer; + else + sipType = NULL; %End public: diff --git a/src/core/qgsdiagramrenderer.h b/src/core/qgsdiagramrenderer.h index 43dc684de29..76369c1f51e 100644 --- a/src/core/qgsdiagramrenderer.h +++ b/src/core/qgsdiagramrenderer.h @@ -485,6 +485,18 @@ class CORE_EXPORT QgsDiagramInterpolationSettings class CORE_EXPORT QgsDiagramRenderer { + +#ifdef SIP_RUN + SIP_CONVERT_TO_SUBCLASS_CODE + if ( sipCpp->rendererName() == QStringLiteral( "SingleCategory" ) ) + sipType = sipType_QgsSingleCategoryDiagramRenderer; + else if ( sipCpp->rendererName() == QStringLiteral( "LinearlyInterpolated" ) ) + sipType = sipType_QgsLinearlyInterpolatedDiagramRenderer; + else + sipType = NULL; + SIP_END +#endif + public: QgsDiagramRenderer();