🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
UiMainWindow.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include <QIcon>
25#include <QMainWindow>
26#include <QStyle>
27#include <memory>
28
29class QTabBar;
30class QStackedWidget;
31class QToolButton;
32class QLabel;
33class QDockWidget;
34class QTabWidget;
35
36AST_NAMESPACE_BEGIN
37
38class UiObjectTree;
39class ChatSession;
40class UiChatDockWidget;
41
42class UiMainWindow : public QMainWindow
43{
44 Q_OBJECT
45
46public:
47 explicit UiMainWindow(QWidget *parent = nullptr);
49 UiMainWindow(const UiMainWindow&) = delete;
50 UiMainWindow& operator=(const UiMainWindow&) = delete;
51
52private:
53 void setupUi();
54
55 QWidget* setupRibbon();
56 QWidget* createRibbonPage(int index);
57 QToolButton* createRibbonButton(const QString& text, const QIcon& icon,
58 QWidget* parent);
59
60 void setupObjectDock();
61 void setupChatDock();
62 void setupStatusBar();
63
64 // Ribbon
65 QTabBar* ribbonTabBar_ = nullptr;
66 QStackedWidget* ribbonStack_ = nullptr;
67
68 // Central tabs
69 QTabWidget* centralTabs_ = nullptr;
70
71 // Object dock
72 QDockWidget* objectDock_ = nullptr;
73 UiObjectTree* objectTree_ = nullptr;
74
75 // Chat dock
76 ChatSession* chatSession_ = nullptr;
77 UiChatDockWidget* chatDock_ = nullptr;
78
79 // Status bar
80 QLabel* statusReadyLabel_ = nullptr;
81};
82
83AST_NAMESPACE_END
聊天会话
定义 ChatSession.hpp:44
聊天停靠面板
定义 UiChatDockWidget.hpp:32
定义 UiMainWindow.hpp:43
通用对象树控件,支持显示全部对象或以指定节点为根的子树
定义 UiObjectTree.hpp:31