QGIS API Documentation 3.41.0-Master (45a0abf3bec)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsDiagramLayerSettings Class Reference

Stores the settings for rendering of all diagrams for a layer. More...

#include <qgsdiagramrenderer.h>

Public Types

enum  DiagramType { Single , Stacked }
 Diagram type. More...
 
enum  LinePlacementFlag { OnLine = 1 , AboveLine = 1 << 1 , BelowLine = 1 << 2 , MapOrientation = 1 << 4 }
 Line placement flags for controlling line based placements. More...
 
typedef QFlags< LinePlacementFlagLinePlacementFlags
 
enum  Placement {
  AroundPoint = 0 , OverPoint , Line , Curved ,
  Horizontal , Free
}
 
enum class  Property : int {
  BackgroundColor , StrokeColor , StrokeWidth , PositionX ,
  PositionY , Distance , Priority , ZIndex ,
  IsObstacle , Show , AlwaysShow , StartAngle
}
 Data definable properties. More...
 

Public Member Functions

 QgsDiagramLayerSettings ()
 
 QgsDiagramLayerSettings (const QgsDiagramLayerSettings &rh)
 
 ~QgsDiagramLayerSettings ()
 
QgsCoordinateTransform coordinateTransform () const
 Returns the coordinate transform associated with the layer, or an invalid transform if no transformation is required.
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the diagram's property collection, used for data defined overrides.
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the diagram's property collection, used for data defined overrides.
 
double distance () const
 Returns the distance between the diagram and the feature (in mm).
 
bool isObstacle () const
 Returns whether the feature associated with a diagram acts as an obstacle for other labels or diagrams.
 
LinePlacementFlags linePlacementFlags () const
 Returns the diagram placement flags.
 
QgsDiagramLayerSettingsoperator= (const QgsDiagramLayerSettings &rh)
 
Placement placement () const
 Returns the diagram placement.
 
bool prepare (const QgsExpressionContext &context=QgsExpressionContext()) const
 Prepares the diagrams for a specified expression context.
 
int priority () const
 Returns the diagram priority.
 
void readXml (const QDomElement &elem)
 Reads the diagram settings from a DOM element.
 
QSet< QString > referencedFields (const QgsExpressionContext &context=QgsExpressionContext()) const
 Returns the set of any fields referenced by the layer's diagrams.
 
QgsDiagramRendererrenderer ()
 Returns the diagram renderer associated with the layer.
 
const QgsDiagramRendererrenderer () const
 Returns the diagram renderer associated with the layer.
 
void setCoordinateTransform (const QgsCoordinateTransform &transform)
 Sets the coordinate transform associated with the layer.
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the diagram's property collection, used for data defined overrides.
 
void setDistance (double distance)
 Sets the distance between the diagram and the feature.
 
void setIsObstacle (bool isObstacle)
 Sets whether the feature associated with a diagram acts as an obstacle for other labels or diagrams.
 
void setLinePlacementFlags (LinePlacementFlags flags)
 Sets the the diagram placement flags.
 
void setPlacement (Placement value)
 Sets the diagram placement.
 
void setPriority (int value)
 Sets the diagram priority.
 
void setRenderer (QgsDiagramRenderer *diagramRenderer)
 Sets the diagram renderer associated with the layer.
 
void setShowAllDiagrams (bool showAllDiagrams)
 Sets whether the layer should show all diagrams, including overlapping diagrams.
 
void setZIndex (double index)
 Sets the diagram z-index.
 
bool showAllDiagrams () const
 Returns whether the layer should show all diagrams, including overlapping diagrams.
 
void writeXml (QDomElement &layerElem, QDomDocument &doc) const
 Writes the diagram settings to a DOM element.
 
double zIndex () const
 Returns the diagram z-index.
 

Static Public Member Functions

static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the diagram property definitions.
 

Detailed Description

Stores the settings for rendering of all diagrams for a layer.

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 59 of file qgsdiagramrenderer.h.

Member Typedef Documentation

◆ LinePlacementFlags

Definition at line 82 of file qgsdiagramrenderer.h.

Member Enumeration Documentation

◆ DiagramType

Diagram type.

Since
QGIS 3.40
Enumerator
Single 
Stacked 

Definition at line 110 of file qgsdiagramrenderer.h.

◆ LinePlacementFlag

Line placement flags for controlling line based placements.

Enumerator
OnLine 
AboveLine 
BelowLine 
MapOrientation 

Definition at line 75 of file qgsdiagramrenderer.h.

◆ Placement

Enumerator
AroundPoint 
OverPoint 
Line 
Curved 
Horizontal 
Free 

Definition at line 64 of file qgsdiagramrenderer.h.

◆ Property

enum class QgsDiagramLayerSettings::Property : int
strong

Data definable properties.

Enumerator
BackgroundColor 

Diagram background color.

StrokeColor 

Stroke color.

StrokeWidth 

Stroke width.

PositionX 

