Quantum GIS API Documentation  1.7.5-Wroclaw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Static Public Member Functions | Protected Attributes
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.

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 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
void swapRules (int index1, int index2)
 swap the two rules specified by the indices
- Public Member Functions inherited from QgsFeatureRendererV2
QString type () const
virtual ~QgsFeatureRendererV2 ()
virtual QString dump ()
 for debugging
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

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
- Static Public Member Functions inherited from QgsFeatureRendererV2
static QgsFeatureRendererV2defaultRenderer (QGis::GeometryType geomType)
 return a new renderer - used by default in vector layers
static QgsFeatureRendererV2load (QDomElement &symbologyElem)
 create a renderer from XML element

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
- Protected Attributes inherited from QgsFeatureRendererV2
QString mType
bool mUsingSymbolLevels
bool mUsingFirstRule
int mCurrentVertexMarkerType
 The current type of editing marker.
int mCurrentVertexMarkerSize
 The current size of editing marker.

Additional Inherited Members

- Protected Member Functions inherited from QgsFeatureRendererV2
 QgsFeatureRendererV2 (QString type)
void renderVertexMarker (QPointF &pt, QgsRenderContext &context)
 render editing vertex marker at specified point
void renderVertexMarkerPolyline (QPolygonF &pts, QgsRenderContext &context)
 render editing vertex marker for a polyline
void renderVertexMarkerPolygon (QPolygonF &pts, QList< QPolygonF > *rings, QgsRenderContext &context)
 render editing vertex marker for a polygon
- Static Protected Member Functions inherited from QgsFeatureRendererV2
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)

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 default symbol.

Definition at line 119 of file qgsrulebasedrendererv2.cpp.

References QgsSymbolV2::clone(), and mRules.

Referenced by clone(), and create().


Member Function Documentation

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
QgsFeatureRendererV2 * QgsRuleBasedRendererV2::create ( QDomElement &  element)
static
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

Note:
: this method was added in version 1.5

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
QList< QgsRuleBasedRendererV2::Rule > QgsRuleBasedRendererV2::refineRuleRanges ( QgsRuleBasedRendererV2::Rule initialRule,
QgsGraduatedSymbolRendererV2 r 
)
static
QList< QgsRuleBasedRendererV2::Rule > QgsRuleBasedRendererV2::refineRuleScales ( QgsRuleBasedRendererV2::Rule initialRule,
QList< int >  scales 
)
static
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
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.

QDomElement QgsRuleBasedRendererV2::save ( QDomDocument &  doc)
virtual
void QgsRuleBasedRendererV2::startRender ( QgsRenderContext context,
const QgsVectorLayer vlayer 
)
virtual
void QgsRuleBasedRendererV2::stopRender ( QgsRenderContext context)
virtual
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

Member Data Documentation

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.

Referenced by clone(), and save().

QList<Rule> QgsRuleBasedRendererV2::mRules
protected

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