00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_COMPASS_H
00011 #define QWT_COMPASS_H 1
00012
00013 #include <qstring.h>
00014 #include <qmap.h>
00015 #include "qwt_dial.h"
00016
00017 #if defined(QWT_TEMPLATEDLL)
00018
00019 template class QWT_EXPORT QMap<double, QString>;
00020
00021 #endif
00022
00023 class QwtCompassRose;
00024
00036 class QWT_EXPORT QwtCompass: public QwtDial
00037 {
00038 Q_OBJECT
00039
00040 public:
00041 QwtCompass( QWidget* parent=0, const char* name = 0);
00042 virtual ~QwtCompass();
00043
00044 void setRose(QwtCompassRose *rose);
00045 const QwtCompassRose *rose() const;
00046 QwtCompassRose *rose();
00047
00048 const QMap<double, QString> &labelMap() const;
00049 QMap<double, QString> &labelMap();
00050 void setLabelMap(const QMap<double, QString> &map);
00051
00052 protected:
00053 virtual QString scaleLabel(double value) const;
00054
00055 virtual void drawRose(QPainter *, const QPoint ¢er,
00056 int radius, double north, QPalette::ColorGroup) const;
00057
00058 virtual void drawScaleContents(QPainter *,
00059 const QPoint ¢er, int radius) const;
00060
00061 virtual void keyPressEvent(QKeyEvent *);
00062
00063 private:
00064 QwtCompassRose *d_rose;
00065 QMap<double, QString> d_labelMap;
00066 };
00067
00068 #endif