DiagramDesigner/diagramUtils/include/projectManager.h

44 lines
1.5 KiB
C++

#ifndef PROJECTMANAGER_H
#define PROJECTMANAGER_H
#include <QObject>
#include "global.h"
#include "export.hpp"
/****工程管理类
* 对工程进行管理
*****/
class DIAGRAM_DESIGNER_PUBLIC ProjectManager : public QObject
{
Q_OBJECT
public:
explicit ProjectManager(QObject *parent = nullptr);
~ProjectManager();
static ProjectManager& instance();
void saveEditorDataToDB(QUuid,const QString&,const QString&,QByteArray,QString autor,QString sTime);
QByteArray getEditorBaseSettingByUid(QUuid);
bool createEditorProject(const QString&); //创建项目
void unloadEditorProject(const QString&); //卸载项目
void openSetting(const QString&);
void saveEditor(const QString&);
bool deleteEditor(const QString&,QUuid); //删除当前版本
void loadBaseSetting(const QString& str,QUuid id); //加载wizard与基模拓扑设置
QList<editorBaseSettingInfo> getBaseSettingsByProject(const QString&); //获取工程名对应的设置列表
editorBaseSettingInfo getBaseSetting(QUuid); //获取设置
signals:
void prepareUnloadProject(const QString&);
void prepareOpenSetting(const QString& str);
void createNewEditor(const QString& str,QUuid id);
void editorSaved(const QString& strPro,const QString& autor,QUuid uid,QString sTime);
void prepareSaveEditor(QString);
void prepareLoadBaseSetting(const QString& str,QUuid id);
void prepareDeleteBaseSetting(const QString& str,QUuid id);
};
#endif // PROJECTMANAGER_H