51 lines
1.8 KiB
Markdown
51 lines
1.8 KiB
Markdown
|
|
# UI
|
|||
|
|
|
|||
|
|
**命名空间**: `XCEngine::Editor::UI`
|
|||
|
|
|
|||
|
|
**类型**: `submodule`
|
|||
|
|
|
|||
|
|
**描述**: 编辑器 ImGui 基础设施、主题、控件与面板绘制辅助层。
|
|||
|
|
|
|||
|
|
## 概述
|
|||
|
|
|
|||
|
|
`UI` 子模块当前内容很多,但核心方向很清楚:
|
|||
|
|
|
|||
|
|
- 维护 ImGui 会话与布局文件
|
|||
|
|
- 封装统一视觉主题
|
|||
|
|
- 提供属性面板、工具栏、菜单、场景状态等 UI 辅助
|
|||
|
|
|
|||
|
|
已文档化的核心页面:
|
|||
|
|
|
|||
|
|
- [ImGuiSession](ImGuiSession/ImGuiSession.md)
|
|||
|
|
- [ImGuiBackendBridge](ImGuiBackendBridge/ImGuiBackendBridge.md)
|
|||
|
|
- [BaseTheme](BaseTheme/BaseTheme.md)
|
|||
|
|
- [StyleTokens](StyleTokens/StyleTokens.md)
|
|||
|
|
- [Core](Core/Core.md)
|
|||
|
|
- [PanelChrome](PanelChrome/PanelChrome.md)
|
|||
|
|
- [Widgets](Widgets/Widgets.md)
|
|||
|
|
- [PopupState](PopupState/PopupState.md)
|
|||
|
|
- [ScalarControls](ScalarControls/ScalarControls.md)
|
|||
|
|
- [VectorControls](VectorControls/VectorControls.md)
|
|||
|
|
- [PropertyGrid](PropertyGrid/PropertyGrid.md)
|
|||
|
|
- [DockHostStyle](DockHostStyle/DockHostStyle.md)
|
|||
|
|
- [ConsoleFilterState](ConsoleFilterState/ConsoleFilterState.md)
|
|||
|
|
- [ConsoleLogFormatter](ConsoleLogFormatter/ConsoleLogFormatter.md)
|
|||
|
|
- [SceneStatusWidget](SceneStatusWidget/SceneStatusWidget.md)
|
|||
|
|
- [AboutEditorDialog](AboutEditorDialog/AboutEditorDialog.md)
|
|||
|
|
|
|||
|
|
`UI/UI.h` 本身只是聚合入口,真正值得阅读的是这些分层 helper:
|
|||
|
|
|
|||
|
|
- `ImGuiSession + ImGuiBackendBridge` 负责上下文与后端绑定
|
|||
|
|
- `BaseTheme + StyleTokens` 负责视觉规范
|
|||
|
|
- `Core + PanelChrome + Widgets` 负责通用交互壳层
|
|||
|
|
- `ScalarControls + VectorControls + PropertyGrid` 负责 Inspector 表单体验
|
|||
|
|
|
|||
|
|
这样拆分的好处,是把 Dear ImGui 容易失控的即时模式代码收束成一套可复用部件库。
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [Editor 模块](../Editor.md)
|
|||
|
|
- [Application](../Application/Application.md)
|
|||
|
|
- [Platform](../Platform/Platform.md)
|
|||
|
|
- [Editor Architecture And Workflow](../../../_guides/Editor/Editor-Architecture-And-Workflow.md)
|