|
Quantum GIS API Documentation
1.7.4
|
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. | |
| virtual QgsSymbolV2 * | symbolForFeature (QgsFeature &feature) |
| return symbol for current feature. Should not be used individually: there could be more symbols for a feature | |
| 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 | |
| virtual QDomElement | save (QDomDocument &doc) |
| store renderer info to XML element | |
| virtual QgsLegendSymbologyList | legendSymbologyItems (QSize iconSize) |
| return a list of symbology items for the legend | |
| virtual QgsLegendSymbolList | legendSymbolItems () |
| return a list of item text / symbol | |
| int | ruleCount () |
| return the total number of rules | |
| Rule & | ruleAt (int index) |
| get reference to rule at index (valid indexes: 0...count-1) | |
| void | addRule (const Rule &rule) |
| add rule to the end of the list of rules | |
| void | insertRule (int index, const Rule &rule) |
| insert rule to a specific position of the list of rules | |
| void | updateRuleAt (int index, const Rule &rule) |
| modify the rule at a specific position of the list of rules | |
| void | removeRuleAt (int index) |
| remove the rule at the specified index | |
| void | swapRules (int index1, int index2) |
| swap the two rules specified by the indices | |
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 | |
| 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 | |
| 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 | |
Protected Attributes | |
| QList< Rule > | mRules |
| the list of rules | |
| QgsSymbolV2 * | mDefaultSymbol |
| the default symbol, used for the first rule with no filter | |
| QList< Rule * > | mCurrentRules |
| QgsFieldMap | mCurrentFields |
| QgsSymbolV2 * | mCurrentSymbol |
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.
| QgsFeatureRendererV2 * QgsRuleBasedRendererV2::clone | ( | ) | [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().
| QgsFeatureRendererV2 * QgsRuleBasedRendererV2::create | ( | QDomElement & | element | ) | [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.
| QgsLegendSymbolList QgsRuleBasedRendererV2::legendSymbolItems | ( | ) | [virtual] |
return a list of item text / symbol
Reimplemented from QgsFeatureRendererV2.
Definition at line 279 of file qgsrulebasedrendererv2.cpp.
References mRules.
| QgsLegendSymbologyList QgsRuleBasedRendererV2::legendSymbologyItems | ( | QSize | iconSize | ) | [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().
| QList< QgsRuleBasedRendererV2::Rule > QgsRuleBasedRendererV2::refineRuleCategories | ( | QgsRuleBasedRendererV2::Rule & | initialRule, |
| QgsCategorizedSymbolRendererV2 * | r | ||
| ) | [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().
| QList< QgsRuleBasedRendererV2::Rule > QgsRuleBasedRendererV2::refineRuleRanges | ( | QgsRuleBasedRendererV2::Rule & | initialRule, |
| QgsGraduatedSymbolRendererV2 * | r | ||
| ) | [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().
| QList< QgsRuleBasedRendererV2::Rule > QgsRuleBasedRendererV2::refineRuleScales | ( | QgsRuleBasedRendererV2::Rule & | initialRule, |
| QList< int > | scales | ||
| ) | [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.
| void QgsRuleBasedRendererV2::renderFeature | ( | QgsFeature & | feature, |
| QgsRenderContext & | context, | ||
| int | layer = -1, |
||
| bool | selected = false, |
||
| bool | drawVertexMarker = false |
||
| ) | [virtual] |
Reimplemented from QgsFeatureRendererV2.
Definition at line 145 of file qgsrulebasedrendererv2.cpp.
References QgsRuleBasedRendererV2::Rule::isFilterOK(), mCurrentFields, mCurrentRules, mCurrentSymbol, 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.
return the total number of rules
Definition at line 336 of file qgsrulebasedrendererv2.cpp.
References mRules.
| QDomElement QgsRuleBasedRendererV2::save | ( | QDomDocument & | doc | ) | [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().
| void QgsRuleBasedRendererV2::startRender | ( | QgsRenderContext & | context, |
| const QgsVectorLayer * | vlayer | ||
| ) | [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().
| void QgsRuleBasedRendererV2::stopRender | ( | QgsRenderContext & | context | ) | [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.
| QgsSymbolV2 * QgsRuleBasedRendererV2::symbolForFeature | ( | QgsFeature & | feature | ) | [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().
| QgsSymbolV2List QgsRuleBasedRendererV2::symbols | ( | ) | [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.
| QList< QString > QgsRuleBasedRendererV2::usedAttributes | ( | ) | [virtual] |
Implements QgsFeatureRendererV2.
Definition at line 198 of file qgsrulebasedrendererv2.cpp.
References mRules, and QgsRuleBasedRendererV2::Rule::needsFields().
QgsFieldMap QgsRuleBasedRendererV2::mCurrentFields [protected] |
Definition at line 151 of file qgsrulebasedrendererv2.h.
Referenced by renderFeature(), startRender(), stopRender(), and symbolForFeature().
QList<Rule*> QgsRuleBasedRendererV2::mCurrentRules [protected] |
Definition at line 150 of file qgsrulebasedrendererv2.h.
Referenced by renderFeature(), startRender(), stopRender(), and symbolForFeature().
QgsSymbolV2* QgsRuleBasedRendererV2::mCurrentSymbol [protected] |
Definition at line 152 of file qgsrulebasedrendererv2.h.
Referenced by renderFeature(), and symbolForFeature().
QgsSymbolV2* QgsRuleBasedRendererV2::mDefaultSymbol [protected] |
the default symbol, used for the first rule with no filter
Definition at line 147 of file qgsrulebasedrendererv2.h.
QList<Rule> QgsRuleBasedRendererV2::mRules [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().
1.7.6.1