yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::EditorPanel Class Referenceabstract

Base interface for all logical panel components. More...

#include <editor_panel.h>

Inherited by yaze::editor::AgentBotProfilesPanel, yaze::editor::AgentBuilderPanel, yaze::editor::AgentChatHistoryPanel, yaze::editor::AgentChatPanel, yaze::editor::AgentConfigurationPanel, yaze::editor::AgentKnowledgeBasePanel, yaze::editor::AgentMetricsDashboardPanel, yaze::editor::AgentPromptEditorPanel, yaze::editor::AgentStatusPanel, yaze::editor::AreaGraphicsPanel, yaze::editor::AssemblyBuildOutputPanel, yaze::editor::AssemblyCodeEditorPanel, yaze::editor::AssemblyFileBrowserPanel, yaze::editor::AssemblySymbolsPanel, yaze::editor::AssemblyToolbarPanel, yaze::editor::CustomPalettePanel, yaze::editor::CustomSpriteEditorPanel, yaze::editor::DebugWindowPanel, yaze::editor::DictionaryPanel, yaze::editor::DungeonEmulatorPreviewPanel, yaze::editor::DungeonEntranceListPanel, yaze::editor::DungeonEntrancesPanel, yaze::editor::DungeonMapsPanel, yaze::editor::DungeonPaletteEditorPanel, yaze::editor::DungeonRoomGraphicsPanel, yaze::editor::DungeonRoomMatrixPanel, yaze::editor::DungeonRoomSelectorPanel, yaze::editor::FontAtlasPanel, yaze::editor::GfxGroupsPanel, yaze::editor::GraphicsGfxGroupPanel, yaze::editor::GraphicsLinkSpritePanel, yaze::editor::GraphicsPaletteControlsPanel, yaze::editor::GraphicsPalettesetPanel, yaze::editor::GraphicsPixelEditorPanel, yaze::editor::GraphicsPolyhedralPanel, yaze::editor::GraphicsPrototypeViewerPanel, yaze::editor::GraphicsSheetBrowserPanel, yaze::editor::InventoryMenuPanel, yaze::editor::ItemEditorPanel, yaze::editor::LinkSpritePanel, yaze::editor::MapPropertiesPanel, yaze::editor::MessageEditorPanel, yaze::editor::MessageListPanel, yaze::editor::MinecartTrackEditorPanel, yaze::editor::MusicAssemblyPanel, yaze::editor::MusicAudioDebugPanel, yaze::editor::MusicHelpPanel, yaze::editor::MusicInstrumentEditorPanel, yaze::editor::MusicPianoRollPanel, yaze::editor::MusicPlaybackControlPanel, yaze::editor::MusicSampleEditorPanel, yaze::editor::MusicSongBrowserPanel, yaze::editor::NamingScreenPanel, yaze::editor::ObjectEditorPanel, yaze::editor::OverworldCanvasPanel, yaze::editor::OverworldMapScreenPanel, yaze::editor::PaletteControlPanel, yaze::editor::PaletteControlsPanel, yaze::editor::PaletteGroupPanel, yaze::editor::PixelEditorPanel, yaze::editor::PolyhedralEditorPanel, yaze::editor::QuickAccessPalettePanel, yaze::editor::ResourcePanel, yaze::editor::ScratchSpacePanel, yaze::editor::SheetBrowserPanel, yaze::editor::SpriteEditorPanel, yaze::editor::Tile16EditorPanel, yaze::editor::Tile16SelectorPanel, yaze::editor::Tile8SelectorPanel, yaze::editor::TitleScreenPanel, yaze::editor::UsageStatisticsPanel, yaze::editor::V3SettingsPanel, and yaze::editor::VanillaSpriteEditorPanel.

Public Member Functions

virtual ~EditorPanel ()=default
 
virtual std::string GetId () const =0
 Unique identifier for this panel.
 
virtual std::string GetDisplayName () const =0
 Human-readable name shown in menus and title bars.
 
virtual std::string GetIcon () const =0
 Material Design icon for this panel.
 
virtual std::string GetEditorCategory () const =0
 Editor category this panel belongs to.
 
virtual void Draw (bool *p_open)=0
 Draw the panel content.
 
virtual void OnOpen ()
 Called when panel becomes visible.
 
