Files
XCEngine/docs/api/XCEngine/Editor/UI/Widgets/Widgets.md

1.9 KiB
Raw Blame History

Widgets

命名空间: XCEngine::Editor::UI

类型: header-helper

源文件: editor/src/UI/Widgets.h

描述: 提供更接近编辑器业务语义的中高层 widget如菜单命令、层级树节点、资产格子、组件区块和对话框按钮行。

概述

如果说 Core 是底层 UI 包装,那么 Widgets.h 就是更贴近编辑器业务的通用组件库。
当前文件涵盖的内容很多,主要可以分成几类:

  • 菜单与命令:MenuCommandDrawMenuScopeDrawMenuCommands
  • 工具栏:搜索框、标签、切换按钮、面包屑
  • Hierarchy / ProjectDrawHierarchyNodeDrawAssetTileDrawAssetIcon
  • InspectorBeginComponentSection
  • 对话框与 tooltipDrawDialogActionRowBeginTitledPopupBeginTitledTooltip
  • ConsoleDrawConsoleLogRow

设计说明

这类文件在商业编辑器里通常非常关键,因为它决定了“多个面板是否共享同一种交互语言”。
比如:

  • Hierarchy 节点的点击、展开和双击
  • Project 资源网格的卡片样式
  • Inspector 组件区块的标题和右键菜单

如果这些都散落在各个面板里,最终 UI 行为会越来越不一致。

当前实现特征

  • MenuCommand 把菜单项和分隔线统一成一个小数据结构
  • AssetTileResultHierarchyNodeResult 等结果结构让调用方更容易写流程判断
  • 组件区块与工具栏、搜索框都已经形成可复用构件

当前限制

  • 仍然是 header inline helpers而不是独立 widget 类库
  • 某些 widget 仍然高度耦合当前编辑器视觉风格
  • 还没有更高级的虚拟列表、树过滤高亮或多列资源浏览控件

相关文档