Files
XCEngine/docs/api/XCEngine/Editor/panels/PanelCollection/Attach-Detach-And-Clear.md

1.2 KiB

PanelCollection Attach / Detach / Clear

命名空间: XCEngine::Editor

类型: method group

源文件: editor/src/panels/PanelCollection.h

签名

void AttachAll();
void DetachAll();
void Clear();

作用

统一管理 collection 内所有面板的 attach / detach 生命周期,以及最终容器清空。

当前实现行为

AttachAll()

  • 按容器正序遍历所有面板,并调用 panel->OnAttach()

DetachAll()

  • 按容器逆序遍历所有面板,并调用 panel->OnDetach()
  • 这意味着当前拆除顺序与构造顺序相反,适合让后创建的 UI 元素先释放。

Clear()

  • 直接清空内部 std::vector<std::unique_ptr<Panel>>
  • 当前不会自动补做 DetachAll(),因此通常应在上层先完成 detach 再 clear。

设计含义

  • DetachAll() 的逆序行为是当前实现里很关键的生命周期细节。
  • Clear()DetachAll() 分开,也让上层能显式控制拆除时机。

相关文档