[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