DPS/DataPlatform/DataManager.h

73 lines
1.6 KiB
C
Raw Normal View History

2025-06-23 10:41:33 +08:00
#ifndef DATAMANAGER_H
#define DATAMANAGER_H
#include<QList>
#include "DPData.h"
#include "DBPlatformNew.h"
#include "SysManager.h"
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class DataManager :public DPData
{
Q_OBJECT
public:
DataManager();
~DataManager();
enum class DataType
{
project,
dataModel,
dataPack,
dataClass,
dataAttribute,
scene
};
public:
/*<2A><><EFBFBD><EFBFBD>child<6C><64><EFBFBD><EFBFBD>*/
bool addChild(DPData* newData);
/*ɾ<><C9BE>һ<EFBFBD><D2BB>child<6C><64><EFBFBD><EFBFBD>*/
bool deleteChild(unsigned int id);
/*<2A><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD>*/
void getAllChildren(DPData* pManager=nullptr, bool reload = false);
void clearAllProject();
void insertDataMap(DataType type, unsigned int id, DPData* pData);
void deleteInDataMap(DataType type, unsigned int id);
DPData* findObjectById(DataType type, int id);
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>
DPData* findobjectByNameInDatamodel(int type, QString propertyName, QString name, int dataModelId);
DataType transformType(int type);
//<2F><>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>map
void getDataMap(DataType type, QMap<unsigned int, DPData*>& map);
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ*/
QList<DPData*> lastProject;
DBPlatformSpace::DBPlatformNew* pTheDBPlatform = nullptr;
bool _dbConnected = false; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>״̬
private:
QMap<unsigned int, DPData*> platformDataMap; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>---֮<><D6AE>ɾ<EFBFBD><C9BE>
QMap<unsigned int, DPData*> mapProject;
QMap<unsigned int, DPData*> mapDataModel;
QMap<unsigned int, DPData*> mapDataPack;
QMap<unsigned int, DPData*> mapDataClass;
QMap<unsigned int, DPData*> mapDataAttribute;
QMap<unsigned int, DPData*> mapDataScene;
QMap<DataType, QMap<unsigned int, DPData*>> platformData;
};
DataManager& GetDataRoot();
#endif