virtual void OnClose ()
 Called when panel is hidden.
 
virtual void OnFocus ()
 Called when panel receives focus.
 
virtual PanelCategory GetPanelCategory () const
 Get the lifecycle category for this panel.
 
virtual bool IsEnabled () const
 Check if this panel is currently enabled.
 
virtual std::string GetDisabledTooltip () const
 Get tooltip text when panel is disabled.
 
virtual std::string GetShortcutHint () const
 Get keyboard shortcut hint for display.
 
virtual int GetPriority () const
 Get display priority for menu ordering.
 
virtual float GetPreferredWidth () const
 Get preferred width for this panel (optional)
 
virtual bool IsVisibleByDefault () const
 Whether this panel should be visible by default.
 
virtual std::string GetParentPanelId () const
 Get parent panel ID for cascade behavior.
 
virtual bool CascadeCloseChildren () const
 Whether closing this panel should close child panels.
 

Detailed Description

Base interface for all logical panel components.

EditorPanel represents a logical UI component that draws content within a panel window. This is distinct from PanelWindow (the ImGui wrapper that draws the window chrome/title bar).

The separation allows:

  • PanelManager to handle window creation/visibility centrally
  • Panel components to focus purely on content drawing
  • Consistent window behavior across all editors

Example

public:
std::string GetId() const override { return "overworld.usage_stats"; }
std::string GetDisplayName() const override { return "Usage Statistics"; }
std::string GetIcon() const override { return ICON_MD_ANALYTICS; }
std::string GetEditorCategory() const override { return "Overworld"; }
void Draw(bool* p_open) override {
// Draw your content here - no ImGui::Begin/End needed
// PanelManager handles the window wrapper
DrawUsageGrid();
DrawUsageStates();
}
};
Base interface for all logical panel components.
Displays tile usage statistics across all overworld maps.
#define ICON_MD_ANALYTICS
Definition icons.h:154
See also
PanelWindow - The ImGui window wrapper (draws chrome)
PanelManager - Central registry that manages panel lifecycle
PanelDescriptor - Metadata struct for panel registration

Definition at line 59 of file editor_panel.h.

Constructor & Destructor Documentation

◆ ~EditorPanel()

virtual yaze::editor::EditorPanel::~EditorPanel ( )
virtualdefault

Member Function Documentation

◆ GetId()

virtual std::string yaze::editor::EditorPanel::GetId ( ) const
pure virtual

Unique identifier for this panel.

Returns
Panel ID in format "{category}.{name}" (e.g., "dungeon.room_selector")

IDs should be:

  • Lowercase with underscores
  • Prefixed with editor category
  • Unique across all panels

