[QGIS Commit] r13113 - trunk/qgis/src/core/symbology-ng
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sat Mar 20 17:43:28 EDT 2010
Author: mhugent
Date: 2010-03-20 17:43:27 -0400 (Sat, 20 Mar 2010)
New Revision: 13113
Modified:
trunk/qgis/src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp
trunk/qgis/src/core/symbology-ng/qgscategorizedsymbolrendererv2.h
trunk/qgis/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp
trunk/qgis/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.h
trunk/qgis/src/core/symbology-ng/qgsrendererv2.cpp
trunk/qgis/src/core/symbology-ng/qgsrendererv2.h
trunk/qgis/src/core/symbology-ng/qgssinglesymbolrendererv2.cpp
trunk/qgis/src/core/symbology-ng/qgssinglesymbolrendererv2.h
Log:
Add method that returns legend item text and symbol pointers to v2 renderers
Modified: trunk/qgis/src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp
===================================================================
--- trunk/qgis/src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp 2010-03-20 21:26:34 UTC (rev 13112)
+++ trunk/qgis/src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp 2010-03-20 21:43:27 UTC (rev 13113)
@@ -359,7 +359,26 @@
return lst;
}
+QgsLegendSymbolList QgsCategorizedSymbolRendererV2::legendSymbolItems()
+{
+ QSettings settings;
+ bool showClassifiers = settings.value( "/qgis/showLegendClassifiers", false ).toBool();
+ QgsLegendSymbolList lst;
+ if ( showClassifiers )
+ {
+ lst << qMakePair( classAttribute(), ( QgsSymbolV2* )0 );
+ }
+
+ QgsCategoryList::const_iterator catIt = mCategories.constBegin();
+ for ( ; catIt != mCategories.constEnd(); ++catIt )
+ {
+ lst << qMakePair( catIt->label(), catIt->symbol() );
+ }
+ return lst;
+}
+
+
QgsSymbolV2* QgsCategorizedSymbolRendererV2::sourceSymbol()
{
return mSourceSymbol;
Modified: trunk/qgis/src/core/symbology-ng/qgscategorizedsymbolrendererv2.h
===================================================================
--- trunk/qgis/src/core/symbology-ng/qgscategorizedsymbolrendererv2.h 2010-03-20 21:26:34 UTC (rev 13112)
+++ trunk/qgis/src/core/symbology-ng/qgscategorizedsymbolrendererv2.h 2010-03-20 21:43:27 UTC (rev 13113)
@@ -83,6 +83,10 @@
//! return a list of symbology items for the legend
virtual QgsLegendSymbologyList legendSymbologyItems( QSize iconSize );
+ //! return a list of item text / symbol
+ //! @note: this method was added in version 1.5
+ virtual QgsLegendSymbolList legendSymbolItems();
+
QgsSymbolV2* sourceSymbol();
void setSourceSymbol( QgsSymbolV2* sym );
Modified: trunk/qgis/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp
===================================================================
--- trunk/qgis/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp 2010-03-20 21:26:34 UTC (rev 13112)
+++ trunk/qgis/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp 2010-03-20 21:43:27 UTC (rev 13113)
@@ -482,6 +482,25 @@
return lst;
}
+QgsLegendSymbolList QgsGraduatedSymbolRendererV2::legendSymbolItems()
+{
+ QSettings settings;
+ bool showClassifiers = settings.value( "/qgis/showLegendClassifiers", false ).toBool();
+
+ QgsLegendSymbolList lst;
+ if ( showClassifiers )
+ {
+ lst << qMakePair( classAttribute(), ( QgsSymbolV2* )0 );
+ }
+
+ QgsRangeList::const_iterator rangeIt = mRanges.constBegin();
+ for ( ; rangeIt != mRanges.constEnd(); ++rangeIt )
+ {
+ lst << qMakePair( rangeIt->label(), rangeIt->symbol() );
+ }
+ return lst;
+}
+
QgsSymbolV2* QgsGraduatedSymbolRendererV2::sourceSymbol()
{
return mSourceSymbol;
Modified: trunk/qgis/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.h
===================================================================
--- trunk/qgis/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.h 2010-03-20 21:26:34 UTC (rev 13112)
+++ trunk/qgis/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.h 2010-03-20 21:43:27 UTC (rev 13113)
@@ -97,6 +97,10 @@
//! return a list of symbology items for the legend
virtual QgsLegendSymbologyList legendSymbologyItems( QSize iconSize );
+ //! return a list of item text / symbol
+ //! @note: this method was added in version 1.5
+ virtual QgsLegendSymbolList legendSymbolItems();
+
QgsSymbolV2* sourceSymbol();
void setSourceSymbol( QgsSymbolV2* sym );
Modified: trunk/qgis/src/core/symbology-ng/qgsrendererv2.cpp
===================================================================
--- trunk/qgis/src/core/symbology-ng/qgsrendererv2.cpp 2010-03-20 21:26:34 UTC (rev 13112)
+++ trunk/qgis/src/core/symbology-ng/qgsrendererv2.cpp 2010-03-20 21:43:27 UTC (rev 13113)
@@ -312,7 +312,7 @@
QString rendererType = element.attribute( "type" );
QgsRendererV2AbstractMetadata* m = QgsRendererV2Registry::instance()->rendererMetadata( rendererType );
- if (m == NULL)
+ if ( m == NULL )
return NULL;
QgsFeatureRendererV2* r = m->createRenderer( element );
@@ -334,6 +334,11 @@
return QgsLegendSymbologyList();
}
+QgsLegendSymbolList QgsFeatureRendererV2::legendSymbolItems()
+{
+ return QgsLegendSymbolList();
+}
+
void QgsFeatureRendererV2::setVertexMarkerAppearance( int type, int size )
{
mCurrentVertexMarkerType = type;
Modified: trunk/qgis/src/core/symbology-ng/qgsrendererv2.h
===================================================================
--- trunk/qgis/src/core/symbology-ng/qgsrendererv2.h 2010-03-20 21:26:34 UTC (rev 13112)
+++ trunk/qgis/src/core/symbology-ng/qgsrendererv2.h 2010-03-20 21:43:27 UTC (rev 13113)
@@ -22,6 +22,7 @@
typedef QMap<QString, QgsSymbolV2* > QgsSymbolV2Map;
typedef QList< QPair<QString, QPixmap> > QgsLegendSymbologyList;
+typedef QList< QPair<QString, QgsSymbolV2*> > QgsLegendSymbolList;
#define RENDERER_TAG_NAME "renderer-v2"
@@ -92,6 +93,10 @@
//! return a list of symbology items for the legend
virtual QgsLegendSymbologyList legendSymbologyItems( QSize iconSize );
+ //! return a list of item text / symbol
+ //! @note: this method was added in version 1.5
+ virtual QgsLegendSymbolList legendSymbolItems();
+
//! set type and size of editing vertex markers for subsequent rendering
void setVertexMarkerAppearance( int type, int size );
Modified: trunk/qgis/src/core/symbology-ng/qgssinglesymbolrendererv2.cpp
===================================================================
--- trunk/qgis/src/core/symbology-ng/qgssinglesymbolrendererv2.cpp 2010-03-20 21:26:34 UTC (rev 13112)
+++ trunk/qgis/src/core/symbology-ng/qgssinglesymbolrendererv2.cpp 2010-03-20 21:43:27 UTC (rev 13113)
@@ -110,3 +110,10 @@
lst << qMakePair( QString(), pix );
return lst;
}
+
+QgsLegendSymbolList QgsSingleSymbolRendererV2::legendSymbolItems()
+{
+ QgsLegendSymbolList lst;
+ lst << qMakePair( QString(), mSymbol );
+ return lst;
+}
Modified: trunk/qgis/src/core/symbology-ng/qgssinglesymbolrendererv2.h
===================================================================
--- trunk/qgis/src/core/symbology-ng/qgssinglesymbolrendererv2.h 2010-03-20 21:26:34 UTC (rev 13112)
+++ trunk/qgis/src/core/symbology-ng/qgssinglesymbolrendererv2.h 2010-03-20 21:43:27 UTC (rev 13113)
@@ -37,6 +37,10 @@
//! return a list of symbology items for the legend
virtual QgsLegendSymbologyList legendSymbologyItems( QSize iconSize );
+ //! return a list of item text / symbol
+ //! @note: this method was added in version 1.5
+ virtual QgsLegendSymbolList legendSymbolItems();
+
protected:
QgsSymbolV2* mSymbol;
};
More information about the QGIS-commit
mailing list