KD Chart 2  [rev.2.7]
KDChartPolarCoordinatePlane.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 KDCHART_POLAR_COORDINATEPLANE_H
24 #define KDCHART_POLAR_COORDINATEPLANE_H
25 
27 
28 namespace KDChart {
29 
30  class Chart;
31  class PaintContext;
32 
36  class KDCHART_EXPORT PolarCoordinatePlane : public AbstractCoordinatePlane
37  {
38  Q_OBJECT
39 
40  Q_DISABLE_COPY( PolarCoordinatePlane )
42 
43  public:
44  struct CoordinateTransformation;
46 
47  explicit PolarCoordinatePlane ( Chart* parent = 0 );
48  ~PolarCoordinatePlane() override;
49 
50  void addDiagram ( AbstractDiagram* diagram ) override;
51 
52  const QPointF translate ( const QPointF& diagramPoint ) const override;
53  const QPointF translatePolar ( const QPointF& diagramPoint ) const;
54 
64  void setStartPosition( qreal degrees );
68  qreal startPosition() const;
69 
70  qreal zoomFactorX() const override;
71  qreal zoomFactorY() const override;
72 
73  void setZoomFactors( qreal factorX, qreal factorY ) override;
74  void setZoomFactorX( qreal factor ) override;
75  void setZoomFactorY( qreal factor ) override;
76 
77  QPointF zoomCenter() const override;
78 
79  void setZoomCenter( const QPointF& center ) override;
80 
101  void setGridAttributes( bool circular, const GridAttributes & );
102 
113  void resetGridAttributes( bool circular );
114 
129  const GridAttributes gridAttributes( bool circular ) const;
130 
143  bool hasOwnGridAttributes( bool circular ) const;
144 
145  qreal angleUnit() const;
146  qreal radiusUnit() const;
147 
149  void paint( QPainter* ) override;
150 
151  protected:
152  DataDimensionsList getDataDimensionsList() const override;
153  void paintEvent ( QPaintEvent* );
154  void resizeEvent ( QResizeEvent* );
155 
156  void layoutDiagrams() override;
157  protected Q_SLOTS:
158  void slotLayoutChanged( AbstractDiagram* diagram );
159  void adjustZoomAndRepaint();
160 
161  private:
162  void setHasOwnGridAttributes( bool circular, bool on );
163  };
164 
165 }
166 
167 #endif
Base class common for all coordinate planes, CartesianCoordinatePlane, PolarCoordinatePlane, TernaryCoordinatePlane.
QList< CoordinateTransformation > CoordinateTransformationList
A chart with one or more diagrams.
Definition: KDChartChart.h:98
AbstractDiagram defines the interface for diagram classes.
QPointF translate(const TernaryPoint &point)
A set of attributes controlling the appearance of grids.
#define KDCHART_DECLARE_PRIVATE_DERIVED_PARENT(X, ParentType)
Definition: KDChartGlobal.h:58

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
https://www.kdab.com/
https://www.kdab.com/products/kd-chart/