37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
|
|
# SceneStatusWidget
|
||
|
|
|
||
|
|
**命名空间**: `XCEngine::Editor::UI`
|
||
|
|
|
||
|
|
**类型**: `header-helper`
|
||
|
|
|
||
|
|
**源文件**: `editor/src/UI/SceneStatusWidget.h`
|
||
|
|
|
||
|
|
**描述**: 在主菜单栏右侧绘制当前场景文件状态,并在悬停时提供详细提示。
|
||
|
|
|
||
|
|
## 概述
|
||
|
|
|
||
|
|
`DrawSceneStatusWidget` 是一个很小但很有价值的状态反馈组件。
|
||
|
|
它会把当前场景的保存状态浓缩成菜单栏右侧的一段文本,并在悬停时展开 tooltip。
|
||
|
|
|
||
|
|
## 当前实现
|
||
|
|
|
||
|
|
- dirty 场景会以前缀 `* ` 标记
|
||
|
|
- 没有场景路径时会显示 `Unsaved.xc`
|
||
|
|
- 有路径时只显示文件名
|
||
|
|
- tooltip 中会进一步展示:
|
||
|
|
- 场景名
|
||
|
|
- 文件名
|
||
|
|
- 状态 `Modified / Saved`
|
||
|
|
- 完整路径或“尚未保存”提示
|
||
|
|
|
||
|
|
## 设计说明
|
||
|
|
|
||
|
|
这非常符合商业编辑器的 UI 习惯:
|
||
|
|
把高频状态压缩成轻量但始终可见的角落信息,而不是每次都让用户去打开另一个面板确认场景是否已保存。
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [UI](../UI.md)
|
||
|
|
- [MainMenuActionRouter](../../Actions/MainMenuActionRouter/MainMenuActionRouter.md)
|
||
|
|
- [SceneManager](../../Managers/SceneManager/SceneManager.md)
|