Implemented in yaze::editor::AgentConfigurationPanel, yaze::editor::AgentStatusPanel, yaze::editor::AgentPromptEditorPanel, yaze::editor::AgentBotProfilesPanel, yaze::editor::AgentChatHistoryPanel, yaze::editor::AgentMetricsDashboardPanel, yaze::editor::AgentBuilderPanel, yaze::editor::AgentKnowledgeBasePanel, yaze::editor::AgentChatPanel, yaze::editor::AssemblyCodeEditorPanel, yaze::editor::AssemblyFileBrowserPanel, yaze::editor::AssemblySymbolsPanel, yaze::editor::AssemblyBuildOutputPanel, yaze::editor::AssemblyToolbarPanel, yaze::editor::DungeonEmulatorPreviewPanel, yaze::editor::DungeonEntranceListPanel, yaze::editor::DungeonEntrancesPanel, yaze::editor::DungeonPaletteEditorPanel, yaze::editor::DungeonRoomGraphicsPanel, yaze::editor::DungeonRoomMatrixPanel, yaze::editor::DungeonRoomSelectorPanel, yaze::editor::ItemEditorPanel, yaze::editor::MinecartTrackEditorPanel, yaze::editor::ObjectEditorPanel, yaze::editor::SpriteEditorPanel, yaze::editor::LinkSpritePanel, yaze::editor::PaletteControlsPanel, yaze::editor::GraphicsSheetBrowserPanel, yaze::editor::GraphicsPixelEditorPanel, yaze::editor::GraphicsPaletteControlsPanel, yaze::editor::GraphicsLinkSpritePanel, yaze::editor::GraphicsPolyhedralPanel, yaze::editor::GraphicsGfxGroupPanel, yaze::editor::GraphicsPrototypeViewerPanel, yaze::editor::GraphicsPalettesetPanel, yaze::editor::DungeonMapsPanel, yaze::editor::InventoryMenuPanel, yaze::editor::OverworldMapScreenPanel, yaze::editor::TitleScreenPanel, yaze::editor::NamingScreenPanel, yaze::editor::PixelEditorPanel, yaze::editor::PolyhedralEditorPanel, yaze::editor::SheetBrowserPanel, yaze::editor::MessageListPanel, yaze::editor::MessageEditorPanel, yaze::editor::FontAtlasPanel, yaze::editor::DictionaryPanel, yaze::editor::MusicAssemblyPanel, yaze::editor::MusicAudioDebugPanel, yaze::editor::MusicHelpPanel, yaze::editor::MusicInstrumentEditorPanel, yaze::editor::MusicPianoRollPanel, yaze::editor::MusicPlaybackControlPanel, yaze::editor::MusicSampleEditorPanel, yaze::editor::MusicSongBrowserPanel, yaze::editor::AreaGraphicsPanel, yaze::editor::DebugWindowPanel, yaze::editor::GfxGroupsPanel, yaze::editor::MapPropertiesPanel, yaze::editor::OverworldCanvasPanel, yaze::editor::ScratchSpacePanel, yaze::editor::Tile16EditorPanel, yaze::editor::Tile16SelectorPanel, yaze::editor::Tile8SelectorPanel, yaze::editor::UsageStatisticsPanel, yaze::editor::V3SettingsPanel, yaze::editor::PaletteControlPanel, yaze::editor::QuickAccessPalettePanel, yaze::editor::CustomPalettePanel, yaze::editor::PaletteGroupPanel, yaze::editor::VanillaSpriteEditorPanel, yaze::editor::CustomSpriteEditorPanel, and yaze::editor::ResourcePanel.

◆ GetDisplayName()

virtual std::string yaze::editor::EditorPanel::GetDisplayName ( ) const
pure virtual

Human-readable name shown in menus and title bars.

Returns
Display name (e.g., "Room Selector")

Implemented in yaze::editor::AgentConfigurationPanel, yaze::editor::AgentStatusPanel, yaze::editor::AgentPromptEditorPanel, yaze::editor::AgentBotProfilesPanel, yaze::editor::AgentChatHistoryPanel, yaze::editor::AgentMetricsDashboardPanel, yaze::editor::AgentBuilderPanel, yaze::editor::AgentKnowledgeBasePanel, yaze::editor::AgentChatPanel, yaze::editor::AssemblyCodeEditorPanel, yaze::editor::AssemblyFileBrowserPanel, yaze::editor::AssemblySymbolsPanel, yaze::editor::AssemblyBuildOutputPanel, yaze::editor::AssemblyToolbarPanel, yaze::editor::DungeonEmulatorPreviewPanel, yaze::editor::DungeonEntranceListPanel, yaze::editor::DungeonEntrancesPanel, yaze::editor::DungeonPaletteEditorPanel, yaze::editor::DungeonRoomGraphicsPanel, yaze::editor::DungeonRoomMatrixPanel, yaze::editor::DungeonRoomSelectorPanel, yaze::editor::ItemEditorPanel, yaze::editor::MinecartTrackEditorPanel, yaze::editor::ObjectEditorPanel, yaze::editor::SpriteEditorPanel, yaze::editor::LinkSpritePanel, yaze::editor::PaletteControlsPanel, yaze::editor::GraphicsSheetBrowserPanel, yaze::editor::GraphicsPixelEditorPanel, yaze::editor::GraphicsPaletteControlsPanel, yaze::editor::GraphicsLinkSpritePanel, yaze::editor::GraphicsPolyhedralPanel, yaze::editor::GraphicsGfxGroupPanel, yaze::editor::GraphicsPrototypeViewerPanel, yaze::editor::GraphicsPalettesetPanel, yaze::editor::DungeonMapsPanel, yaze::editor::InventoryMenuPanel, yaze::editor::OverworldMapScreenPanel, yaze::editor::TitleScreenPanel, yaze::editor::NamingScreenPanel, yaze::editor::PixelEditorPanel, yaze::editor::PolyhedralEditorPanel, yaze::editor::SheetBrowserPanel, yaze::editor::MessageListPanel, yaze::editor::MessageEditorPanel, yaze::editor::FontAtlasPanel, yaze::editor::DictionaryPanel, yaze::editor::MusicAssemblyPanel, yaze::editor::MusicAudioDebugPanel, yaze::editor::MusicHelpPanel, yaze::editor::MusicInstrumentEditorPanel, yaze::editor::MusicPianoRollPanel, yaze::editor::MusicPlaybackControlPanel, yaze::editor::MusicSampleEditorPanel, yaze::editor::MusicSongBrowserPanel, yaze::editor::AreaGraphicsPanel, yaze::editor::DebugWindowPanel, yaze::editor::GfxGroupsPanel, yaze::editor::MapPropertiesPanel, yaze::editor::OverworldCanvasPanel, yaze::editor::ScratchSpacePanel, yaze::editor::Tile16EditorPanel, yaze::editor::Tile16SelectorPanel, yaze::editor::Tile8SelectorPanel, yaze::editor::UsageStatisticsPanel, yaze::editor::V3SettingsPanel, yaze::editor::PaletteControlPanel, yaze::editor::QuickAccessPalettePanel, yaze::editor::CustomPalettePanel, yaze::editor::PaletteGroupPanel, yaze::editor::VanillaSpriteEditorPanel, yaze::editor::CustomSpriteEditorPanel, and yaze::editor::ResourcePanel.

