EditorPanel wrapper for the piano roll view. More...
#include <music_piano_roll_panel.h>


Public Member Functions | |
| MusicPianoRollPanel (zelda3::music::MusicBank *music_bank, int *current_song_index, int *current_segment_index, int *current_channel_index, music::PianoRollView *piano_roll_view, music::MusicPlayer *music_player) | |
| 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 | SetOnEditCallback (std::function< void()> callback) |
| void | Draw (bool *p_open) override |
| Draw the panel content. | |
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 |
| int * | current_segment_index_ = nullptr |
| int * | current_channel_index_ = nullptr |
| music::PianoRollView * | piano_roll_view_ = nullptr |
| music::MusicPlayer * | music_player_ = nullptr |
| std::function< void()> | on_edit_ |
EditorPanel wrapper for the piano roll view.
Delegates to PianoRollView for the actual UI drawing.
Definition at line 22 of file music_piano_roll_panel.h.
|
inline |
Definition at line 24 of file music_piano_roll_panel.h.
|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::EditorPanel.
Definition at line 40 of file music_piano_roll_panel.h.
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::EditorPanel.
Definition at line 41 of file music_piano_roll_panel.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::EditorPanel.
Definition at line 42 of file music_piano_roll_panel.h.
References ICON_MD_PIANO.
|
inlineoverridevirtual |
Editor category this panel belongs to.
Implements yaze::editor::EditorPanel.
Definition at line 43 of file music_piano_roll_panel.h.
|
inlineoverridevirtual |
Get display priority for menu ordering.
Reimplemented from yaze::editor::EditorPanel.
Definition at line 44 of file music_piano_roll_panel.h.
|
inline |
Definition at line 50 of file music_piano_roll_panel.h.
References on_edit_, piano_roll_view_, and yaze::editor::music::PianoRollView::SetOnEditCallback().

|
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 59 of file music_piano_roll_panel.h.
References current_channel_index_, current_segment_index_, current_song_index_, yaze::editor::music::PianoRollView::Draw(), yaze::editor::music::PianoRollView::GetActiveChannel(), yaze::editor::music::PianoRollView::GetActiveSegment(), yaze::zelda3::music::MusicBank::GetSong(), yaze::editor::music::MusicPlayer::GetState(), music_bank_, music_player_, piano_roll_view_, yaze::editor::music::MusicPlayer::PreviewNote(), yaze::editor::music::MusicPlayer::PreviewSegment(), yaze::editor::music::PianoRollView::SetActiveChannel(), yaze::editor::music::PianoRollView::SetActiveSegment(), yaze::editor::music::PianoRollView::SetOnNotePreview(), yaze::editor::music::PianoRollView::SetOnSegmentPreview(), and yaze::editor::music::PianoRollView::SetPlaybackState().
|
private |
Definition at line 106 of file music_piano_roll_panel.h.
Referenced by Draw().
|
private |
Definition at line 107 of file music_piano_roll_panel.h.
Referenced by Draw().
|
private |
Definition at line 108 of file music_piano_roll_panel.h.
Referenced by Draw().
|
private |
Definition at line 109 of file music_piano_roll_panel.h.
Referenced by Draw().
|
private |
Definition at line 110 of file music_piano_roll_panel.h.
Referenced by Draw(), and SetOnEditCallback().
|
private |
Definition at line 111 of file music_piano_roll_panel.h.
Referenced by Draw().
|
private |
Definition at line 112 of file music_piano_roll_panel.h.
Referenced by SetOnEditCallback().