refactor(editor): extract editor management responsibilities into dedicated classes

- Introduced EditorRegistry, ProjectManager, and RomFileManager to streamline editor operations and improve code organization.
- Refactored EditorManager to delegate responsibilities to the new classes, enhancing maintainability and clarity.
- Updated CMake configuration to include new source files for the extracted components.

Benefits:
- Improves separation of concerns within the editor, leading to a more modular and manageable codebase.
- Enhances the overall architecture by clearly defining roles for editor management, project handling, and ROM file operations.
This commit is contained in:
scawful
2025-10-14 22:01:07 -04:00
parent 6dbc30c11f
commit 0113d78978
13 changed files with 1092 additions and 96 deletions

View File

@@ -36,6 +36,9 @@
#include "app/editor/system/settings_editor.h"
#include "app/editor/system/toast_manager.h"
#include "app/rom.h"
#include "app/editor/system/editor_registry.h"
#include "app/editor/system/project_manager.h"
#include "app/editor/system/rom_file_manager.h"
#include "app/editor/system/session_card_registry.h"
#include "app/editor/system/window_delegate.h"
#include "app/editor/ui/session_coordinator.h"
@@ -350,6 +353,9 @@ class EditorManager {
WorkspaceManager workspace_manager_{&toast_manager_};
// New delegated components
EditorRegistry editor_registry_;
ProjectManager project_manager_;
RomFileManager rom_file_manager_;
SessionCardRegistry card_registry_;
WindowDelegate window_delegate_;
std::unique_ptr<SessionCoordinator> session_coordinator_;