ifw-fcf 7.1.4
Loading...
Searching...
No Matches
qeanalogsensor.hpp
Go to the documentation of this file.
1#ifndef QEANALOGSENSOR_H
2#define QEANALOGSENSOR_H
3
4#include <QObject>
5#include <QWidget>
6#include <QLabel>
7#include <QTimer>
8
9class QeAnalogSensor : public QWidget
10{
11 Q_OBJECT
12
13 Q_PROPERTY(bool vertical MEMBER m_vertical WRITE set_vertical)
14 Q_PROPERTY(bool other_side MEMBER m_other_side WRITE set_other_side)
15 Q_PROPERTY(bool flashing MEMBER m_flashing WRITE set_flashing)
16 Q_PROPERTY(QColor flash_color MEMBER m_flash_color WRITE set_flash_color)
17 Q_PROPERTY(int font_size MEMBER m_font_size WRITE set_font_size)
18 Q_PROPERTY(double value MEMBER m_value WRITE set_value)
19 Q_PROPERTY(uint precision MEMBER m_precision WRITE set_precision)
20 Q_PROPERTY(bool exponential MEMBER m_exponential WRITE set_exponential)
21 Q_PROPERTY(QString unit MEMBER m_unit WRITE set_unit)
22 Q_PROPERTY(int number_align MEMBER m_number_align WRITE set_number_align)
23
24public:
25 explicit QeAnalogSensor(QWidget *parent = nullptr);
26
27signals:
28
29public slots:
30 void set_vertical( bool arg ){ m_vertical = arg; update(); }
31 void set_other_side( bool arg ){ m_other_side = arg; update(); }
32 void set_flashing( bool arg ){ m_flashing = arg; arg ? timer->start(1000): timer->stop(); update(); }
33 void set_flash_color( QColor arg ){ m_flash_color = arg; update(); }
34 void set_font_size( int arg );
35 void set_value( double arg ){ m_value = arg; update(); }
36 void set_precision( int arg ){ m_precision = arg; update(); }
37 void set_exponential( bool arg ){ m_exponential = arg; update(); }
38 void set_unit( QString arg ){ m_unit = arg; update(); }
39 void set_number_align(int arg ){ m_number_align = arg; update(); }
40
41protected:
42 QSize sizeHint();
43 QSize minimumSizeHint();
44 void paintEvent(QPaintEvent *event);
46
47private:
48 QString prepareText();
49
50 bool m_vertical = false;
51 bool m_other_side = false;
52 bool m_flashing = false;
53 QColor m_flash_color;
54 QTimer *timer;
55 double m_value = 12345.56789;
56 int m_precision = 3;
57 int m_font_size;
58 bool m_exponential = false;
59 QString m_unit = "K";
60 int m_number_align = Qt::AlignLeft;
61 QColor m_bg_color;
62 int m_additional_h_padding = 0;
63
64 void prepareSizes();
65};
66
67#endif // QEANALOGSENSOR_H
Definition qeanalogsensor.hpp:10
void set_precision(int arg)
Definition qeanalogsensor.hpp:36
void set_exponential(bool arg)
Definition qeanalogsensor.hpp:37
bool exponential
Definition qeanalogsensor.hpp:20
bool other_side
Definition qeanalogsensor.hpp:14
bool flashing
Definition qeanalogsensor.hpp:15
void set_number_align(int arg)
Definition qeanalogsensor.hpp:39
void set_flash_color(QColor arg)
Definition qeanalogsensor.hpp:33
void set_font_size(int arg)
Definition qeanalogsensor.cpp:36
QString unit
Definition qeanalogsensor.hpp:21
void set_vertical(bool arg)
Definition qeanalogsensor.hpp:30
bool vertical
Definition qeanalogsensor.hpp:13
QSize minimumSizeHint()
Definition qeanalogsensor.cpp:153
void set_value(double arg)
Definition qeanalogsensor.hpp:35
void setAdditionalHPadding(int value)
Definition qeanalogsensor.cpp:195
void set_flashing(bool arg)
Definition qeanalogsensor.hpp:32
void set_unit(QString arg)
Definition qeanalogsensor.hpp:38
QColor flash_color
Definition qeanalogsensor.hpp:16
double value
Definition qeanalogsensor.hpp:18
void set_other_side(bool arg)
Definition qeanalogsensor.hpp:31
uint precision
Definition qeanalogsensor.hpp:19
int number_align
Definition qeanalogsensor.hpp:22
QSize sizeHint()
Definition qeanalogsensor.cpp:168
int font_size
Definition qeanalogsensor.hpp:17
void paintEvent(QPaintEvent *event)
Definition qeanalogsensor.cpp:45