Files
gcs-nf/App/StatusUI/StateGroup.h
T

119 lines
1.6 KiB
C++
Raw Normal View History

2021-04-14 18:23:36 +08:00
#ifndef STATEGROUP_H
#define STATEGROUP_H
#include <QWidget>
#include "StateWidget.h"
2021-04-18 16:29:56 +08:00
#include "QGroupBox"
#include "QGridLayout"
2021-04-14 18:23:36 +08:00
class StateGroup : public QWidget
{
Q_OBJECT
public:
2021-04-18 16:29:56 +08:00
explicit StateGroup(int index, QWidget *parent = nullptr);
2021-04-14 18:23:36 +08:00
~StateGroup();
int id;
signals:
public slots:
void setID(int value)
{
id = value;
}
int ID(void)
{
return id;
}
QMap<int,StateWidget *> Items(void)
{
return ItemList;
}
void addItem(StateWidget * w);
void addItems(QMap<int,StateWidget *> list);
2021-04-18 16:29:56 +08:00
void removeItem(int index);
void removeItem(StateWidget * w);
2021-04-14 18:23:36 +08:00
StateWidget *Item(int key)
{
StateWidget *w = nullptr;
if(ItemList.contains(key))
{
w = ItemList.value(key);
}
return w;
}
StateWidget *Item(QString name)
{
StateWidget *w = nullptr;
foreach (StateWidget *i, ItemList) {
if(i->Name() == name){
w = i;
break;
}
}
return w;
}
void setValue(int index, QString value);
2021-04-18 16:29:56 +08:00
void setColor(int index,StateWidget::state s);
int count(void)
{
return ItemList.size();
}
2021-04-14 18:23:36 +08:00
2021-04-25 09:28:46 +08:00
int lenght(void)
{
return m_lenght;
}
2021-04-14 18:23:36 +08:00
private slots:
protected:
2021-04-18 16:29:56 +08:00
void updateUI(void);
2021-04-14 18:23:36 +08:00
private:
QMap<int,StateWidget *> ItemList;
QString title;
2021-04-18 16:29:56 +08:00
QGroupBox *box = nullptr;
QGridLayout *toplayout = nullptr;
QGridLayout *layout = nullptr;
2021-04-25 09:28:46 +08:00
int m_lenght = 0;
2021-04-14 18:23:36 +08:00
};
#endif // STATEGROUP_H