Qwt User's Guide  6.2.0
qwt_compass.h
1 /******************************************************************************
2  * Qwt Widget Library
3  * Copyright (C) 1997 Josef Wilgen
4  * Copyright (C) 2002 Uwe Rathmann
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the Qwt License, Version 1.0
8  *****************************************************************************/
9 
10 #ifndef QWT_COMPASS_H
11 #define QWT_COMPASS_H
12 
13 #include "qwt_global.h"
14 #include "qwt_dial.h"
15 #include "qwt_round_scale_draw.h"
16 
17 class QwtCompassRose;
18 class QString;
19 template< class Key, class T > class QMap;
20 
21 
32 class QWT_EXPORT QwtCompassScaleDraw : public QwtRoundScaleDraw
33 {
34  public:
35  explicit QwtCompassScaleDraw();
36  explicit QwtCompassScaleDraw( const QMap< double, QString >& map );
37 
38  virtual ~QwtCompassScaleDraw();
39 
40  void setLabelMap( const QMap< double, QString >& map );
41  QMap< double, QString > labelMap() const;
42 
43  virtual QwtText label( double value ) const QWT_OVERRIDE;
44 
45  private:
46  class PrivateData;
47  PrivateData* m_data;
48 };
49 
61 class QWT_EXPORT QwtCompass : public QwtDial
62 {
63  Q_OBJECT
64 
65  public:
66  explicit QwtCompass( QWidget* parent = NULL );
67  virtual ~QwtCompass();
68 
69  void setRose( QwtCompassRose* rose );
70  const QwtCompassRose* rose() const;
71  QwtCompassRose* rose();
72 
73  protected:
74  virtual void drawRose( QPainter*, const QPointF& center,
75  double radius, double north, QPalette::ColorGroup ) const;
76 
77  virtual void drawScaleContents( QPainter*,
78  const QPointF& center, double radius ) const QWT_OVERRIDE;
79 
80  virtual void keyPressEvent( QKeyEvent* ) QWT_OVERRIDE;
81 
82  private:
83  class PrivateData;
84  PrivateData* m_data;
85 };
86 
87 #endif
virtual QwtText label(double) const
Convert a value into its representing label.
A Compass Widget.
Definition: qwt_compass.h:62
Abstract base class for a compass rose.
A special scale draw made for QwtCompass.
Definition: qwt_compass.h:33
QwtDial class provides a rounded range control.
Definition: qwt_dial.h:51
A class for drawing round scales.
A class representing a text.
Definition: qwt_text.h:52