File tree Expand file tree Collapse file tree 3 files changed +32
-0
lines changed Expand file tree Collapse file tree 3 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -448,6 +448,9 @@ class QgsRuleBasedRendererV2 : QgsFeatureRendererV2
448
448
//! store renderer info to XML element
449
449
virtual QDomElement save( QDomDocument& doc );
450
450
451
+ //! return a list of symbology items for the legend
452
+ virtual QgsLegendSymbologyList legendSymbologyItems( QSize iconSize );
453
+
451
454
/////
452
455
453
456
//! return the total number of rules
Original file line number Diff line number Diff line change @@ -244,6 +244,28 @@ QDomElement QgsRuleBasedRendererV2::save( QDomDocument& doc )
244
244
}
245
245
246
246
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
+
247
269
QgsFeatureRendererV2* QgsRuleBasedRendererV2::create ( QDomElement& element )
248
270
{
249
271
// load symbols
Original file line number Diff line number Diff line change @@ -102,6 +102,13 @@ class CORE_EXPORT QgsRuleBasedRendererV2 : public QgsFeatureRendererV2
102
102
// ! store renderer info to XML element
103
103
virtual QDomElement save ( QDomDocument& doc );
104
104
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
+
105
112
// ///
106
113
107
114
// ! return the total number of rules
You can’t perform that action at this time.
0 commit comments