2025-08-25 12:02:15 +08:00
|
|
|
#pragma once
|
|
|
|
|
/**组态编辑时的数据模型*/
|
|
|
|
|
#include "graphicsDataModel/baseModel.h"
|
|
|
|
|
|
|
|
|
|
class GraphicsBaseModelItem;
|
|
|
|
|
class DiagramEditorItemProperty;
|
|
|
|
|
class GraphicsBaseItem;
|
|
|
|
|
class EditPreviewScene;
|
2025-08-28 10:59:04 +08:00
|
|
|
class ElectricBaseModelLineItem;
|
2025-08-25 12:02:15 +08:00
|
|
|
|
|
|
|
|
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,分类(设备、逻辑点),类型,旋转
|
2025-08-28 10:59:04 +08:00
|
|
|
ElectricBaseModelLineItem* generateTempLine(QUuid uid,QString sName); //生成连线
|
|
|
|
|
void clearCurPreview();
|
2025-08-25 12:02:15 +08:00
|
|
|
|
|
|
|
|
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<QUuid,GraphicsBaseModelItem*> _tempItem; //临时预览对象
|
|
|
|
|
QStandardItemModel* _pCurBayRoute; //当前使用的间隔路线
|
|
|
|
|
QStandardItemModel* _pCurBayComponent; //当前使用的间隔设备库
|
|
|
|
|
EditPreviewScene* _pCurPreviewScene; //当前预览scene
|
|
|
|
|
};
|
|
|
|
|
|