QgsNullSymbolRenderer class
Null symbol renderer.
Contents
- Reference
Renderer which draws no symbols for features by default, but allows for labeling and diagrams for the layer. Selected features will also be drawn with a default symbol.
Public static functions
- static auto convertFromRenderer(const QgsFeatureRenderer* renderer) -> QgsNullSymbolRenderer*
- Creates a QgsNullSymbolRenderer from an existing renderer.
- static auto create(QDomElement& element, const QgsReadWriteContext& context) -> QgsFeatureRenderer*
- Creates a null renderer from XML element.
Public functions
- auto clone() const -> QgsFeatureRenderer* override
- Create a deep copy of this renderer.
- auto dump() const -> QString override
- Returns debug information about this renderer.
- auto originalSymbolForFeature(const QgsFeature& feature, QgsRenderContext& context) const -> QgsSymbol* override
- Returns symbol for feature.
- auto renderFeature(const QgsFeature& feature, QgsRenderContext& context, int layer = -1, bool selected = false, bool drawVertexMarker = false) -> bool override
- Render a feature using this renderer in the given context.
- auto save(QDomDocument& doc, const QgsReadWriteContext& context) -> QDomElement override
- store renderer info to XML element
- void stopRender(QgsRenderContext& context) override
- Must be called when a render cycle has finished, to allow the renderer to clean up.
- auto symbolForFeature(const QgsFeature& feature, QgsRenderContext& context) const -> QgsSymbol* override
- To be overridden.
- auto symbols(QgsRenderContext& context) const -> QgsSymbolList override
- Returns list of symbols used by the renderer.
- auto usedAttributes(const QgsRenderContext& context) const -> QSet<QString> override
- Returns a list of attributes required by this renderer.
- auto willRenderFeature(const QgsFeature& feature, QgsRenderContext& context) const -> bool override
- Returns whether the renderer will render a feature or not.
Function documentation
static QgsNullSymbolRenderer* QgsNullSymbolRenderer:: convertFromRenderer(const QgsFeatureRenderer* renderer)
Creates a QgsNullSymbolRenderer from an existing renderer.
| Parameters | |
|---|---|
| renderer | renderer to convert from |
| Returns | a new renderer if the conversion was possible, otherwise nullptr. |
static QgsFeatureRenderer* QgsNullSymbolRenderer:: create(QDomElement& element,
const QgsReadWriteContext& context)
Creates a null renderer from XML element.
| Parameters | |
|---|---|
| element | DOM element |
| context | reading context |
| Returns | new null symbol renderer |
QgsFeatureRenderer* QgsNullSymbolRenderer:: clone() const override
Create a deep copy of this renderer.
| Returns | A copy of this renderer |
|---|
Should be implemented by all subclasses and generate a proper subclass.
QgsSymbol* QgsNullSymbolRenderer:: originalSymbolForFeature(const QgsFeature& feature,
QgsRenderContext& context) const override
Returns symbol for feature.
The difference compared to symbolForFeature() is that it returns original symbol which can be used as an identifier for renderer's rule - the former may return a temporary replacement of a symbol for use in rendering.
bool QgsNullSymbolRenderer:: renderFeature(const QgsFeature& feature,
QgsRenderContext& context,
int layer = -1,
bool selected = false,
bool drawVertexMarker = false) override
Render a feature using this renderer in the given context.
Must be called between startRender() and stopRender() calls. Default implementation renders a symbol as determined by symbolForFeature() call. Returns true if the feature has been returned (this is used for example to determine whether the feature may be labelled).
If layer is not -1, the renderer should draw only a particula layer from symbols (in order to support symbol level rendering).
void QgsNullSymbolRenderer:: stopRender(QgsRenderContext& context) override
Must be called when a render cycle has finished, to allow the renderer to clean up.
Calls to stopRender() must always be preceded by a call to startRender().
QgsSymbol* QgsNullSymbolRenderer:: symbolForFeature(const QgsFeature& feature,
QgsRenderContext& context) const override
To be overridden.
| Parameters | |
|---|---|
| feature | feature |
| context | render context |
| Returns | returns pointer to symbol or 0 if symbol was not found |
Must be called between startRender() and stopRender() calls.
QgsSymbolList QgsNullSymbolRenderer:: symbols(QgsRenderContext& context) const override
Returns list of symbols used by the renderer.
| Parameters | |
|---|---|
| context | render context |
QSet<QString> QgsNullSymbolRenderer:: usedAttributes(const QgsRenderContext& context) const override
Returns a list of attributes required by this renderer.
| Returns | A set of attributes |
|---|
Attributes not listed in here may not have been requested from the provider at rendering time.
bool QgsNullSymbolRenderer:: willRenderFeature(const QgsFeature& feature,
QgsRenderContext& context) const override
Returns whether the renderer will render a feature or not.
Must be called between startRender() and stopRender() calls. Default implementation uses symbolForFeature().