◆ GetIcon()

virtual std::string yaze::editor::EditorPanel::GetIcon ( ) const
pure virtual

Material Design icon for this panel.

Returns
Icon constant (e.g., ICON_MD_LIST)

Implemented in yaze::editor::AgentConfigurationPanel, yaze::editor::AgentStatusPanel, yaze::editor::AgentPromptEditorPanel, yaze::editor::AgentBotProfilesPanel, yaze::editor::AgentChatHistoryPanel, yaze::editor::AgentMetricsDashboardPanel, yaze::editor::AgentBuilderPanel, yaze::editor::AgentKnowledgeBasePanel, yaze::editor::AgentChatPanel, yaze::editor::AssemblyCodeEditorPanel, yaze::editor::AssemblyFileBrowserPanel, yaze::editor::AssemblySymbolsPanel, yaze::editor::AssemblyBuildOutputPanel, yaze::editor::AssemblyToolbarPanel, yaze::editor::DungeonEmulatorPreviewPanel, yaze::editor::DungeonEntranceListPanel, yaze::editor::DungeonEntrancesPanel, yaze::editor::DungeonPaletteEditorPanel, yaze::editor::DungeonRoomGraphicsPanel, yaze::editor::DungeonRoomMatrixPanel, yaze::editor::DungeonRoomPanel, yaze::editor::DungeonRoomSelectorPanel, yaze::editor::ItemEditorPanel, yaze::editor::MinecartTrackEditorPanel, yaze::editor::ObjectEditorPanel, yaze::editor::SpriteEditorPanel, yaze::editor::LinkSpritePanel, yaze::editor::PaletteControlsPanel, yaze::editor::GraphicsSheetBrowserPanel, yaze::editor::GraphicsPixelEditorPanel, yaze::editor::GraphicsPaletteControlsPanel, yaze::editor::GraphicsLinkSpritePanel, yaze::editor::GraphicsPolyhedralPanel, yaze::editor::GraphicsGfxGroupPanel, yaze::editor::GraphicsPrototypeViewerPanel, yaze::editor::GraphicsPalettesetPanel, yaze::editor::DungeonMapsPanel, yaze::editor::InventoryMenuPanel, yaze::editor::OverworldMapScreenPanel, yaze::editor::TitleScreenPanel, yaze::editor::NamingScreenPanel, yaze::editor::PixelEditorPanel, yaze::editor::PolyhedralEditorPanel, yaze::editor::SheetBrowserPanel, yaze::editor::MessageListPanel, yaze::editor::MessageEditorPanel, yaze::editor::FontAtlasPanel, yaze::editor::DictionaryPanel, yaze::editor::MusicAssemblyPanel, yaze::editor::MusicAudioDebugPanel, yaze::editor::MusicHelpPanel, yaze::editor::MusicInstrumentEditorPanel, yaze::editor::MusicPianoRollPanel, yaze::editor::MusicPlaybackControlPanel, yaze::editor::MusicSampleEditorPanel, yaze::editor::MusicSongBrowserPanel, yaze::editor::AreaGraphicsPanel, yaze::editor::DebugWindowPanel, yaze::editor::GfxGroupsPanel, yaze::editor::MapPropertiesPanel, yaze::editor::OverworldCanvasPanel, yaze::editor::ScratchSpacePanel, yaze::editor::Tile16EditorPanel, yaze::editor::Tile16SelectorPanel, yaze::editor::Tile8SelectorPanel, yaze::editor::UsageStatisticsPanel, yaze::editor::V3SettingsPanel, yaze::editor::PaletteControlPanel, yaze::editor::QuickAccessPalettePanel, yaze::editor::CustomPalettePanel, yaze::editor::PaletteGroupPanel, yaze::editor::OverworldMainPalettePanel, yaze::editor::OverworldAnimatedPalettePanel, yaze::editor::DungeonMainPalettePanel, yaze::editor::SpritePalettePanel, yaze::editor::SpritesAux1PalettePanel, yaze::editor::SpritesAux2PalettePanel, yaze::editor::SpritesAux3PalettePanel, yaze::editor::EquipmentPalettePanel, yaze::editor::VanillaSpriteEditorPanel, and yaze::editor::CustomSpriteEditorPanel.

