QGIS API Documentation  3.20.0-Odense (decaadbb31)
Public Types | Public Member Functions | Public Attributes | List of all members
QgsDiagramSettings Class Reference

Stores the settings for rendering a single diagram. More...

#include <qgsdiagramrenderer.h>

Public Types

enum  DiagramOrientation { Up , Down , Left , Right }
 Orientation of histogram. More...
 
enum  Direction { Clockwise , Counterclockwise }
 Angular directions. More...
 
enum  LabelPlacementMethod { Height , XHeight }
 

Public Member Functions

 QgsDiagramSettings ()
 Constructor for QgsDiagramSettings. More...
 
 QgsDiagramSettings (const QgsDiagramSettings &other)
 Copy constructor. More...
 
 ~QgsDiagramSettings ()
 
QgsLineSymbolaxisLineSymbol () const
 Returns the line symbol to use for rendering axis in diagrams. More...
 
Direction direction () const
 Returns the chart's angular direction. More...
 
QList< QgsLayerTreeModelLegendNode * > legendItems (QgsLayerTreeLayer *nodeLayer) const
 Returns list of legend nodes for the diagram. More...
 
QgsDiagramSettingsoperator= (const QgsDiagramSettings &other)
 
QgsPaintEffectpaintEffect () const
 Returns the paint effect to use while rendering diagrams. More...
 
void readXml (const QDomElement &elem, const QgsReadWriteContext &context=QgsReadWriteContext())
 Reads diagram settings from XML. More...
 
void setAxisLineSymbol (QgsLineSymbol *symbol)
 Sets the line symbol to use for rendering axis in diagrams. More...
 
void setDirection (Direction direction)
 Sets the chart's angular direction. More...
 
void setPaintEffect (QgsPaintEffect *effect)
 Sets the paint effect to use while rendering diagrams. More...
 
void setShowAxis (bool showAxis)
 Sets whether the diagram axis should be shown. More...
 
void setSpacing (double spacing)
 Sets the spacing between diagram contents. More...
 
void setSpacingMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the content spacing. More...
 
void setSpacingUnit (QgsUnitTypes::RenderUnit unit)
 Sets the unit for the content spacing. More...
 
bool showAxis () const
 Returns true if the diagram axis should be shown. More...
 
double spacing () const
 Returns the spacing between diagram contents. More...
 
const QgsMapUnitScalespacingMapUnitScale () const
 Returns the map unit scale for the content spacing. More...
 
QgsUnitTypes::RenderUnit spacingUnit () const
 Returns the units for the content spacing. More...
 
void writeXml (QDomElement &rendererElem, QDomDocument &doc, const QgsReadWriteContext &context=QgsReadWriteContext()) const
 Writes diagram settings to XML. More...
 

Public Attributes

QColor backgroundColor
 
double barWidth = 5.0
 
QList< QString > categoryAttributes
 
QList< QColor > categoryColors
 
QList< QString > categoryLabels
 
DiagramOrientation diagramOrientation = QgsDiagramSettings::Up
 
bool enabled = true
 
QFont font
 
LabelPlacementMethod labelPlacementMethod = QgsDiagramSettings::Height
 
QgsMapUnitScale lineSizeScale
 Line unit scale. More...
 
QgsUnitTypes::RenderUnit lineSizeUnit = QgsUnitTypes::RenderMillimeters
 Line unit index. More...
 
