project file fixes
[mardrone] / mardrone / gauge.h
1 #ifndef GAUGEBAND_H
2 #define GAUGEBAND_H
3
4 #include <QGraphicsWidget>
5 #include <QGraphicsItem>
6 #include <QPainter>
7
8 #define UP 1
9 #define RIGHT 2
10 #define DOWN 3
11 #define LEFT 4
12
13 #define SCROLL 0x10
14 #define SCROLL_UP 0x11
15 #define SCROLL_RIGHT 0x12
16 #define SCROLL_DOWN 0x13
17 #define SCROLL_LEFT 0x14
18
19 class Gauge : public QGraphicsWidget
20 {
21     Q_OBJECT
22     Q_PROPERTY(QString name READ name WRITE setName)
23     Q_PROPERTY(QString format READ format WRITE setFormat)
24     Q_PROPERTY(int gaugeStyle READ gaugeStyle WRITE setGaugeStyle)
25     Q_PROPERTY(float value2 READ value2 WRITE setValue2)
26     Q_PROPERTY(float value READ value WRITE setValue)
27     Q_PROPERTY(float low READ low WRITE setLow)
28     Q_PROPERTY(float high READ high WRITE setHigh)
29     Q_PROPERTY(float lowRed READ lowRed WRITE setLowRed)
30     Q_PROPERTY(float highRed READ highRed WRITE setHighRed)
31     Q_PROPERTY(float tickIncrement READ tickIncrement WRITE setTickIncrement)
32
33 public:
34     explicit Gauge(QGraphicsItem *parent = 0);
35
36
37     virtual void paint(QPainter *painter,const QStyleOptionGraphicsItem *option,
38                                QWidget *widget);
39
40     QRectF boundingRect() const;
41
42     QString name() const { return m_name;};
43     void setName(const QString &name_) {m_name=name_;}
44     QString format() const { return m_format;};
45     void setFormat(const QString &name_) {m_format=name_;}
46     void setGaugeStyle(int val_) { m_style=val_;};
47     int  gaugeStyle() {return m_style;};
48     void setValue(float val_);
49     float value();
50     void setValue2(float val_) { m_value2=val_;};
51     float value2() {return m_value2;};
52     void setLow(float val_) { m_low=val_;};
53     float low() {return m_low;};
54     void setHigh(float val_) { m_high=val_;};
55     float high() {return m_high;};
56     void setLowRed(float val_) { m_lowred=val_;};
57     float lowRed() {return m_lowred;};
58     void setHighRed(float val_) { m_highred=val_;};
59     float highRed() {return m_highred;};
60     void setTickIncrement(float val_) { m_tickIncrement=val_;};
61     float tickIncrement() {return m_tickIncrement;};
62
63 signals:
64
65 public slots:
66 public:
67     QString m_name;
68     QString m_format;
69     int m_tickIncrement;  // Tick increment
70     int m_tspc;  // Tick spacing
71     int   m_style;
72     float m_value;  // primary value,pitch in horizon
73     float m_value2; // Roll in horizon
74     float m_low;        // low value to display
75     float m_high;       // High value to display
76     float m_lowred;     // low red limit
77     float m_lowyellow;  // low yellow limit
78     float m_highyellow; // higest yellow limit
79     float m_highred;
80 };
81
82 #endif // GAUGE_H