Skip to content

Commit 37ed18c

Browse files
author
wonder
committedOct 18, 2010
Applied part of #2832 (show rules in legend).
git-svn-id: http://svn.osgeo.org/qgis/trunk@14404 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 3d1ac26 commit 37ed18c

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed
 

‎python/core/symbology-ng-core.sip

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,9 @@ class QgsRuleBasedRendererV2 : QgsFeatureRendererV2
448448
//! store renderer info to XML element
449449
virtual QDomElement save( QDomDocument& doc );
450450

451+
//! return a list of symbology items for the legend
452+
virtual QgsLegendSymbologyList legendSymbologyItems( QSize iconSize );
453+
451454
/////
452455

453456
//! return the total number of rules

‎src/core/symbology-ng/qgsrulebasedrendererv2.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,28 @@ QDomElement QgsRuleBasedRendererV2::save( QDomDocument& doc )
244244
}
245245

246246

247+
QgsLegendSymbologyList QgsRuleBasedRendererV2::legendSymbologyItems( QSize iconSize )
248+
{
249+
QgsLegendSymbologyList lst;
250+
for ( QList<Rule>::iterator it = mRules.begin(); it != mRules.end(); ++it )
251+
{
252+
QPixmap pix = QgsSymbolLayerV2Utils::symbolPreviewPixmap( it->symbol(), iconSize );
253+
lst << qMakePair( it->filterExpression(), pix );
254+
}
255+
return lst;
256+
}
257+
258+
QgsLegendSymbolList QgsRuleBasedRendererV2::legendSymbolItems()
259+
{
260+
QgsLegendSymbolList lst;
261+
for ( QList<Rule>::iterator it = mRules.begin(); it != mRules.end(); ++it )
262+
{
263+
lst << qMakePair( it->filterExpression(), it->symbol() );
264+
}
265+
return lst;
266+
}
267+
268+
247269
QgsFeatureRendererV2* QgsRuleBasedRendererV2::create( QDomElement& element )
248270
{
249271
// load symbols

‎src/core/symbology-ng/qgsrulebasedrendererv2.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,13 @@ class CORE_EXPORT QgsRuleBasedRendererV2 : public QgsFeatureRendererV2
102102
//! store renderer info to XML element
103103
virtual QDomElement save( QDomDocument& doc );
104104

105+
//! return a list of symbology items for the legend
106+
virtual QgsLegendSymbologyList legendSymbologyItems( QSize iconSize );
107+
108+
//! return a list of item text / symbol
109+
//! @note: this method was added in version 1.5
110+
virtual QgsLegendSymbolList legendSymbolItems();
111+
105112
/////
106113

107114
//! return the total number of rules

0 commit comments

Comments
 (0)
Please sign in to comment.