DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAAppCore.h
1#ifndef DAAPPCORE_H
2#define DAAPPCORE_H
3#include "DACoreInterface.h"
4
5namespace DA
6{
7class DAAppCommand;
8class DAAppUI;
9class DAAppRibbonArea;
10class DAAppDataManager;
11class DAAppProject;
16{
17 Q_OBJECT
18 DAAppCore(QObject* p = nullptr);
19
20public:
21 static DAAppCore& getInstance();
22 // 初始化
23 virtual bool initialized() override;
24 // 获取DAAppRibbonAreaInterface
25 virtual DAUIInterface* getUiInterface() const override;
26 // 获取项目管理借口
27 virtual DAProjectInterface* getProjectInterface() const override;
28 // 调用此函数,创建DAAppUIInterface,此函数的调用应该发生在SARibbonMainWindow的构造过程
29 void createUi(SARibbonMainWindow* mainwindow) override;
30 // python内核是否初始化成功
32 // 获取数据管理接口
33 DADataManagerInterface* getDataManagerInterface() const override;
34#if DA_ENABLE_PYTHON
35 // python相关
36 // python脚本信号投递器
37 virtual DAPythonSignalHandler* getPythonSignalHandler() const;
38 // 初始化python环境
39 bool initializePythonEnv();
40#endif
41
42public:
43 // 获取DAAppUI,省去qobject_cast
45 // 获取DAProject
47 // 获取DAAppDataManager,省去qobject_cast
49 // 获取DAAppCommand,省去qobject_cast
51
52private:
53 DAAppCommand* mAppCmd { nullptr };
54 DAAppUI* mAppUI { nullptr };
55 DAAppDataManager* mDataManager { nullptr };
56 bool mIsPythonInterpreterInitialized;
57 DAAppProject* mProject { nullptr };
58#if DA_ENABLE_PYTHON
59 DAPythonSignalHandler* m_pythonHandler { nullptr };
60#endif
61};
62
63DACoreInterface* getAppCorePtr();
64} // namespace DA
65
66#ifndef DA_APP_CORE
70#define DA_APP_CORE DA::DAAppCore::getInstance()
71#endif
72
73#endif // DACORE_H
App的命令管理
Definition DAAppCommand.h:17
DA的核心接口,作为单例存在
Definition DAAppCore.h:16
DAAppDataManager * getAppDatas()
直接获取数据
Definition DAAppCore.cpp:164
DAAppUI * getAppUi()
获取DAAppUI,省去qobject_cast
Definition DAAppCore.cpp:148
DAAppProject * getAppProject()
获取工程
Definition DAAppCore.cpp:156
bool isPythonInterpreterInitialized() const
python内核是否初始化成功
Definition DAAppCore.cpp:91
DAAppCommand * getAppCmd()
直接获取DAAppCommand
Definition DAAppCore.cpp:174
DA的变量管理类,da的变量统一由此类管理
Definition DAAppDataManager.h:19
负责整个节点的工程管理
Definition DAAppProject.h:31
总体界面接口,负责生成DAAppDockingArea和DAAppRibbonArea
Definition DAAppUI.h:17
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