EditorPanel wrapper for the music song browser. More...
#include <music_song_browser_panel.h>


Public Member Functions | |
| MusicSongBrowserPanel (zelda3::music::MusicBank *music_bank, int *current_song_index, music::SongBrowserView *song_browser_view) | |
| std::string | GetId () const override |
| Unique identifier for this panel. | |
| std::string | GetDisplayName () const override |
| Human-readable name shown in menus and title bars. | |
| std::string | GetIcon () const override |
| Material Design icon for this panel. | |
| std::string | GetEditorCategory () const override |
| Editor category this panel belongs to. | |
| int | GetPriority () const override |
| Get display priority for menu ordering. | |
| void | Draw (bool *p_open) override |
| Draw the panel content. | |
| void | SetOnSongSelected (std::function< void(int)> callback) |
| void | SetOnOpenTracker (std::function< void(int)> callback) |
| void | SetOnOpenPianoRoll (std::function< void(int)> callback) |
| void | SetOnExportAsm (std::function< void(int)> callback) |
| void | SetOnImportAsm (std::function< void(int)> callback) |
| void | SetOnEdit (std::function< void()> callback) |
Public Member Functions inherited from yaze::editor::EditorPanel | |
| virtual | ~EditorPanel ()=default |
| 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 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. | |
Private Attributes | |
| zelda3::music::MusicBank * | music_bank_ = nullptr |
| int * | current_song_index_ = nullptr |
| music::SongBrowserView * | song_browser_view_ = nullptr |
EditorPanel wrapper for the music song browser.
Delegates to SongBrowserView for the actual UI drawing.
Definition at line 21 of file music_song_browser_panel.h.
|
inline |
Definition at line 23 of file music_song_browser_panel.h.
|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::EditorPanel.
Definition at line 34 of file music_song_browser_panel.h.
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::EditorPanel.
Definition at line 35 of file music_song_browser_panel.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::EditorPanel.
Definition at line 36 of file music_song_browser_panel.h.
References ICON_MD_LIBRARY_MUSIC.
|
inlineoverridevirtual |
Editor category this panel belongs to.
Implements yaze::editor::EditorPanel.
Definition at line 37 of file music_song_browser_panel.h.
|
inlineoverridevirtual |
Get display priority for menu ordering.
Reimplemented from yaze::editor::EditorPanel.
Definition at line 38 of file music_song_browser_panel.h.
|
inlineoverridevirtual |
Draw the panel content.
| p_open | Pointer 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.
Implements yaze::editor::EditorPanel.
Definition at line 44 of file music_song_browser_panel.h.
References current_song_index_, yaze::editor::music::SongBrowserView::Draw(), yaze::editor::music::SongBrowserView::GetSelectedSongIndex(), music_bank_, yaze::editor::music::SongBrowserView::SetSelectedSongIndex(), and song_browser_view_.

|
inline |
Definition at line 63 of file music_song_browser_panel.h.
References yaze::editor::music::SongBrowserView::SetOnSongSelected(), and song_browser_view_.

|
inline |
Definition at line 67 of file music_song_browser_panel.h.
References yaze::editor::music::SongBrowserView::SetOnOpenTracker(), and song_browser_view_.

|
inline |
Definition at line 71 of file music_song_browser_panel.h.
References yaze::editor::music::SongBrowserView::SetOnOpenPianoRoll(), and song_browser_view_.

|
inline |
Definition at line 75 of file music_song_browser_panel.h.
References yaze::editor::music::SongBrowserView::SetOnExportAsm(), and song_browser_view_.

|
inline |
Definition at line 79 of file music_song_browser_panel.h.
References yaze::editor::music::SongBrowserView::SetOnImportAsm(), and song_browser_view_.

|
inline |
Definition at line 83 of file music_song_browser_panel.h.
References yaze::editor::music::SongBrowserView::SetOnEdit(), and song_browser_view_.

|
private |
Definition at line 88 of file music_song_browser_panel.h.
Referenced by Draw().
|
private |
Definition at line 89 of file music_song_browser_panel.h.
Referenced by Draw().
|
private |
Definition at line 90 of file music_song_browser_panel.h.
Referenced by Draw(), SetOnEdit(), SetOnExportAsm(), SetOnImportAsm(), SetOnOpenPianoRoll(), SetOnOpenTracker(), and SetOnSongSelected().