#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 *> mLedCards; protected: void changeEvent(QEvent *) override; void transUi(); public slots: void ShowDevicesInfoOrControlWidget(int index); protected slots: void onCheckStateChanged(int f); 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