1#ifndef YAZE_APP_EDITOR_SYSTEM_PANEL_HOST_H_
2#define YAZE_APP_EDITOR_SYSTEM_PANEL_HOST_H_
13class WorkspaceWindowManager;
14struct WindowDescriptor;
56 const std::vector<WindowDefinition>& definitions);
57 bool RegisterPanels(
const std::vector<WindowDefinition>& definitions);
66 const std::vector<WindowDefinition>& definitions) {
74 const std::string& canonical_id);
76 const std::string& canonical_id) {
80 bool OpenWindow(
size_t session_id,
const std::string& window_id);
81 bool CloseWindow(
size_t session_id,
const std::string& window_id);
82 bool ToggleWindow(
size_t session_id,
const std::string& window_id);
83 bool IsWindowOpen(
size_t session_id,
const std::string& window_id)
const;
86 const std::string& window_id)
const;
90 const std::string& window_id)
const;
Thin host API over WorkspaceWindowManager for declarative window workflows.
bool OpenWindow(size_t session_id, const std::string &window_id)
static WindowDescriptor ToDescriptor(const WindowDefinition &definition)
std::string GetWorkspaceWindowName(size_t session_id, const std::string &window_id) const
bool IsWindowOpen(size_t session_id, const std::string &window_id) const
void RegisterPanelAlias(const std::string &legacy_id, const std::string &canonical_id)
std::string ResolveWindowId(const std::string &window_id) const
bool RegisterWindow(const WindowDefinition &definition)
bool RegisterWindow(size_t session_id, const WindowDefinition &definition)
bool OpenAndFocusWindow(size_t session_id, const std::string &window_id) const
bool RegisterPanels(size_t session_id, const std::vector< WindowDefinition > &definitions)
WindowHost(WorkspaceWindowManager *window_manager=nullptr)
WorkspaceWindowManager * window_manager_
void SetWindowManager(WorkspaceWindowManager *window_manager)
void RegisterWindowAlias(const std::string &legacy_id, const std::string &canonical_id)
bool RegisterWindows(size_t session_id, const std::vector< WindowDefinition > &definitions)
bool ToggleWindow(size_t session_id, const std::string &window_id)
bool RegisterWindows(const std::vector< WindowDefinition > &definitions)
bool CloseWindow(size_t session_id, const std::string &window_id)
bool RegisterPanel(size_t session_id, const WindowDefinition &definition)
WorkspaceWindowManager * window_manager() const
Central registry for all editor cards with session awareness and dependency injection.
WindowContextScope
Optional context binding for a window's behavior within an editor.
WindowLifecycle
Defines lifecycle behavior for editor windows.
@ EditorBound
Hidden when switching editors (default)
WindowScope
Defines whether a window is session-scoped or global.
Declarative registration contract for editor windows.
WindowContextScope context_scope
std::vector< std::string > legacy_ids
std::function< void()> on_show
std::function< void()> on_hide
WindowLifecycle window_lifecycle
std::string shortcut_hint
Metadata for a dockable editor window (formerly PanelInfo)