1#ifndef YAZE_APP_EDITOR_SYSTEM_EDITOR_PANEL_H_
2#define YAZE_APP_EDITOR_SYSTEM_EDITOR_PANEL_H_
76 virtual std::string
GetId()
const = 0;
108 virtual void Draw(
bool* p_open) = 0;
Base interface for all logical panel components.
virtual void OnClose()
Called when panel is hidden.
virtual std::string GetId() const =0
Unique identifier for this panel.
virtual bool CascadeCloseChildren() const
Whether closing this panel should close child panels.
virtual bool IsVisibleByDefault() const
Whether this panel should be visible by default.
virtual std::string GetIcon() const =0
Material Design icon for this panel.
virtual ~EditorPanel()=default
virtual float GetPreferredWidth() const
Get preferred width for this panel (optional)
virtual void OnFocus()
Called when panel receives focus.
virtual std::string GetDisabledTooltip() const
Get tooltip text when panel is disabled.
virtual int GetPriority() const
Get display priority for menu ordering.
virtual std::string GetShortcutHint() const
Get keyboard shortcut hint for display.
virtual std::string GetDisplayName() const =0
Human-readable name shown in menus and title bars.
virtual std::string GetParentPanelId() const
Get parent panel ID for cascade behavior.
virtual PanelCategory GetPanelCategory() const
Get the lifecycle category for this panel.
virtual void Draw(bool *p_open)=0
Draw the panel content.
virtual std::string GetEditorCategory() const =0
Editor category this panel belongs to.
virtual bool IsEnabled() const
Check if this panel is currently enabled.
virtual void OnOpen()
Called when panel becomes visible.
PanelCategory
Defines lifecycle behavior for editor panels.
@ Persistent
Always visible once shown.
@ EditorBound
Hidden when switching editors (default)
@ CrossEditor
User can pin to persist across editors.