#ifndef ITEMPROPERTYDLG_H #define ITEMPROPERTYDLG_H #include #include #include #include #include "global.h" QT_BEGIN_NAMESPACE namespace Ui { class itemPropertyDlg; } QT_END_NAMESPACE class GraphicsProjectModelItem; 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,GraphicsProjectModelItem*); //显示属性页面 void setModelController(FixedPortsModel* p) {_curModelController = p;} auto getModelController() {return _curModelController;} auto getCurItem() {return _curItem;} public slots: void onOkClicked(); void onCancelClicked(); void onGroupSelected(const QString&); private: Ui::itemPropertyDlg *ui; QVBoxLayout* layout_; QButtonGroup* btnGroup_; QMap btnMap_; QMap groupViews_; //stack中存储的属性页 QMap groupInfo_; //属性组结构信息 QMap groupValue_; //属性数据 QUuid curUuid_; //当前显示对象的uuid QString _curModel; //当前模型名 GraphicsProjectModelItem* _curItem; FixedPortsModel* _curModelController; }; #endif