double maximumScale = 0
 The maximum map scale (i.e. More...
 
double minimumScale = 0
 The minimum map scale (i.e. More...
 
double minimumSize = 0.0
 Scale diagrams smaller than mMinimumSize to mMinimumSize. More...
 
double opacity = 1.0
 Opacity, from 0 (transparent) to 1.0 (opaque) More...
 
QColor penColor
 
double penWidth = 0.0
 
double rotationOffset = 270
 Rotation offset, in degrees clockwise from horizontal. More...
 
bool scaleBasedVisibility = false
 
bool scaleByArea = true
 
QSizeF size
 
QgsMapUnitScale sizeScale
 Diagram size unit scale. More...
 
QgsUnitTypes::RenderUnit sizeType = QgsUnitTypes::RenderMillimeters
 Diagram size unit. More...
 

Detailed Description

Stores the settings for rendering a single diagram.

QgsDiagramSettings stores the settings related to rendering the individual diagrams themselves, while QgsDiagramLayerSettings stores settings which control how ALL diagrams within a layer are rendered.

Definition at line 381 of file qgsdiagramrenderer.h.

Member Enumeration Documentation

◆ DiagramOrientation

Orientation of histogram.

Enumerator
Up 
Down 
Left 
Right 

Definition at line 392 of file qgsdiagramrenderer.h.

◆ Direction

Angular directions.

Since
QGIS 3.12
Enumerator
Clockwise 

Clockwise orientation.

Counterclockwise 

Counter-clockwise orientation.

Definition at line 404 of file qgsdiagramrenderer.h.

◆ LabelPlacementMethod

Enumerator
Height 
XHeight 

Definition at line 385 of file qgsdiagramrenderer.h.

Constructor & Destructor Documentation

◆ QgsDiagramSettings() [1/2]

QgsDiagramSettings::QgsDiagramSettings ( )

Constructor for QgsDiagramSettings.

Definition at line 838 of file qgsdiagramrenderer.cpp.

◆ ~QgsDiagramSettings()

QgsDiagramSettings::~QgsDiagramSettings ( )
default

◆ QgsDiagramSettings() [2/2]

QgsDiagramSettings::QgsDiagramSettings ( const QgsDiagramSettings other)

Copy constructor.

Definition at line 845 of file qgsdiagramrenderer.cpp.

Member Function Documentation

◆ axisLineSymbol()

QgsLineSymbol * QgsDiagramSettings::axisLineSymbol ( ) const

Returns the line symbol to use for rendering axis in diagrams.

See also
setAxisLineSymbol()
showAxis()
Since
QGIS 3.12

Definition at line 806 of file qgsdiagramrenderer.cpp.

◆ direction()

QgsDiagramSettings::Direction QgsDiagramSettings::direction ( ) const

Returns the chart's angular direction.

See also
setDirection()
Since
QGIS 3.12

Definition at line 915 of file qgsdiagramrenderer.cpp.

◆ legendItems()

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

Returns list of legend nodes for the diagram.

Note
caller is responsible for deletion of QgsLayerTreeModelLegendNodes
Since
QGIS 2.10

Definition at line 793 of file qgsdiagramrenderer.cpp.

◆ operator=()

QgsDiagramSettings & QgsDiagramSettings::operator= ( const QgsDiagramSettings other)

Definition at line 880 of file qgsdiagramrenderer.cpp.

◆ paintEffect()

QgsPaintEffect * QgsDiagramSettings::paintEffect ( ) const

Returns the paint effect to use while rendering diagrams.

See also
setPaintEffect()
Since
QGIS 3.12

Definition at line 827 of file qgsdiagramrenderer.cpp.

◆ readXml()

void QgsDiagramSettings::readXml ( const QDomElement &  elem,
const QgsReadWriteContext context = QgsReadWriteContext() 
)

Reads diagram settings from XML.

Definition at line 176 of file qgsdiagramrenderer.cpp.

◆ setAxisLineSymbol()

void QgsDiagramSettings::setAxisLineSymbol ( QgsLineSymbol symbol)

Sets the line symbol to use for rendering axis in diagrams.

Ownership of symbol is transferred to the settings.

See also
axisLineSymbol()
setShowAxis()
Since
QGIS 3.12

Definition at line 811 of file qgsdiagramrenderer.cpp.

◆ setDirection()

void QgsDiagramSettings::setDirection ( Direction  direction)

Sets the chart's angular direction.

See also
direction()
Since
QGIS 3.12

Definition at line 920 of file qgsdiagramrenderer.cpp.

◆ setPaintEffect()

void QgsDiagramSettings::setPaintEffect ( QgsPaintEffect effect)

Sets the paint effect to use while rendering diagrams.

Ownership of effect is transferred to the settings.

See also
paintEffect()
Since
QGIS 3.12

Definition at line 832 of file qgsdiagramrenderer.cpp.

◆ setShowAxis()

void QgsDiagramSettings::setShowAxis ( bool  showAxis)

Sets whether the diagram axis should be shown.

See also
showAxis()
setAxisLineSymbol()
Since
QGIS 3.12

Definition at line 822 of file qgsdiagramrenderer.cpp.

◆ setSpacing()

void QgsDiagramSettings::setSpacing ( double  spacing)
inline

Sets the spacing between diagram contents.

Spacing units are set via setSpacingUnit().

See also
spacing()
setSpacingUnit()
setSpacingMapUnitScale()
Since
QGIS 3.12

Definition at line 513 of file qgsdiagramrenderer.h.

◆ setSpacingMapUnitScale()

void QgsDiagramSettings::setSpacingMapUnitScale ( const QgsMapUnitScale scale)
inline

Sets the map unit scale for the content spacing.

See also
spacingMapUnitScale()
setSpacing()
setSpacingUnit()
Since
QGIS 3.12

Definition at line 542 of file qgsdiagramrenderer.h.

◆ setSpacingUnit()

void QgsDiagramSettings::setSpacingUnit ( QgsUnitTypes::RenderUnit  unit)
inline

Sets the unit for the content spacing.

See also
spacingUnit()
setSpacing()
setSpacingMapUnitScale()
Since
QGIS 3.12

Definition at line 523 of file qgsdiagramrenderer.h.

◆ showAxis()

bool QgsDiagramSettings::showAxis ( ) const

Returns true if the diagram axis should be shown.

See also
setShowAxis()
axisLineSymbol()
Since
QGIS 3.12

Definition at line 817 of file qgsdiagramrenderer.cpp.

◆ spacing()

double QgsDiagramSettings::spacing ( ) const
inline

Returns the spacing between diagram contents.

Spacing units can be retrieved by calling spacingUnit().

See also
setSpacing()
spacingUnit()
spacingMapUnitScale()
Since
QGIS 3.12

Definition at line 500 of file qgsdiagramrenderer.h.

◆ spacingMapUnitScale()

const QgsMapUnitScale& QgsDiagramSettings::spacingMapUnitScale ( ) const
inline

Returns the map unit scale for the content spacing.

See also
setSpacingMapUnitScale()
spacing()
spacingUnit()
Since
QGIS 3.12

Definition at line 552 of file qgsdiagramrenderer.h.

◆ spacingUnit()

QgsUnitTypes::RenderUnit QgsDiagramSettings::spacingUnit ( ) const
inline

Returns the units for the content spacing.

See also
setSpacingUnit()
spacing()
spacingMapUnitScale()
Since
QGIS 3.12

Definition at line 532 of file qgsdiagramrenderer.h.

◆ writeXml()

void QgsDiagramSettings::writeXml ( QDomElement &  rendererElem,
QDomDocument &  doc,
const QgsReadWriteContext context = QgsReadWriteContext() 
) const

Writes diagram settings to XML.

Definition at line 346 of file qgsdiagramrenderer.cpp.

Member Data Documentation

◆ backgroundColor

QColor QgsDiagramSettings::backgroundColor

Definition at line 450 of file qgsdiagramrenderer.h.

◆ barWidth

double QgsDiagramSettings::barWidth = 5.0

Definition at line 455 of file qgsdiagramrenderer.h.

◆ categoryAttributes

QList< QString > QgsDiagramSettings::categoryAttributes

Definition at line 422 of file qgsdiagramrenderer.h.

◆ categoryColors

QList< QColor > QgsDiagramSettings::categoryColors

Definition at line 421 of file qgsdiagramrenderer.h.

◆ categoryLabels

QList< QString > QgsDiagramSettings::categoryLabels
Since
QGIS 2.10

Definition at line 424 of file qgsdiagramrenderer.h.

◆ diagramOrientation

DiagramOrientation QgsDiagramSettings::diagramOrientation = QgsDiagramSettings::Up

Definition at line 454 of file qgsdiagramrenderer.h.

◆ enabled

bool QgsDiagramSettings::enabled = true

Definition at line 419 of file qgsdiagramrenderer.h.

◆ font

QFont QgsDiagramSettings::font

Definition at line 420 of file qgsdiagramrenderer.h.

◆ labelPlacementMethod

LabelPlacementMethod QgsDiagramSettings::labelPlacementMethod = QgsDiagramSettings::Height

Definition at line 453 of file qgsdiagramrenderer.h.

◆ lineSizeScale

QgsMapUnitScale QgsDiagramSettings::lineSizeScale

Line unit scale.

Since
QGIS 2.16

Definition at line 448 of file qgsdiagramrenderer.h.

◆ lineSizeUnit

QgsUnitTypes::RenderUnit QgsDiagramSettings::lineSizeUnit = QgsUnitTypes::RenderMillimeters

Line unit index.

Since
QGIS 2.16

Definition at line 442 of file qgsdiagramrenderer.h.

◆ maximumScale

double QgsDiagramSettings::maximumScale = 0

The maximum map scale (i.e.

most "zoomed in" scale) at which the diagrams will be visible. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. A scale of 0 indicates no maximum scale visibility.

See also
minimumScale

Definition at line 476 of file qgsdiagramrenderer.h.

◆ minimumScale

double QgsDiagramSettings::minimumScale = 0

The minimum map scale (i.e.

most "zoomed out" scale) at which the diagrams will be visible. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. A scale of 0 indicates no minimum scale visibility.

See also
maximumScale

Definition at line 484 of file qgsdiagramrenderer.h.

◆ minimumSize

double QgsDiagramSettings::minimumSize = 0.0

Scale diagrams smaller than mMinimumSize to mMinimumSize.

Definition at line 487 of file qgsdiagramrenderer.h.

◆ opacity

double QgsDiagramSettings::opacity = 1.0

Opacity, from 0 (transparent) to 1.0 (opaque)

Definition at line 458 of file qgsdiagramrenderer.h.

◆ penColor

QColor QgsDiagramSettings::penColor

Definition at line 451 of file qgsdiagramrenderer.h.

◆ penWidth

double QgsDiagramSettings::penWidth = 0.0

Definition at line 452 of file qgsdiagramrenderer.h.

◆ rotationOffset

double QgsDiagramSettings::rotationOffset = 270

Rotation offset, in degrees clockwise from horizontal.

Since
QGIS 3.0

Definition at line 466 of file qgsdiagramrenderer.h.

◆ scaleBasedVisibility

bool QgsDiagramSettings::scaleBasedVisibility = false

Definition at line 468 of file qgsdiagramrenderer.h.

◆ scaleByArea

bool QgsDiagramSettings::scaleByArea = true

Definition at line 460 of file qgsdiagramrenderer.h.

◆ size

QSizeF QgsDiagramSettings::size

Definition at line 425 of file qgsdiagramrenderer.h.

◆ sizeScale

QgsMapUnitScale QgsDiagramSettings::sizeScale

Diagram size unit scale.

Since
QGIS 2.16

Definition at line 436 of file qgsdiagramrenderer.h.

◆ sizeType

Diagram size unit.

Definition at line 430 of file qgsdiagramrenderer.h.


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