DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
AppMainWindow.h
1#ifndef DAMETHODEDITORMAINWINDOW_H
2#define DAMETHODEDITORMAINWINDOW_H
3#include "SARibbonMainWindow.h"
4#include <QScopedPointer>
5
6QT_BEGIN_NAMESPACE
7namespace Ui
8{
9class AppMainWindow;
10}
11QT_END_NAMESPACE
12
13class QCloseEvent;
14
15namespace DA
16{
17class DAAppCore;
18class DAAppRibbonArea;
19class DAAppUI;
20class DAAppDockingArea;
21class DAAppController;
22class DAAppPluginManager;
23class DAAppConfig;
24class DAConfigsManager;
25class DAAppSettingDialog;
26
27class AppMainWindow : public SARibbonMainWindow
28{
29 Q_OBJECT
30 friend class DAAppRibbonArea;
31
32public:
33 AppMainWindow(QWidget* parent = nullptr);
35
36 // 多语言翻译
37 void retranslateUi();
38
39 DAAppConfig* getAppConfig() const;
40 // 显示设置对话框
41 void showSettingDialog();
42
43 // 保存所有状态
44 QByteArray saveUIState() const;
45 bool restoreUIState(const QByteArray& v);
46 // 从默认路径恢复
47 bool restoreUIState();
48 // 重置ui
49 void resetUIState();
50 // 设置是否在退出时保存ui的状态
51 bool isSaveUIStateOnClose() const;
52 void setSaveUIStateOnClose(bool v);
53 // 获取ui state 配置文件路径
54 static QString getUIStateSettingFilePath();
55 // 判断是否存在状态设置文件
56 static bool isHaveStateSettingFile();
57 // 把保存的窗口状态保存文件删除
58 static bool removeStateSettingFile();
59 // 打开已有工程
60 bool openProject(const QString& projectFilePath);
61 // 针对import-data命令
62 bool importData(const QString& filePath, const QVariantMap& args);
63
64 // 获取插件管理器
66
67protected:
68 void changeEvent(QEvent* e);
69 void closeEvent(QCloseEvent* e);
70
71private:
72 // 初始化
73 void init();
74
75 // 初始化插件
76 void initPlugins();
77
78 // 初始化工作流的节点
79 void initWorkflowNodes();
80
81 // 初始化设置
82 void initConfig();
83private slots:
84 //
85 void onWorkflowFinished(bool success);
86 // 配置文件需要保存
87 void onConfigNeedSave();
88
89private:
90 DAAppCore* mCore { nullptr };
91 DAAppUI* mUI { nullptr };
92 DAAppDockingArea* mDockArea { nullptr };
93 DAAppController* mController { nullptr };
94 DAAppPluginManager* mPluginMgr { nullptr };
95 std::unique_ptr< DAAppConfig > mConfig;
96 DAAppSettingDialog* mSettingDialog { nullptr };
97 bool mIsSaveUIStateOnClose { false };
98};
99} // namespace DA
100#endif // METHODMAINWINDOW_H
Definition AppMainWindow.h:28
DAAppPluginManager * getPluginManager() const
返回插件管理器
Definition AppMainWindow.cpp:294
bool openProject(const QString &projectFilePath)
打开已有工程
Definition AppMainWindow.cpp:274
void closeEvent(QCloseEvent *e)
程序关闭事件
Definition AppMainWindow.cpp:123
static bool removeStateSettingFile()
把保存的窗口状态保存文件删除
Definition AppMainWindow.cpp:258
void showSettingDialog()
显示设置对话框
Definition AppMainWindow.cpp:307
bool importData(const QString &filePath, const QVariantMap &args)
针对import-data命令
Definition AppMainWindow.cpp:285
static bool isHaveStateSettingFile()
判断是否存在状态设置文件
Definition AppMainWindow.cpp:249
QByteArray saveUIState() const
保存所有状态
Definition AppMainWindow.cpp:332
bool restoreUIState(const QByteArray &v)
恢复状态
Definition AppMainWindow.cpp:352
此类为本程序的设置类
Definition DAAppConfig.h:27
控制层负责逻辑的对接
Definition DAAppController.h:54
DA的核心接口,作为单例存在
Definition DAAppCore.h:16
负责docking窗口区域的管理,APP分两大区域-RibbonArea和DockArea DockArea包含所有的窗口
Definition DAAppDockingArea.h:43
此app的插件管理类
Definition DAAppPluginManager.h:24
App的Ribbon区域接口,负责ribbon层的管理和调度
Definition DAAppRibbonArea.h:118
程序的默认设置对话框
Definition DAAppSettingDialog.h:17
总体界面接口,负责生成DAAppDockingArea和DAAppRibbonArea
Definition DAAppUI.h:17
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44