KChart::RelativePosition

KChart::RelativePosition Class Reference

#include <KChartRelativePosition.h>

Public Member Functions

 RelativePosition (const RelativePosition &)
 
Qt::Alignment alignment () const
 
const QPointF calculatedPoint (const QSizeF &autoSize) const
 
Measure horizontalPadding () const
 
bool operator!= (const RelativePosition &other) const
 
RelativePositionoperator= (const RelativePosition &other)
 
bool operator== (const RelativePosition &) const
 
QObjectreferenceArea () const
 
const QPointF referencePoint (qreal *polarDegrees=nullptr) const
 
const PositionPoints referencePoints () const
 
Position referencePosition () const
 
void resetReferencePosition ()
 
qreal rotation () const
 
void setAlignment (Qt::Alignment flags)
 
void setHorizontalPadding (const Measure &padding)
 
void setReferenceArea (QObject *area)
 
void setReferencePoints (const PositionPoints &points)
 
void setReferencePosition (Position position)
 
void setRotation (qreal rot)
 
void setVerticalPadding (const Measure &padding)
 
Measure verticalPadding () const
 

Detailed Description

Defines relative position information: reference area, position in this area (reference position), horizontal / vertical padding, and rotation.

See detailed description of KChart::Position for an illustration of the different possible reference positions.

Using RelativePosition you can specify the relative parts of some position information, and you can specify the absolute parts: the reference area, and the position in this area.

Note
To get an absolute position, you have three options:
  • either you declare both, the relative and the absolute parts, using setReferenceArea for the latter,
  • or you specify a set of points, using setReferencePoints,
  • or you don't use either, leaving it to KChart to find a suitable reference area.

Definition at line 54 of file KChartRelativePosition.h.

Member Function Documentation

const QPointF RelativePosition::calculatedPoint ( const QSizeF autoSize) const

Calculate a point, accordin to the reference area/position and the padding.

This method is called at drawing time: The returned point is used as anchor point. Note that it is the task of the calling code to place the content, taking the alignment property into account. This class does not know the size of the content so it cannot place it.

See also
referencePoint, setReferenceArea, setReferencePosition, setHorizontalPadding, setVerticalPadding

Definition at line 183 of file KChartRelativePosition.cpp.

const QPointF RelativePosition::referencePoint ( qreal *  polarDegrees = nullptr) const

Return the reference point, according to the reference area/position, and ignoring padding.

This method is called at drawing time. The returned point is used to test if the label of a data value is to be printed: a label is printed only if its reference point is inside or touching the coordinate plane.

If polarDegrees is set, the degree information will be returned that was stored for the respective point. This is used by the PieDiagram class to determine how vertical/horizontal padding settings should affect the position of the data value texts' reference points.

See also
calculatedPoint, setReferenceArea, setReferencePosition, setHorizontalPadding, setVerticalPadding

Definition at line 152 of file KChartRelativePosition.cpp.

void RelativePosition::resetReferencePosition ( )

Resets the position of the anchor point to the built-in default.

If the anchor point of a RelativePosition is reset (or never changed from the default setting) KChart will choose an appropriate Position at run-time.

e.g. BarDiagrams will use Position::North / Position::South for positive / negative values.

See also
setReferencePosition, setReferenceArea, setAlignment, setHorizontalPadding, setVerticalPadding, KChart::Position

Definition at line 111 of file KChartRelativePosition.cpp.

void RelativePosition::setAlignment ( Qt::Alignment  flags)

Set the alignment of the content placed by this RelativePosition.

Padding is applied first to obtain the final reference point for the content's alignment

Note
To print centered content, besides calling setAlignment( Qt::AlignCenter ) you might also want to set zero padding to have your text centered more precisely.
See also
setReferencePosition, setReferenceArea, setHorizontalPadding, setVerticalPadding

Definition at line 119 of file KChartRelativePosition.cpp.

void RelativePosition::setHorizontalPadding ( const Measure padding)

Set the width of the horizontal padding between the anchor point and the content placed by this RelativePosition.

Note
When printing data value texts this Measure is used to find the alignment point for this text, then alignment() is use to determine how to align the text relative to that point. The font height is used as reference size for both horizontal and vertical padding if the respective padding's Measure is using automatic reference area detection.
See also
setVerticalPadding, setReferencePosition, setReferenceArea

Definition at line 127 of file KChartRelativePosition.cpp.

void RelativePosition::setReferenceArea ( QObject area)

Set the reference area to be used to find the anchor point.

The reference area's type can be either a QWidget subclass or a KChart::AbstractArea subclass.

Note
Usage of reference area and reference points is mutually exclusive: Only one can be used, so any previously set reference points are cleared when you call setReferenceArea.

Also note: In a few cases KChart will ignore your area (or points, resp.) settings! Relative positioning of data value texts is an example: For these the reference area is always taken to be the data area.

See also
setReferencePosition, setAlignment, setHorizontalPadding, setVerticalPadding

Definition at line 88 of file KChartRelativePosition.cpp.

void RelativePosition::setReferencePoints ( const PositionPoints points)

Set a set of points from which the anchor point will be selected.

Note
Usage of reference area and reference points is mutually exclusive: Only one can be used, so any previously set reference area is cleared when you call setReferencePoints.

Also note: In a few cases KChart will ignore your points (or area, resp.) settings! Relative positioning of data value texts is an example: For these the reference area is always taken to be the data area.

See also
setReferenceArea, setReferencePosition, setAlignment, setHorizontalPadding, setVerticalPadding

Definition at line 98 of file KChartRelativePosition.cpp.

void RelativePosition::setReferencePosition ( Position  position)

Set the position of the anchor point.

The anchor point of a RelativePosition may be one of the pre-defined points of it's reference area - for details see KChart::Position.

See detailed description of KChart::Position for an illustration of the different possible reference positions.

See also
resetReferencePosition, setReferenceArea, setAlignment, setHorizontalPadding, setVerticalPadding, KChart::Position

Definition at line 107 of file KChartRelativePosition.cpp.

void RelativePosition::setVerticalPadding ( const Measure padding)

Set the height of the vertical padding between the anchor point and the content placed by this RelativePosition.

Note
When printing data value texts this Measure is used to find the alignment point for this text, then alignment() is use to determine how to align the text relative to that point. The font height is used as reference size for both horizontal and vertical padding if the respective padding's Measure is using automatic reference area detection.
See also
setHorizontalPadding, setReferencePosition, setReferenceArea

Definition at line 135 of file KChartRelativePosition.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sun Aug 9 2020 22:38:08 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.