◆ GetEditorCategory()

virtual std::string yaze::editor::EditorPanel::GetEditorCategory ( ) const
pure virtual

Editor category this panel belongs to.

Returns
Category name matching EditorType (e.g., "Dungeon", "Overworld")

Implemented in yaze::editor::AgentConfigurationPanel, yaze::editor::AgentStatusPanel, yaze::editor::AgentPromptEditorPanel, yaze::editor::AgentBotProfilesPanel, yaze::editor::AgentChatHistoryPanel, yaze::editor::AgentMetricsDashboardPanel, yaze::editor::AgentBuilderPanel, yaze::editor::AgentKnowledgeBasePanel, yaze::editor::AgentChatPanel, yaze::editor::AssemblyCodeEditorPanel, yaze::editor::AssemblyFileBrowserPanel, yaze::editor::AssemblySymbolsPanel, yaze::editor::AssemblyBuildOutputPanel, yaze::editor::AssemblyToolbarPanel, yaze::editor::DungeonEmulatorPreviewPanel, yaze::editor::DungeonEntranceListPanel, yaze::editor::DungeonEntrancesPanel, yaze::editor::DungeonPaletteEditorPanel, yaze::editor::DungeonRoomGraphicsPanel, yaze::editor::DungeonRoomMatrixPanel, yaze::editor::DungeonRoomPanel, yaze::editor::DungeonRoomSelectorPanel, yaze::editor::ItemEditorPanel, yaze::editor::MinecartTrackEditorPanel, yaze::editor::ObjectEditorPanel, yaze::editor::SpriteEditorPanel, yaze::editor::LinkSpritePanel, yaze::editor::PaletteControlsPanel, yaze::editor::GraphicsSheetBrowserPanel, yaze::editor::GraphicsPixelEditorPanel, yaze::editor::GraphicsPaletteControlsPanel, yaze::editor::GraphicsLinkSpritePanel, yaze::editor::GraphicsPolyhedralPanel, yaze::editor::GraphicsGfxGroupPanel, yaze::editor::GraphicsPrototypeViewerPanel, yaze::editor::GraphicsPalettesetPanel, yaze::editor::DungeonMapsPanel, yaze::editor::InventoryMenuPanel, yaze::editor::OverworldMapScreenPanel, yaze::editor::TitleScreenPanel, yaze::editor::NamingScreenPanel, yaze::editor::PixelEditorPanel, yaze::editor::PolyhedralEditorPanel, yaze::editor::SheetBrowserPanel, yaze::editor::MessageListPanel, yaze::editor::MessageEditorPanel, yaze::editor::FontAtlasPanel, yaze::editor::DictionaryPanel, yaze::editor::MusicAssemblyPanel, yaze::editor::MusicAudioDebugPanel, yaze::editor::MusicHelpPanel, yaze::editor::MusicInstrumentEditorPanel, yaze::editor::MusicPianoRollPanel, yaze::editor::MusicPlaybackControlPanel, yaze::editor::MusicSampleEditorPanel, yaze::editor::MusicSongBrowserPanel, yaze::editor::AreaGraphicsPanel, yaze::editor::DebugWindowPanel, yaze::editor::GfxGroupsPanel, yaze::editor::MapPropertiesPanel, yaze::editor::OverworldCanvasPanel, yaze::editor::ScratchSpacePanel, yaze::editor::Tile16EditorPanel, yaze::editor::Tile16SelectorPanel, yaze::editor::Tile8SelectorPanel, yaze::editor::UsageStatisticsPanel, yaze::editor::V3SettingsPanel, yaze::editor::PaletteControlPanel, yaze::editor::QuickAccessPalettePanel, yaze::editor::CustomPalettePanel, yaze::editor::PaletteGroupPanel, yaze::editor::VanillaSpriteEditorPanel, and yaze::editor::CustomSpriteEditorPanel.

