DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DACoreInterface.h
1#ifndef DACOREINTERFACE_H
2#define DACOREINTERFACE_H
3#include "DAInterfaceAPI.h"
4#include <QObject>
5#include <QDir>
6#include <QTemporaryDir>
7#if DA_ENABLE_PYTHON
8#include "DAPythonSignalHandler.h"
9#endif
10
11class SARibbonMainWindow;
12
13namespace DA
14{
15class DAUIInterface;
16class DADataManagerInterface;
17class DAProjectInterface;
23class DAINTERFACE_API DACoreInterface : public QObject
24{
25 Q_OBJECT
26public:
27 DACoreInterface(QObject* parent = nullptr);
28 virtual ~DACoreInterface();
29
30 // 初始化函数,初始化函数里构造出DAAppUIInterface,DADataManagerInterface等实例
31 virtual bool initialized() = 0;
32
33 // 获取DAAppRibbonAreaInterface
34 virtual DAUIInterface* getUiInterface() const = 0;
35 // 获取工程管理借口
36 virtual DAProjectInterface* getProjectInterface() const = 0;
37 // 获取数据管理接口
38 virtual DADataManagerInterface* getDataManagerInterface() const = 0;
39#if DA_ENABLE_PYTHON
40 // 获取python信号投递器,通过它可以把python脚本信号里的函数投递到主线程执行
41 virtual DAPythonSignalHandler* getPythonSignalHandler() const = 0;
42 // 获取python 脚本路径
43 static QString getPythonScriptsPath();
44#endif
45public:
46 // 工程是否dirty的操作
47 bool isProjectDirty() const;
48 void setProjectDirty(bool on);
49
50 // 工程的临时目录
51 QDir getTempDir() const;
52
53public:
54 // 调用此函数,创建DAAppRibbonAreaInterface,此函数的调用应该发生在SARibbonMainWindow的构造过程
55 virtual void createUi(SARibbonMainWindow* mainwindow) = 0;
56
57private:
58 QTemporaryDir mTempDir;
59};
60} // namespace DA
61
62#endif // DACOREINTERFACE_H
APP的核心接口
Definition DACoreInterface.h:24
数据管理接口
Definition DADataManagerInterface.h:16
负责总体工程的接口
Definition DAProjectInterface.h:21
Python线程到Qt主线程的通信处理器
Definition DAPythonSignalHandler.h:19
界面相关的接口
Definition DAUIInterface.h:26
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44