feat(editor): enhance card-based editor functionality and streamline initialization

- Updated EditorManager to support new card-based editors, including Emulator, Hex, and Assembly editors.
- Added centralized registration of editor cards with EditorCardManager, improving visibility management.
- Implemented methods to retrieve editor types from categories and manage card visibility dynamically.
- Enhanced initialization processes for various editors to ensure proper card registration and default visibility settings.

Benefits:
- Improved user experience by organizing editor cards and providing quick access to new editor functionalities.
- Streamlined editor management, making it easier to switch between different editing contexts and enhancing overall workflow efficiency.
This commit is contained in:
scawful
2025-10-12 20:43:42 -04:00
parent bdb2d1ed14
commit e5aff24bfc
22 changed files with 595 additions and 670 deletions

View File

@@ -38,11 +38,7 @@ class Emulator {
void Run(Rom* rom);
void Cleanup();
// Card visibility for emulator UI panels
bool& show_cpu_debugger() { return show_cpu_debugger_; }
bool& show_memory_viewer() { return show_memory_viewer_; }
bool& show_ppu_viewer() { return show_ppu_viewer_; }
bool& show_audio_mixer() { return show_audio_mixer_; }
// Card visibility managed by EditorCardManager
auto snes() -> Snes& { return snes_; }
auto running() const -> bool { return running_; }
@@ -163,11 +159,7 @@ class Emulator {
gfx::IRenderer* renderer_ = nullptr;
void* ppu_texture_ = nullptr;
// Card visibility states
bool show_cpu_debugger_ = false;
bool show_memory_viewer_ = false;
bool show_ppu_viewer_ = false;
bool show_audio_mixer_ = false;
// Card visibility managed by EditorCardManager - no member variables needed!
// Debugger infrastructure
BreakpointManager breakpoint_manager_;