QGIS API Documentation  master-6227475
QgsDiagram Class Reference

Base class for all diagram types. More...

#include <qgsdiagram.h>

+ Inheritance diagram for QgsDiagram:

List of all members.

Public Member Functions

virtual ~QgsDiagram ()
virtual QString diagramName () const =0
virtual QSizeF diagramSize (const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s)=0
 Returns the size in map units the diagram will use to render.
virtual QSizeF diagramSize (const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is)=0
 Returns the size in map units the diagram will use to render.
virtual void renderDiagram (const QgsAttributes &att, QgsRenderContext &c, const QgsDiagramSettings &s, const QPointF &position)=0
 Draws the diagram at the given position (in pixel coordinates)

Protected Member Functions

QFont scaledFont (const QgsDiagramSettings &s, const QgsRenderContext &c)
 Calculates a size to match the current settings and rendering context.
void setPenWidth (QPen &pen, const QgsDiagramSettings &s, const QgsRenderContext &c)
 Changes the pen width to match the current settings and rendering context.
QSizeF sizePainterUnits (const QSizeF &size, const QgsDiagramSettings &s, const QgsRenderContext &c)
 Calculates a size to match the current settings and rendering context.
float sizePainterUnits (float l, const QgsDiagramSettings &s, const QgsRenderContext &c)
 Calculates a length to match the current settings and rendering context.

Detailed Description

Base class for all diagram types.

Definition at line 32 of file qgsdiagram.h.


Constructor & Destructor Documentation

virtual QgsDiagram::~QgsDiagram ( ) [inline, virtual]

Definition at line 35 of file qgsdiagram.h.


Member Function Documentation

virtual QString QgsDiagram::diagramName ( ) const [pure virtual]
virtual QSizeF QgsDiagram::diagramSize ( const QgsAttributes attributes,
const QgsRenderContext c,
const QgsDiagramSettings s 
) [pure virtual]

Returns the size in map units the diagram will use to render.

Implemented in QgsTextDiagram, QgsHistogramDiagram, and QgsPieDiagram.

Referenced by QgsSingleCategoryDiagramRenderer::diagramSize(), and QgsLinearlyInterpolatedDiagramRenderer::diagramSize().

virtual QSizeF QgsDiagram::diagramSize ( const QgsAttributes attributes,
const QgsRenderContext c,
const QgsDiagramSettings s,
const QgsDiagramInterpolationSettings is 
) [pure virtual]

Returns the size in map units the diagram will use to render.

Interpolate size

Implemented in QgsTextDiagram, QgsHistogramDiagram, and QgsPieDiagram.

virtual void QgsDiagram::renderDiagram ( const QgsAttributes att,
QgsRenderContext c,
const QgsDiagramSettings s,
const QPointF &  position 
) [pure virtual]

Draws the diagram at the given position (in pixel coordinates)

Implemented in QgsTextDiagram, QgsHistogramDiagram, and QgsPieDiagram.

Referenced by QgsDiagramRendererV2::renderDiagram().

QFont QgsDiagram::scaledFont ( const QgsDiagramSettings s,
const QgsRenderContext c 
) [protected]

Calculates a size to match the current settings and rendering context.

Parameters:
sThe settings that contain the font size and size type
cThe rendering specifying the proper scale units for pixel conversion
Returns:
The properly scaled font for rendering

Definition at line 58 of file qgsdiagram.cpp.

References QgsDiagramSettings::font, QgsRenderContext::mapToPixel(), QgsMapToPixel::mapUnitsPerPixel(), QgsDiagramSettings::MM, QgsRenderContext::scaleFactor(), and QgsDiagramSettings::sizeType.

Referenced by QgsTextDiagram::renderDiagram().

void QgsDiagram::setPenWidth ( QPen &  pen,
const QgsDiagramSettings s,
const QgsRenderContext c 
) [protected]

Changes the pen width to match the current settings and rendering context.

Parameters:
penThe pen to modify
sThe settings that specify the pen width
cThe rendering specifying the proper scale units for pixel conversion

Definition at line 21 of file qgsdiagram.cpp.

References QgsRenderContext::mapToPixel(), QgsMapToPixel::mapUnitsPerPixel(), QgsDiagramSettings::MM, QgsDiagramSettings::penWidth, QgsRenderContext::scaleFactor(), and QgsDiagramSettings::sizeType.

Referenced by QgsPieDiagram::renderDiagram(), QgsHistogramDiagram::renderDiagram(), and QgsTextDiagram::renderDiagram().

QSizeF QgsDiagram::sizePainterUnits ( const QSizeF &  size,
const QgsDiagramSettings s,
const QgsRenderContext c 
) [protected]

Calculates a size to match the current settings and rendering context.

Parameters:
sizeThe size to convert
sThe settings that specify the size type
cThe rendering specifying the proper scale units for pixel conversion
Returns:
The converted size for rendering

Definition at line 34 of file qgsdiagram.cpp.

References QgsRenderContext::mapToPixel(), QgsMapToPixel::mapUnitsPerPixel(), QgsDiagramSettings::MM, QgsRenderContext::scaleFactor(), and QgsDiagramSettings::sizeType.

Referenced by QgsPieDiagram::renderDiagram(), QgsHistogramDiagram::renderDiagram(), and QgsTextDiagram::renderDiagram().

float QgsDiagram::sizePainterUnits ( float  l,
const QgsDiagramSettings s,
const QgsRenderContext c 
) [protected]

Calculates a length to match the current settings and rendering context.

Parameters:
lThe length to convert
sUnused
cThe rendering specifying the proper scale units for pixel conversion
Returns:
The converted length for rendering

Definition at line 46 of file qgsdiagram.cpp.

References QgsRenderContext::mapToPixel(), QgsMapToPixel::mapUnitsPerPixel(), QgsDiagramSettings::MM, QgsRenderContext::scaleFactor(), and QgsDiagramSettings::sizeType.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines