CFEL - ASG Software Suite  2.5.0
CASS
led.h
Go to the documentation of this file.
1 /**
2  * @file led.h an led in qt
3  *
4  * @author unknown
5  */
6 
7 #ifndef _LED_H_
8 #define _LED_H_
9 
10 #include <QtDesigner/QtDesigner>
11 #include <QWidget>
12 
13 class QTimer;
14 
15 class LED : public QWidget
16 {
17  Q_OBJECT
18 
19  Q_PROPERTY(double diameter READ diameter WRITE setDiameter) // mm
20  Q_PROPERTY(QColor color READ color WRITE setColor)
21  Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment)
22  Q_PROPERTY(bool state READ state WRITE setState)
23  Q_PROPERTY(bool flashing READ isFlashing WRITE setFlashing)
24  Q_PROPERTY(int flashRate READ flashRate WRITE setFlashRate)
25 
26 public:
27  explicit LED(QWidget* parent=0);
28  ~LED();
29 
30  double diameter() const;
31  void setDiameter(double diameter);
32 
33  QColor color() const;
34  void setColor(const QColor& color);
35 
36  Qt::Alignment alignment() const;
37  void setAlignment(Qt::Alignment alignment);
38 
39  bool state() const;
40 
41  bool isFlashing() const;
42 
43  int flashRate() const;
44 
45 public slots:
46  void setState(bool state);
47  void toggleState();
48  void setFlashing(bool flashing);
49  void setFlashRate(int rate);
50  void startFlashing();
51  void stopFlashing();
52 
53 public:
54  int heightForWidth(int width) const;
55  QSize sizeHint() const;
56  QSize minimumSizeHint() const;
57 
58 protected:
60 
61 private:
62  double diameter_;
64  Qt::Alignment alignment_;
66  bool state_;
68  bool flashing_;
69 
70  //
71  // Pixels per mm for x and y...
72  //
73  int pixX_, pixY_;
74 
75  //
76  // Scaled values for x and y diameter.
77  //
78  int diamX_, diamY_;
79 
82 };
83 
84 #endif
bool flashing
Definition: led.h:23
int pixX_
Definition: led.h:73
void setFlashRate(int rate)
Definition: led.cpp:81
bool isFlashing() const
Definition: led.cpp:186
void startFlashing()
Definition: led.cpp:95
void setAlignment(Qt::Alignment alignment)
Definition: led.cpp:74
QTimer * timer_
Definition: led.h:81
void toggleState()
Definition: led.cpp:112
int diamX_
Definition: led.h:78
void setFlashing(bool flashing)
Definition: led.cpp:88
bool state_
Definition: led.h:66
Definition: led.h:15
bool initialState_
Definition: led.h:65
void setColor(const QColor &color)
Definition: led.cpp:62
bool state() const
QSize sizeHint() const
Definition: led.cpp:123
double diameter_
Definition: led.h:62
int pixY_
Definition: led.h:73
QColor color() const
Qt::Alignment alignment_
Definition: led.h:64
Qt::Alignment alignment() const
void stopFlashing()
Definition: led.cpp:100
int flashRate_
Definition: led.h:67
QSize minimumSizeHint() const
Definition: led.cpp:128
int flashRate() const
void paintEvent(QPaintEvent *event)
Definition: led.cpp:133
void setState(bool state)
Definition: led.cpp:106
display the real hit rate
int diamY_
Definition: led.h:78
double diameter() const
int heightForWidth(int width) const
Definition: led.cpp:118
bool flashing_
Definition: led.h:68
QRadialGradient gradient_
Definition: led.h:80
void setDiameter(double diameter)
Definition: led.cpp:43
event(QEvent *event)
QColor color_
Definition: led.h:63