DiagramDesigner/diagramUtils/source/basePropertyManager.cpp

169 lines
4.1 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()
{
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<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::insertBaseBayData(QUuid id,BayProperty* p)
{
if(!m_baseBayData.contains(id))
m_baseBayData.insert(id,p);
}
BayProperty* BasePropertyManager::findBaseBayData(QUuid id)
{
return m_baseBayData.value(id,nullptr);
}
void BasePropertyManager::deleteBaseBayData(QUuid id)
{
BayProperty* pData = m_baseBayData.value(id,nullptr);
if(pData)
delete pData;
}
QMap<QUuid,BayProperty*> BasePropertyManager::getBaseBayData() const
{
return m_baseBayData;
}
/*****************************间隔数据*******************************/
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;
}
/*****************************临时预览数据*******************************/
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<QUuid,DiagramEditorItemProperty*> 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<QUuid,DiagramEditorItemProperty*> BasePropertyManager::getEditorData() const
{
return m_editorData;
}