QgsSingleCategoryDiagramRenderer class

Renders the diagrams for all features with the same settings.

Base classes

class QgsDiagramRenderer
Evaluates and returns the diagram settings relating to a diagram for a specific feature.

Constructors, destructors, conversion operators

QgsSingleCategoryDiagramRenderer() defaulted
Constructor for QgsSingleCategoryDiagramRenderer.

Public functions

auto clone() const -> QgsSingleCategoryDiagramRenderer* override
Returns new instance that is equivalent to this one.
auto diagramAttributes() const -> QList<QString> override
Returns attribute indices needed for diagram rendering.
auto diagramSettings() const -> QList<QgsDiagramSettings> override
Returns list with all diagram settings in the renderer.
auto legendItems(QgsLayerTreeLayer* nodeLayer) const -> QList<QgsLayerTreeModelLegendNode*> override
Returns list of legend nodes for the diagram.
void readXml(const QDomElement& elem, const QgsReadWriteContext& context) override
Reads diagram state from a DOM element.
void writeXml(QDomElement& layerElem, QDomDocument& doc, const QgsReadWriteContext& context) const override
Writes diagram state to a DOM element.

Protected functions

auto diagramSettings(const QgsFeature& feature, const QgsRenderContext& c, QgsDiagramSettings& s) const -> bool override
Returns diagram settings for a feature (or false if the diagram for the feature is not to be rendered).
auto diagramSize(const QgsFeature& features, const QgsRenderContext& c) const -> QSizeF override
Returns size of the diagram (in painter units) or an invalid size in case of error.

Function documentation

QgsSingleCategoryDiagramRenderer* QgsSingleCategoryDiagramRenderer::clone() const override

Returns new instance that is equivalent to this one.

QList<QgsLayerTreeModelLegendNode*> QgsSingleCategoryDiagramRenderer::legendItems(QgsLayerTreeLayer* nodeLayer) const override

Returns list of legend nodes for the diagram.

void QgsSingleCategoryDiagramRenderer::readXml(const QDomElement& elem, const QgsReadWriteContext& context) override

Reads diagram state from a DOM element.

Subclasses should ensure that _readXml() is called by their readXml implementation to restore the general QgsDiagramRenderer settings.

void QgsSingleCategoryDiagramRenderer::writeXml(QDomElement& layerElem, QDomDocument& doc, const QgsReadWriteContext& context) const override

Writes diagram state to a DOM element.

Subclasses should ensure that _writeXml() is called by their writeXml implementation to save the general QgsDiagramRenderer settings.

bool QgsSingleCategoryDiagramRenderer::diagramSettings(const QgsFeature& feature, const QgsRenderContext& c, QgsDiagramSettings& s) const override protected

Returns diagram settings for a feature (or false if the diagram for the feature is not to be rendered).

Parameters
feature the feature
c render context
s out: diagram settings for the feature

Used internally within renderDiagram()