X-coordinate data defined diagram position.

PositionY 

Y-coordinate data defined diagram position.

Distance 

Distance to diagram from feature.

Priority 

Diagram priority (between 0 and 10)

ZIndex 

Z-index for diagram ordering.

IsObstacle 

Whether diagram features act as obstacles for other diagrams/labels.

Show 

Whether to show the diagram.

AlwaysShow 

Whether the diagram should always be shown, even if it overlaps other diagrams/labels.

StartAngle 

Angle offset for pie diagram.

Definition at line 89 of file qgsdiagramrenderer.h.

Constructor & Destructor Documentation

◆ QgsDiagramLayerSettings() [1/2]

QgsDiagramLayerSettings::QgsDiagramLayerSettings ( )

Definition at line 71 of file qgsdiagramrenderer.cpp.

◆ QgsDiagramLayerSettings() [2/2]

QgsDiagramLayerSettings::QgsDiagramLayerSettings ( const QgsDiagramLayerSettings rh)

Definition at line 76 of file qgsdiagramrenderer.cpp.

◆ ~QgsDiagramLayerSettings()

QgsDiagramLayerSettings::~QgsDiagramLayerSettings ( )

Definition at line 106 of file qgsdiagramrenderer.cpp.

Member Function Documentation

◆ coordinateTransform()

QgsCoordinateTransform QgsDiagramLayerSettings::coordinateTransform ( ) const
inline

Returns the coordinate transform associated with the layer, or an invalid transform if no transformation is required.

See also
setCoordinateTransform()

Definition at line 241 of file qgsdiagramrenderer.h.

◆ dataDefinedProperties() [1/2]

QgsPropertyCollection & QgsDiagramLayerSettings::dataDefinedProperties ( )
inline

Returns a reference to the diagram's property collection, used for data defined overrides.

See also
setDataDefinedProperties()

Definition at line 292 of file qgsdiagramrenderer.h.

◆ dataDefinedProperties() [2/2]

const QgsPropertyCollection & QgsDiagramLayerSettings::dataDefinedProperties ( ) const
inline

Returns a reference to the diagram's property collection, used for data defined overrides.

See also
setDataDefinedProperties()
Property
Note
not available in Python bindings

Definition at line 300 of file qgsdiagramrenderer.h.

◆ distance()

double QgsDiagramLayerSettings::distance ( ) const
inline

Returns the distance between the diagram and the feature (in mm).

See also
setDistance()

Definition at line 207 of file qgsdiagramrenderer.h.

◆ isObstacle()

bool QgsDiagramLayerSettings::isObstacle ( ) const
inline

Returns whether the feature associated with a diagram acts as an obstacle for other labels or diagrams.

See also
setIsObstacle()

Definition at line 194 of file qgsdiagramrenderer.h.

◆ linePlacementFlags()

LinePlacementFlags QgsDiagramLayerSettings::linePlacementFlags ( ) const
inline

Returns the diagram placement flags.

These are only used if the diagram placement is set to a line type.

See also
setLinePlacementFlags()

Definition at line 147 of file qgsdiagramrenderer.h.

◆ operator=()

QgsDiagramLayerSettings & QgsDiagramLayerSettings::operator= ( const QgsDiagramLayerSettings rh)

Definition at line 91 of file qgsdiagramrenderer.cpp.

◆ placement()

Placement QgsDiagramLayerSettings::placement ( ) const
inline

Returns the diagram placement.

See also
setPlacement()

Definition at line 133 of file qgsdiagramrenderer.h.

◆ prepare()

bool QgsDiagramLayerSettings::prepare ( const QgsExpressionContext context = QgsExpressionContext()) const

Prepares the diagrams for a specified expression context.

Calling prepare before rendering multiple diagrams allows precalculation of expensive setup tasks such as parsing expressions. Returns true if preparation was successful.

Definition at line 162 of file qgsdiagramrenderer.cpp.

◆ priority()

int QgsDiagramLayerSettings::priority ( ) const
inline

Returns the diagram priority.

Returns
diagram priority, where 0 = low and 10 = high
Note
placement priority is shared with labeling, so diagrams with a high priority may displace labels and vice-versa
See also
setPriority()

Definition at line 164 of file qgsdiagramrenderer.h.

◆ propertyDefinitions()

const QgsPropertiesDefinition & QgsDiagramLayerSettings::propertyDefinitions ( )
static

Returns the diagram property definitions.

Definition at line 65 of file qgsdiagramrenderer.cpp.

◆ readXml()

void QgsDiagramLayerSettings::readXml ( const QDomElement &  elem)

Reads the diagram settings from a DOM element.

See also
writeXml()

Definition at line 125 of file qgsdiagramrenderer.cpp.

◆ referencedFields()

QSet< QString > QgsDiagramLayerSettings::referencedFields ( const QgsExpressionContext context = QgsExpressionContext()) const

Returns the set of any fields referenced by the layer's diagrams.

