qt/LedOK/devicepanel.h
2022-09-30 18:08:39 +08:00

63 lines
1.6 KiB
C++

#ifndef DEVICEPANEL_H
#define DEVICEPANEL_H
#include "deviceitem.h"
#include <QFile>
#include <QBoxLayout>
#include <QPainter>
#include <QStyledItemDelegate>
#include <QUdpSocket>
#include <QTreeWidgetItem>
#include <QCheckBox>
#include <QComboBox>
#include <QTextEdit>
#include <QSettings>
class DeviceCtrlPanel;
class DevicePanel : public QWidget {
Q_OBJECT
public:
explicit DevicePanel(QSettings &, QWidget *parent = nullptr);
~DevicePanel();
void sendGetInfo();
QLabel *fdCardNumInfo;
LoQTreeWidget *mDeviceTable;
QUdpSocket mUdpSocket;
QTimer mUdpTimer;
QDialog *specifyIPDlg{0};
QTextEdit *fdIP{0};
void addLedCard(LedCard *);
void clearUdpHeartbeat(LedCard *);
void parseInfo(const QJsonObject &subObj,const QString &strIp);
void RestoreLedCardIpByUdpCmd();
QList<LedCard *> LedCardList;
protected:
void changeEvent(QEvent *) override;
void transUi();
public slots:
void ShowDevicesInfoOrControlWidget(int index);
protected slots:
void onCheckStateChanged(int f);
void FilterProgram(const QString &strtemp);
void OnControlSendJson(QJsonObject &json,QString strFanYi);
void OnControlTcpSend(int iProgramIndex);
void OnOutputInfo(QString);
signals:
void sigSelectedDeviceList(QList<LedCard *> *);
private:
QLabel *label_3, *nDeviceNum;
QComboBox *bnSpecifyIP;
QPushButton *btnRefresh;
QTreeWidgetItem *m_headerItem;
QHBoxLayout *mHBox{0};
DeviceCtrlPanel *mDeviceCtrlPanel{0};
int m_intIndexFlagOfInfoOrControl{0};
int GetSelectDeviceNum();
QList<LedCard*> mSelCards;
};
#endif // DEVICEPANEL_H