KD Chart API Documentation  3.1
Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | List of all members
KDChart::AbstractCoordinatePlane Class Referenceabstract

Base class common for all coordinate planes, CartesianCoordinatePlane, PolarCoordinatePlane, TernaryCoordinatePlane. More...

#include <KDChartAbstractCoordinatePlane.h>

Inheritance diagram for KDChart::AbstractCoordinatePlane:
KDChart::AbstractArea KDChart::AbstractAreaBase KDChart::AbstractLayoutItem KDChart::CartesianCoordinatePlane KDChart::PolarCoordinatePlane KDChart::TernaryCoordinatePlane KDChart::LeveyJenningsCoordinatePlane KDChart::RadarCoordinatePlane

Public Types

enum  AxesCalcMode { Linear , Logarithmic }
 

Public Slots

void layoutPlanes ()
 
void relayout ()
 
void setGridNeedsRecalculate ()
 
void update ()
 

Signals

void boundariesChanged ()
 
void destroyedCoordinatePlane (AbstractCoordinatePlane *)
 
void geometryChanged (QRect, QRect)
 
void internal_geometryChanged (QRect, QRect)
 
void needLayoutPlanes ()
 
void needRelayout ()
 
void needUpdate ()
 
void propertiesChanged ()
 
void viewportCoordinateSystemChanged ()
 
- Signals inherited from KDChart::AbstractArea
void positionChanged (AbstractArea *)
 

Public Member Functions

 ~AbstractCoordinatePlane () override
 
virtual void addDiagram (AbstractDiagram *diagram)
 
AbstractDiagramdiagram ()
 
AbstractDiagramList diagrams ()
 
ConstAbstractDiagramList diagrams () const
 
Qt::Orientations expandingDirections () const override
 
QRect geometry () const override
 
GridAttributes globalGridAttributes () const
 
DataDimensionsList gridDimensionsList ()
 
bool isCornerSpacersEnabled () const
 
bool isEmpty () const override
 
bool isRubberBandZoomingEnabled () const
 
bool isVisiblePoint (const QPointF &point) const
 
virtual void layoutDiagrams ()=0
 
QSize maximumSize () const override
 
QSize minimumSize () const override
 
virtual void mouseDoubleClickEvent (QMouseEvent *event)
 
virtual void mouseMoveEvent (QMouseEvent *event)
 
virtual void mousePressEvent (QMouseEvent *event)
 
virtual void mouseReleaseEvent (QMouseEvent *event)
 
Chartparent ()
 
const Chartparent () const
 
AbstractCoordinatePlanereferenceCoordinatePlane () const
 
virtual void replaceDiagram (AbstractDiagram *diagram, AbstractDiagram *oldDiagram=nullptr)
 
void setCornerSpacersEnabled (bool enable)
 
void setGeometry (const QRect &r) override
 
void setGlobalGridAttributes (const GridAttributes &)
 
void setParent (Chart *parent)
 
void setReferenceCoordinatePlane (AbstractCoordinatePlane *plane)
 
void setRubberBandZoomingEnabled (bool enable)
 
virtual void setZoomCenter (const QPointF &center)
 
virtual void setZoomFactors (qreal factorX, qreal factorY)
 
virtual void setZoomFactorX (qreal factor)
 
virtual void setZoomFactorY (qreal factor)
 
virtual AbstractCoordinatePlanesharedAxisMasterPlane (QPainter *p=nullptr)
 
QSize sizeHint () const override
 
virtual void takeDiagram (AbstractDiagram *diagram)
 
virtual const QPointF translate (const QPointF &diagramPoint) const =0
 
virtual QPointF zoomCenter () const
 
virtual qreal zoomFactorX () const
 
virtual qreal zoomFactorY () const
 
- Public Member Functions inherited from KDChart::AbstractArea
 ~AbstractArea () override
 
virtual int bottomOverlap (bool doNotRecalculate=false) const
 
virtual int leftOverlap (bool doNotRecalculate=false) const
 
void paintAll (QPainter &painter) override
 
virtual void paintIntoRect (QPainter &painter, const QRect &rect)
 Draws the background and frame, then calls paint(). More...
 
