73 lines
1.6 KiB
C
73 lines
1.6 KiB
C
|
#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
|
|||
|
|