EditorPanel for the Menu Tilemap (2bpp) Editor. More...
#include <screen_editor_panels.h>


Public Types | |
| using | DrawCallback = std::function<void()> |
| using | EnabledCallback = std::function<bool()> |
Public Member Functions | |
| MenuTilemapPanel (DrawCallback draw_callback, EnabledCallback enabled_callback) | |
| 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. | |
| WindowPresentationPolicy | GetPresentationPolicy () const override |
| How this content is hosted and advertised by workspace chrome. | |
| std::string | GetWorkflowGroup () const override |
| Optional workflow group for hack-centric actions. | |
| std::string | GetWorkflowLabel () const override |
| Optional workflow label for menus/command palette. | |
| std::string | GetWorkflowDescription () const override |
| Optional workflow description for menus/command palette. | |
| std::string | GetShortcutHint () const override |
| Get keyboard shortcut hint for display. | |
| float | GetPreferredWidth () const override |
| Get preferred width for this panel (optional) | |
| float | GetPreferredHeight () const override |
| Get preferred height for this panel (optional) | |
| bool | IsEnabled () const override |
| Check if this panel is currently enabled. | |
| std::string | GetDisabledTooltip () const override |
| Get tooltip text when panel is disabled. | |
| void | Draw (bool *p_open) override |
| Draw the panel content. | |
Public Member Functions inherited from yaze::editor::WindowContent | |
| virtual | ~WindowContent ()=default |
| virtual void | OnFirstDraw () |
| Called once before the first Draw() in a session. | |
| virtual bool | RequiresLazyInit () const |
| Whether this panel uses lazy initialization. | |
| void | InvalidateLazyInit () |
| Reset lazy init state so OnFirstDraw() runs again. | |
| 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 WindowLifecycle | GetWindowLifecycle () const |
| Get the lifecycle category for this window. | |
| virtual WindowContextScope | GetContextScope () const |
| Optional context binding for this window (room/selection/etc) | |
| virtual WindowScope | GetScope () const |
| Get the registration scope for this window. | |
| virtual int | GetWorkflowPriority () const |
| Optional workflow ordering priority (lower sorts first). | |
| virtual bool | HasExactPreferredWidth () const |
| Whether GetPreferredWidth() is an exact content width. | |
| virtual bool | PrefersFloating () const |
| virtual bool | PreferAutoHideTabBar () const |
| Whether the dock node hosting this panel should auto-hide its tab bar. | |
| 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. | |
| void | DrawWithLazyInit (bool *p_open) |
| Execute lazy initialization if needed, then call Draw() | |
Private Attributes | |
| DrawCallback | draw_callback_ |
| EnabledCallback | enabled_callback_ |
Additional Inherited Members | |
Protected Member Functions inherited from yaze::editor::WindowContent | |
| void | InvalidateCache () |
| Invalidate all cached computations. | |
| template<typename T > | |
| T & | GetCached (const std::string &key, std::function< T()> compute) |
| Get or compute a cached value. | |
| bool | IsCacheValid () const |
| Check if cache has been invalidated. | |
| void | ClearCache () |
| Clear all cached values (more aggressive than InvalidateCache) | |
EditorPanel for the Menu Tilemap (2bpp) Editor.
Definition at line 78 of file screen_editor_panels.h.
| using yaze::editor::MenuTilemapPanel::DrawCallback = std::function<void()> |
Definition at line 80 of file screen_editor_panels.h.
| using yaze::editor::MenuTilemapPanel::EnabledCallback = std::function<bool()> |
Definition at line 81 of file screen_editor_panels.h.
|
inline |
Definition at line 83 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::WindowContent.
Definition at line 87 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::WindowContent.
Definition at line 88 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::WindowContent.
Definition at line 89 of file screen_editor_panels.h.
References ICON_MD_GRID_ON.
|
inlineoverridevirtual |
Editor category this panel belongs to.
Implements yaze::editor::WindowContent.
Definition at line 90 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Get display priority for menu ordering.
Reimplemented from yaze::editor::WindowContent.
Definition at line 91 of file screen_editor_panels.h.
|
inlineoverridevirtual |
How this content is hosted and advertised by workspace chrome.
Every panel must override this and return one of the named policies (CoreWorkspace, EmbeddedTool, OptionalPopOut, Diagnostic). The base implementation returns an undeclared policy that keeps the historical listed pop-out behavior, but the panel admission audit (test/unit/editor/panel_admission_test.cc) fails until the panel chooses. See docs/internal/architecture/editor-ui-module-pattern.md, "Panel admission".
Reimplemented from yaze::editor::WindowContent.
Definition at line 99 of file screen_editor_panels.h.
References yaze::editor::WindowPresentationPolicy::EmbeddedTool(), and yaze::editor::WindowPresentationPolicy::WithHost().

|
inlineoverridevirtual |
Optional workflow group for hack-centric actions.
Reimplemented from yaze::editor::WindowContent.
Definition at line 108 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Optional workflow label for menus/command palette.
Reimplemented from yaze::editor::WindowContent.
Definition at line 109 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Optional workflow description for menus/command palette.
Reimplemented from yaze::editor::WindowContent.
Definition at line 112 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Get keyboard shortcut hint for display.
Reimplemented from yaze::editor::WindowContent.
Definition at line 118 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Get preferred width for this panel (optional)
Override this to specify content-based sizing. For example, a tile selector with 8 tiles at 16px × 2.0 scale would return ~276px.
Reimplemented from yaze::editor::WindowContent.
Definition at line 123 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Get preferred height for this panel (optional)
Override this with GetPreferredWidth() for panels whose first-use window must be large enough to keep their primary controls visible.
Reimplemented from yaze::editor::WindowContent.
Definition at line 124 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Check if this panel is currently enabled.
Disabled panels appear grayed out in menus. Override to implement conditional availability (e.g., requires ROM loaded).
Reimplemented from yaze::editor::WindowContent.
Definition at line 126 of file screen_editor_panels.h.
References enabled_callback_.
|
inlineoverridevirtual |
Get tooltip text when panel is disabled.
Reimplemented from yaze::editor::WindowContent.
Definition at line 129 of file screen_editor_panels.h.
|
inlineoverridevirtual |
Draw the panel content.
| p_open | Pointer to visibility flag (nullptr if not closable) |
Called by WorkspaceWindowManager when the panel is visible. Do NOT call ImGui::Begin/End - the PanelWindow wrapper handles that. Just draw your content directly.
Implements yaze::editor::WindowContent.
Definition at line 131 of file screen_editor_panels.h.
References draw_callback_.
|
private |
Definition at line 138 of file screen_editor_panels.h.
Referenced by Draw().
|
private |
Definition at line 139 of file screen_editor_panels.h.
Referenced by IsEnabled().