#include <qgsrulebasedrendererv2.h>


Public Member Functions | |
| QgsRuleBasedRendererV2 (QgsSymbolV2 *defaultSymbol) | |
| Constructor. Takes ownership of the defult 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 | |
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 |
Classes | |
| class | Rule |
| This class keeps data about a rules for rule-based renderer. More... | |
Definition at line 31 of file qgsrulebasedrendererv2.h.
| QgsRuleBasedRendererV2::QgsRuleBasedRendererV2 | ( | QgsSymbolV2 * | defaultSymbol | ) |
Constructor. Takes ownership of the defult symbol.
Definition at line 117 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolV2::clone(), mDefaultSymbol, and mRules.
| QgsFeatureRendererV2 * QgsRuleBasedRendererV2::create | ( | QDomElement & | element | ) | [static] |
Definition at line 269 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolLayerV2Utils::clearSymbolMap(), QgsSymbolLayerV2Utils::loadSymbols(), mRules, QgsDebugMsg, and QgsRuleBasedRendererV2().
Referenced by QgsRendererV2Registry::QgsRendererV2Registry().
| 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 mCurrentSymbol.
| void QgsRuleBasedRendererV2::renderFeature | ( | QgsFeature & | feature, | |
| QgsRenderContext & | context, | |||
| int | layer = -1, |
|||
| bool | selected = false, |
|||
| bool | drawVertexMarker = false | |||
| ) | [virtual] |
Reimplemented from QgsFeatureRendererV2.
Definition at line 132 of file qgsrulebasedrendererv2.cpp.
References QgsRuleBasedRendererV2::Rule::isFilterOK(), mCurrentFields, mCurrentRules, mCurrentSymbol, QgsFeatureRendererV2::renderFeature(), and QgsRuleBasedRendererV2::Rule::symbol().
| void QgsRuleBasedRendererV2::startRender | ( | QgsRenderContext & | context, | |
| const QgsVectorLayer * | vlayer | |||
| ) | [virtual] |
Implements QgsFeatureRendererV2.
Definition at line 151 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 173 of file qgsrulebasedrendererv2.cpp.
References mCurrentFields, mCurrentRules, QgsSymbolV2::stopRender(), and QgsRuleBasedRendererV2::Rule::symbol().
| QList< QString > QgsRuleBasedRendererV2::usedAttributes | ( | ) | [virtual] |
Implements QgsFeatureRendererV2.
Definition at line 185 of file qgsrulebasedrendererv2.cpp.
References mRules, and QgsRuleBasedRendererV2::Rule::needsFields().
| QgsFeatureRendererV2 * QgsRuleBasedRendererV2::clone | ( | ) | [virtual] |
Implements QgsFeatureRendererV2.
Definition at line 196 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolV2::clone(), mDefaultSymbol, mRules, and QgsRuleBasedRendererV2().
| QgsSymbolV2List QgsRuleBasedRendererV2::symbols | ( | ) | [virtual] |
for symbol levels
Implements QgsFeatureRendererV2.
Definition at line 204 of file qgsrulebasedrendererv2.cpp.
References mRules, and QgsRuleBasedRendererV2::Rule::symbol().
Referenced by save().
| QDomElement QgsRuleBasedRendererV2::save | ( | QDomDocument & | doc | ) | [virtual] |
store renderer info to XML element
Reimplemented from QgsFeatureRendererV2.
Definition at line 216 of file qgsrulebasedrendererv2.cpp.
References QgsRuleBasedRendererV2::Rule::filterExpression(), mDefaultSymbol, mRules, RENDERER_TAG_NAME, QgsSymbolLayerV2Utils::saveSymbols(), QgsRuleBasedRendererV2::Rule::scaleMaxDenom(), QgsRuleBasedRendererV2::Rule::scaleMinDenom(), QgsRuleBasedRendererV2::Rule::symbol(), and symbols().
| QgsLegendSymbologyList QgsRuleBasedRendererV2::legendSymbologyItems | ( | QSize | iconSize | ) | [virtual] |
return a list of symbology items for the legend
Reimplemented from QgsFeatureRendererV2.
Definition at line 247 of file qgsrulebasedrendererv2.cpp.
References mRules, and QgsSymbolLayerV2Utils::symbolPreviewPixmap().
| QgsLegendSymbolList QgsRuleBasedRendererV2::legendSymbolItems | ( | ) | [virtual] |
return a list of item text / symbol
Reimplemented from QgsFeatureRendererV2.
Definition at line 258 of file qgsrulebasedrendererv2.cpp.
References mRules.
| int QgsRuleBasedRendererV2::ruleCount | ( | ) |
return the total number of rules
Definition at line 313 of file qgsrulebasedrendererv2.cpp.
References mRules.
| QgsRuleBasedRendererV2::Rule & QgsRuleBasedRendererV2::ruleAt | ( | int | index | ) |
get reference to rule at index (valid indexes: 0...count-1)
Definition at line 318 of file qgsrulebasedrendererv2.cpp.
References mRules.
| void QgsRuleBasedRendererV2::addRule | ( | const Rule & | rule | ) |
add rule to the end of the list of rules
Definition at line 323 of file qgsrulebasedrendererv2.cpp.
References mRules.
| void QgsRuleBasedRendererV2::insertRule | ( | int | index, | |
| const Rule & | rule | |||
| ) |
insert rule to a specific position of the list of rules
Definition at line 328 of file qgsrulebasedrendererv2.cpp.
References mRules.
| void QgsRuleBasedRendererV2::updateRuleAt | ( | int | index, | |
| const Rule & | rule | |||
| ) |
modify the rule at a specific position of the list of rules
Definition at line 333 of file qgsrulebasedrendererv2.cpp.
References mRules.
| void QgsRuleBasedRendererV2::removeRuleAt | ( | int | index | ) |
remove the rule at the specified index
Definition at line 338 of file qgsrulebasedrendererv2.cpp.
References mRules.
| 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 346 of file qgsrulebasedrendererv2.cpp.
References QgsCategorizedSymbolRendererV2::categories(), QgsCategorizedSymbolRendererV2::classAttribute(), QgsSymbolV2::clone(), QgsRuleBasedRendererV2::Rule::filterExpression(), 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 362 of file qgsrulebasedrendererv2.cpp.
References QgsGraduatedSymbolRendererV2::classAttribute(), QgsSymbolV2::clone(), QgsRuleBasedRendererV2::Rule::filterExpression(), 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 378 of file qgsrulebasedrendererv2.cpp.
References QgsSymbolV2::clone(), QgsRuleBasedRendererV2::Rule::filterExpression(), QgsRuleBasedRendererV2::Rule::scaleMaxDenom(), QgsRuleBasedRendererV2::Rule::scaleMinDenom(), and QgsRuleBasedRendererV2::Rule::symbol().
QList<Rule> QgsRuleBasedRendererV2::mRules [protected] |
the list of rules
Definition at line 138 of file qgsrulebasedrendererv2.h.
Referenced by addRule(), clone(), create(), insertRule(), legendSymbolItems(), legendSymbologyItems(), QgsRuleBasedRendererV2(), removeRuleAt(), ruleAt(), ruleCount(), save(), startRender(), symbols(), updateRuleAt(), and usedAttributes().
QgsSymbolV2* QgsRuleBasedRendererV2::mDefaultSymbol [protected] |
the default symbol, used for the first rule with no filter
Definition at line 140 of file qgsrulebasedrendererv2.h.
Referenced by clone(), QgsRuleBasedRendererV2(), and save().
QList<Rule*> QgsRuleBasedRendererV2::mCurrentRules [protected] |
Definition at line 143 of file qgsrulebasedrendererv2.h.
Referenced by renderFeature(), startRender(), and stopRender().
QgsFieldMap QgsRuleBasedRendererV2::mCurrentFields [protected] |
Definition at line 144 of file qgsrulebasedrendererv2.h.
Referenced by renderFeature(), startRender(), and stopRender().
QgsSymbolV2* QgsRuleBasedRendererV2::mCurrentSymbol [protected] |
Definition at line 145 of file qgsrulebasedrendererv2.h.
Referenced by renderFeature(), and symbolForFeature().
1.5.6