DiagramDesigner/diagramCavas/include/baseContentDlg.h

39 lines
1.3 KiB
C++

#ifndef BASECONTENTDLG_H
#define BASECONTENTDLG_H
#include <QDialog>
#include <QVBoxLayout>
#include <QFormLayout>
//#include "global.h"
#include "common/backend/project_model.h"
/*******************************************************
属性组界面基类
********************************************************/
class BaseProperty;
class FixedPortsModel;
class BaseContentDlg : public QDialog
{
Q_OBJECT
public:
BaseContentDlg(QWidget *parent = nullptr);
virtual ~BaseContentDlg();
virtual void createGroupView(GroupStateInfo) = 0; //创建页面
virtual QMap<QString,PropertyStateInfo> getPropertyValue(BaseProperty* = nullptr) = 0; //返回当前页面的属性值
//void setPropertyValue(QMap<QString,propertyStateInfo>);
//void setPropertyValue(BaseProperty*);
virtual void setPropertyValue(QVariant) = 0;
void setModelController(FixedPortsModel* p){_curModelController = p;}
auto getModelController() {return _curModelController;}
void setExtendProperty(PropertyStateInfo info) {_extendInfo = info;} //设置跨组别使用的公共变量(ct,pt使用extend绕组信息)
protected:
QMap<QString,PropertyContentInfo> _mapPro;
QFormLayout* createFormLayout(QWidget* parent);
FixedPortsModel* _curModelController;
PropertyStateInfo _extendInfo;
};
#endif