DiagramDesigner/diagramUtils/include/basePropertyManager.h

68 lines
2.5 KiB
C++

#ifndef BASEPROPERTYMANAGER_H
#define BASEPROPERTYMANAGER_H
#include <QObject>
#include <QMap>
#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<QUuid,BaseProperty*> getEntityData() const;
void insertBaseEntityData(QUuid,BaseModelProperty*);
BaseModelProperty* findBaseEntityData(QUuid);
void deleteBaseEntityData(QUuid);
QMap<QUuid,BaseModelProperty*> getBaseEntityData() const;
void insertBaseBayData(QUuid,BayProperty*); //基模间隔
BayProperty* findBaseBayData(QUuid);
void deleteBaseBayData(QUuid);
QMap<QUuid,BayProperty*> getBaseBayData() const;
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;
void insertEditorData(QUuid,DiagramEditorItemProperty*); //预览对象数据
DiagramEditorItemProperty* findEditorData(QUuid);
void deleteEditorData(QUuid);
QMap<QUuid,DiagramEditorItemProperty*> getEditorData() const;
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; //基模实例元件数据
QMap<QUuid,BayProperty*> m_baseBayData; //基模间隔数据
QMap<QUuid,BayProperty*> m_bayData; //间隔数据
QMap<QUuid,DiagramEditorItemProperty*> m_editorTempData; //编辑时临时预览对象
QMap<QUuid,DiagramEditorItemProperty*> m_editorData; //编辑时预览对象
};
#endif // BASEPROPERTYMANAGER_H