Go to the documentation of this file.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 "qwt_round_scale_draw.h"
00016 #include <qstring.h>
00017 #include <qmap.h>
00018
00019 class QwtCompassRose;
00020
00031 class QWT_EXPORT QwtCompassScaleDraw: public QwtRoundScaleDraw
00032 {
00033 public:
00034 explicit QwtCompassScaleDraw();
00035 explicit QwtCompassScaleDraw( const QMap<double, QString> &map );
00036
00037 void setLabelMap( const QMap<double, QString> &map );
00038 QMap<double, QString> labelMap() const;
00039
00040 virtual QwtText label( double value ) const;
00041
00042 private:
00043 QMap<double, QString> d_labelMap;
00044 };
00045
00057 class QWT_EXPORT QwtCompass: public QwtDial
00058 {
00059 Q_OBJECT
00060
00061 public:
00062 explicit QwtCompass( QWidget* parent = NULL );
00063 virtual ~QwtCompass();
00064
00065 void setRose( QwtCompassRose *rose );
00066 const QwtCompassRose *rose() const;
00067 QwtCompassRose *rose();
00068
00069 protected:
00070 virtual void drawRose( QPainter *, const QPointF ¢er,
00071 double radius, double north, QPalette::ColorGroup ) const;
00072
00073 virtual void drawScaleContents( QPainter *,
00074 const QPointF ¢er, double radius ) const;
00075
00076 virtual void keyPressEvent( QKeyEvent * );
00077
00078 private:
00079 class PrivateData;
00080 PrivateData *d_data;
00081 };
00082
00083 #endif