00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef KDCHARTABSTRACTTERNARYDIAGRAM_H
00031 #define KDCHARTABSTRACTTERNARYDIAGRAM_H
00032
00033 #include "../KDChartAbstractDiagram.h"
00034 #include "KDChartTernaryAxis.h"
00035
00036 namespace KDChart {
00037
00038 class TernaryCoordinatePlane;
00039 class TernaryAxis;
00040
00044 class KDCHART_EXPORT AbstractTernaryDiagram : public AbstractDiagram
00045 {
00046 Q_OBJECT
00047 Q_DISABLE_COPY( AbstractTernaryDiagram )
00048 KDCHART_DECLARE_DERIVED_DIAGRAM( AbstractTernaryDiagram,
00049 TernaryCoordinatePlane )
00050
00051 public:
00052 explicit AbstractTernaryDiagram ( QWidget* parent = 0,
00053 TernaryCoordinatePlane* plane = 0 );
00054 virtual ~AbstractTernaryDiagram();
00055
00056 virtual void resize (const QSizeF &area) = 0;
00057 virtual void paint (PaintContext *paintContext);
00058
00059 virtual void addAxis( TernaryAxis* axis );
00060 virtual void takeAxis( TernaryAxis* axis );
00061 virtual TernaryAxisList axes () const;
00062
00063 protected:
00064 virtual const QPair< QPointF, QPointF > calculateDataBoundaries () const = 0;
00065
00066 };
00067
00068 }
00069
00070 #endif