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 #ifndef KDCHARTCARTESIANAXIS_H
00030 #define KDCHARTCARTESIANAXIS_H
00031
00032 #include <QList>
00033
00034 #include "KDChartAbstractAxis.h"
00035
00036 namespace KDChart {
00037
00038 class AbstractCartesianDiagram;
00039
00048 class KDCHART_EXPORT CartesianAxis : public AbstractAxis
00049 {
00050 Q_OBJECT
00051
00052 Q_DISABLE_COPY( CartesianAxis )
00053 KDCHART_DECLARE_PRIVATE_DERIVED_PARENT( CartesianAxis, AbstractDiagram* )
00054
00055 public:
00056 enum Position {
00057 Bottom,
00058 Top,
00059 Right,
00060 Left
00061 };
00062
00073 explicit CartesianAxis ( AbstractCartesianDiagram* diagram = 0 );
00074 ~CartesianAxis();
00075
00079 bool compare( const CartesianAxis* other )const;
00080
00082 virtual void paint( QPainter* );
00084 virtual void paintCtx( PaintContext* );
00085
00086 void setTitleText( const QString& text );
00087 QString titleText() const;
00088
00089 void setTitleTextAttributes( const TextAttributes &a );
00097 TextAttributes titleTextAttributes() const;
00104 void resetTitleTextAttributes();
00105 bool hasDefaultTitleTextAttributes() const;
00106
00107 virtual void setPosition ( Position p );
00108 #if QT_VERSION < 0x040400 || defined(Q_COMPILER_MANGLES_RETURN_TYPE)
00109 virtual const Position position () const;
00110 #else
00111 virtual Position position () const;
00112 #endif
00113
00114 virtual void layoutPlanes();
00115
00116 virtual bool isAbscissa() const;
00117 virtual bool isOrdinate() const;
00118
00126 void setAnnotations( const QMap< double, QString >& annotations );
00130 QMap< double, QString > annotations() const;
00131
00133 virtual bool isEmpty() const;
00135 virtual Qt::Orientations expandingDirections() const;
00137 virtual QSize maximumSize() const;
00139 virtual QSize minimumSize() const;
00141 virtual QSize sizeHint() const;
00143 virtual void setGeometry( const QRect& r );
00145 virtual QRect geometry() const;
00146
00147 public Q_SLOTS:
00148 void setCachedSizeDirty() const;
00149
00150
00151 int tickLength( bool subUnitTicks = false ) const;
00152 };
00153
00154 typedef QList<CartesianAxis*> CartesianAxisList;
00155 }
00156
00157 #endif