#ifndef PROJECTDATA_H #define PROJECTDATA_H #include "DPData.h" class DataManager; class ProjectData : public DPData { Q_OBJECT Q_PROPERTY(int type READ getType WRITE setType) Q_PROPERTY(QString author READ getAuthor WRITE setAuthor) Q_PROPERTY(QString createTime READ getCreateTime WRITE setCreateTime) Q_PROPERTY(QString updateTime READ getUpdateTime WRITE setUpdateTime) Q_PROPERTY(bool focus READ getFocus WRITE setFocus) public: ProjectData(); virtual ~ProjectData(); int getType() { return _type; } void setType(int type) { _type = type; } QString getAuthor() const; void setAuthor(QString author); QString getCreateTime() const; void setCreateTime(QString createTime); QString getUpdateTime() const; void setUpdateTime(QString updateTime); bool getFocus() const; void setFocus(bool focus); public: // bool saveToDao(DPData* newData); /*保存当前项目*/ bool saveSelf(); /*增加数据模型*/ bool addChild(DPData* newData); /*删除数据模型*/ bool deleteChild(unsigned int id); void removeChildinDPMap(); /*删除本项目*/ bool deleteSelf(); /*更新本项目*/ // bool updateSelf(DPData& newData); /*从数据库加载一个项目到当前对象*/ void loadData(DBPlatformSpace::DAO* pDao); /*获取当前项目的所有数据模型*/ void getAllChildren( DPData* pManager = nullptr); //获取新属性,更新属性 void getNewProperty(json& parameter, QVariantMap& valueMap); void setNewData(json& parameter); void setEditData(json& parameter); void toJson(json& jsonObj, bool recursive = false); //查找指定名称标识模型 void findDatamodelByName(QString name, QList& modellist); static bool getImportProjectList(QList& proList, QString path); static bool importData(json& parameter, QList& projectIdlist); static bool exportData(json& parameter, QString exportPath); void setCurrentProject(); //是否有重名项目 static bool hasRepetitiveName(QString name, DataManager* pMgr); bool _initChildren = false; public: /*项目类型*/ int _type = 0; /*创建者*/ QString _author; /*创建时间*/ QString _createTime; /*更新时间*/ QString _updateTime; /*是否关注, true = 关注*/ bool _focus = false; /*最后打开时间*/ // QString _lastOpenTime; }; #endif