DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAAppUI.h
1#ifndef DAAPPUI_H
2#define DAAPPUI_H
3#include "DAUIInterface.h"
4namespace DA
5{
6class DAAppCore;
7class DAAppCommand;
8class DAAppActions;
9class DAAppDockingArea;
10class DAAppRibbonArea;
11class DAAppStatusBar;
12class DACommonPropertySettingDialog;
16class DAAppUI : public DAUIInterface
17{
18 Q_OBJECT
19public:
20 DAAppUI(SARibbonMainWindow* m, DACoreInterface* c);
21
22 // 获取主程序
23 virtual QMainWindow* getMainWindow() const override;
24
25 // 获取界面的docking区域
26 virtual DADockingAreaInterface* getDockingArea() override;
27
28 // 获取界面的ribbon区域
29 virtual DARibbonAreaInterface* getRibbonArea() override;
30
31 // 获取界面的StatusBar区域
32 virtual DAStatusBarInterface* getStatusBar() override;
33
34 // 执行一个通用的设置窗口,来获取设置信息,传入内容为构建窗口的设置信息,具体json的设置见DACommonPropertySettingDialog
35 virtual QJsonObject getConfigValues(const QString& jsonConfig,
36 QWidget* parent = nullptr,
37 const QString& cacheKey = QString() // 缓存关键字,如果存在缓存关键字,这个设置窗口会缓存起来,下次调用会直接exec,不会创建
38 ) override;
39
40 // 添加信息在程序的日志窗口里显示
41 virtual void addInfoLogMessage(const QString& msg, bool showInStatusBar = true) override;
42
43 // 添加信息在程序的日志窗口里显示
44 virtual void addWarningLogMessage(const QString& msg, bool showInStatusBar = true) override;
45
46 // 添加信息在程序的日志窗口里显示
47 virtual void addCriticalLogMessage(const QString& msg, bool showInStatusBar = true) override;
48
49 // 设置脏标志
50 virtual void setDirty(bool on = true) override;
51 // 创建ui
52 void createUi();
53
54public:
55 // 获取core
57 // 减少一次dynamic_cast
58 DAAppActions* getAppActions();
59 // 减少一次dynamic_cast
60 DAAppCommand* getAppCmd();
61 // 获取dock
62 DAAppDockingArea* getAppDockingArea();
63 // 获取ribbon
64 DAAppRibbonArea* getAppRibbonArea();
65 // 获取StatusBar
66 DAAppStatusBar* getAppStatusBar();
67
68protected:
69 void createActions();
70 void createCmd();
71 void createDockingArea();
72 void createRibbonArea();
73 void createStatusBar();
74
75public:
76 DAAppActions* m_actions;
77 DAAppCommand* m_cmd;
78 DAAppDockingArea* m_dockingArea;
79 DAAppRibbonArea* m_ribbonArea;
80 DAAppStatusBar* m_statusBar;
81 QHash< QString, DACommonPropertySettingDialog* > m_cachePropertyDialog;
82};
83} // namespace DA
84
85#ifndef DA_APP_UI
91#define DA_APP_UI DA::DAAppCore::getInstance().getUi()
92#endif
93
94#endif // DAAPPUI_H
action管理
Definition DAAppActions.h:13
App的命令管理
Definition DAAppCommand.h:17
DA的核心接口,作为单例存在
Definition DAAppCore.h:16
负责docking窗口区域的管理,APP分两大区域-RibbonArea和DockArea DockArea包含所有的窗口
Definition DAAppDockingArea.h:43
App的Ribbon区域接口,负责ribbon层的管理和调度
Definition DAAppRibbonArea.h:118
Definition DAAppStatusBar.h:15
总体界面接口,负责生成DAAppDockingArea和DAAppRibbonArea
Definition DAAppUI.h:17
DAAppCore * getAppCore()
获取app core
Definition DAAppUI.cpp:135
virtual QJsonObject getConfigValues(const QString &jsonConfig, QWidget *parent=nullptr, const QString &cacheKey=QString()) override
执行一个通用的设置窗口,来获取设置信息,传入内容为构建窗口的设置信息
Definition DAAppUI.cpp:65
APP的核心接口
Definition DACoreInterface.h:24
此接口负责整个app的dock区域
Definition DADockingAreaInterface.h:38
这个接口管理了AppRibbon区域的相关操作
Definition DARibbonAreaInterface.h:24
Definition DAStatusBarInterface.h:8
界面相关的接口
Definition DAUIInterface.h:26
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44