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