DiagramDesigner/diagramUtils/source/basePropertyManager.cpp

96 lines
2.2 KiB
C++

#include <QUuid>
#include "basePropertyManager.h"
#include "baseProperty.h"
BasePropertyManager& BasePropertyManager::instance()
{
//采用静态局部变量的方式,静态局部变量的初始化是在第一次访问时,以后的调用不会多次初始化,并且生命周期和程序一致
static BasePropertyManager instance;
return instance;
}
BasePropertyManager::BasePropertyManager(QObject *parent)
: QObject(parent)
{
}
BasePropertyManager::~BasePropertyManager()
{
}
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<QUuid,BaseProperty*> 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<QUuid,BaseModelProperty*> 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<QUuid,BayProperty*> BasePropertyManager::getBayData() const
{
return m_bayData;
}