DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAProjectInterface.h
1#ifndef DAPROJECTINTERFACE_H
2#define DAPROJECTINTERFACE_H
3#include <QObject>
4#include <QVersionNumber>
5#include <functional>
6#include <QByteArray>
7#include "DAInterfaceAPI.h"
8#include "DABaseInterface.h"
9namespace DA
10{
11class DADockingAreaInterface;
12class DACoreInterface;
13class DAWorkFlowOperateWidget;
14class DADataManagerInterface;
20class DAINTERFACE_API DAProjectInterface : public DABaseInterface
21{
22 Q_OBJECT
23 DA_DECLARE_PRIVATE(DAProjectInterface)
24public:
25 DAProjectInterface(DACoreInterface* c, QObject* par = nullptr);
27 // 是否为空
28 bool isEmpty() const;
29 // 设置dock接口
30 DADockingAreaInterface* getDockingAreaInterface() const;
31 void setDockingAreaInterface(DADockingAreaInterface* dock);
32 // 设置数据管理接口
33 void setDataManagerInterface(DADataManagerInterface* d);
34 DADataManagerInterface* getDataManagerInterface();
35 // 获取工程文件的基础名
36 QString getProjectBaseName() const;
37 // 工程路径,如D:/project
38 QString getProjectDir() const;
39 // 获取工程文件的路径,如D:/project/da-project.dapro
40 QString getProjectFilePath() const;
41 // 在重写load函数需要调用此函数设置工程路径
42 void setProjectPath(const QString& projectPath);
43 // 获取工作区
44 QString getWorkingDirectory() const;
45 // 是否dirty
46 bool isDirty() const;
47 // 工程文件的版本,版本组成有大版本.中间版本.小版本组成,例如0.1.1
48 static QVersionNumber getProjectVersion();
49 // 是否繁忙,正在保存文件过程中会为繁忙状态
50 virtual bool isBusy() const;
51
52public:
53 // 工程文件的后缀
54 static QString getProjectFileSuffix();
55 static void setProjectFileSuffix(const QString& f);
56
57public Q_SLOTS:
58
70 virtual bool load(const QString& path) = 0;
71
83 virtual bool save(const QString& path) = 0;
84 // 清空工程
85 virtual void clear();
86 // 设置为dirty,会发射becomeDirty
87 void setModified(bool on = true);
88 // 请求保存,会弹出保存对话框让用户选择保存路径保存
89 virtual bool requestSave() = 0;
90Q_SIGNALS:
97 void projectBeginLoad(const QString& path);
98
103 void projectLoaded(const QString& path);
104
111 void projectBeginSave(const QString& path);
112
119 void projectSaved(const QString& path);
120
125 void dirtyStateChanged(bool on);
126
131};
132}
133
134#endif // DAPROJECTINTERFACE_H
Definition DABaseInterface.h:9
APP的核心接口
Definition DACoreInterface.h:24
数据管理接口
Definition DADataManagerInterface.h:16
此接口负责整个app的dock区域
Definition DADockingAreaInterface.h:38
负责总体工程的接口
Definition DAProjectInterface.h:21
void projectSaved(const QString &path)
工程成功保存
void projectBeginSave(const QString &path)
工程开始保存
virtual bool save(const QString &path)=0
保存工程
void projectIsCleaned()
工程被清空触发信号
virtual bool load(const QString &path)=0
加载工程
void dirtyStateChanged(bool on)
工程脏信号改变
void projectLoaded(const QString &path)
工程加载完成
void projectBeginLoad(const QString &path)
工程开始保存
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44