#ifndef ITEMPROPERTYDLG_H #define ITEMPROPERTYDLG_H #include #include #include #include //#include "global.h" #include "common/backend/project_model.h" #include "common/core_model/data_transmission.h" QT_BEGIN_NAMESPACE namespace Ui { class itemPropertyDlg; } QT_END_NAMESPACE class GraphicsFunctionModelItem; class FixedPortsModel; class ItemPropertyDlg : public QDialog { Q_OBJECT public: ItemPropertyDlg(QWidget *parent = nullptr); ~ItemPropertyDlg(); void initial(); void loadGroupButton(QMap); //加载属性组列表 void createGroupView(const QString&); //创建属性页 void showDlg(ModelDataInfo,QUuid,GraphicsFunctionModelItem*); //显示属性页面 void setModelController(FixedPortsModel* p) {_curModelController = p;} auto getModelController() {return _curModelController;} auto getCurItem() {return _curItem;} public slots: void onOkClicked(); void onCancelClicked(); void onGroupSelected(const QString&); void onHttpDataUpdated(HttpRecommandInfo); //更新推荐列表 private: Ui::itemPropertyDlg *ui; QVBoxLayout* layout_; QButtonGroup* btnGroup_; QMap btnMap_; QMap groupViews_; //stack中存储的属性页 QMap groupInfo_; //属性组结构信息 QMap groupValue_; //属性数据 QUuid curUuid_; //当前显示对象的uuid QString _curModel; //当前模型名 GraphicsFunctionModelItem* _curItem; FixedPortsModel* _curModelController; QString _curGroup; //当前属性组 }; #endif