virtual int rightOverlap (bool doNotRecalculate=false) const
 
virtual int topOverlap (bool doNotRecalculate=false) const
 
- Public Member Functions inherited from KDChart::AbstractAreaBase
void alignToReferencePoint (const RelativePosition &position)
 
BackgroundAttributes backgroundAttributes () const
 
bool compare (const AbstractAreaBase *other) const
 
FrameAttributes frameAttributes () const
 
void getFrameLeadings (int &left, int &top, int &right, int &bottom) const
 
virtual void paintBackground (QPainter &painter, const QRect &rectangle)
 
virtual void paintFrame (QPainter &painter, const QRect &rectangle)
 
void setBackgroundAttributes (const BackgroundAttributes &a)
 
void setFrameAttributes (const FrameAttributes &a)
 
- Public Member Functions inherited from KDChart::AbstractLayoutItem
 AbstractLayoutItem (Qt::Alignment itemAlignment={})
 
virtual void paint (QPainter *)=0
 
virtual void paintCtx (PaintContext *context)
 
QLayout * parentLayout ()
 
void removeFromParentLayout ()
 
void setParentLayout (QLayout *lay)
 
virtual void setParentWidget (QWidget *widget)
 
virtual void sizeHintChanged () const
 

Protected Member Functions

 AbstractCoordinatePlane (Chart *parent=nullptr)
 
virtual DataDimensionsList getDataDimensionsList () const =0
 
- Protected Member Functions inherited from KDChart::AbstractArea
 AbstractArea ()
 
QRect areaGeometry () const override
 
void positionHasChanged () override
 
- Protected Member Functions inherited from KDChart::AbstractAreaBase
 AbstractAreaBase ()
 
virtual ~AbstractAreaBase ()
 
QRect innerRect () const
 

Additional Inherited Members

- Static Public Member Functions inherited from KDChart::AbstractAreaBase
static void paintBackgroundAttributes (QPainter &painter, const QRect &rectangle, const KDChart::BackgroundAttributes &attributes)
 
static void paintFrameAttributes (QPainter &painter, const QRect &rectangle, const KDChart::FrameAttributes &attributes)
 
- Protected Attributes inherited from KDChart::AbstractLayoutItem
QWidget * mParent = nullptr
 
QLayout * mParentLayout = nullptr
 

Detailed Description

Base class common for all coordinate planes, CartesianCoordinatePlane, PolarCoordinatePlane, TernaryCoordinatePlane.

Definition at line 32 of file KDChartAbstractCoordinatePlane.h.

Member Enumeration Documentation

◆ AxesCalcMode

Enumerator
Linear 
Logarithmic 

Definition at line 41 of file KDChartAbstractCoordinatePlane.h.

Constructor & Destructor Documentation

◆ AbstractCoordinatePlane()

AbstractCoordinatePlane::AbstractCoordinatePlane ( KDChart::Chart parent = nullptr)
explicitprotected

Definition at line 34 of file KDChartAbstractCoordinatePlane.cpp.

References d, and parent().

◆ ~AbstractCoordinatePlane()

AbstractCoordinatePlane::~AbstractCoordinatePlane ( )
override

Definition at line 41 of file KDChartAbstractCoordinatePlane.cpp.

References destroyedCoordinatePlane().

Member Function Documentation

◆ addDiagram()

void AbstractCoordinatePlane::addDiagram ( AbstractDiagram diagram)
virtual

◆ boundariesChanged

void KDChart::AbstractCoordinatePlane::boundariesChanged ( )
signal

◆ destroyedCoordinatePlane

void KDChart::AbstractCoordinatePlane::destroyedCoordinatePlane ( AbstractCoordinatePlane )
signal

Emitted when this coordinate plane is destroyed.

Referenced by ~AbstractCoordinatePlane(), and KDChart::Chart::insertCoordinatePlane().

◆ diagram()

AbstractDiagram * AbstractCoordinatePlane::diagram ( )

◆ diagrams() [1/2]

AbstractDiagramList AbstractCoordinatePlane::diagrams ( )