Referenced by yaze::editor::ResourcePanel::GetId().

◆ Draw()

virtual void yaze::editor::EditorPanel::Draw ( bool * p_open)
pure virtual

Draw the panel content.

Parameters
p_openPointer to visibility flag (nullptr if not closable)

Called by PanelManager when the panel is visible. Do NOT call ImGui::Begin/End - the PanelWindow wrapper handles that. Just draw your content directly.

Implemented in yaze::editor::AgentConfigurationPanel, yaze::editor::AgentStatusPanel, yaze::editor::AgentPromptEditorPanel, yaze::editor::AgentBotProfilesPanel, yaze::editor::AgentChatHistoryPanel, yaze::editor::AgentMetricsDashboardPanel, yaze::editor::AgentBuilderPanel, yaze::editor::AgentKnowledgeBasePanel, yaze::editor::AgentChatPanel, yaze::editor::AssemblyCodeEditorPanel, yaze::editor::AssemblyFileBrowserPanel, yaze::editor::AssemblySymbolsPanel, yaze::editor::AssemblyBuildOutputPanel, yaze::editor::AssemblyToolbarPanel, yaze::editor::DungeonEmulatorPreviewPanel, yaze::editor::DungeonEntranceListPanel, yaze::editor::DungeonEntrancesPanel, yaze::editor::DungeonPaletteEditorPanel, yaze::editor::DungeonRoomGraphicsPanel, yaze::editor::DungeonRoomMatrixPanel, yaze::editor::DungeonRoomPanel, yaze::editor::DungeonRoomSelectorPanel, yaze::editor::ItemEditorPanel, yaze::editor::MinecartTrackEditorPanel, yaze::editor::ObjectEditorPanel, yaze::editor::SpriteEditorPanel, yaze::editor::LinkSpritePanel, yaze::editor::PaletteControlsPanel, yaze::editor::GraphicsSheetBrowserPanel, yaze::editor::GraphicsPixelEditorPanel, yaze::editor::GraphicsPaletteControlsPanel, yaze::editor::GraphicsLinkSpritePanel, yaze::editor::GraphicsPolyhedralPanel, yaze::editor::GraphicsGfxGroupPanel, yaze::editor::GraphicsPrototypeViewerPanel, yaze::editor::GraphicsPalettesetPanel, yaze::editor::DungeonMapsPanel, yaze::editor::InventoryMenuPanel, yaze::editor::OverworldMapScreenPanel, yaze::editor::TitleScreenPanel, yaze::editor::NamingScreenPanel, yaze::editor::PixelEditorPanel, yaze::editor::PolyhedralEditorPanel, yaze::editor::SheetBrowserPanel, yaze::editor::MessageListPanel, yaze::editor::MessageEditorPanel, yaze::editor::FontAtlasPanel, yaze::editor::DictionaryPanel, yaze::editor::MusicAssemblyPanel, yaze::editor::MusicAudioDebugPanel, yaze::editor::MusicHelpPanel, yaze::editor::MusicInstrumentEditorPanel, yaze::editor::MusicPianoRollPanel, yaze::editor::MusicPlaybackControlPanel, yaze::editor::MusicSampleEditorPanel, yaze::editor::MusicSongBrowserPanel, yaze::editor::AreaGraphicsPanel, yaze::editor::DebugWindowPanel, yaze::editor::GfxGroupsPanel, yaze::editor::MapPropertiesPanel, yaze::editor::OverworldCanvasPanel, yaze::editor::ScratchSpacePanel, yaze::editor::Tile16EditorPanel, yaze::editor::Tile16SelectorPanel, yaze::editor::Tile8SelectorPanel, yaze::editor::UsageStatisticsPanel, yaze::editor::V3SettingsPanel, yaze::editor::PaletteControlPanel, yaze::editor::QuickAccessPalettePanel, yaze::editor::CustomPalettePanel, yaze::editor::PaletteGroupPanel, yaze::editor::VanillaSpriteEditorPanel, and yaze::editor::CustomSpriteEditorPanel.

