KDChartPolarCoordinatePlane.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef KDCHART_POLAR_COORDINATEPLANE_H
00024 #define KDCHART_POLAR_COORDINATEPLANE_H
00025
00026 #include "KDChartAbstractCoordinatePlane.h"
00027
00028 namespace KDChart {
00029
00030 class Chart;
00031 class PaintContext;
00032
00036 class KDCHART_EXPORT PolarCoordinatePlane : public AbstractCoordinatePlane
00037 {
00038 Q_OBJECT
00039
00040 Q_DISABLE_COPY( PolarCoordinatePlane )
00041 KDCHART_DECLARE_PRIVATE_DERIVED_PARENT( PolarCoordinatePlane, Chart* )
00042
00043 public:
00044 struct CoordinateTransformation;
00045 typedef QList<CoordinateTransformation> CoordinateTransformationList;
00046
00047 explicit PolarCoordinatePlane ( Chart* parent = 0 );
00048 ~PolarCoordinatePlane();
00049
00050 void addDiagram ( AbstractDiagram* diagram );
00051
00052 const QPointF translate ( const QPointF& diagramPoint ) const;
00053 const QPointF translatePolar ( const QPointF& diagramPoint ) const;
00054
00061 void setStartPosition( qreal degrees );
00065 qreal startPosition() const;
00066
00067 virtual double zoomFactorX() const;
00068 virtual double zoomFactorY() const;
00069
00070 virtual void setZoomFactors( double factorX, double factorY );
00071 virtual void setZoomFactorX( double factor );
00072 virtual void setZoomFactorY( double factor );
00073
00074 virtual QPointF zoomCenter() const;
00075
00076 virtual void setZoomCenter( const QPointF& center );
00077
00098 void setGridAttributes( bool circular, const GridAttributes & );
00099
00110 void resetGridAttributes( bool circular );
00111
00126 const GridAttributes gridAttributes( bool circular ) const;
00127
00140 bool hasOwnGridAttributes( bool circular ) const;
00141
00142 qreal angleUnit() const;
00143 qreal radiusUnit() const;
00144
00146 virtual void paint( QPainter* );
00147
00148 protected:
00149 virtual DataDimensionsList getDataDimensionsList() const;
00150 void paintEvent ( QPaintEvent* );
00151 void resizeEvent ( QResizeEvent* );
00152
00153 void layoutDiagrams();
00154 protected Q_SLOTS:
00155 void slotLayoutChanged( AbstractDiagram* diagram );
00156 void adjustZoomAndRepaint();
00157
00158 private:
00159 void setHasOwnGridAttributes(
00160 bool circular, bool on );
00161 };
00162
00163 }
00164
00165 #endif