Quantum GIS API Documentation
1.7.5-Wroclaw
|
When drawing a vector layer with rule-based renderer, it goes through the rules and draws features with symbols from rules that match. More...
#include <qgsrulebasedrendererv2.h>
Classes | |
class | Rule |
This class keeps data about a rules for rule-based renderer. More... | |
Public Member Functions | |
QgsRuleBasedRendererV2 (QgsSymbolV2 *defaultSymbol) | |
Constructor. Takes ownership of the default symbol. More... | |
virtual QgsSymbolV2 * | symbolForFeature (QgsFeature &feature) |
return symbol for current feature. Should not be used individually: there could be more symbols for a feature More... | |
virtual void | renderFeature (QgsFeature &feature, QgsRenderContext &context, int layer=-1, bool selected=false, bool drawVertexMarker=false) |
virtual void | startRender (QgsRenderContext &context, const QgsVectorLayer *vlayer) |
virtual void | stopRender (QgsRenderContext &context) |
virtual QList< QString > | usedAttributes () |
virtual QgsFeatureRendererV2 * | clone () |
virtual QgsSymbolV2List | symbols () |
for symbol levels More... | |
virtual QDomElement | save (QDomDocument &doc) |
store renderer info to XML element More... | |
virtual QgsLegendSymbologyList | legendSymbologyItems (QSize iconSize) |
return a list of symbology items for the legend More... | |
virtual QgsLegendSymbolList | legendSymbolItems () |
return a list of item text / symbol More... | |
int | ruleCount () |
return the total number of rules More... | |
Rule & | ruleAt (int index) |
get reference to rule at index (valid indexes: 0...count-1) More... | |
void | addRule (const Rule &rule) |
add rule to the end of the list of rules More... | |
void | insertRule (int index, const Rule &rule) |
insert rule to a specific position of the list of rules More... | |
void | updateRuleAt (int index, const Rule &rule) |
modify the rule at a specific position of the list of rules More... | |
void | removeRuleAt (int index) |
remove the rule at the specified index More... | |
void | swapRules (int index1, int index2) |
swap the two rules specified by the indices More... | |
![]() | |
QString | type () const |
virtual | ~QgsFeatureRendererV2 () |
virtual QString | dump () |
for debugging More... | |
bool | usingSymbolLevels () const |
void | setUsingSymbolLevels (bool usingSymbolLevels) |
bool | usingFirstRule () const |
void | setUsingFirstRule (bool usingFirstRule) |
void | setVertexMarkerAppearance (int type, int size) |
set type and size of editing vertex markers for subsequent rendering More... | |
Static Public Member Functions | |
static QgsFeatureRendererV2 * | create (QDomElement &element) |
static QList< Rule > | refineRuleCategories (Rule &initialRule, QgsCategorizedSymbolRendererV2 *r) |
take a rule and create a list of new rules based on the categories from categorized symbol renderer More... | |
static QList< Rule > | refineRuleRanges (Rule &initialRule, QgsGraduatedSymbolRendererV2 *r) |
take a rule and create a list of new rules based on the ranges from graduated symbol renderer More... | |
static QList< Rule > | refineRuleScales (Rule &initialRule, QList< int > scales) |
take a rule and create a list of new rules with intervals of scales given by the passed scale denominators More... | |
![]() | |
static QgsFeatureRendererV2 * | defaultRenderer (QGis::GeometryType geomType) |
return a new renderer - used by default in vector layers More... | |
static QgsFeatureRendererV2 * | load (QDomElement &symbologyElem) |
create a renderer from XML element More... | |
Protected Attributes | |
QList< Rule > | mRules |
the list of rules More... | |
QgsSymbolV2 * | mDefaultSymbol |
the default symbol, used for the first rule with no filter More... | |
QList< Rule * > | mCurrentRules |
QgsFieldMap | mCurrentFields |
QgsSymbolV2 * | mCurrentSymbol |
![]() | |
QString | mType |
bool | mUsingSymbolLevels |
bool | mUsingFirstRule |
int | mCurrentVertexMarkerType |
The current type of editing marker. More... | |
int | mCurrentVertexMarkerSize |
The current size of editing marker. More... | |
Additional Inherited Members | |
![]() | |
QgsFeatureRendererV2 (QString type) | |
void | renderVertexMarker (QPointF &pt, QgsRenderContext &context) |
render editing vertex marker at specified point More... | |
void | renderVertexMarkerPolyline (QPolygonF &pts, QgsRenderContext &context) |
render editing vertex marker for a polyline More... | |
void | renderVertexMarkerPolygon (QPolygonF &pts, QList< QPolygonF > *rings, QgsRenderContext &context) |
render editing vertex marker for a polygon More... | |
![]() | |
static unsigned char * | _getPoint (QPointF &pt, QgsRenderContext &context, unsigned char *wkb) |
static unsigned char * | _getLineString (QPolygonF &pts, QgsRenderContext &context, unsigned char *wkb) |
static unsigned char * | _getPolygon (QPolygonF &pts, QList< QPolygonF > &holes, QgsRenderContext &context, unsigned char *wkb) |
When drawing a vector layer with rule-based renderer, it goes through the rules and draws features with symbols from rules that match.
Definition at line 31 of file qgsrulebasedrendererv2.h.
QgsRuleBasedRendererV2::QgsRuleBasedRendererV2 | ( | QgsSymbolV2 * | defaultSymbol) |
Constructor. Takes ownership of the default symbol.
Definition at line 119 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolV2::clone(), and mRules.
void QgsRuleBasedRendererV2::addRule | ( | const Rule & | rule) |
add rule to the end of the list of rules
Definition at line 346 of file qgsrulebasedrendererv2.cpp.
References mRules.
|
virtual |
Implements QgsFeatureRendererV2.
Definition at line 209 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolV2::clone(), mDefaultSymbol, mRules, QgsRuleBasedRendererV2(), QgsFeatureRendererV2::setUsingFirstRule(), QgsFeatureRendererV2::setUsingSymbolLevels(), QgsFeatureRendererV2::usingFirstRule(), and QgsFeatureRendererV2::usingSymbolLevels().
|
static |
Definition at line 290 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolLayerV2Utils::clearSymbolMap(), QgsSymbolLayerV2Utils::loadSymbols(), mRules, QgsDebugMsg, and QgsRuleBasedRendererV2().
Referenced by QgsRendererV2Registry::QgsRendererV2Registry().
void QgsRuleBasedRendererV2::insertRule | ( | int | index, |
const Rule & | rule | ||
) |
insert rule to a specific position of the list of rules
Definition at line 351 of file qgsrulebasedrendererv2.cpp.
References mRules.
|
virtual |
return a list of item text / symbol
Reimplemented from QgsFeatureRendererV2.
Definition at line 279 of file qgsrulebasedrendererv2.cpp.
References mRules.
|
virtual |
return a list of symbology items for the legend
Reimplemented from QgsFeatureRendererV2.
Definition at line 268 of file qgsrulebasedrendererv2.cpp.
References mRules, and QgsSymbolLayerV2Utils::symbolPreviewPixmap().
|
static |
take a rule and create a list of new rules based on the categories from categorized symbol renderer
Definition at line 375 of file qgsrulebasedrendererv2.cpp.
References QgsCategorizedSymbolRendererV2::categories(), QgsCategorizedSymbolRendererV2::classAttribute(), QgsSymbolV2::clone(), QgsRuleBasedRendererV2::Rule::description(), QgsRuleBasedRendererV2::Rule::filterExpression(), QgsRuleBasedRendererV2::Rule::label(), QgsRuleBasedRendererV2::Rule::scaleMaxDenom(), QgsRuleBasedRendererV2::Rule::scaleMinDenom(), QgsRendererCategoryV2::symbol(), and QgsRendererCategoryV2::value().
|
static |
take a rule and create a list of new rules based on the ranges from graduated symbol renderer
Definition at line 393 of file qgsrulebasedrendererv2.cpp.
References QgsGraduatedSymbolRendererV2::classAttribute(), QgsSymbolV2::clone(), QgsRuleBasedRendererV2::Rule::description(), QgsRuleBasedRendererV2::Rule::filterExpression(), QgsRuleBasedRendererV2::Rule::label(), QgsRendererRangeV2::lowerValue(), QgsGraduatedSymbolRendererV2::ranges(), QgsRuleBasedRendererV2::Rule::scaleMaxDenom(), QgsRuleBasedRendererV2::Rule::scaleMinDenom(), QgsRendererRangeV2::symbol(), and QgsRendererRangeV2::upperValue().
|
static |
take a rule and create a list of new rules with intervals of scales given by the passed scale denominators
Definition at line 411 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolV2::clone(), QgsRuleBasedRendererV2::Rule::description(), QgsRuleBasedRendererV2::Rule::filterExpression(), QgsRuleBasedRendererV2::Rule::label(), QgsRuleBasedRendererV2::Rule::scaleMaxDenom(), QgsRuleBasedRendererV2::Rule::scaleMinDenom(), and QgsRuleBasedRendererV2::Rule::symbol().
void QgsRuleBasedRendererV2::removeRuleAt | ( | int | index) |
remove the rule at the specified index
Definition at line 361 of file qgsrulebasedrendererv2.cpp.
References mRules.
|
virtual |
Reimplemented from QgsFeatureRendererV2.
Definition at line 145 of file qgsrulebasedrendererv2.cpp.
References QgsRuleBasedRendererV2::Rule::isFilterOK(), mCurrentFields, mCurrentRules, mCurrentSymbol, QgsFeatureRendererV2::renderFeature(), and QgsRuleBasedRendererV2::Rule::symbol().
QgsRuleBasedRendererV2::Rule & QgsRuleBasedRendererV2::ruleAt | ( | int | index) |
get reference to rule at index (valid indexes: 0...count-1)
Definition at line 341 of file qgsrulebasedrendererv2.cpp.
References mRules.
int QgsRuleBasedRendererV2::ruleCount | ( | ) |
return the total number of rules
Definition at line 336 of file qgsrulebasedrendererv2.cpp.
References mRules.
|
virtual |
store renderer info to XML element
Reimplemented from QgsFeatureRendererV2.
Definition at line 233 of file qgsrulebasedrendererv2.cpp.
References QgsRuleBasedRendererV2::Rule::description(), QgsRuleBasedRendererV2::Rule::filterExpression(), QgsRuleBasedRendererV2::Rule::label(), mDefaultSymbol, mRules, QgsFeatureRendererV2::mUsingFirstRule, QgsFeatureRendererV2::mUsingSymbolLevels, RENDERER_TAG_NAME, QgsSymbolLayerV2Utils::saveSymbols(), QgsRuleBasedRendererV2::Rule::scaleMaxDenom(), QgsRuleBasedRendererV2::Rule::scaleMinDenom(), QgsRuleBasedRendererV2::Rule::symbol(), and symbols().
|
virtual |
Implements QgsFeatureRendererV2.
Definition at line 164 of file qgsrulebasedrendererv2.cpp.
References QgsRuleBasedRendererV2::Rule::isScaleOK(), mCurrentFields, mCurrentRules, mRules, QgsVectorLayer::pendingFields(), QgsRenderContext::rendererScale(), QgsSymbolV2::startRender(), and QgsRuleBasedRendererV2::Rule::symbol().
|
virtual |
Implements QgsFeatureRendererV2.
Definition at line 186 of file qgsrulebasedrendererv2.cpp.
References mCurrentFields, mCurrentRules, QgsSymbolV2::stopRender(), and QgsRuleBasedRendererV2::Rule::symbol().
void QgsRuleBasedRendererV2::swapRules | ( | int | index1, |
int | index2 | ||
) |
swap the two rules specified by the indices
Definition at line 366 of file qgsrulebasedrendererv2.cpp.
References mRules.
|
virtual |
return symbol for current feature. Should not be used individually: there could be more symbols for a feature
Implements QgsFeatureRendererV2.
Definition at line 127 of file qgsrulebasedrendererv2.cpp.
References QgsRuleBasedRendererV2::Rule::isFilterOK(), mCurrentFields, mCurrentRules, mCurrentSymbol, QgsRuleBasedRendererV2::Rule::symbol(), and QgsFeatureRendererV2::usingFirstRule().
|
virtual |
for symbol levels
Implements QgsFeatureRendererV2.
Definition at line 221 of file qgsrulebasedrendererv2.cpp.
References mRules, and QgsRuleBasedRendererV2::Rule::symbol().
Referenced by save().
void QgsRuleBasedRendererV2::updateRuleAt | ( | int | index, |
const Rule & | rule | ||
) |
modify the rule at a specific position of the list of rules
Definition at line 356 of file qgsrulebasedrendererv2.cpp.
References mRules.
|
virtual |
Implements QgsFeatureRendererV2.
Definition at line 198 of file qgsrulebasedrendererv2.cpp.
References mRules, and QgsRuleBasedRendererV2::Rule::needsFields().
|
protected |
Definition at line 151 of file qgsrulebasedrendererv2.h.
Referenced by renderFeature(), startRender(), stopRender(), and symbolForFeature().
|
protected |
Definition at line 150 of file qgsrulebasedrendererv2.h.
Referenced by renderFeature(), startRender(), stopRender(), and symbolForFeature().
|
protected |
Definition at line 152 of file qgsrulebasedrendererv2.h.
Referenced by renderFeature(), and symbolForFeature().
|
protected |
the default symbol, used for the first rule with no filter
Definition at line 147 of file qgsrulebasedrendererv2.h.
|
protected |
the list of rules
Definition at line 145 of file qgsrulebasedrendererv2.h.
Referenced by addRule(), clone(), create(), insertRule(), legendSymbolItems(), legendSymbologyItems(), QgsRuleBasedRendererV2(), removeRuleAt(), ruleAt(), ruleCount(), save(), startRender(), swapRules(), symbols(), updateRuleAt(), and usedAttributes().