DiagramDesigner/diagramUtils/source/basePropertyManager.cpp

50 lines
1.0 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)
{
}