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 KDCHARTTERNARYAXIS_H
00031 #define KDCHARTTERNARYAXIS_H
00032
00033
00034 #include <KDChartAbstractAxis>
00035 #include <KDChartPosition>
00036 #include <KDChartTextAttributes>
00037
00038 class PrerenderedLabel;
00039
00040 namespace KDChart {
00041
00042 class AbstractTernaryDiagram;
00043
00047 class KDCHART_EXPORT TernaryAxis : public AbstractAxis
00048 {
00049 Q_OBJECT
00050
00051 Q_DISABLE_COPY( TernaryAxis )
00052 KDCHART_DECLARE_PRIVATE_DERIVED_PARENT( TernaryAxis, AbstractDiagram* )
00053
00054 public:
00055 explicit TernaryAxis ( AbstractTernaryDiagram* diagram = 0 );
00056 ~TernaryAxis();
00057
00058 virtual void paintAll( QPainter &);
00059 virtual void paint (QPainter *);
00060 virtual void paintCtx (PaintContext *);
00061
00062 virtual QRect geometry () const;
00063 virtual void setGeometry (const QRect &rect);
00064
00065 virtual bool isEmpty () const;
00066 virtual QSize minimumSize () const;
00067 virtual QSize maximumSize () const;
00068 virtual QSize sizeHint () const;
00069 virtual Qt::Orientations expandingDirections () const ;
00070
00071 virtual const Position position () const;
00072 virtual void setPosition (Position p);
00073
00074 void setTitleText( const QString& text );
00075 QString titleText() const;
00076 void setTitleTextAttributes( const TextAttributes &a );
00077 TextAttributes titleTextAttributes() const;
00078 void resetTitleTextAttributes();
00079 bool hasDefaultTitleTextAttributes() const;
00080
00081 QPair<QSizeF, QSizeF> requiredMargins() const;
00082
00083 private:
00084 void updatePrerenderedLabels();
00085
00086 QRect m_geometry;
00087 Position m_position;
00088
00089 QString m_title;
00090 TextAttributes m_titleAttributes;
00091
00092
00093
00094
00095
00096 PrerenderedLabel* m_label;
00097 PrerenderedLabel* m_fifty;
00098 };
00099
00100 typedef QList<TernaryAxis*> TernaryAxisList;
00101 }
00102
00103 #endif