QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
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 (Qgis::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...
 
Qgis::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...
 
Qgis::RenderUnit lineSizeUnit = Qgis::RenderUnit::Millimeters
 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...
 
Qgis::RenderUnit sizeType = Qgis::RenderUnit::Millimeters
 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 356 of file qgsdiagramrenderer.h.

Member Enumeration Documentation

◆ DiagramOrientation

Orientation of histogram.

Enumerator
Up 
Down 
Left 
Right 

Definition at line 367 of file qgsdiagramrenderer.h.

◆ Direction

Angular directions.

Since
QGIS 3.12
Enumerator
Clockwise 

Clockwise orientation.

Counterclockwise 

Counter-clockwise orientation.

Definition at line 379 of file qgsdiagramrenderer.h.

◆ LabelPlacementMethod

Enumerator
Height 
XHeight 

Definition at line 360 of file qgsdiagramrenderer.h.

Constructor & Destructor Documentation

◆ QgsDiagramSettings() [1/2]

QgsDiagramSettings::QgsDiagramSettings ( )

Constructor for QgsDiagramSettings.

Definition at line 852 of file qgsdiagramrenderer.cpp.

◆ ~QgsDiagramSettings()

QgsDiagramSettings::~QgsDiagramSettings ( )
default

◆ QgsDiagramSettings() [2/2]

QgsDiagramSettings::QgsDiagramSettings ( const QgsDiagramSettings other)

Copy constructor.

Definition at line 859 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 820 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 929 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

Definition at line 807 of file qgsdiagramrenderer.cpp.

◆ operator=()

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

Definition at line 894 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 841 of file qgsdiagramrenderer.cpp.

◆ readXml()

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

Reads diagram settings from XML.

Definition at line 177 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 825 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 934 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 846 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 836 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 483 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 512 of file qgsdiagramrenderer.h.

◆ setSpacingUnit()

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

Sets the unit for the content spacing.

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

Definition at line 493 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 831 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 470 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 522 of file qgsdiagramrenderer.h.

◆ spacingUnit()

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

Returns the units for the content spacing.

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

Definition at line 502 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 421 of file qgsdiagramrenderer.h.

◆ barWidth

double QgsDiagramSettings::barWidth = 5.0

Definition at line 426 of file qgsdiagramrenderer.h.

◆ categoryAttributes

QList< QString > QgsDiagramSettings::categoryAttributes

Definition at line 397 of file qgsdiagramrenderer.h.

◆ categoryColors

QList< QColor > QgsDiagramSettings::categoryColors

Definition at line 396 of file qgsdiagramrenderer.h.

◆ categoryLabels

QList< QString > QgsDiagramSettings::categoryLabels

Definition at line 398 of file qgsdiagramrenderer.h.

◆ diagramOrientation

DiagramOrientation QgsDiagramSettings::diagramOrientation = QgsDiagramSettings::Up

Definition at line 425 of file qgsdiagramrenderer.h.

◆ enabled

bool QgsDiagramSettings::enabled = true

Definition at line 394 of file qgsdiagramrenderer.h.

◆ font

QFont QgsDiagramSettings::font

Definition at line 395 of file qgsdiagramrenderer.h.

◆ labelPlacementMethod

LabelPlacementMethod QgsDiagramSettings::labelPlacementMethod = QgsDiagramSettings::Height

Definition at line 424 of file qgsdiagramrenderer.h.

◆ lineSizeScale

QgsMapUnitScale QgsDiagramSettings::lineSizeScale

Line unit scale.

Definition at line 419 of file qgsdiagramrenderer.h.

◆ lineSizeUnit

Qgis::RenderUnit QgsDiagramSettings::lineSizeUnit = Qgis::RenderUnit::Millimeters

Line unit index.

Definition at line 414 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 446 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 454 of file qgsdiagramrenderer.h.

◆ minimumSize

double QgsDiagramSettings::minimumSize = 0.0

Scale diagrams smaller than mMinimumSize to mMinimumSize.

Definition at line 457 of file qgsdiagramrenderer.h.

◆ opacity

double QgsDiagramSettings::opacity = 1.0

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

Definition at line 429 of file qgsdiagramrenderer.h.

◆ penColor

QColor QgsDiagramSettings::penColor

Definition at line 422 of file qgsdiagramrenderer.h.

◆ penWidth

double QgsDiagramSettings::penWidth = 0.0

Definition at line 423 of file qgsdiagramrenderer.h.

◆ rotationOffset

double QgsDiagramSettings::rotationOffset = 270

Rotation offset, in degrees clockwise from horizontal.

Definition at line 436 of file qgsdiagramrenderer.h.

◆ scaleBasedVisibility

bool QgsDiagramSettings::scaleBasedVisibility = false

Definition at line 438 of file qgsdiagramrenderer.h.

◆ scaleByArea

bool QgsDiagramSettings::scaleByArea = true

Definition at line 431 of file qgsdiagramrenderer.h.

◆ size

QSizeF QgsDiagramSettings::size

Definition at line 399 of file qgsdiagramrenderer.h.

◆ sizeScale

QgsMapUnitScale QgsDiagramSettings::sizeScale

Diagram size unit scale.

Definition at line 409 of file qgsdiagramrenderer.h.

◆ sizeType

Qgis::RenderUnit QgsDiagramSettings::sizeType = Qgis::RenderUnit::Millimeters

Diagram size unit.

Definition at line 404 of file qgsdiagramrenderer.h.


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