-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathqcccwidget.h
51 lines (48 loc) · 1.64 KB
/
qcccwidget.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef QCCCWIDGET_H
#define QCCCWIDGET_H
#include <QWidget>
#include <QLoggingCategory>
#include <QLabel>
#include <QSpinBox>
#include <QComboBox>
#include <QCheckBox>
Q_DECLARE_LOGGING_CATEGORY(CCC)
/// панель Control Change Constant
class QCccWidget : public QWidget
{
Q_OBJECT
public:
/// конструктор
explicit QCccWidget(QWidget *parent = nullptr);
/// деструктор
~QCccWidget();
/// get instance
static QCccWidget * getInstance();
/// установить номер настраиваемой кнопки
/// \param btnNumber[in] - номер (1..12)
/// \param curBnkNumber[in] - текущий редактируемый банк (0..)
void setButton(int btnNumber, int curBnkNumber);
private:
/// номер кнопки (1..12)
int m_btnNumber{1};
/// текущий редактируемый банк (0..)
int m_curBnkNumber{0};
/// защелка для обработчиков
bool m_bProceed{false};
/// вектор лейбл
QVector<QLabel*> m_labels;
/// вектор спинбоксов
QVector<QSpinBox*> m_spinBoxes;
/// вектор чекбоксов
QVector<QCheckBox*> m_checkBoxes;
/// вектор комбо для реле
QVector<QComboBox*> m_relCombos;
/// обработчик комбо реле
void relays(int index, uint8_t shift, QComboBox * combo = Q_NULLPTR );
signals:
/// сигнал отслеживания изменений
///\param number[in] - номер измененного банка
void s_changed( int number );
public slots:
};
#endif // QCCCWIDGET_H