#ifndef MONITORCONFIGDLG_H #define MONITORCONFIGDLG_H /*******************监控配置界面**********************/ #include #include QT_BEGIN_NAMESPACE namespace Ui { class monitorConfigDlg; } QT_END_NAMESPACE class MonitorPanel; class QItemSelection; class QStandardItemModel; class QStandardItem; struct monitorItemAttributeInfo; class QCompleter; class QStringListModel; class MonitorConfigDlg : public QDialog { Q_OBJECT public: MonitorConfigDlg(QWidget *parent = nullptr); ~MonitorConfigDlg(); void initial(); void updateSelectedItems(); void updateRecommandLst(QStringList); //更新当前推荐列表 public slots: void onOkClicked(); void onCancelClicked(); void onTypeChanged(int); //展现类型改变 void onItemSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); //选中设备事件 void onPropertyCheckChanged(QStandardItem *item); //属性勾选改变信号 void onPropertySelectionChanged(const QModelIndex ¤t, const QModelIndex &previous); //属性选中事件 void onConnectParamChanged(const QString&); //连接参数变化事件(发送推荐查询) protected: bool eventFilter(QObject *obj, QEvent *event) override; private: void savePropertyData(const QModelIndex ¤t,QUuid uid); //保存属性到uid的属性 void loadPropertyData(const QModelIndex ¤t,QUuid uid); void clearProperty(); private: Ui::monitorConfigDlg *ui; MonitorPanel* _parent; QMap> _tempConfig; QStandardItemModel* _curItemModel; QUuid _curUuid; QStringList _curRecommandLst; //当前推荐列表 QCompleter* _recommandCompleter; //自动填充器 QStringListModel* _strLstModel; //自动填充模型 }; #endif