class QgsRendererRangeV2 { %TypeHeaderCode #include %End public: QgsRendererRangeV2( double lowerValue, double upperValue, QgsSymbolV2* symbol /Transfer/, QString label, bool render = true ); QgsRendererRangeV2( const QgsRendererRangeV2& range ); // default dtor is ok ~QgsRendererRangeV2(); double lowerValue() const; double upperValue() const; QgsSymbolV2* symbol() const; QString label() const; void setSymbol( QgsSymbolV2* s /Transfer/ ); void setLabel( QString label ); void setLowerValue( double lowerValue ); void setUpperValue( double upperValue ); // @note added in 2.5 bool renderState() const; void setRenderState( bool render ); // debugging QString dump() const; void toSld( QDomDocument& doc, QDomElement &element, QgsStringMap props ) const; protected: // for cpy+swap idiom void swap( QgsRendererRangeV2 & other ); }; typedef QList QgsRangeList; class QgsGraduatedSymbolRendererV2 : QgsFeatureRendererV2 { %TypeHeaderCode #include %End public: QgsGraduatedSymbolRendererV2( QString attrName = QString(), QgsRangeList ranges = QgsRangeList() ); virtual ~QgsGraduatedSymbolRendererV2(); virtual QgsSymbolV2* symbolForFeature( QgsFeature& feature ); virtual void startRender( QgsRenderContext& context, const QgsFields& fields ); virtual void stopRender( QgsRenderContext& context ); virtual QList usedAttributes(); virtual QString dump() const; virtual QgsFeatureRendererV2* clone() const /Factory/; virtual void toSld( QDomDocument& doc, QDomElement &element ) const; //! returns bitwise OR-ed capabilities of the renderer //! \note added in 2.0 virtual int capabilities(); virtual QgsSymbolV2List symbols(); QString classAttribute() const; void setClassAttribute( QString attr ); const QgsRangeList& ranges(); bool updateRangeSymbol( int rangeIndex, QgsSymbolV2* symbol /Transfer/ ); bool updateRangeLabel( int rangeIndex, QString label ); bool updateRangeUpperValue( int rangeIndex, double value ); bool updateRangeLowerValue( int rangeIndex, double value ); //! @note added in 2.5 bool updateRangeRenderState( int rangeIndex, bool render ); QString defaultRangeLabel( const QgsRendererRangeV2 &range ); void addClass( QgsSymbolV2* symbol ); //! @note available in python bindings as addClassRange void addClass( QgsRendererRangeV2 range ) /PyName=addClassRange/; void deleteClass( int idx ); void deleteAllClasses(); //! Moves the category at index position from to index position to. void moveClass( int from, int to ); void sortByValue( Qt::SortOrder order = Qt::AscendingOrder ); void sortByLabel( Qt::SortOrder order = Qt::AscendingOrder ); enum Mode { EqualInterval, Quantile, Jenks, StdDev, Pretty, Custom }; Mode mode() const; void setMode( Mode mode ); QString units(); void setUnits( QString units, bool updateRanges=true ); int decimalPlaces() const; void setDecimalPlaces( int decimalPlaces, bool updateRanges=true ); static QgsGraduatedSymbolRendererV2* createRenderer( QgsVectorLayer* vlayer, QString attrName, int classes, Mode mode, QgsSymbolV2* symbol /Transfer/, QgsVectorColorRampV2* ramp /Transfer/, bool inverted = false, QString units = "", int decimalPlaces = 4 ) /Factory/; //! create renderer from XML element static QgsFeatureRendererV2* create( QDomElement& element ) /Factory/; //! store renderer info to XML element virtual QDomElement save( QDomDocument& doc ); //! 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 //! @note not available in python bindings // virtual QgsLegendSymbolList legendSymbolItems(); QgsSymbolV2* sourceSymbol(); void setSourceSymbol( QgsSymbolV2* sym /Transfer/ ); QgsVectorColorRampV2* sourceColorRamp(); void setSourceColorRamp( QgsVectorColorRampV2* ramp /Transfer/ ); //! @note added in 2.1 bool invertedColorRamp(); void setInvertedColorRamp( bool inverted ); /** Update the color ramp used. Also updates all symbols colors. * Doesn't alter current breaks. */ void updateColorRamp( QgsVectorColorRampV2* ramp /Transfer/, bool inverted = false ); /** Update the all symbols but leave breaks and colors. */ void updateSymbols( QgsSymbolV2* sym /Transfer/ ); //! @note added in 1.6 void setRotationField( QString fieldOrExpression ); //! @note added in 1.6 QString rotationField() const; //! @note added in 1.6 void setSizeScaleField( QString fieldOrExpression ); //! @note added in 1.6 QString sizeScaleField() const; //! @note added in 2.0 void setScaleMethod( QgsSymbolV2::ScaleMethod scaleMethod ); //! @note added in 2.0 QgsSymbolV2::ScaleMethod scaleMethod() const; //! items of symbology items in legend should be checkable // @note added in 2.5 virtual bool legendSymbolItemsCheckable() const; //! item in symbology was checked // @note added in 2.5 virtual bool legendSymbolItemChecked( QString key ); //! item in symbology was checked // @note added in 2.5 virtual void checkLegendSymbolItem( QString key, bool state = true ); //! creates a QgsGraduatedSymbolRendererV2 from an existing renderer. //! @note added in 2.5 //! @returns a new renderer if the conversion was possible, otherwise 0. static QgsGraduatedSymbolRendererV2* convertFromRenderer( const QgsFeatureRendererV2 *renderer ) /Factory/; //! If supported by the renderer, return classification attribute for the use in legend //! @note added in 2.6 virtual QString legendClassificationAttribute(); protected: QgsSymbolV2* symbolForValue( double value ); private: QgsGraduatedSymbolRendererV2( const QgsGraduatedSymbolRendererV2 & ); QgsGraduatedSymbolRendererV2 & operator=( const QgsGraduatedSymbolRendererV2 & ); };