DiagramDesigner/diagramCavas/include/itemPropertyDlg.h

52 lines
1.5 KiB
C++

#ifndef ITEMPROPERTYDLG_H
#define ITEMPROPERTYDLG_H
#include <QDialog>
#include <QMetaType>
#include <QButtonGroup>
#include <QVBoxLayout>
#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<QString,groupStateInfo>); //加载属性组列表
void createGroupView(const QString&); //创建属性页
void showDlg(modelDataInfo,QUuid,GraphicsProjectModelItem*); //显示属性页面
void setModelController(FixedPortsModel* p) {_curModelController = p;}
auto getModelController() {return _curModelController;}
public slots:
void onOkClicked();
void onCancelClicked();
void onGroupSelected(const QString&);
private:
Ui::itemPropertyDlg *ui;
QVBoxLayout* layout_;
QButtonGroup* btnGroup_;
QMap<QString, QAbstractButton*> btnMap_;
QMap<QString, QWidget*> groupViews_; //stack中存储的属性页
QMap<QString,groupStateInfo> groupInfo_; //属性组结构信息
QMap<QString,groupStateValue> groupValue_; //属性数据
QUuid curUuid_; //当前显示对象的uuid
QString _curModel; //当前模型名
GraphicsProjectModelItem* _curItem;
FixedPortsModel* _curModelController;
};
#endif