1
#ifndef QGSGRADUATEDSYMBOLRENDERERV2_H
2
#define QGSGRADUATEDSYMBOLRENDERERV2_H
4
#include "qgsrendererv2.h"
6
class CORE_EXPORT QgsRendererRangeV2
9
QgsRendererRangeV2( double lowerValue, double upperValue, QgsSymbolV2* symbol, QString label );
10
QgsRendererRangeV2( const QgsRendererRangeV2& range );
12
~QgsRendererRangeV2();
14
double lowerValue() const;
15
double upperValue() const;
17
QgsSymbolV2* symbol() const;
18
QString label() const;
20
void setSymbol( QgsSymbolV2* s );
21
void setLabel( QString label );
22
void setLowerValue( double lowerValue );
23
void setUpperValue( double upperValue );
29
double mLowerValue, mUpperValue;
34
typedef QList<QgsRendererRangeV2> QgsRangeList;
37
class QgsVectorColorRampV2;
39
class CORE_EXPORT QgsGraduatedSymbolRendererV2 : public QgsFeatureRendererV2
42
QgsGraduatedSymbolRendererV2( QString attrName = QString(), QgsRangeList ranges = QgsRangeList() );
44
virtual ~QgsGraduatedSymbolRendererV2();
46
virtual QgsSymbolV2* symbolForFeature( QgsFeature& feature );
48
virtual void startRender( QgsRenderContext& context, const QgsVectorLayer *vlayer );
50
virtual void stopRender( QgsRenderContext& context );
52
virtual QList<QString> usedAttributes();
54
virtual QString dump();
56
virtual QgsFeatureRendererV2* clone();
58
virtual QgsSymbolV2List symbols();
60
QString classAttribute() const { return mAttrName; }
61
void setClassAttribute( QString attr ) { mAttrName = attr; }
63
const QgsRangeList& ranges() { return mRanges; }
65
bool updateRangeSymbol( int rangeIndex, QgsSymbolV2* symbol );
66
bool updateRangeLabel( int rangeIndex, QString label );
67
bool updateRangeUpperValue( int rangeIndex, double value );
68
bool updateRangeLowerValue( int rangeIndex, double value );
70
void addClass( QgsSymbolV2* symbol );
71
void deleteClass( int idx );
80
Mode mode() const { return mMode; }
81
void setMode( Mode mode ) { mMode = mode; }
83
static QgsGraduatedSymbolRendererV2* createRenderer(
84
QgsVectorLayer* vlayer,
89
QgsVectorColorRampV2* ramp );
91
//! create renderer from XML element
92
static QgsFeatureRendererV2* create( QDomElement& element );
94
//! store renderer info to XML element
95
virtual QDomElement save( QDomDocument& doc );
97
//! return a list of symbology items for the legend
98
virtual QgsLegendSymbologyList legendSymbologyItems( QSize iconSize );
100
QgsSymbolV2* sourceSymbol();
101
void setSourceSymbol( QgsSymbolV2* sym );
103
QgsVectorColorRampV2* sourceColorRamp();
104
void setSourceColorRamp( QgsVectorColorRampV2* ramp );
108
QgsRangeList mRanges;
110
QgsSymbolV2* mSourceSymbol;
111
QgsVectorColorRampV2* mSourceColorRamp;
113
//! attribute index (derived from attribute name in startRender)
116
QgsSymbolV2* symbolForValue( double value );
119
#endif // QGSGRADUATEDSYMBOLRENDERERV2_H