File tree Expand file tree Collapse file tree 8 files changed +68
-1
lines changed Expand file tree Collapse file tree 8 files changed +68
-1
lines changed Original file line number Diff line number Diff line change @@ -359,6 +359,25 @@ QgsLegendSymbologyList QgsCategorizedSymbolRendererV2::legendSymbologyItems( QSi
359359 return lst;
360360}
361361
362+ QgsLegendSymbolList QgsCategorizedSymbolRendererV2::legendSymbolItems ()
363+ {
364+ QSettings settings;
365+ bool showClassifiers = settings.value ( " /qgis/showLegendClassifiers" , false ).toBool ();
366+
367+ QgsLegendSymbolList lst;
368+ if ( showClassifiers )
369+ {
370+ lst << qMakePair ( classAttribute (), ( QgsSymbolV2* )0 );
371+ }
372+
373+ QgsCategoryList::const_iterator catIt = mCategories .constBegin ();
374+ for ( ; catIt != mCategories .constEnd (); ++catIt )
375+ {
376+ lst << qMakePair ( catIt->label (), catIt->symbol () );
377+ }
378+ return lst;
379+ }
380+
362381
363382QgsSymbolV2* QgsCategorizedSymbolRendererV2::sourceSymbol ()
364383{
Original file line number Diff line number Diff line change @@ -83,6 +83,10 @@ class CORE_EXPORT QgsCategorizedSymbolRendererV2 : public QgsFeatureRendererV2
8383 // ! return a list of symbology items for the legend
8484 virtual QgsLegendSymbologyList legendSymbologyItems ( QSize iconSize );
8585
86+ // ! return a list of item text / symbol
87+ // ! @note: this method was added in version 1.5
88+ virtual QgsLegendSymbolList legendSymbolItems ();
89+
8690 QgsSymbolV2* sourceSymbol ();
8791 void setSourceSymbol ( QgsSymbolV2* sym );
8892
Original file line number Diff line number Diff line change @@ -482,6 +482,25 @@ QgsLegendSymbologyList QgsGraduatedSymbolRendererV2::legendSymbologyItems( QSize
482482 return lst;
483483}
484484
485+ QgsLegendSymbolList QgsGraduatedSymbolRendererV2::legendSymbolItems ()
486+ {
487+ QSettings settings;
488+ bool showClassifiers = settings.value ( " /qgis/showLegendClassifiers" , false ).toBool ();
489+
490+ QgsLegendSymbolList lst;
491+ if ( showClassifiers )
492+ {
493+ lst << qMakePair ( classAttribute (), ( QgsSymbolV2* )0 );
494+ }
495+
496+ QgsRangeList::const_iterator rangeIt = mRanges .constBegin ();
497+ for ( ; rangeIt != mRanges .constEnd (); ++rangeIt )
498+ {
499+ lst << qMakePair ( rangeIt->label (), rangeIt->symbol () );
500+ }
501+ return lst;
502+ }
503+
485504QgsSymbolV2* QgsGraduatedSymbolRendererV2::sourceSymbol ()
486505{
487506 return mSourceSymbol ;
Original file line number Diff line number Diff line change @@ -97,6 +97,10 @@ class CORE_EXPORT QgsGraduatedSymbolRendererV2 : public QgsFeatureRendererV2
9797 // ! return a list of symbology items for the legend
9898 virtual QgsLegendSymbologyList legendSymbologyItems ( QSize iconSize );
9999
100+ // ! return a list of item text / symbol
101+ // ! @note: this method was added in version 1.5
102+ virtual QgsLegendSymbolList legendSymbolItems ();
103+
100104 QgsSymbolV2* sourceSymbol ();
101105 void setSourceSymbol ( QgsSymbolV2* sym );
102106
Original file line number Diff line number Diff line change @@ -312,7 +312,7 @@ QgsFeatureRendererV2* QgsFeatureRendererV2::load( QDomElement& element )
312312 QString rendererType = element.attribute ( " type" );
313313
314314 QgsRendererV2AbstractMetadata* m = QgsRendererV2Registry::instance ()->rendererMetadata ( rendererType );
315- if (m == NULL )
315+ if ( m == NULL )
316316 return NULL ;
317317
318318 QgsFeatureRendererV2* r = m->createRenderer ( element );
@@ -334,6 +334,11 @@ QgsLegendSymbologyList QgsFeatureRendererV2::legendSymbologyItems( QSize iconSiz
334334 return QgsLegendSymbologyList ();
335335}
336336
337+ QgsLegendSymbolList QgsFeatureRendererV2::legendSymbolItems ()
338+ {
339+ return QgsLegendSymbolList ();
340+ }
341+
337342void QgsFeatureRendererV2::setVertexMarkerAppearance ( int type, int size )
338343{
339344 mCurrentVertexMarkerType = type;
Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ typedef QList<QgsSymbolV2*> QgsSymbolV2List;
2222typedef QMap<QString, QgsSymbolV2* > QgsSymbolV2Map;
2323
2424typedef QList< QPair<QString, QPixmap> > QgsLegendSymbologyList;
25+ typedef QList< QPair<QString, QgsSymbolV2*> > QgsLegendSymbolList;
2526
2627#define RENDERER_TAG_NAME " renderer-v2"
2728
@@ -92,6 +93,10 @@ class CORE_EXPORT QgsFeatureRendererV2
9293 // ! return a list of symbology items for the legend
9394 virtual QgsLegendSymbologyList legendSymbologyItems ( QSize iconSize );
9495
96+ // ! return a list of item text / symbol
97+ // ! @note: this method was added in version 1.5
98+ virtual QgsLegendSymbolList legendSymbolItems ();
99+
95100 // ! set type and size of editing vertex markers for subsequent rendering
96101 void setVertexMarkerAppearance ( int type, int size );
97102
Original file line number Diff line number Diff line change @@ -110,3 +110,10 @@ QgsLegendSymbologyList QgsSingleSymbolRendererV2::legendSymbologyItems( QSize ic
110110 lst << qMakePair ( QString (), pix );
111111 return lst;
112112}
113+
114+ QgsLegendSymbolList QgsSingleSymbolRendererV2::legendSymbolItems ()
115+ {
116+ QgsLegendSymbolList lst;
117+ lst << qMakePair ( QString (), mSymbol );
118+ return lst;
119+ }
Original file line number Diff line number Diff line change @@ -37,6 +37,10 @@ class CORE_EXPORT QgsSingleSymbolRendererV2 : public QgsFeatureRendererV2
3737 // ! return a list of symbology items for the legend
3838 virtual QgsLegendSymbologyList legendSymbologyItems ( QSize iconSize );
3939
40+ // ! return a list of item text / symbol
41+ // ! @note: this method was added in version 1.5
42+ virtual QgsLegendSymbolList legendSymbolItems ();
43+
4044 protected:
4145 QgsSymbolV2* mSymbol ;
4246};
You can’t perform that action at this time.
0 commit comments