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