KD Chart API Documentation 3.1
Loading...
Searching...
No Matches
KDChartRingDiagram.h
Go to the documentation of this file.
1/****************************************************************************
2**
3** This file is part of the KD Chart library.
4**
5** SPDX-FileCopyrightText: 2001 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6**
7** SPDX-License-Identifier: MIT
8**
9****************************************************************************/
10
11#ifndef KDCHARTRINGDIAGRAM_H
12#define KDCHARTRINGDIAGRAM_H
13
15
16namespace KDChart {
17
21class KDCHART_EXPORT RingDiagram : public AbstractPieDiagram
22{
23 Q_OBJECT
24
25 Q_DISABLE_COPY(RingDiagram)
27
28public:
29 explicit RingDiagram(
30 QWidget *parent = nullptr, PolarCoordinatePlane *plane = nullptr);
31 ~RingDiagram() override;
32
33protected:
34 // Implement AbstractDiagram
36 void paint(PaintContext *paintContext) override;
37
38public:
40 void resize(const QSizeF &area) override;
41
42 // Implement AbstractPolarDiagram
44 qreal valueTotals() const override;
46 qreal numberOfValuesPerDataset() const override;
47 qreal numberOfDatasets() const override;
49 qreal numberOfGridRings() const override;
50
51 qreal valueTotals(int dataset) const;
52
53 virtual RingDiagram *clone() const;
54
58 bool compare(const RingDiagram *other) const;
59
60 void setRelativeThickness(bool relativeThickness);
61 bool relativeThickness() const;
62
63 virtual void setExpandWhenExploded(bool expand);
64 virtual bool expandWhenExploded() const;
65
66protected:
68 const QPair<QPointF, QPointF> calculateDataBoundaries() const override;
69 void paintEvent(QPaintEvent *) override;
70 void resizeEvent(QResizeEvent *) override;
71
72private:
73 void drawOneSlice(QPainter *painter, uint dataset, uint slice, qreal granularity);
74 void drawPieSurface(QPainter *painter, uint dataset, uint slice, qreal granularity);
75 QPointF pointOnEllipse(const QRectF &rect, int dataset, int slice, bool outer, qreal angle,
76 qreal totalGapFactor, qreal totalExplodeFactor);
77}; // End of class RingDiagram
78}
79
80#endif // KDCHARTRINGDIAGRAM_H
#define KDCHART_DECLARE_DERIVED_DIAGRAM(X, PLANE)
Base class for any diagram type.
Stores information about painting diagrams.
RingDiagram defines a common ring diagram.

© 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 on Wed May 1 2024 00:01:10 for KD Chart API Documentation by doxygen 1.9.8