载入中...
搜索中...
未找到
EditorShell.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Export.h"
4#include "ui/Widget.h"
5
6#include <string>
7
8namespace eve::ui {
9
10class UIHost;
11
21public:
22 EditorShell() = default;
24 EditorShell(const EditorShell&) = delete;
26
33 void open(UIHost *inspector, UIHost *database, UIHost *scene);
35 void close();
37 bool isOpen() const;
39 UIHost *host() const { return host_; }
40
46 bool selectPanel(const std::string &name);
47
49 WidgetDesc build();
50
51private:
52 void relayout();
53
54 UIHost *host_ = nullptr;
55 UIHost *inspector_ = nullptr;
56 UIHost *database_ = nullptr;
57 UIHost *scene_ = nullptr;
58};
59
60} // namespace eve::ui
#define EVENGINE_API
宿主(eve / libmain)导出宏;插件从进程导入同一批符号。
Definition Export.h:16
const char * name
Definition RockMesh.cpp:21
DevTools editor shell (main menu bar + docked panel layout).
Definition EditorShell.h:20
EditorShell(const EditorShell &)=delete
EditorShell & operator=(const EditorShell &)=delete
UIHost * host() const
The menu-bar host (nullptr until open()); for tests/embedding.
Definition EditorShell.h:39
ECS mount point for one UI panel/screen. Subclass to attach UI to game entities, e....
Definition UIHost.h:130
Declarative widget description (build once / on dirty → flatten into UIHost::Tree).
Definition Widget.h:13