#ifndef DATAMANAGER_H #define DATAMANAGER_H #include #include "DPData.h" #include "DBPlatformNew.h" #include "SysManager.h" //根结点,管理所有数据 class DataManager :public DPData { Q_OBJECT public: DataManager(); ~DataManager(); enum class DataType { project, dataModel, dataPack, dataClass, dataAttribute, scene }; public: /*增加child数据*/ bool addChild(DPData* newData); /*删除一条child数据*/ bool deleteChild(unsigned int id); /*获取所有下层数据*/ 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); //查找指定数据模型下的数据对象 DPData* findobjectByNameInDatamodel(int type, QString propertyName, QString name, int dataModelId); DataType transformType(int type); //获取指定数据类型的map void getDataMap(DataType type, QMap& map); /*最近打开两个项目*/ QList lastProject; DBPlatformSpace::DBPlatformNew* pTheDBPlatform = nullptr; bool _dbConnected = false; //数据库连接状态 private: QMap platformDataMap; //所有数据对象---之后删除 QMap mapProject; QMap mapDataModel; QMap mapDataPack; QMap mapDataClass; QMap mapDataAttribute; QMap mapDataScene; QMap> platformData; }; DataManager& GetDataRoot(); #endif