QgsRuleBasedRendererV2 Class Reference

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>

Inheritance diagram for QgsRuleBasedRendererV2:

Inheritance graph
[legend]
Collaboration diagram for QgsRuleBasedRendererV2:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 QgsRuleBasedRendererV2 (QgsSymbolV2 *defaultSymbol)
 Constructor. Takes ownership of the defult symbol.
virtual QgsSymbolV2symbolForFeature (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 QgsFeatureRendererV2clone ()
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
RuleruleAt (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 QgsFeatureRendererV2create (QDomElement &element)
static QList< RulerefineRuleCategories (Rule &initialRule, QgsCategorizedSymbolRendererV2 *r)
 take a rule and create a list of new rules based on the categories from categorized symbol renderer
static QList< RulerefineRuleRanges (Rule &initialRule, QgsGraduatedSymbolRendererV2 *r)
 take a rule and create a list of new rules based on the ranges from graduated symbol renderer
static QList< RulerefineRuleScales (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< RulemRules
 the list of rules
QgsSymbolV2mDefaultSymbol
 the default symbol, used for the first rule with no filter
QList< Rule * > mCurrentRules
QgsFieldMap mCurrentFields
QgsSymbolV2mCurrentSymbol

Classes

class  Rule
 This class keeps data about a rules for rule-based renderer. More...


Detailed Description

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.


Constructor & Destructor Documentation

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.

Referenced by clone(), and create().


Member Function Documentation

QgsFeatureRendererV2 * QgsRuleBasedRendererV2::create ( QDomElement &  element  )  [static]

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]

void QgsRuleBasedRendererV2::startRender ( QgsRenderContext context,
const QgsVectorLayer vlayer 
) [virtual]

void QgsRuleBasedRendererV2::stopRender ( QgsRenderContext context  )  [virtual]

QList< QString > QgsRuleBasedRendererV2::usedAttributes (  )  [virtual]

QgsFeatureRendererV2 * QgsRuleBasedRendererV2::clone (  )  [virtual]

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]

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

Note:
: this method was added in version 1.5

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]

QList< QgsRuleBasedRendererV2::Rule > QgsRuleBasedRendererV2::refineRuleRanges ( QgsRuleBasedRendererV2::Rule initialRule,
QgsGraduatedSymbolRendererV2 r 
) [static]

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().


Member Data Documentation

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().

Definition at line 143 of file qgsrulebasedrendererv2.h.

Referenced by renderFeature(), startRender(), and stopRender().

Definition at line 144 of file qgsrulebasedrendererv2.h.

Referenced by renderFeature(), startRender(), and stopRender().

Definition at line 145 of file qgsrulebasedrendererv2.h.

Referenced by renderFeature(), and symbolForFeature().


The documentation for this class was generated from the following files:

Generated on Sat Feb 4 19:17:50 2012 for Quantum GIS API Documentation by  doxygen 1.5.6