#include #include "basePropertyManager.h" #include "baseProperty.h" BasePropertyManager& BasePropertyManager::instance() { //采用静态局部变量的方式,静态局部变量的初始化是在第一次访问时,以后的调用不会多次初始化,并且生命周期和程序一致 static BasePropertyManager instance; return instance; } BasePropertyManager::BasePropertyManager(QObject *parent) : QObject(parent) { } BasePropertyManager::~BasePropertyManager() { qDeleteAll(m_entityData); qDeleteAll(m_bayData); } void BasePropertyManager::insertEntityData(QUuid uid,BaseProperty* p) { if(!m_entityData.contains(uid)) m_entityData.insert(uid,p); } BaseProperty* BasePropertyManager::findEntityData(QUuid uid) { return m_entityData.value(uid,nullptr); } void BasePropertyManager::deleteEntityData(QUuid uid) { BaseProperty* pData = m_entityData.value(uid,nullptr); if(pData) delete pData; } QMap BasePropertyManager::getEntityData() const { return m_entityData; } void BasePropertyManager::onDataDelete(QString uuid) { } /***************************基模数据******************************/ void BasePropertyManager::insertBaseEntityData(QUuid uid,BaseModelProperty* p) { if(!m_baseEntityData.contains(uid)) m_baseEntityData.insert(uid,p); } BaseModelProperty* BasePropertyManager::findBaseEntityData(QUuid uid) { return m_baseEntityData.value(uid,nullptr); } void BasePropertyManager::deleteBaseEntityData(QUuid uid) { BaseModelProperty* pData = m_baseEntityData.value(uid,nullptr); if(pData) delete pData; } QMap BasePropertyManager::getBaseEntityData() const { return m_baseEntityData; } /*****************************间隔数据*******************************/ void BasePropertyManager::insertBayData(QUuid id,BayProperty* p) { if(!m_bayData.contains(id)) m_bayData.insert(id,p); } BayProperty* BasePropertyManager::findBayData(QUuid id) { return m_bayData.value(id,nullptr); } void BasePropertyManager::deleteBayData(QUuid id) { BayProperty* pData = m_bayData.value(id,nullptr); if(pData) delete pData; } QMap BasePropertyManager::getBayData() const { return m_bayData; } /*****************************临时预览数据*******************************/ void BasePropertyManager::insertTempEditorData(QUuid id,DiagramEditorItemProperty* p) { if(!m_editorTempData.contains(id)) m_editorTempData.insert(id,p); } DiagramEditorItemProperty* BasePropertyManager::findTempEditorData(QUuid id) { return m_editorTempData.value(id,nullptr); } void BasePropertyManager::deleteTempEditorData(QUuid id) { DiagramEditorItemProperty* pData = m_editorTempData.value(id,nullptr); if(pData) delete pData; } QMap BasePropertyManager::getTempEditorData() const { return m_editorTempData; } /*****************************预览数据*******************************/ void BasePropertyManager::insertEditorData(QUuid id,DiagramEditorItemProperty* p) { if(!m_editorData.contains(id)) m_editorData.insert(id,p); } DiagramEditorItemProperty* BasePropertyManager::findEditorData(QUuid id) { return m_editorData.value(id,nullptr); } void BasePropertyManager::deleteEditorData(QUuid id) { DiagramEditorItemProperty* pData = m_editorData.value(id,nullptr); if(pData) delete pData; } QMap BasePropertyManager::getEditorData() const { return m_editorData; }