#ifndef BASEPROPERTYMANAGER_H #define BASEPROPERTYMANAGER_H #include #include #include "export.hpp" /****元件属性数据管理类*****/ class BaseProperty; class BaseModelProperty; class BayProperty; class DiagramEditorItemProperty; 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 getEntityData() const; void insertBaseEntityData(QUuid,BaseModelProperty*); BaseModelProperty* findBaseEntityData(QUuid); void deleteBaseEntityData(QUuid); QMap getBaseEntityData() const; void insertBayData(QUuid,BayProperty*); BayProperty* findBayData(QUuid); void deleteBayData(QUuid); QMap getBayData() const; void insertTempEditorData(QUuid,DiagramEditorItemProperty*); //临时预览对象数据 DiagramEditorItemProperty* findTempEditorData(QUuid); void deleteTempEditorData(QUuid); QMap getTempEditorData() const; void insertEditorData(QUuid,DiagramEditorItemProperty*); //预览对象数据 DiagramEditorItemProperty* findEditorData(QUuid); void deleteEditorData(QUuid); QMap getEditorData() const; signals: void dataCreated(QString uuid); void dataChanged(QString uuid); public slots: void onDataDelete(QString uuid); private: QMap m_entityData; //工程模实例化元件的唯一数据 QMap m_baseEntityData; //基模实例元件数据 QMap m_bayData; //间隔数据 QMap m_editorTempData; //编辑时临时预览对象 QMap m_editorData; //编辑时预览对象 }; #endif // BASEPROPERTYMANAGER_H