◆ OnOpen()

virtual void yaze::editor::EditorPanel::OnOpen ( )
inlinevirtual

Called when panel becomes visible.

Use this to initialize state, load resources, or start animations. Called after the panel is shown but before first Draw().

Reimplemented in yaze::editor::ObjectEditorPanel.

Definition at line 120 of file editor_panel.h.

◆ OnClose()

virtual void yaze::editor::EditorPanel::OnClose ( )
inlinevirtual

Called when panel is hidden.

Use this to cleanup state, release resources, or save state. Called after the panel is hidden.

Reimplemented in yaze::editor::DungeonEmulatorPreviewPanel, and yaze::editor::ObjectEditorPanel.

Definition at line 128 of file editor_panel.h.

◆ OnFocus()

virtual void yaze::editor::EditorPanel::OnFocus ( )
inlinevirtual

Called when panel receives focus.

Use this to update state based on becoming the active panel.

Definition at line 135 of file editor_panel.h.

◆ GetPanelCategory()

virtual PanelCategory yaze::editor::EditorPanel::GetPanelCategory ( ) const
inlinevirtual

Get the lifecycle category for this panel.

Returns
PanelCategory determining visibility behavior on editor switch

Default is EditorBound (hidden when switching editors).

Reimplemented in yaze::editor::ResourcePanel.

Definition at line 147 of file editor_panel.h.

References yaze::editor::EditorBound.

◆ IsEnabled()

virtual bool yaze::editor::EditorPanel::IsEnabled ( ) const
inlinevirtual

Check if this panel is currently enabled.

Returns
true if panel can be shown, false if disabled

Disabled panels appear grayed out in menus. Override to implement conditional availability (e.g., requires ROM loaded).

Definition at line 158 of file editor_panel.h.

◆ GetDisabledTooltip()

virtual std::string yaze::editor::EditorPanel::GetDisabledTooltip ( ) const
inlinevirtual

Get tooltip text when panel is disabled.

Returns
Explanation of why panel is disabled (e.g., "Requires ROM to be loaded")

Definition at line 164 of file editor_panel.h.

◆ GetShortcutHint()

virtual std::string yaze::editor::EditorPanel::GetShortcutHint ( ) const
inlinevirtual

Get keyboard shortcut hint for display.

Returns
Shortcut string (e.g., "Ctrl+Shift+R")

Reimplemented in yaze::editor::OverworldCanvasPanel.

Definition at line 170 of file editor_panel.h.

◆ GetPriority()

virtual int yaze::editor::EditorPanel::GetPriority ( ) const
inlinevirtual

Get display priority for menu ordering.

Returns
Priority value (lower = higher in list, default 50)