◆ diagrams() [2/2]

ConstAbstractDiagramList AbstractCoordinatePlane::diagrams ( ) const
Returns
The list of diagrams associated with this coordinate plane.

Definition at line 124 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ expandingDirections()

Qt::Orientations KDChart::AbstractCoordinatePlane::expandingDirections ( ) const
override

pure virtual in QLayoutItem

Definition at line 190 of file KDChartAbstractCoordinatePlane.cpp.

◆ geometry()

QRect KDChart::AbstractCoordinatePlane::geometry ( ) const
override

◆ geometryChanged

void KDChart::AbstractCoordinatePlane::geometryChanged ( QRect  ,
QRect   
)
signal

Emitted after the geometry of the Coordinate Plane has been changed. and control has returned to the event loop.

Parameters are the old geometry, the new geometry.

Referenced by KDChart::Plotter::connectAttributesModel().

◆ getDataDimensionsList()

virtual DataDimensionsList KDChart::AbstractCoordinatePlane::getDataDimensionsList ( ) const
protectedpure virtual

◆ globalGridAttributes()

GridAttributes KDChart::AbstractCoordinatePlane::globalGridAttributes ( ) const
Returns
The grid attributes used by this coordinate plane.
See also
setGlobalGridAttributes
CartesianCoordinatePlane::gridAttributes

Definition at line 142 of file KDChartAbstractCoordinatePlane.cpp.

References d.

Referenced by KDChart::CartesianCoordinatePlane::gridAttributes().

◆ gridDimensionsList()

KDChart::DataDimensionsList KDChart::AbstractCoordinatePlane::gridDimensionsList ( )

Returns the dimensions used for drawing the grid lines.

Returned data is the result of (cached) grid calculations, so - if you need that information for your own tasks - make sure to call again this function after every data modification that has changed the data range, since grid calculation is based upon the data range, thus the grid start/end might have changed if the data was changed.

Note
Returned list will contain different numbers of DataDimension, depending on the kind of coordinate plane used. For CartesianCoordinatePlane two DataDimension are returned: the first representing grid lines in X direction (matching the Abscissa axes) and the second indicating vertical grid lines (or Ordinate axes, resp.).
Returns
The dimensions used for drawing the grid lines.
See also
DataDimension

Definition at line 147 of file KDChartAbstractCoordinatePlane.cpp.

References d.

Referenced by KDChart::CartesianCoordinatePlane::layoutDiagrams(), and KDChart::CartesianAxis::paintCtx().

◆ internal_geometryChanged

void KDChart::AbstractCoordinatePlane::internal_geometryChanged ( QRect  ,
QRect   
)
signal

◆ isCornerSpacersEnabled()

bool KDChart::AbstractCoordinatePlane::isCornerSpacersEnabled ( ) const
Returns
Whether this plane should have spacers in the corners formed by the presence of axes.

Definition at line 274 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ isEmpty()

bool KDChart::AbstractCoordinatePlane::isEmpty ( ) const
override

pure virtual in QLayoutItem

Definition at line 183 of file KDChartAbstractCoordinatePlane.cpp.

◆ isRubberBandZoomingEnabled()

bool KDChart::AbstractCoordinatePlane::isRubberBandZoomingEnabled ( ) const
Returns
Whether zooming with a rubber band using the mouse is enabled.

Definition at line 260 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ isVisiblePoint()

bool KDChart::AbstractCoordinatePlane::isVisiblePoint ( const QPointF &  point) const

Tests, if a point is visible on the coordinate plane.

Note
Before calling this function the point must have been translated into coordinate plane space.

Definition at line 393 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ layoutDiagrams()

virtual void KDChart::AbstractCoordinatePlane::layoutDiagrams ( )
pure virtual

Distribute the available space among the diagrams and axes.

Implemented in KDChart::TernaryCoordinatePlane, KDChart::PolarCoordinatePlane, and KDChart::CartesianCoordinatePlane.

Referenced by addDiagram(), replaceDiagram(), and takeDiagram().

◆ layoutPlanes

void KDChart::AbstractCoordinatePlane::layoutPlanes ( )
slot

