ifw-fcf  5.0.0-pre2
device.h
Go to the documentation of this file.
1 
9 #ifndef DEVICE_WDG_H
10 #define DEVICE_WDG_H
11 
13 #include <fcf/gui/wdglib/spinner.h>
14 
15 
16 #include <utils/bat/dbInterface.hpp>
17 
18 #include <QWidget>
19 #include <QtWidgets/QLabel>
20 #include <QObject>
21 
22 class QGroupBox;
23 class QLabel;
24 class QTextEdit;
25 class QLineEdit;
26 class QPushButton;
27 class QCheckBox;
28 class QComboBox;
29 class QListWidget;
30 class QRadioButton;
31 class QSpinBox;
32 class QDoubleSpinBox;
33 
34 struct CommonUi {
35 public:
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 
113 private:
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 
127 class DeviceWdg : public AbstractDevice {
128  Q_OBJECT
129 public:
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 
144 protected:
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 
156 signals:
157  void TriggerSetup(QString);
158 
159 public 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 
168 protected:
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  QString m_error_text{""};
177  QString m_error_tooltip{""};
178  std::vector<std::string> m_dbattribute_vector;
180 
181 };
182 
183 #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:70
bool IsSimulated()
Definition: device.cpp:346
void UpdateSpinner(int substate)
Definition: device.cpp:131
virtual void GetDbAttributes()
Definition: device.cpp:184
virtual ~DeviceWdg()
Definition: device.cpp:46
void SetupCommonUi()
Definition: device.cpp:50
std::vector< std::string > m_dbattribute_vector
Definition: device.h:178
bool m_simulated
Definition: device.h:173
QString m_error_tooltip
Definition: device.h:177
std::unique_ptr< utils::bat::DbInterface > & m_dbinterface
Definition: device.h:170
virtual void UpdateData()
Definition: device.cpp:209
std::string m_lcs_prefix
Definition: device.h:174
void Select()
Definition: device.cpp:80
bool IsSelected()
Definition: device.cpp:88
DeviceWdg(QWidget *parent, std::unique_ptr< utils::bat::DbInterface > &dbinterface, const std::string &name, const int &cmd_timeout)
Definition: device.cpp:26
QTimer * m_spinner_timer
Definition: device.h:169
CommonUi m_ui
Definition: device.h:179
void UpdateErrorMsg(std::string msg)
Definition: device.cpp:170
void Deselect()
Definition: device.cpp:84
std::string m_cfg_prefix
Definition: device.h:175
void HandleSetupButton()
Definition: device.cpp:179
virtual void SetEnable(bool flag)
Definition: device.cpp:269
std::string m_name
Definition: device.h:171
void SetProperty(QPushButton *button, std::string property, bool flag)
Definition: device.cpp:280
virtual void Stop()
Definition: device.cpp:174
void UpdateState(int state)
Definition: device.cpp:155
QString m_error_text
Definition: device.h:176
void TriggerSetup(QString)
std::string GetName()
Definition: device.cpp:76
void SetActive(int index)
Definition: device.cpp:93
bool UpdateSubstate(int substate)
Definition: device.cpp:98
int m_cmd_timeout
Definition: device.h:172
Definition: spinner.h:29
Definition: device.h:34
QPushButton * GetLocal()
Definition: device.h:96
void SetError(QPushButton *error)
Definition: device.h:92
QLabel * GetSubstate()
Definition: device.h:76
QFrame * GetFrame()
Definition: device.h:109
QPushButton * GetError()
Definition: device.h:100
void SetSpinner(Spinner *spinner)
Definition: device.h:56
QLabel * GetName()
Definition: device.h:44
QPushButton * GetSim()
Definition: device.h:84
QCheckBox * GetEnable()
Definition: device.h:52
void SetState(QLabel *state)
Definition: device.h:64
void SetLocal(QPushButton *local)
Definition: device.h:88
void SetSubstate(QLabel *substate)
Definition: device.h:72
void SetSim(QPushButton *sim)
Definition: device.h:80
QLabel * GetState()
Definition: device.h:68
void SetFrame(QFrame *frame)
Definition: device.h:105
void SetName(QLabel *name)
Definition: device.h:40
CommonUi()
Definition: device.h:37
void SetEnable(QCheckBox *enable)
Definition: device.h:48
Spinner * GetSpinner()
Definition: device.h:60