yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
layout_presets.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_LAYOUT_LAYOUT_PRESETS_H_
2#define YAZE_APP_EDITOR_LAYOUT_LAYOUT_PRESETS_H_
3
4#include <string>
5#include <unordered_map>
6#include <vector>
7
8#include "app/editor/editor.h"
9
10namespace yaze {
11namespace editor {
12
17enum class DockPosition {
18 Center,
19 Left,
20 Right,
21 Bottom,
22 Top,
27};
28
34 std::string name;
35 std::string description;
37 std::vector<std::string> default_visible_panels;
38 std::vector<std::string> optional_panels; // Available but hidden by default
39 std::unordered_map<std::string, DockPosition> panel_positions;
40};
41
56 public:
63
68 static std::unordered_map<EditorType, PanelLayoutPreset> GetAllPresets();
69
75 static std::vector<std::string> GetDefaultPanels(EditorType type);
76
82 static std::vector<std::string> GetAllPanelsForEditor(EditorType type);
83
90 static bool IsDefaultPanel(EditorType type, const std::string& panel_id);
91
92 // ============================================================================
93 // Named Workspace Presets
94 // ============================================================================
95
100
105
110
115
120
125
130
135
140
145
150
155
156 // ============================================================================
157 // Panel ID Constants - synced with actual editor registrations
158 // ============================================================================
159 struct Panels {
160 // Overworld cards (overworld_editor.cc)
161 static constexpr const char* kOverworldCanvas = "overworld.canvas";
162 static constexpr const char* kOverworldTile16Editor = "overworld.tile16_editor";
163 static constexpr const char* kOverworldTile16Selector = "overworld.tile16_selector";
164 static constexpr const char* kOverworldTile8Selector = "overworld.tile8_selector";
165 static constexpr const char* kOverworldAreaGraphics = "overworld.area_graphics";
166 static constexpr const char* kOverworldScratch = "overworld.scratch";
167 static constexpr const char* kOverworldGfxGroups = "overworld.gfx_groups";
168 static constexpr const char* kOverworldUsageStats = "overworld.usage_stats";
169 static constexpr const char* kOverworldMapProperties = "overworld.properties";
170 static constexpr const char* kOverworldV3Settings = "overworld.v3_settings";
171
172 // Dungeon cards (dungeon_editor_v2.cc)
173 static constexpr const char* kDungeonWorkbench = "dungeon.workbench";
174 static constexpr const char* kDungeonRoomSelector = "dungeon.room_selector";
175 static constexpr const char* kDungeonRoomMatrix = "dungeon.room_matrix";
176 static constexpr const char* kDungeonEntranceList = "dungeon.entrance_list";
177 static constexpr const char* kDungeonEntrances =
178 "dungeon.entrance_properties";
179 static constexpr const char* kDungeonRoomGraphics = "dungeon.room_graphics";
180 static constexpr const char* kDungeonObjectEditor = "dungeon.object_editor";
181 static constexpr const char* kDungeonPaletteEditor = "dungeon.palette_editor";
182
183 // Graphics cards (graphics_editor.cc)
184 static constexpr const char* kGraphicsSheetEditor = "graphics.pixel_editor";
185 static constexpr const char* kGraphicsSheetBrowser = "graphics.sheet_browser_v2";
186 static constexpr const char* kGraphicsPlayerAnimations = "graphics.link_sprite_editor";
187 static constexpr const char* kGraphicsPaletteControls = "graphics.palette_controls";
188 static constexpr const char* kGraphicsGfxGroupEditor = "graphics.gfx_group_editor";
189 static constexpr const char* kGraphicsPalettesetEditor = "graphics.paletteset_editor";
190
191 // Palette cards (palette_editor.cc)
192 static constexpr const char* kPaletteControlPanel = "palette.control_panel";
193 static constexpr const char* kPaletteOwMain = "palette.ow_main";
194 static constexpr const char* kPaletteOwAnimated = "palette.ow_animated";
195 static constexpr const char* kPaletteDungeonMain = "palette.dungeon_main";
196 static constexpr const char* kPaletteSprites = "palette.sprites";
197 static constexpr const char* kPaletteSpritesAux1 = "palette.sprites_aux1";
198 static constexpr const char* kPaletteSpritesAux2 = "palette.sprites_aux2";
199 static constexpr const char* kPaletteSpritesAux3 = "palette.sprites_aux3";
200 static constexpr const char* kPaletteEquipment = "palette.equipment";
201 static constexpr const char* kPaletteQuickAccess = "palette.quick_access";
202 static constexpr const char* kPaletteCustom = "palette.custom";
203
204 // Sprite cards (sprite_editor.cc)
205 static constexpr const char* kSpriteVanillaEditor = "sprite.vanilla_editor";
206 static constexpr const char* kSpriteCustomEditor = "sprite.custom_editor";
207
208 // Screen cards (screen_editor.cc)
209 static constexpr const char* kScreenDungeonMaps = "screen.dungeon_maps";
210 static constexpr const char* kScreenInventoryMenu = "screen.inventory_menu";
211 static constexpr const char* kScreenOverworldMap = "screen.overworld_map";
212 static constexpr const char* kScreenTitleScreen = "screen.title_screen";
213 static constexpr const char* kScreenNamingScreen = "screen.naming_screen";
214
215 // Music cards (music_editor.cc)
216 static constexpr const char* kMusicSongBrowser = "music.song_browser";
217 static constexpr const char* kMusicPlaybackControl = "music.tracker"; // Playback control panel
218 static constexpr const char* kMusicPianoRoll = "music.piano_roll";
219 static constexpr const char* kMusicInstrumentEditor = "music.instrument_editor";
220 static constexpr const char* kMusicSampleEditor = "music.sample_editor";
221 static constexpr const char* kMusicAssembly = "music.assembly";
222
223 // Message cards (message_editor.cc)
224 static constexpr const char* kMessageList = "message.message_list";
225 static constexpr const char* kMessageEditor = "message.message_editor";
226 static constexpr const char* kMessageFontAtlas = "message.font_atlas";
227 static constexpr const char* kMessageDictionary = "message.dictionary";
228
229 // Assembly cards (assembly_editor.cc)
230 static constexpr const char* kAssemblyEditor = "assembly.editor";
231 static constexpr const char* kAssemblyFileBrowser = "assembly.file_browser";
232
233 // Emulator cards (editor_manager.cc)
234 static constexpr const char* kEmulatorCpuDebugger = "emulator.cpu_debugger";
235 static constexpr const char* kEmulatorPpuViewer = "emulator.ppu_viewer";
236 static constexpr const char* kEmulatorMemoryViewer = "emulator.memory_viewer";
237 static constexpr const char* kEmulatorBreakpoints = "emulator.breakpoints";
238 static constexpr const char* kEmulatorPerformance = "emulator.performance";
239 static constexpr const char* kEmulatorAiAgent = "emulator.ai_agent";
240 static constexpr const char* kEmulatorSaveStates = "emulator.save_states";
241 static constexpr const char* kEmulatorKeyboardConfig = "emulator.keyboard_config";
242 static constexpr const char* kEmulatorVirtualController =
243 "emulator.virtual_controller";
244 static constexpr const char* kEmulatorApuDebugger = "emulator.apu_debugger";
245 static constexpr const char* kEmulatorAudioMixer = "emulator.audio_mixer";
246
247 // Memory cards (editor_manager.cc)
248 static constexpr const char* kMemoryHexEditor = "memory.hex_editor";
249 };
250};
251
252} // namespace editor
253} // namespace yaze
254
255#endif // YAZE_APP_EDITOR_LAYOUT_LAYOUT_PRESETS_H_
Centralized definition of default layouts per editor.
static std::vector< std::string > GetDefaultPanels(EditorType type)
Get default visible panels for an editor.
static PanelLayoutPreset GetLogicDebuggerPreset()
Get the "logic debugger" workspace preset (QA and debug focused)
static PanelLayoutPreset GetDungeonExpertPreset()
Legacy alias for GetDungeonMasterPreset()
static PanelLayoutPreset GetTestingPreset()
Legacy alias for GetLogicDebuggerPreset()
static PanelLayoutPreset GetDungeonMasterPreset()
Get the "dungeon master" workspace preset.
static PanelLayoutPreset GetAudioEngineerPreset()
Get the "audio engineer" workspace preset (music focused)
static std::vector< std::string > GetAllPanelsForEditor(EditorType type)
Get all available panels for an editor (visible + hidden)
static PanelLayoutPreset GetDesignerPreset()
Get the "designer" workspace preset (visual-focused)
static bool IsDefaultPanel(EditorType type, const std::string &panel_id)
Check if a panel should be visible by default.
static PanelLayoutPreset GetAudioPreset()
Legacy alias for GetAudioEngineerPreset()
static PanelLayoutPreset GetOverworldArtistPreset()
Get the "overworld artist" workspace preset.
static PanelLayoutPreset GetDefaultPreset(EditorType type)
Get the default layout preset for an editor type.
static PanelLayoutPreset GetModderPreset()
Get the "modder" workspace preset (full-featured)
static PanelLayoutPreset GetOverworldExpertPreset()
Legacy alias for GetOverworldArtistPreset()
static PanelLayoutPreset GetMinimalPreset()
Get the "minimal" workspace preset (minimal cards)
static PanelLayoutPreset GetDeveloperPreset()
Get the "developer" workspace preset (debug-focused)
static std::unordered_map< EditorType, PanelLayoutPreset > GetAllPresets()
Get all available presets.
DockPosition
Preferred dock position for a card in a layout.
static constexpr const char * kMusicSampleEditor
static constexpr const char * kMusicInstrumentEditor
static constexpr const char * kPaletteQuickAccess
static constexpr const char * kMusicPlaybackControl
static constexpr const char * kOverworldTile8Selector
static constexpr const char * kGraphicsPalettesetEditor
static constexpr const char * kPaletteControlPanel
static constexpr const char * kOverworldTile16Editor
static constexpr const char * kScreenOverworldMap
static constexpr const char * kEmulatorSaveStates
static constexpr const char * kEmulatorAiAgent
static constexpr const char * kEmulatorPerformance
static constexpr const char * kPaletteOwMain
static constexpr const char * kMessageList
static constexpr const char * kGraphicsPlayerAnimations
static constexpr const char * kMusicSongBrowser
static constexpr const char * kPaletteSpritesAux2
static constexpr const char * kMusicPianoRoll
static constexpr const char * kDungeonRoomGraphics
static constexpr const char * kEmulatorAudioMixer
static constexpr const char * kDungeonWorkbench
static constexpr const char * kOverworldCanvas
static constexpr const char * kOverworldV3Settings
static constexpr const char * kAssemblyEditor
static constexpr const char * kEmulatorKeyboardConfig
static constexpr const char * kDungeonEntrances
static constexpr const char * kDungeonObjectEditor
static constexpr const char * kMemoryHexEditor
static constexpr const char * kEmulatorVirtualController
static constexpr const char * kGraphicsSheetBrowser
static constexpr const char * kPaletteEquipment
static constexpr const char * kDungeonRoomMatrix
static constexpr const char * kScreenNamingScreen
static constexpr const char * kGraphicsPaletteControls
static constexpr const char * kPaletteSprites
static constexpr const char * kScreenDungeonMaps
static constexpr const char * kSpriteVanillaEditor
static constexpr const char * kPaletteSpritesAux3
static constexpr const char * kPaletteSpritesAux1
static constexpr const char * kDungeonRoomSelector
static constexpr const char * kAssemblyFileBrowser
static constexpr const char * kPaletteOwAnimated
static constexpr const char * kGraphicsSheetEditor
static constexpr const char * kOverworldAreaGraphics
static constexpr const char * kDungeonPaletteEditor
static constexpr const char * kOverworldUsageStats
static constexpr const char * kMessageFontAtlas
static constexpr const char * kOverworldTile16Selector
static constexpr const char * kMusicAssembly
static constexpr const char * kEmulatorApuDebugger
static constexpr const char * kEmulatorPpuViewer
static constexpr const char * kOverworldScratch
static constexpr const char * kDungeonEntranceList
static constexpr const char * kScreenInventoryMenu
static constexpr const char * kSpriteCustomEditor
static constexpr const char * kPaletteDungeonMain
static constexpr const char * kGraphicsGfxGroupEditor
static constexpr const char * kMessageDictionary
static constexpr const char * kOverworldMapProperties
static constexpr const char * kEmulatorBreakpoints
static constexpr const char * kPaletteCustom
static constexpr const char * kOverworldGfxGroups
static constexpr const char * kEmulatorMemoryViewer
static constexpr const char * kScreenTitleScreen
static constexpr const char * kEmulatorCpuDebugger
static constexpr const char * kMessageEditor
Defines default panel visibility for an editor type.
std::vector< std::string > optional_panels
std::unordered_map< std::string, DockPosition > panel_positions
std::vector< std::string > default_visible_panels