#pragma once /**组态编辑时的数据模型*/ #include "graphicsDataModel/baseModel.h" class GraphicsBaseModelItem; class DiagramEditorItemProperty; class GraphicsBaseItem; class EditPreviewScene; class ElectricBaseModelLineItem; class DiagramEditorModel : public BaseModel { Q_OBJECT public: DiagramEditorModel(); ~DiagramEditorModel(); bool addTempPreviewItem(QUuid uuid,GraphicsBaseModelItem*); DiagramEditorItemProperty* addTempPreviewData(QUuid id,int type,QString name,QString metaName,QString sBlock = QString()); //添加图元基模数据 void createTopoTerminalsByItem(GraphicsBaseItem*,ModelFunctionType funType = ModelFunctionType::ProjectModel); //通过图形对象创建port接线点(新建) void generateTempBay(); //通过设置生成间隔预览对象 void generateTempComponent(QUuid uid,QString sName,int nCategory,int nType,QPoint pos,int nRotate = 0); //生成设备 uid,分类(设备、逻辑点),类型,旋转 ElectricBaseModelLineItem* generateTempLine(QUuid uid,QString sName); //生成连线 void clearCurPreview(); void setCurBayRouteModel(QStandardItemModel* p) {_pCurBayRoute = p;} QStandardItemModel* getCurBayRouteModel() {return _pCurBayRoute;} void setCurBayComponentModel(QStandardItemModel* p) {_pCurBayComponent = p;} QStandardItemModel* getCurBayComponentModel() {return _pCurBayComponent;} void setCurPreviewScene(EditPreviewScene* p) {_pCurPreviewScene = p;} QStandardItem* getNameItem(const QString&); //获取返回当前设备模型中的name项 private: QMap _tempItem; //临时预览对象 QStandardItemModel* _pCurBayRoute; //当前使用的间隔路线 QStandardItemModel* _pCurBayComponent; //当前使用的间隔设备库 EditPreviewScene* _pCurPreviewScene; //当前预览scene };