ifw-fcf 6.0.0
Loading...
Searching...
No Matches
device.h
Go to the documentation of this file.
1
9#ifndef DEVICE_WDG_H
10#define DEVICE_WDG_H
11
14
15
16#include <utils/bat/dbInterface.hpp>
17
18#include <QWidget>
19#include <QtWidgets/QLabel>
20#include <QObject>
21
22class QGroupBox;
23class QLabel;
24class QTextEdit;
25class QLineEdit;
26class QPushButton;
27class QCheckBox;
28class QComboBox;
29class QListWidget;
30class QRadioButton;
31class QSpinBox;
32class QDoubleSpinBox;
33
34struct CommonUi {
35public:
36
37 explicit CommonUi() :
38 m_spinner(nullptr) {};
39
40 void SetName(QLabel* name) {
41 m_name = name;
42 }
43
44 QLabel* GetName() {
45 return m_name;
46 }
47
48 void SetEnable(QCheckBox* enable) {
49 m_enable = enable;
50 }
51
52 QCheckBox* GetEnable() {
53 return m_enable;
54 }
55
56 void SetSpinner(Spinner* spinner) {
57 m_spinner = spinner;
58 }
59
61 return m_spinner;
62 }
63
64 void SetState(QLabel* state) {
65 m_state = state;
66 }
67
68 QLabel* GetState() {
69 return m_state;
70 }
71
72 void SetSubstate(QLabel* substate) {
73 m_substate = substate;
74 }
75
76 QLabel* GetSubstate() {
77 return m_substate;
78 }
79
80 void SetSim(QPushButton* sim) {
81 m_sim = sim;
82 }
83
84 QPushButton* GetSim() {
85 return m_sim;
86 }
87
88 void SetLocal(QPushButton* local) {
89 m_local = local;
90 }
91
92 void SetError(QPushButton* error) {
93 m_error = error;
94 }
95
96 QPushButton* GetLocal() {
97 return m_local;
98 }
99
100 QPushButton* GetError() {
101 return m_error;
102 }
103
104
105 void SetFrame(QFrame* frame) {
106 m_frame = frame;
107 }
108
109 QFrame* GetFrame() {
110 return m_frame;
111 }
112
113private:
114 QLabel* m_name;
115 QCheckBox* m_enable;
116 Spinner* m_spinner;
117 QLabel* m_state;
118 QLabel* m_substate;
119 QPushButton* m_sim;
120 QPushButton* m_local;
121 QPushButton* m_error;
122 QFrame* m_frame;
123
124
125};
126
127class DeviceWdg : public AbstractDevice {
128 Q_OBJECT
129public:
130 explicit DeviceWdg(QWidget *parent,
131 std::unique_ptr<utils::bat::DbInterface>& dbinterface,
132 const std::string& name,
133 const int& cmd_timeout);
134 virtual ~DeviceWdg();
135 std::string GetName();
136 void Select();
137 void Deselect();
138 bool IsSelected();
139 virtual void Stop();
140 virtual void GetDbAttributes();
141 virtual void UpdateData();
142 virtual void SetEnable(bool flag);
143
144protected:
145 void SetupCommonUi();
146 void SetupInfoUi(const std::string& overview,
147 const std::string& desc);
148 bool IsSimulated();
149 void SetProperty(QPushButton* button, std::string property, bool flag);
150 void SetProperty(QRadioButton* button, std::string property, bool flag);
151 void SetProperty(QLabel* label, std::string property, bool flag);
152 void SetProperty(QComboBox* combo, std::string property, bool flag);
153 void SetProperty(QSpinBox* spin, std::string property, bool flag);
154 void SetProperty(QDoubleSpinBox* spin, std::string property, bool flag);
155
156signals:
157 void TriggerSetup(QString);
158
159public slots:
160 void SetActive(int index);
161 void UpdateState(int state);
162 bool UpdateSubstate(int substate);
163 void UpdateSpinner(int substate);
164 void UpdateErrorMsg(std::string msg);
165 void HandleSetupButton();
166
167
168protected:
170 std::unique_ptr<utils::bat::DbInterface>& m_dbinterface;
171 std::string m_name;
174 std::string m_lcs_prefix;
175 std::string m_cfg_prefix;
176 std::string m_stat_prefix;
177 QString m_error_text{""};
178 QString m_error_tooltip{""};
179 std::vector<std::string> m_dbattribute_vector;
181
182};
183
184#endif // DEVICE_WDG_H
WDGLIB AbstractDevice class declaration file.
Definition: abstractDevice.h:21
Definition: device.h:127
void SetupInfoUi(const std::string &overview, const std::string &desc)
Definition: device.cpp:72
bool IsSimulated()
Definition: device.cpp:348
void UpdateSpinner(int substate)
Definition: device.cpp:133
virtual void GetDbAttributes()
Definition: device.cpp:186
virtual ~DeviceWdg()
Definition: device.cpp:48
void SetupCommonUi()
Definition: device.cpp:52
std::vector< std::string > m_dbattribute_vector
Definition: device.h:179
bool m_simulated
Definition: device.h:173
QString m_error_tooltip
Definition: device.h:178
std::unique_ptr< utils::bat::DbInterface > & m_dbinterface
Definition: device.h:170
virtual void UpdateData()
Definition: device.cpp:211
std::string m_lcs_prefix
Definition: device.h:174
void Select()
Definition: device.cpp:82
bool IsSelected()
Definition: device.cpp:90
QTimer * m_spinner_timer
Definition: device.h:169
CommonUi m_ui
Definition: device.h:180
void UpdateErrorMsg(std::string msg)
Definition: device.cpp:172
void Deselect()
Definition: device.cpp:86
std::string m_cfg_prefix
Definition: device.h:175
std::string m_stat_prefix
Definition: device.h:176
void HandleSetupButton()
Definition: device.cpp:181
virtual void SetEnable(bool flag)
Definition: device.cpp:271
std::string m_name
Definition: device.h:171
void SetProperty(QPushButton *button, std::string property, bool flag)
Definition: device.cpp:282
virtual void Stop()
Definition: device.cpp:176
void UpdateState(int state)
Definition: device.cpp:157
QString m_error_text
Definition: device.h:177
void TriggerSetup(QString)
std::string GetName()
Definition: device.cpp:78
void SetActive(int index)
Definition: device.cpp:95
bool UpdateSubstate(int substate)
Definition: device.cpp:100
int m_cmd_timeout
Definition: device.h:172
Definition: spinner.h:29
Definition: device.h:34
QCheckBox * GetEnable()
Definition: device.h:52
void SetError(QPushButton *error)
Definition: device.h:92
void SetSpinner(Spinner *spinner)
Definition: device.h:56
QFrame * GetFrame()
Definition: device.h:109
QLabel * GetName()
Definition: device.h:44
QPushButton * GetSim()
Definition: device.h:84
QLabel * GetSubstate()
Definition: device.h:76
void SetState(QLabel *state)
Definition: device.h:64
QPushButton * GetError()
Definition: device.h:100
void SetLocal(QPushButton *local)
Definition: device.h:88
QLabel * GetState()
Definition: device.h:68
void SetSubstate(QLabel *substate)
Definition: device.h:72
void SetSim(QPushButton *sim)
Definition: device.h:80
void SetFrame(QFrame *frame)
Definition: device.h:105
void SetName(QLabel *name)
Definition: device.h:40
QPushButton * GetLocal()
Definition: device.h:96
CommonUi()
Definition: device.h:37
Spinner * GetSpinner()
Definition: device.h:60
void SetEnable(QCheckBox *enable)
Definition: device.h:48