Dedicated view for editing dungeon palette sets. More...
#include <paletteset_editor_view.h>


Public Member Functions | |
| 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. | |
| float | GetPreferredWidth () const override |
| Get preferred width for this panel (optional) | |
| void | Draw (bool *p_open) override |
| Draw the panel content. | |
| absl::Status | Update () |
| void | SetRom (Rom *rom) |
| Rom * | rom () const |
| void | SetGameData (zelda3::GameData *data) |
| zelda3::GameData * | game_data () const |
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 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 std::string | GetWorkflowGroup () const |
| Optional workflow group for hack-centric actions. | |
| virtual std::string | GetWorkflowLabel () const |
| Optional workflow label for menus/command palette. | |
| virtual std::string | GetWorkflowDescription () const |
| Optional workflow description for menus/command palette. | |
| virtual int | GetWorkflowPriority () const |
| Optional workflow ordering priority (lower sorts first). | |
| 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 Member Functions | |
| void | DrawPalettesetList () |
| void | DrawPalettesetEditor () |
| void | DrawPalettePreview (gfx::SnesPalette &palette, const char *label) |
| void | DrawPaletteGrid (gfx::SnesPalette &palette, bool editable=false) |
Private Attributes | |
| uint8_t | selected_paletteset_ = 0 |
| bool | show_all_colors_ = false |
| Rom * | rom_ = nullptr |
| zelda3::GameData * | game_data_ = nullptr |
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) | |
Dedicated view for editing dungeon palette sets.
A paletteset defines which palettes are used together in a dungeon room:
This view allows inspecting and editing these associations, providing a better UX than the combined GfxGroupEditor tab.
Definition at line 27 of file paletteset_editor_view.h.
|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::WindowContent.
Definition at line 29 of file paletteset_editor_view.h.
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::WindowContent.
Definition at line 30 of file paletteset_editor_view.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::WindowContent.
Definition at line 31 of file paletteset_editor_view.h.
References ICON_MD_COLOR_LENS.
|
inlineoverridevirtual |
Editor category this panel belongs to.
Implements yaze::editor::WindowContent.
Definition at line 32 of file paletteset_editor_view.h.
|
inlineoverridevirtual |
Get display priority for menu ordering.
Reimplemented from yaze::editor::WindowContent.
Definition at line 33 of file paletteset_editor_view.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 34 of file paletteset_editor_view.h.
|
overridevirtual |
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 37 of file paletteset_editor_view.cc.
References Update().

| absl::Status yaze::editor::PalettesetEditorView::Update | ( | ) |
Definition at line 41 of file paletteset_editor_view.cc.
References DrawPalettesetEditor(), DrawPalettesetList(), game_data(), ICON_MD_PALETTE, rom(), and show_all_colors_.
Referenced by Draw().

|
inline |
|
inline |
Definition at line 39 of file paletteset_editor_view.h.
References rom_.
Referenced by DrawPalettesetEditor(), SetRom(), and Update().
|
inline |
Definition at line 40 of file paletteset_editor_view.h.
References game_data_.
|
inline |
Definition at line 41 of file paletteset_editor_view.h.
References game_data_.
Referenced by DrawPalettesetEditor(), and Update().
|
private |
Definition at line 76 of file paletteset_editor_view.cc.
References selected_paletteset_.
Referenced by Update().
|
private |
Definition at line 102 of file paletteset_editor_view.cc.
References DrawPalettePreview(), yaze::gfx::PaletteGroupMap::dungeon_main, game_data(), ICON_MD_LANDSCAPE, ICON_MD_PERSON, ICON_MD_PETS, ICON_MD_SMART_TOY, yaze::gui::InputHexByte(), yaze::gfx::PaletteGroup::mutable_palette(), yaze::zelda3::GameData::palette_groups, yaze::zelda3::GameData::paletteset_ids, yaze::Rom::resource_label(), rom(), yaze::project::ResourceLabelManager::SelectableLabelWithNameEdit(), selected_paletteset_, yaze::gfx::PaletteGroupMap::sprites_aux1, yaze::gfx::PaletteGroupMap::sprites_aux2, and yaze::gfx::PaletteGroupMap::sprites_aux3.
Referenced by Update().
|
private |
Definition at line 174 of file paletteset_editor_view.cc.
References DrawPaletteGrid().
Referenced by DrawPalettesetEditor().

|
private |
Definition at line 181 of file paletteset_editor_view.cc.
References yaze::gfx::SnesPalette::empty(), show_all_colors_, yaze::gfx::SnesPalette::size(), and yaze::gui::SnesColorButton().
Referenced by DrawPalettePreview().

|
private |
Definition at line 49 of file paletteset_editor_view.h.
Referenced by DrawPalettesetEditor(), and DrawPalettesetList().
|
private |
Definition at line 50 of file paletteset_editor_view.h.
Referenced by DrawPaletteGrid(), and Update().
|
private |
Definition at line 52 of file paletteset_editor_view.h.
|
private |
Definition at line 53 of file paletteset_editor_view.h.
Referenced by game_data(), and SetGameData().