Calling layoutPlanes() on the plane triggers the global KDChart::Chart::slotLayoutPlanes()

Definition at line 244 of file KDChartAbstractCoordinatePlane.cpp.

Referenced by addDiagram(), KDChart::AbstractCartesianDiagram::layoutPlanes(), KDChart::CartesianAxis::layoutPlanes(), replaceDiagram(), and takeDiagram().

◆ maximumSize()

QSize KDChart::AbstractCoordinatePlane::maximumSize ( ) const
override

pure virtual in QLayoutItem

Definition at line 195 of file KDChartAbstractCoordinatePlane.cpp.

◆ minimumSize()

QSize KDChart::AbstractCoordinatePlane::minimumSize ( ) const
override

pure virtual in QLayoutItem

Definition at line 202 of file KDChartAbstractCoordinatePlane.cpp.

◆ mouseDoubleClickEvent()

void KDChart::AbstractCoordinatePlane::mouseDoubleClickEvent ( QMouseEvent *  event)
virtual

Definition at line 313 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ mouseMoveEvent()

void KDChart::AbstractCoordinatePlane::mouseMoveEvent ( QMouseEvent *  event)
virtual

Definition at line 375 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ mousePressEvent()

void KDChart::AbstractCoordinatePlane::mousePressEvent ( QMouseEvent *  event)
virtual

◆ mouseReleaseEvent()

void KDChart::AbstractCoordinatePlane::mouseReleaseEvent ( QMouseEvent *  event)
virtual

Definition at line 325 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ needLayoutPlanes

void KDChart::AbstractCoordinatePlane::needLayoutPlanes ( )
signal

Emitted when plane needs to trigger the Chart's layouting of the coord. planes.

Referenced by KDChart::Chart::insertCoordinatePlane().

◆ needRelayout

void KDChart::AbstractCoordinatePlane::needRelayout ( )
signal

Emitted when plane needs to trigger the Chart's layouting.

Referenced by KDChart::Chart::insertCoordinatePlane().

◆ needUpdate

void KDChart::AbstractCoordinatePlane::needUpdate ( )
signal

Emitted when plane needs to update its drawings.

Referenced by KDChart::Chart::insertCoordinatePlane().

◆ parent() [1/2]

KDChart::Chart * KDChart::AbstractCoordinatePlane::parent ( )

◆ parent() [2/2]

const KDChart::Chart * KDChart::AbstractCoordinatePlane::parent ( ) const

Definition at line 172 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ propertiesChanged

void KDChart::AbstractCoordinatePlane::propertiesChanged ( )
signal

◆ referenceCoordinatePlane()

AbstractCoordinatePlane * KDChart::AbstractCoordinatePlane::referenceCoordinatePlane ( ) const

There are two ways, in which planes can be caused to interact, in where they are put layouting wise: The first is the reference plane. If such a reference plane is set, on a plane, it will use the same cell in the layout as that one. In addition to this, planes can share an axis. In that case they will be laid out in relation to each other as suggested by the position of the axis. If, for example Plane1 and Plane2 share an axis at position Left, that will result in the layout: Axis Plane1 Plane 2, vertically. If Plane1 also happens to be Plane2's reference plane, both planes are drawn over each other. The reference plane concept allows two planes to share the same space even if neither has any axis, and in case there are shared axis, it is used to decided, whether the planes should be painted on top of each other or laid out vertically or horizontally next to each other.

Returns
The reference coordinate plane associated with this one.

Definition at line 162 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ relayout

void KDChart::AbstractCoordinatePlane::relayout ( )
slot

Calling relayout() on the plane triggers the global KDChart::Chart::slotRelayout()

Definition at line 238 of file KDChartAbstractCoordinatePlane.cpp.

Referenced by addDiagram(), KDChart::AbstractCartesianDiagram::setCoordinatePlane(), and takeDiagram().

◆ replaceDiagram()

void AbstractCoordinatePlane::replaceDiagram ( AbstractDiagram diagram,
AbstractDiagram oldDiagram = nullptr 
)
virtual

Replaces the old diagram, or appends the diagram, it there is none yet.