Reimplemented in yaze::editor::AgentConfigurationPanel, yaze::editor::AgentStatusPanel, yaze::editor::AgentPromptEditorPanel, yaze::editor::AgentBotProfilesPanel, yaze::editor::AgentChatHistoryPanel, yaze::editor::AgentMetricsDashboardPanel, yaze::editor::AgentBuilderPanel, yaze::editor::AgentKnowledgeBasePanel, yaze::editor::AgentChatPanel, yaze::editor::AssemblyCodeEditorPanel, yaze::editor::AssemblyFileBrowserPanel, yaze::editor::AssemblySymbolsPanel, yaze::editor::AssemblyBuildOutputPanel, yaze::editor::AssemblyToolbarPanel, yaze::editor::DungeonEmulatorPreviewPanel, yaze::editor::DungeonEntranceListPanel, yaze::editor::DungeonEntrancesPanel, yaze::editor::DungeonPaletteEditorPanel, yaze::editor::DungeonRoomGraphicsPanel, yaze::editor::DungeonRoomMatrixPanel, yaze::editor::DungeonRoomPanel, yaze::editor::DungeonRoomSelectorPanel, yaze::editor::ItemEditorPanel, yaze::editor::ObjectEditorPanel, yaze::editor::SpriteEditorPanel, yaze::editor::LinkSpritePanel, yaze::editor::PaletteControlsPanel, yaze::editor::GraphicsSheetBrowserPanel, yaze::editor::GraphicsPixelEditorPanel, yaze::editor::GraphicsPaletteControlsPanel, yaze::editor::GraphicsLinkSpritePanel, yaze::editor::GraphicsPolyhedralPanel, yaze::editor::GraphicsGfxGroupPanel, yaze::editor::GraphicsPrototypeViewerPanel, yaze::editor::GraphicsPalettesetPanel, yaze::editor::DungeonMapsPanel, yaze::editor::InventoryMenuPanel, yaze::editor::OverworldMapScreenPanel, yaze::editor::TitleScreenPanel, yaze::editor::NamingScreenPanel, yaze::editor::PixelEditorPanel, yaze::editor::PolyhedralEditorPanel, yaze::editor::SheetBrowserPanel, yaze::editor::MessageListPanel, yaze::editor::MessageEditorPanel, yaze::editor::FontAtlasPanel, yaze::editor::DictionaryPanel, yaze::editor::MusicAssemblyPanel, yaze::editor::MusicAudioDebugPanel, yaze::editor::MusicHelpPanel, yaze::editor::MusicInstrumentEditorPanel, yaze::editor::MusicPianoRollPanel, yaze::editor::MusicPlaybackControlPanel, yaze::editor::MusicSampleEditorPanel, yaze::editor::MusicSongBrowserPanel, yaze::editor::OverworldCanvasPanel, yaze::editor::Tile16EditorPanel, yaze::editor::PaletteControlPanel, yaze::editor::QuickAccessPalettePanel, yaze::editor::CustomPalettePanel, yaze::editor::PaletteGroupPanel, yaze::editor::OverworldMainPalettePanel, yaze::editor::OverworldAnimatedPalettePanel, yaze::editor::DungeonMainPalettePanel, yaze::editor::SpritePalettePanel, yaze::editor::SpritesAux1PalettePanel, yaze::editor::SpritesAux2PalettePanel, yaze::editor::SpritesAux3PalettePanel, yaze::editor::EquipmentPalettePanel, yaze::editor::VanillaSpriteEditorPanel, and yaze::editor::CustomSpriteEditorPanel.

Definition at line 176 of file editor_panel.h.

◆ GetPreferredWidth()

◆ IsVisibleByDefault()

virtual bool yaze::editor::EditorPanel::IsVisibleByDefault ( ) const
inlinevirtual

Whether this panel should be visible by default.

Returns
true if panel should be visible when editor first opens

Override this to set panels as visible by default. Most panels default to hidden to reduce UI clutter.

Reimplemented in yaze::editor::AssemblyCodeEditorPanel, yaze::editor::AssemblyFileBrowserPanel, yaze::editor::AssemblyToolbarPanel, yaze::editor::GraphicsSheetBrowserPanel, yaze::editor::GraphicsPixelEditorPanel, yaze::editor::OverworldCanvasPanel, yaze::editor::Tile16SelectorPanel, and yaze::editor::VanillaSpriteEditorPanel.

Definition at line 194 of file editor_panel.h.

◆ GetParentPanelId()

virtual std::string yaze::editor::EditorPanel::GetParentPanelId ( ) const
inlinevirtual

Get parent panel ID for cascade behavior.

Returns
Parent panel ID, or empty string if no parent

If set, this panel may be automatically closed when parent closes (depending on parent's CascadeCloseChildren() setting).

Definition at line 207 of file editor_panel.h.

◆ CascadeCloseChildren()

virtual bool yaze::editor::EditorPanel::CascadeCloseChildren ( ) const
inlinevirtual

Whether closing this panel should close child panels.

Returns
true to cascade close to children, false to leave children open

Only affects panels that have this panel as their parent.

Definition at line 215 of file editor_panel.h.


The documentation for this class was generated from the following file: