ifw-wdglib 1.1.0
Loading...
Searching...
No Matches
ifwled.hpp
Go to the documentation of this file.
1
11#ifndef IfwLed_H
12#define IfwLed_H
13
14#include <QWidget>
15//#include <QtSvg>
16#include <QtSvg/QSvgRenderer>
17#include <QColor>
18#include <QXmlStreamReader>
19#include <QFile>
20#include <QPainter>
21#include <QDebug>
22#include <QWidget>
23
24class QTimer;
25
26class IfwLed : public QWidget
27{
28 Q_OBJECT
29
30 Q_PROPERTY(double diameter READ diameter WRITE setDiameter) // mm
31 Q_PROPERTY(QColor color READ color WRITE setColor)
32 Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment)
33 Q_PROPERTY(bool state READ state WRITE setState)
34 Q_PROPERTY(bool flashing READ isFlashing WRITE setFlashing)
35 Q_PROPERTY(int flashRate READ flashRate WRITE setFlashRate)
36
37public:
38 explicit IfwLed(QWidget* parent=0);
39 ~IfwLed();
40
41 double diameter() const;
42 void setDiameter(double diameter);
43
44 QColor color() const;
45 void setColor(const QColor& color);
46
47 Qt::Alignment alignment() const;
48 void setAlignment(Qt::Alignment alignment);
49
50 bool state() const;
51
52 bool isFlashing() const;
53
54 int flashRate() const;
55
56public slots:
57 void setState(bool state);
58 void toggleState();
59 void setFlashing(bool flashing);
60 void setFlashRate(int rate);
61 void startFlashing();
62 void stopFlashing();
63
64public:
65 int heightForWidth(int width) const;
66 QSize sizeHint() const;
67 QSize minimumSizeHint() const;
68
69protected:
70 void paintEvent(QPaintEvent* event);
71
72private:
73 double m_diameter;
74 QColor m_color;
75 Qt::Alignment m_alignment;
76 bool m_initial_state;
77 bool m_state;
78 int m_flash_rate;
79 bool m_flashing;
80
81 //
82 // Pixels per mm for x and y...
83 //
84 int pixX_, pixY_;
85
86 //
87 // Scaled values for x and y diameter.
88 //
89 int diamX_, diamY_;
90
91 QRadialGradient gradient_;
92 QTimer* m_timer;
93};
94
95
96
97#endif // EULED_H
Definition ifwled.hpp:27
bool isFlashing() const
Definition ifwled.cpp:169
int heightForWidth(int width) const
Definition ifwled.cpp:106
Qt::Alignment alignment
Definition ifwled.hpp:32
QColor color
Definition ifwled.hpp:31
void stopFlashing()
Definition ifwled.cpp:91
void setFlashing(bool flashing)
Definition ifwled.cpp:81
void setState(bool state)
Definition ifwled.cpp:96
void startFlashing()
Definition ifwled.cpp:87
bool state
Definition ifwled.hpp:33
bool flashing
Definition ifwled.hpp:34
void toggleState()
Definition ifwled.cpp:101
void setAlignment(Qt::Alignment alignment)
Definition ifwled.cpp:69
void setDiameter(double diameter)
Definition ifwled.cpp:43
double diameter
Definition ifwled.hpp:30
void setColor(const QColor &color)
Definition ifwled.cpp:60
void paintEvent(QPaintEvent *event)
Definition ifwled.cpp:118
void setFlashRate(int rate)
Definition ifwled.cpp:75
QSize minimumSizeHint() const
Definition ifwled.cpp:114
QSize sizeHint() const
Definition ifwled.cpp:110
int flashRate
Definition ifwled.hpp:35