Parameters
diagramThe diagram to be used instead of the old diagram. This parameter must not be zero, or the method will do nothing.
oldDiagramThe diagram to be removed by the new diagram. This diagram will be deleted automatically. If the parameter is omitted, the very first diagram will be replaced. In case, there was no diagram yet, the new diagram will just be added.
Note
If you want to re-use the old diagram, call takeDiagram and addDiagram, instead of using replaceDiagram.
See also
addDiagram, takeDiagram

Definition at line 74 of file KDChartAbstractCoordinatePlane.cpp.

References addDiagram(), d, diagram(), layoutDiagrams(), layoutPlanes(), takeDiagram(), and update().

Referenced by KDChart::Widget::setType().

◆ setCornerSpacersEnabled()

void KDChart::AbstractCoordinatePlane::setCornerSpacersEnabled ( bool  enable)

Enables or disables the use of spacers in the plane corners.

Definition at line 265 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ setGeometry()

void KDChart::AbstractCoordinatePlane::setGeometry ( const QRect &  r)
override

pure virtual in QLayoutItem

Note
Do not call this function directly, unless you know exactly what you are doing. Geometry management is done by KD Chart's internal layouting measures.

Definition at line 214 of file KDChartAbstractCoordinatePlane.cpp.

References d.

Referenced by KDChart::CartesianCoordinatePlane::setGeometry().

◆ setGlobalGridAttributes()

void KDChart::AbstractCoordinatePlane::setGlobalGridAttributes ( const GridAttributes a)

Set the grid attributes to be used by this coordinate plane. To disable grid painting, for example, your code should like this:

GridAttributes ga = plane->globalGridAttributes();
ga.setGlobalGridVisible( false );
plane->setGlobalGridAttributes( ga );
See also
globalGridAttributes
CartesianCoordinatePlane::setGridAttributes

Definition at line 136 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ setGridNeedsRecalculate

void KDChart::AbstractCoordinatePlane::setGridNeedsRecalculate ( )
slot

Used by the chart to clear the cached grid data.

Definition at line 152 of file KDChartAbstractCoordinatePlane.cpp.

References d.

Referenced by KDChart::CartesianCoordinatePlane::setAxesCalcModeY().

◆ setParent()

void KDChart::AbstractCoordinatePlane::setParent ( KDChart::Chart parent)

Called internally by KDChart::Chart

Definition at line 167 of file KDChartAbstractCoordinatePlane.cpp.

References d.

Referenced by KDChart::Chart::insertCoordinatePlane(), and KDChart::Chart::takeCoordinatePlane().

◆ setReferenceCoordinatePlane()

void KDChart::AbstractCoordinatePlane::setReferenceCoordinatePlane ( AbstractCoordinatePlane plane)

Set another coordinate plane to be used as the reference plane for this one.

Parameters
planeThe coordinate plane to be used the reference plane for this one.
See also
referenceCoordinatePlane

Definition at line 157 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ setRubberBandZoomingEnabled()

void KDChart::AbstractCoordinatePlane::setRubberBandZoomingEnabled ( bool  enable)

Enables or disables zooming with a rubber band using the mouse.

Definition at line 250 of file KDChartAbstractCoordinatePlane.cpp.

References d.

◆ setZoomCenter()

virtual void KDChart::AbstractCoordinatePlane::setZoomCenter ( const QPointF &  center)
inlinevirtual

Set the point (in value coordinates) to be used as the center point in zoom operations.

Parameters
centerThe point to use.

Reimplemented in KDChart::PolarCoordinatePlane, and KDChart::CartesianCoordinatePlane.

Definition at line 190 of file KDChartAbstractCoordinatePlane.h.

◆ setZoomFactors()

virtual void KDChart::AbstractCoordinatePlane::setZoomFactors ( qreal  factorX,
qreal  factorY 
)
inlinevirtual

Sets both zoom factors in one go.

See also
setZoomFactorX,setZoomFactorY

Reimplemented in KDChart::PolarCoordinatePlane, and KDChart::CartesianCoordinatePlane.

Definition at line 150 of file KDChartAbstractCoordinatePlane.h.