Parameters
contextexpression context the diagrams will be drawn using

Definition at line 167 of file qgsdiagramrenderer.cpp.

◆ renderer() [1/2]

QgsDiagramRenderer * QgsDiagramLayerSettings::renderer ( )
inline

Returns the diagram renderer associated with the layer.

See also
setRenderer()

Definition at line 220 of file qgsdiagramrenderer.h.

◆ renderer() [2/2]

const QgsDiagramRenderer * QgsDiagramLayerSettings::renderer ( ) const
inline

Returns the diagram renderer associated with the layer.

See also
setRenderer()
Note
not available in Python bindings

Definition at line 227 of file qgsdiagramrenderer.h.

◆ setCoordinateTransform()

void QgsDiagramLayerSettings::setCoordinateTransform ( const QgsCoordinateTransform transform)

Sets the coordinate transform associated with the layer.

Parameters
transformcoordinate transform. Ownership is transferred to the object.
See also
coordinateTransform()

Definition at line 120 of file qgsdiagramrenderer.cpp.

◆ setDataDefinedProperties()

void QgsDiagramLayerSettings::setDataDefinedProperties ( const QgsPropertyCollection collection)
inline

Sets the diagram's property collection, used for data defined overrides.

Parameters
collectionproperty collection. Existing properties will be replaced.
See also
dataDefinedProperties()
Property

Definition at line 308 of file qgsdiagramrenderer.h.

◆ setDistance()

void QgsDiagramLayerSettings::setDistance ( double  distance)
inline

Sets the distance between the diagram and the feature.

Parameters
distancedistance in mm
See also
distance()

Definition at line 214 of file qgsdiagramrenderer.h.

◆ setIsObstacle()

void QgsDiagramLayerSettings::setIsObstacle ( bool  isObstacle)
inline

Sets whether the feature associated with a diagram acts as an obstacle for other labels or diagrams.

Parameters
isObstacleset to true for feature to act as obstacle
See also
isObstacle()

Definition at line 201 of file qgsdiagramrenderer.h.

◆ setLinePlacementFlags()

void QgsDiagramLayerSettings::setLinePlacementFlags ( LinePlacementFlags  flags)
inline

Sets the the diagram placement flags.

These are only used if the diagram placement is set to a line type.

Parameters
flagsplacement value
See also
linePlacementFlags()

Definition at line 155 of file qgsdiagramrenderer.h.

◆ setPlacement()

void QgsDiagramLayerSettings::setPlacement ( Placement  value)
inline

Sets the diagram placement.

Parameters
valueplacement value
See also
placement()

Definition at line 140 of file qgsdiagramrenderer.h.

◆ setPriority()

void QgsDiagramLayerSettings::setPriority ( int  value)
inline

Sets the diagram priority.

Parameters
valuepriority, where 0 = low and 10 = high
See also
priority()

Definition at line 171 of file qgsdiagramrenderer.h.

◆ setRenderer()

void QgsDiagramLayerSettings::setRenderer ( QgsDiagramRenderer diagramRenderer)

Sets the diagram renderer associated with the layer.

Parameters
diagramRendererdiagram renderer. Ownership is transferred to the object.
See also
renderer()

Definition at line 111 of file qgsdiagramrenderer.cpp.

◆ setShowAllDiagrams()

void QgsDiagramLayerSettings::setShowAllDiagrams ( bool  showAllDiagrams)
inline

Sets whether the layer should show all diagrams, including overlapping diagrams.

Parameters
showAllDiagramsset to true to show all diagrams
See also
showAllDiagrams()

Definition at line 261 of file qgsdiagramrenderer.h.

◆ setZIndex()

void QgsDiagramLayerSettings::setZIndex ( double  index)
inline

Sets the diagram z-index.

Diagrams (or labels) with a higher z-index are drawn over diagrams with a lower z-index.

Parameters
indexdiagram z-index
See also
zIndex()

Definition at line 188 of file qgsdiagramrenderer.h.

◆ showAllDiagrams()

bool QgsDiagramLayerSettings::showAllDiagrams ( ) const
inline

Returns whether the layer should show all diagrams, including overlapping diagrams.

See also
setShowAllDiagrams()

Definition at line 254 of file qgsdiagramrenderer.h.

◆ writeXml()

void QgsDiagramLayerSettings::writeXml ( QDomElement &  layerElem,
QDomDocument &  doc 
) const

Writes the diagram settings to a DOM element.

See also
readXml()

Definition at line 146 of file qgsdiagramrenderer.cpp.

◆ zIndex()

double QgsDiagramLayerSettings::zIndex ( ) const
inline

Returns the diagram z-index.

Diagrams (or labels) with a higher z-index are drawn over diagrams with a lower z-index.

Note
z-index ordering is shared with labeling, so diagrams with a high z-index may be drawn over labels with a low z-index and vice-versa
See also
setZIndex()

Definition at line 180 of file qgsdiagramrenderer.h.


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