00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_COMPASS_H
00011 #define QWT_COMPASS_H 1
00012
00013 #include "qwt_global.h"
00014 #include "qwt_dial.h"
00015 #include <qstring.h>
00016 #include <qmap.h>
00017
00018 class QwtCompassRose;
00019
00031 class QWT_EXPORT QwtCompass: public QwtDial
00032 {
00033 Q_OBJECT
00034
00035 public:
00036 explicit QwtCompass( QWidget* parent = NULL );
00037 virtual ~QwtCompass();
00038
00039 void setRose( QwtCompassRose *rose );
00040 const QwtCompassRose *rose() const;
00041 QwtCompassRose *rose();
00042
00043 const QMap<double, QString> &labelMap() const;
00044 QMap<double, QString> &labelMap();
00045 void setLabelMap( const QMap<double, QString> &map );
00046
00047 protected:
00048 virtual QwtText scaleLabel( double value ) const;
00049
00050 virtual void drawRose( QPainter *, const QPoint ¢er,
00051 int radius, double north, QPalette::ColorGroup ) const;
00052
00053 virtual void drawScaleContents( QPainter *,
00054 const QPoint ¢er, int radius ) const;
00055
00056 virtual void keyPressEvent( QKeyEvent * );
00057
00058 private:
00059 void initCompass();
00060
00061 class PrivateData;
00062 PrivateData *d_data;
00063 };
00064
00065 #endif