From 11d159cd85e8e69135b1dc03fb259690a5a8e618 Mon Sep 17 00:00:00 2001 From: Leyan Date: Mon, 25 Aug 2014 17:04:49 +0800 Subject: [PATCH] Add factory annotation and use clone for rule based renderer --- python/core/symbology-ng/qgscategorizedsymbolrendererv2.sip | 2 +- python/core/symbology-ng/qgsgraduatedsymbolrendererv2.sip | 2 +- python/core/symbology-ng/qgsrendererv2.sip | 2 +- python/core/symbology-ng/qgsrulebasedrendererv2.sip | 2 +- python/core/symbology-ng/qgssinglesymbolrendererv2.sip | 2 +- src/core/symbology-ng/qgsrulebasedrendererv2.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/python/core/symbology-ng/qgscategorizedsymbolrendererv2.sip b/python/core/symbology-ng/qgscategorizedsymbolrendererv2.sip index 8f94c2b141c..4f82b06a732 100644 --- a/python/core/symbology-ng/qgscategorizedsymbolrendererv2.sip +++ b/python/core/symbology-ng/qgscategorizedsymbolrendererv2.sip @@ -149,7 +149,7 @@ class QgsCategorizedSymbolRendererV2 : QgsFeatureRendererV2 //! convert the renderer to a rule based renderer with equivalent rules //! @note added in 2.5 - virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer(); + virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer() /Factory/; protected: void rebuildHash(); diff --git a/python/core/symbology-ng/qgsgraduatedsymbolrendererv2.sip b/python/core/symbology-ng/qgsgraduatedsymbolrendererv2.sip index 1e560407110..3578cb9fd7e 100644 --- a/python/core/symbology-ng/qgsgraduatedsymbolrendererv2.sip +++ b/python/core/symbology-ng/qgsgraduatedsymbolrendererv2.sip @@ -175,7 +175,7 @@ class QgsGraduatedSymbolRendererV2 : QgsFeatureRendererV2 //! convert the renderer to a rule based renderer with equivalent rules //! @note added in 2.5 - virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer(); + virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer() /Factory/; diff --git a/python/core/symbology-ng/qgsrendererv2.sip b/python/core/symbology-ng/qgsrendererv2.sip index 47a237c7a88..7a941e21eba 100644 --- a/python/core/symbology-ng/qgsrendererv2.sip +++ b/python/core/symbology-ng/qgsrendererv2.sip @@ -177,7 +177,7 @@ class QgsFeatureRendererV2 //! convert the renderer to a rule based renderer with equivalent rules, if possible //! @note added in 2.5 - virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer(); + virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer() /Factory/; protected: QgsFeatureRendererV2( QString type ); diff --git a/python/core/symbology-ng/qgsrulebasedrendererv2.sip b/python/core/symbology-ng/qgsrulebasedrendererv2.sip index 9651a7a678c..eaf956c90cf 100644 --- a/python/core/symbology-ng/qgsrulebasedrendererv2.sip +++ b/python/core/symbology-ng/qgsrulebasedrendererv2.sip @@ -233,7 +233,7 @@ class QgsRuleBasedRendererV2 : QgsFeatureRendererV2 //! convert the renderer to a rule based renderer with equivalent rules, if possible //! @note added in 2.5 - virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer(); + virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer() /Factory/; private: QgsRuleBasedRendererV2( const QgsRuleBasedRendererV2 & ); diff --git a/python/core/symbology-ng/qgssinglesymbolrendererv2.sip b/python/core/symbology-ng/qgssinglesymbolrendererv2.sip index c0f1fd4cd43..2c699a974c8 100644 --- a/python/core/symbology-ng/qgssinglesymbolrendererv2.sip +++ b/python/core/symbology-ng/qgssinglesymbolrendererv2.sip @@ -68,7 +68,7 @@ class QgsSingleSymbolRendererV2 : QgsFeatureRendererV2 //! convert the renderer to a rule based renderer with equivalent rules //! @note added in 2.5 - virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer(); + virtual QgsRuleBasedRendererV2* convertToRuleBasedRenderer() /Factory/; private: QgsSingleSymbolRendererV2( const QgsSingleSymbolRendererV2 & ); diff --git a/src/core/symbology-ng/qgsrulebasedrendererv2.cpp b/src/core/symbology-ng/qgsrulebasedrendererv2.cpp index 5cb43062302..78777ff4e96 100644 --- a/src/core/symbology-ng/qgsrulebasedrendererv2.cpp +++ b/src/core/symbology-ng/qgsrulebasedrendererv2.cpp @@ -1046,5 +1046,5 @@ QgsSymbolV2List QgsRuleBasedRendererV2::symbolsForFeature( QgsFeature& feat ) QgsRuleBasedRendererV2* QgsRuleBasedRendererV2::convertToRuleBasedRenderer() { - return this ; + return dynamic_cast( this->clone() ) ; }