DiagramDesigner/diagramCavas/include/graphicsDataModel/diagramEditorModel.h

39 lines
1.9 KiB
C
Raw Normal View History

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