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