91 lines
2.3 KiB
C++
91 lines
2.3 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
|
|
|
|
|