DiagramDesigner/diagramUtils/include/basePropertyManager.h

56 lines
1.9 KiB
C
Raw Normal View History

2025-05-23 10:30:52 +08:00
#ifndef BASEPROPERTYMANAGER_H
#define BASEPROPERTYMANAGER_H
#include <QObject>
#include <QMap>
#include "export.hpp"
/****元件属性数据管理类*****/
class BaseProperty;
class BaseModelProperty;
2025-07-11 18:13:54 +08:00
class BayProperty;
class DiagramEditorItemProperty;
2025-05-23 10:30:52 +08:00
class DIAGRAM_DESIGNER_PUBLIC BasePropertyManager : public QObject
{
Q_OBJECT
public:
explicit BasePropertyManager(QObject *parent = nullptr);
~BasePropertyManager();
static BasePropertyManager& instance();
//===========================元件实时数据================================
void insertEntityData(QUuid,BaseProperty*);
BaseProperty* findEntityData(QUuid);
void deleteEntityData(QUuid);
QMap<QUuid,BaseProperty*> getEntityData() const;
void insertBaseEntityData(QUuid,BaseModelProperty*);
BaseModelProperty* findBaseEntityData(QUuid);
void deleteBaseEntityData(QUuid);
QMap<QUuid,BaseModelProperty*> getBaseEntityData() const;
2025-07-11 18:13:54 +08:00
void insertBayData(QUuid,BayProperty*);
BayProperty* findBayData(QUuid);
void deleteBayData(QUuid);
QMap<QUuid,BayProperty*> getBayData() const;
void insertTempEditorData(QUuid,DiagramEditorItemProperty*); //临时预览对象数据
DiagramEditorItemProperty* findTempEditorData(QUuid);
void deleteTempEditorData(QUuid);
QMap<QUuid,DiagramEditorItemProperty*> getTempEditorData() const;
2025-05-23 10:30:52 +08:00
signals:
void dataCreated(QString uuid);
void dataChanged(QString uuid);
public slots:
void onDataDelete(QString uuid);
private:
QMap<QUuid,BaseProperty*> m_entityData; //工程模实例化元件的唯一数据
QMap<QUuid,BaseModelProperty*> m_baseEntityData; //基模实例元件数据
2025-07-11 18:13:54 +08:00
QMap<QUuid,BayProperty*> m_bayData; //间隔数据
QMap<QUuid,DiagramEditorItemProperty*> m_editorTempData; //编辑时临时预览对象
2025-05-23 10:30:52 +08:00
};
#endif // BASEPROPERTYMANAGER_H