refactor(editor): introduce MenuOrchestrator for menu management

- Added MenuOrchestrator class to handle menu construction and coordination, improving separation of concerns within the editor.
- Refactored EditorManager to delegate menu-related tasks to MenuOrchestrator, enhancing maintainability and clarity.
- Updated CMake configuration to include new source files for the MenuOrchestrator component.

Benefits:
- Streamlines menu management, leading to a more organized and efficient user experience.
- Enhances the overall architecture by clearly defining roles for menu handling and editor operations.
This commit is contained in:
scawful
2025-10-14 22:26:34 -04:00
parent 0b72b56594
commit 2f84879ca9
5 changed files with 679 additions and 515 deletions

View File

@@ -37,6 +37,7 @@
#include "app/editor/system/toast_manager.h"
#include "app/rom.h"
#include "app/editor/system/editor_registry.h"
#include "app/editor/system/menu_orchestrator.h"
#include "app/editor/system/project_manager.h"
#include "app/editor/system/rom_file_manager.h"
#include "app/editor/system/session_card_registry.h"
@@ -354,6 +355,7 @@ class EditorManager {
// New delegated components
EditorRegistry editor_registry_;
std::unique_ptr<MenuOrchestrator> menu_orchestrator_;
ProjectManager project_manager_;
RomFileManager rom_file_manager_;
SessionCardRegistry card_registry_;