attitude_indicator.h
915 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <qwt_dial.h>
#include <qwt_dial_needle.h>
class AttitudeIndicatorNeedle: public QwtDialNeedle
{
public:
AttitudeIndicatorNeedle(const QColor &);
protected:
virtual void drawNeedle(QPainter *,
double length, QPalette::ColorGroup) const;
};
class AttitudeIndicator: public QwtDial
{
Q_OBJECT
public:
AttitudeIndicator(QWidget *parent = NULL);
double angle() const { return value(); }
double gradient() const { return d_gradient; }
public Q_SLOTS:
void setGradient(double);
void setAngle(double angle) { setValue(angle); }
protected:
virtual void keyPressEvent(QKeyEvent *);
virtual void drawScale(QPainter *, const QPointF ¢er,
double radius, double origin, double arcMin, double arcMax) const;
virtual void drawScaleContents(QPainter *painter,
const QPointF ¢er, double radius) const;
private:
double d_gradient;
};