KD Chart 2  [rev.2.7]
KDChartPolarDiagram.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2001-2020 Klaralvdalens Datakonsult AB. All rights reserved.
3 **
4 ** This file is part of the KD Chart library.
5 **
6 ** Licensees holding valid commercial KD Chart licenses may use this file in
7 ** accordance with the KD Chart Commercial License Agreement provided with
8 ** the Software.
9 **
10 **
11 ** This file may be distributed and/or modified under the terms of the
12 ** GNU General Public License version 2 and version 3 as published by the
13 ** Free Software Foundation and appearing in the file LICENSE.GPL.txt included.
14 **
15 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 **
18 ** Contact info@kdab.com if any conditions of this licensing are not
19 ** clear to you.
20 **
21 **********************************************************************/
22 
23 #ifndef KDCHARTPOLARDIAGRAM_H
24 #define KDCHARTPOLARDIAGRAM_H
25 
26 
27 #include "KDChartPosition.h"
29 
30 QT_BEGIN_NAMESPACE
31 class QPolygonF;
32 QT_END_NAMESPACE
33 
34 namespace KDChart {
35 
39 class KDCHART_EXPORT PolarDiagram : public AbstractPolarDiagram
40 {
41  Q_OBJECT
42 
43  Q_DISABLE_COPY( PolarDiagram )
45 
46 public:
47  explicit PolarDiagram(
48  QWidget* parent = 0, PolarCoordinatePlane* plane = 0 );
49  ~PolarDiagram() override;
50 
51 protected:
52  // Implement AbstractDiagram
54  void paint ( PaintContext* paintContext ) override;
55 
56 public:
58  void resize ( const QSizeF& area ) override;
59 
60  // Implement AbstractPolarDiagram
62  qreal valueTotals () const override;
64  qreal numberOfValuesPerDataset() const override;
66  qreal numberOfGridRings() const override;
67 
68  virtual PolarDiagram * clone() const;
69 
71  void setZeroDegreePosition( int degrees );
73  int zeroDegreePosition() const;
74 
75  void setRotateCircularLabels( bool rotateCircularLabels );
76  bool rotateCircularLabels() const;
77 
81  void setCloseDatasets( bool closeDatasets );
82  bool closeDatasets() const;
83 
84  void setShowDelimitersAtPosition( Position position,
85  bool showDelimiters );
86  void setShowLabelsAtPosition( Position position,
87  bool showLabels );
88 
89  bool showDelimitersAtPosition( Position position ) const;
90 
91  bool showLabelsAtPosition( Position position ) const;
92 
93  virtual void paint ( PaintContext* paintContext,
94  bool calculateListAndReturnScale,
95  qreal& newZoomX, qreal& newZoomY ); // KDChart 3: references -> pointers
96 
97 protected:
99  const QPair<QPointF, QPointF> calculateDataBoundaries() const override;
100  void paintEvent ( QPaintEvent* ) override;
101  void resizeEvent ( QResizeEvent* ) override;
102  virtual void paintPolarMarkers( PaintContext* ctx, const QPolygonF& polygon );
103 
104 }; // End of class PolarDiagram
105 
106 }
107 
108 
109 #endif // KDCHARTPOLARDIAGRAM_H
PolarDiagram defines a common polar diagram.
Base class for diagrams based on a polar coordinate system.
Stores information about painting diagrams.
#define KDCHART_DECLARE_DERIVED_DIAGRAM(X, PLANE)
Defines a position, using compass terminology.
Class only listed here to document inheritance of some KDChart classes.

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/