|
QGIS API Documentation
2.6.0-Brighton
|
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 | |
| struct | FeatureToRender |
| struct | RenderJob |
| struct | RenderLevel |
| class | Rule |
| This class keeps data about a rules for rule-based renderer. More... | |
Public Types | |
| enum | FeatureFlags { FeatIsSelected = 1, FeatDrawMarkers = 2 } |
| typedef QList< RenderLevel > | RenderQueue |
| typedef QList< Rule * > | RuleList |
Public Types inherited from QgsFeatureRendererV2 | |
| enum | Capabilities { SymbolLevels = 1, RotationField = 1 << 1, MoreSymbolsPerFeature = 1 << 2, Filter = 1 << 3, ScaleDependent = 1 << 4 } |
Public Member Functions | |
| QgsRuleBasedRendererV2 (QgsRuleBasedRendererV2::Rule *root) | |
| Constructs the renderer from given tree of rules (takes ownership) | |
| QgsRuleBasedRendererV2 (QgsSymbolV2 *defaultSymbol) | |
| Constructor for convenience. Creates a root rule and adds a default rule with symbol (takes ownership) | |
| ~QgsRuleBasedRendererV2 () | |
| virtual QgsSymbolV2 * | symbolForFeature (QgsFeature &feature) |
| return symbol for current feature. Should not be used individually: there could be more symbols for a feature | |
| virtual bool | renderFeature (QgsFeature &feature, QgsRenderContext &context, int layer=-1, bool selected=false, bool drawVertexMarker=false) |
| virtual void | startRender (QgsRenderContext &context, const QgsFields &fields) |
| virtual void | stopRender (QgsRenderContext &context) |
| virtual QList< QString > | usedAttributes () |
| virtual QgsFeatureRendererV2 * | clone () const |
| virtual void | toSld (QDomDocument &doc, QDomElement &element) const |
| used from subclasses to create SLD Rule elements following SLD v1.1 specs | |
| 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 bool | legendSymbolItemsCheckable () const |
| items of symbology items in legend should be checkable | |
| virtual bool | legendSymbolItemChecked (QString key) |
| items of symbology items in legend is checked | |
| virtual void | checkLegendSymbolItem (QString key, bool state=true) |
| item in symbology was checked | |
| virtual QgsLegendSymbolList | legendSymbolItems (double scaleDenominator=-1, QString rule="") |
| return a list of item text / symbol | |
| virtual QgsLegendSymbolListV2 | legendSymbolItemsV2 () const |
| Return a list of symbology items for the legend. | |
| virtual QString | dump () const |
| for debugging | |
| virtual bool | willRenderFeature (QgsFeature &feat) |
| return whether the renderer will render a feature or not. | |
| virtual QgsSymbolV2List | symbolsForFeature (QgsFeature &feat) |
| return list of symbols used for rendering the feature. | |
| virtual QgsSymbolV2List | originalSymbolsForFeature (QgsFeature &feat) |
| Equivalent of originalSymbolsForFeature() call extended to support renderers that may use more symbols per feature - similar to symbolsForFeature() | |
| virtual int | capabilities () |
| returns bitwise OR-ed capabilities of the renderer | |
| Rule * | rootRule () |
Public Member Functions inherited from QgsFeatureRendererV2 | |
| QString | type () const |
| virtual QgsSymbolV2 * | originalSymbolForFeature (QgsFeature &feature) |
| Return symbol for feature. | |
| virtual Q_DECL_DEPRECATED void | startRender (QgsRenderContext &context, const QgsVectorLayer *vlayer) |
| virtual | ~QgsFeatureRendererV2 () |
| bool | usingSymbolLevels () const |
| void | setUsingSymbolLevels (bool usingSymbolLevels) |
| virtual QDomElement | writeSld (QDomDocument &doc, const QgsVectorLayer &layer) const |
| create the SLD UserStyle element following the SLD v1.1 specs | |
| virtual QString | legendClassificationAttribute () const |
| If supported by the renderer, return classification attribute for the use in legend. | |
| void | setVertexMarkerAppearance (int type, int size) |
| set type and size of editing vertex markers for subsequent rendering | |
| virtual QString | rotationField () const |
| return rotation field name (or empty string if not set or not supported by renderer) | |
| virtual void | setRotationField (QString fieldName) |
| sets rotation field of renderer (if supported by the renderer) | |
Static Public Member Functions | |
| static QgsFeatureRendererV2 * | create (QDomElement &element) |
| static QgsFeatureRendererV2 * | createFromSld (QDomElement &element, QGis::GeometryType geomType) |
| static void | refineRuleCategories (Rule *initialRule, QgsCategorizedSymbolRendererV2 *r) |
| take a rule and create a list of new rules based on the categories from categorized symbol renderer | |
| static void | refineRuleRanges (Rule *initialRule, QgsGraduatedSymbolRendererV2 *r) |
| take a rule and create a list of new rules based on the ranges from graduated symbol renderer | |
| static void | 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 | |
| static QgsRuleBasedRendererV2 * | convertFromRenderer (const QgsFeatureRendererV2 *renderer) |
| creates a QgsRuleBasedRendererV2 from an existing renderer. | |
| static void | convertToDataDefinedSymbology (QgsSymbolV2 *symbol, QString sizeScaleField, QString rotationField) |
| helper function to convert the size scale and rotation fields present in some other renderers to data defined symbology | |
Static Public Member Functions inherited from QgsFeatureRendererV2 | |
| static QgsFeatureRendererV2 * | defaultRenderer (QGis::GeometryType geomType) |
| return a new renderer - used by default in vector layers | |
| static QgsFeatureRendererV2 * | load (QDomElement &symbologyElem) |
| create a renderer from XML element | |
| static QgsFeatureRendererV2 * | loadSld (const QDomNode &node, QGis::GeometryType geomType, QString &errorMessage) |
| create a new renderer according to the information contained in the UserStyle element of a SLD style document | |
Protected Attributes | |
| Rule * | mRootRule |
| the root node with hierarchical list of rules | |
| RenderQueue | mRenderQueue |
| QList< FeatureToRender > | mCurrentFeatures |
Protected Attributes inherited from QgsFeatureRendererV2 | |
| QString | mType |
| bool | mUsingSymbolLevels |
| 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 | renderFeatureWithSymbol (QgsFeature &feature, QgsSymbolV2 *symbol, QgsRenderContext &context, int layer, bool selected, bool drawVertexMarker) |
| 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 | |
| void | setScaleMethodToSymbol (QgsSymbolV2 *symbol, int scaleMethod) |
Static Protected Member Functions inherited from QgsFeatureRendererV2 | |
| static const unsigned char * | _getPoint (QPointF &pt, QgsRenderContext &context, const unsigned char *wkb) |
| static const unsigned char * | _getLineString (QPolygonF &pts, QgsRenderContext &context, const unsigned char *wkb) |
| static const unsigned char * | _getPolygon (QPolygonF &pts, QList< QPolygonF > &holes, QgsRenderContext &context, const 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.
| typedef QList<RenderLevel> QgsRuleBasedRendererV2::RenderQueue |
| typedef QList<Rule*> QgsRuleBasedRendererV2::RuleList |
| QgsRuleBasedRendererV2::QgsRuleBasedRendererV2 | ( | QgsRuleBasedRendererV2::Rule * | root | ) |
Constructs the renderer from given tree of rules (takes ownership)
| QgsRuleBasedRendererV2::QgsRuleBasedRendererV2 | ( | QgsSymbolV2 * | defaultSymbol | ) |
Constructor for convenience. Creates a root rule and adds a default rule with symbol (takes ownership)
| QgsRuleBasedRendererV2::~QgsRuleBasedRendererV2 | ( | ) |
|
inlinevirtual |
returns bitwise OR-ed capabilities of the renderer
Reimplemented from QgsFeatureRendererV2.
|
virtual |
|
virtual |
Implements QgsFeatureRendererV2.
|
static |
creates a QgsRuleBasedRendererV2 from an existing renderer.
|
static |
helper function to convert the size scale and rotation fields present in some other renderers to data defined symbology
|
static |
|
static |
|
virtual |
for debugging
Reimplemented from QgsFeatureRendererV2.
|
virtual |
items of symbology items in legend is checked
Reimplemented from QgsFeatureRendererV2.
|
virtual |
return a list of item text / symbol
Reimplemented from QgsFeatureRendererV2.
|
virtual |
items of symbology items in legend should be checkable
Reimplemented from QgsFeatureRendererV2.
|
virtual |
Return a list of symbology items for the legend.
Better choice than legendSymbolItems(). Default fallback implementation just uses legendSymbolItems() implementation
Reimplemented from QgsFeatureRendererV2.
|
virtual |
return a list of symbology items for the legend
Reimplemented from QgsFeatureRendererV2.
|
virtual |
Equivalent of originalSymbolsForFeature() call extended to support renderers that may use more symbols per feature - similar to symbolsForFeature()
Reimplemented from QgsFeatureRendererV2.
|
static |
take a rule and create a list of new rules based on the categories from categorized symbol renderer
|
static |
take a rule and create a list of new rules based on the ranges from graduated symbol renderer
|
static |
take a rule and create a list of new rules with intervals of scales given by the passed scale denominators
|
virtual |
Reimplemented from QgsFeatureRendererV2.
|
inline |
|
virtual |
store renderer info to XML element
Reimplemented from QgsFeatureRendererV2.
|
virtual |
Implements QgsFeatureRendererV2.
|
virtual |
Implements QgsFeatureRendererV2.
|
virtual |
return symbol for current feature. Should not be used individually: there could be more symbols for a feature
Implements QgsFeatureRendererV2.
|
virtual |
for symbol levels
Implements QgsFeatureRendererV2.
|
virtual |
return list of symbols used for rendering the feature.
For renderers that do not support MoreSymbolsPerFeature it is more efficient to use symbolForFeature()
Reimplemented from QgsFeatureRendererV2.
|
virtual |
used from subclasses to create SLD Rule elements following SLD v1.1 specs
Reimplemented from QgsFeatureRendererV2.
|
virtual |
Implements QgsFeatureRendererV2.
|
virtual |
return whether the renderer will render a feature or not.
Must be called between startRender() and stopRender() calls.
Reimplemented from QgsFeatureRendererV2.
|
protected |
|
protected |
|
protected |
the root node with hierarchical list of rules
1.8.1.2