◆ setZoomFactorX()

virtual void KDChart::AbstractCoordinatePlane::setZoomFactorX ( qreal  factor)
inlinevirtual

Sets the zoom factor in horizontal direction, that is applied to all coordinate transformations.

Parameters
factorThe new zoom factor

Reimplemented in KDChart::PolarCoordinatePlane, and KDChart::CartesianCoordinatePlane.

Definition at line 161 of file KDChartAbstractCoordinatePlane.h.

◆ setZoomFactorY()

virtual void KDChart::AbstractCoordinatePlane::setZoomFactorY ( qreal  factor)
inlinevirtual

Sets the zoom factor in vertical direction, that is applied to all coordinate transformations.

Parameters
factorThe new zoom factor

Reimplemented in KDChart::PolarCoordinatePlane, and KDChart::CartesianCoordinatePlane.

Definition at line 171 of file KDChartAbstractCoordinatePlane.h.

◆ sharedAxisMasterPlane()

AbstractCoordinatePlane * KDChart::AbstractCoordinatePlane::sharedAxisMasterPlane ( QPainter *  p = nullptr)
virtual

◆ sizeHint()

QSize KDChart::AbstractCoordinatePlane::sizeHint ( ) const
override

pure virtual in QLayoutItem

Definition at line 207 of file KDChartAbstractCoordinatePlane.cpp.

Referenced by KDChart::CartesianCoordinatePlane::sizeHint().

◆ takeDiagram()

void AbstractCoordinatePlane::takeDiagram ( AbstractDiagram diagram)
virtual

Removes the diagram from the plane, without deleting it.

The plane no longer owns the diagram, so it is the caller's responsibility to delete the diagram.

See also
addDiagram, replaceDiagram

Definition at line 95 of file KDChartAbstractCoordinatePlane.cpp.

References d, diagram(), layoutDiagrams(), layoutPlanes(), KDChart::AbstractDiagram::modelDataChanged(), KDChart::AbstractDiagram::modelsChanged(), relayout(), KDChart::AbstractDiagram::setCoordinatePlane(), and update().

Referenced by replaceDiagram().

◆ translate()

virtual const QPointF KDChart::AbstractCoordinatePlane::translate ( const QPointF &  diagramPoint) const
pure virtual

◆ update

void KDChart::AbstractCoordinatePlane::update ( )
slot

◆ viewportCoordinateSystemChanged

void KDChart::AbstractCoordinatePlane::viewportCoordinateSystemChanged ( )
signal

◆ zoomCenter()

virtual QPointF KDChart::AbstractCoordinatePlane::zoomCenter ( ) const
inlinevirtual
Returns
The center point (in value coordinates) of the coordinate plane, that is used for zoom operations.

Reimplemented in KDChart::PolarCoordinatePlane, and KDChart::CartesianCoordinatePlane.

Definition at line 180 of file KDChartAbstractCoordinatePlane.h.

◆ zoomFactorX()

virtual qreal KDChart::AbstractCoordinatePlane::zoomFactorX ( ) const
inlinevirtual
Returns
The zoom factor in horizontal direction, that is applied to all coordinate transformations.

Reimplemented in KDChart::PolarCoordinatePlane, and KDChart::CartesianCoordinatePlane.

Definition at line 132 of file KDChartAbstractCoordinatePlane.h.

Referenced by KDChart::PolarDiagram::paint(), KDChart::RadarDiagram::paint(), and KDChart::CartesianAxis::paint().

◆ zoomFactorY()

virtual qreal KDChart::AbstractCoordinatePlane::zoomFactorY ( ) const
inlinevirtual
Returns
The zoom factor in vertical direction, that is applied to all coordinate transformations.

Reimplemented in KDChart::PolarCoordinatePlane, and KDChart::CartesianCoordinatePlane.

Definition at line 141 of file KDChartAbstractCoordinatePlane.h.

Referenced by KDChart::PolarDiagram::paint(), KDChart::RadarDiagram::paint(), and KDChart::CartesianAxis::paint().


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

© 2001 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-chart/
Generated by doxygen 1.9.1