1#ifndef YAZE_APP_EDITOR_SYSTEM_PANEL_HOST_H_
2#define YAZE_APP_EDITOR_SYSTEM_PANEL_HOST_H_
14struct PanelDescriptor;
56 const std::vector<PanelDefinition>& definitions);
57 bool RegisterPanels(
const std::vector<PanelDefinition>& definitions);
60 const std::string& canonical_id);
62 bool ShowPanel(
size_t session_id,
const std::string& panel_id);
63 bool HidePanel(
size_t session_id,
const std::string& panel_id);
64 bool TogglePanel(
size_t session_id,
const std::string& panel_id);
65 bool IsPanelVisible(
size_t session_id,
const std::string& panel_id)
const;
67 bool OpenAndFocus(
size_t session_id,
const std::string& panel_id)
const;
71 const std::string& panel_id)
const;
Thin host API over PanelManager for declarative panel workflows.
bool ShowPanel(size_t session_id, const std::string &panel_id)
static PanelDescriptor ToDescriptor(const PanelDefinition &definition)
bool IsPanelVisible(size_t session_id, const std::string &panel_id) const
bool OpenAndFocus(size_t session_id, const std::string &panel_id) const
std::string ResolvePanelId(const std::string &panel_id) const
std::string GetPanelWindowName(size_t session_id, const std::string &panel_id) const
PanelManager * panel_manager_
PanelHost(PanelManager *panel_manager=nullptr)
void SetPanelManager(PanelManager *panel_manager)
bool RegisterPanel(size_t session_id, const PanelDefinition &definition)
PanelManager * panel_manager() const
bool RegisterPanels(size_t session_id, const std::vector< PanelDefinition > &definitions)
bool TogglePanel(size_t session_id, const std::string &panel_id)
void RegisterPanelAlias(const std::string &legacy_id, const std::string &canonical_id)
bool HidePanel(size_t session_id, const std::string &panel_id)
Central registry for all editor cards with session awareness and dependency injection.
PanelCategory
Defines lifecycle behavior for editor panels.
@ EditorBound
Hidden when switching editors (default)
PanelScope
Defines whether a panel is session-scoped or global.
PanelContextScope
Optional context binding for a panel's behavior within an editor.
Declarative registration contract for editor panels.
std::string shortcut_hint
std::vector< std::string > legacy_ids
PanelContextScope context_scope
std::function< void()> on_hide
PanelCategory panel_category
std::function< void()> on_show
Metadata for an editor panel (formerly PanelInfo)