DPS/DataPlatform/ProjectData.h

91 lines
2.1 KiB
C++

#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<DPData*>& modellist);
static bool getImportProjectList(QList<ProjectData*>& proList, QString path);
static bool importData(json& parameter, QList<int>& 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