yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::EditorManager Class Reference

The EditorManager controls the main editor window and manages the various editor classes. More...

#include <editor_manager.h>

Inheritance diagram for yaze::editor::EditorManager:

Classes

class  SessionScope
 

Public Member Functions

 EditorManager ()
 
 ~EditorManager () override
 
void Initialize (gfx::IRenderer *renderer, const std::string &filename="")
 
void OnSessionSwitched (size_t new_index, RomSession *session) override
 Called when the active session changes.
 
void OnSessionCreated (size_t index, RomSession *session) override
 Called when a new session is created.
 
void OnSessionClosed (size_t index) override
 Called when a session is closed.
 
void OnSessionRomLoaded (size_t index, RomSession *session) override
 Called when a ROM is loaded into a session.
 
void OpenEditorAndPanelsFromFlags (const std::string &editor_name, const std::string &panels_str)
 
void ProcessStartupActions (const AppConfig &config)
 
void ApplyStartupVisibility (const AppConfig &config)
 
absl::Status Update ()
 Main update loop for the editor application.
 
void DrawMenuBar ()
 Draw the main menu bar.
 
auto emulator () -> emu::Emulator &
 
auto quit () const
 
auto version () const
 
void OpenLayoutDesigner ()
 
MenuBuildermenu_builder ()
 
WorkspaceManagerworkspace_manager ()
 
RightPanelManagerright_panel_manager ()
 
StatusBarstatus_bar ()
 
PanelManagerGetPanelManager ()
 
PanelManagerpanel_manager ()
 
const PanelManagerpanel_manager () const
 
PanelManagercard_registry ()
 
const PanelManagercard_registry () const
 
float GetLeftLayoutOffset () const
 
float GetRightLayoutOffset () const
 
float GetBottomLayoutOffset () const
 
absl::Status SetCurrentRom (Rom *rom)
 
auto GetCurrentRom () const -> Rom *
 
auto GetCurrentGameData () const -> zelda3::GameData *
 
auto GetCurrentEditorSet () const -> EditorSet *
 
auto GetCurrentEditor () const -> Editor *
 
void SetCurrentEditor (Editor *editor)
 
size_t GetCurrentSessionId () const
 
UICoordinatorui_coordinator ()
 
auto overworld () const -> yaze::zelda3::Overworld *
 
size_t GetCurrentSessionIndex () const
 
core::FeatureFlags::FlagsGetCurrentFeatureFlags ()
 
void SetFontGlobalScale (float scale)
 
void RefreshWorkspacePresets ()
 
void SaveWorkspacePreset (const std::string &name)
 
void LoadWorkspacePreset (const std::string &name)
 
void JumpToDungeonRoom (int room_id)
 
void JumpToOverworldMap (int map_id)
 
void SwitchToEditor (EditorType editor_type, bool force_visible=false, bool from_dialog=false)
 
bool IsSidebarVisible () const
 
void SetSidebarVisible (bool visible)
 
void HideCurrentEditorPanels ()
 
void CreateNewSession ()
 
void DuplicateCurrentSession ()
 
void CloseCurrentSession ()
 
void RemoveSession (size_t index)
 
void SwitchToSession (size_t index)
 
size_t GetActiveSessionCount () const
 
void SaveWorkspaceLayout ()
 
void LoadWorkspaceLayout ()
 
void ResetWorkspaceLayout ()
 
void ShowAllWindows ()
 
void HideAllWindows ()
 
void LoadDeveloperLayout ()
 
void LoadDesignerLayout ()
 
void LoadModderLayout ()
 
void ApplyLayoutPreset (const std::string &preset_name)
 
void ResetCurrentEditorLayout ()
 
std::string GenerateUniqueEditorTitle (EditorType type, size_t session_index) const
 
bool HasDuplicateSession (const std::string &filepath)
 
void RenameSession (size_t index, const std::string &new_name)
 
void Quit ()
 
void QueueDeferredAction (std::function< void()> action)
 
void ConfigureSession (RomSession *session)
 
void ShowImGuiDemo ()
 
void ShowImGuiMetrics ()
 
AgentEditorGetAgentEditor ()
 
AgentUiControllerGetAgentUiController ()
 
absl::Status LoadRom ()
 Load a ROM file into a new or existing session.
 
absl::Status SaveRom ()
 Save the current ROM file.
 
absl::Status SaveRomAs (const std::string &filename)
 
absl::Status OpenRomOrProject (const std::string &filename)
 
absl::Status CreateNewProject (const std::string &template_name="Basic ROM Hack")
 
absl::Status OpenProject ()
 
absl::Status SaveProject ()
 
absl::Status SaveProjectAs ()
 
absl::Status ImportProject (const std::string &project_path)
 
absl::Status RepairCurrentProject ()
 
absl::Status LoadProjectWithRom ()
 
project::YazeProjectGetCurrentProject ()
 
const project::YazeProjectGetCurrentProject () const
 
core::VersionManagerGetVersionManager ()
 
void ShowProjectManagement ()
 Injects dependencies into all editors within an EditorSet.
 
void ShowProjectFileEditor ()
 
- Public Member Functions inherited from yaze::editor::SessionObserver
virtual ~SessionObserver ()=default
 

Static Public Member Functions

static bool IsPanelBasedEditor (EditorType type)
 

Private Member Functions

absl::Status DrawRomSelector ()=delete
 
absl::Status LoadAssets (uint64_t loading_handle=0)
 
void InitializeTestSuites ()
 
void ApplyStartupVisibilityOverrides ()
 
emu::input::InputConfig BuildInputConfigFromSettings () const
 
void PersistInputConfig (const emu::input::InputConfig &config)
 
void ConfigureEditorDependencies (EditorSet *editor_set, Rom *rom, size_t session_id)
 

Private Attributes

bool quit_ = false
 
bool show_workspace_layout = false
 
size_t session_to_rename_ = 0
 
char session_rename_buffer_ [256] = {}
 
ProposalDrawer proposal_drawer_
 
bool show_proposal_drawer_ = false
 
AgentUiController agent_ui_
 
ProjectFileEditor project_file_editor_
 
std::unique_ptr< DashboardPaneldashboard_panel_
 
WelcomeScreen welcome_screen_
 
RomLoadOptionsDialog rom_load_options_dialog_
 
bool show_rom_load_options_ = false
 
StartupVisibility welcome_mode_override_ = StartupVisibility::kAuto
 
StartupVisibility dashboard_mode_override_ = StartupVisibility::kAuto
 
StartupVisibility sidebar_mode_override_ = StartupVisibility::kAuto
 
SelectionPropertiesPanel selection_properties_panel_
 
std::unique_ptr< ProjectManagementPanelproject_management_panel_
 
std::string version_ = ""
 
absl::Status status_
 
emu::Emulator emulator_
 
Editorcurrent_editor_ = nullptr
 
gfx::IRendererrenderer_ = nullptr
 
project::YazeProject current_project_
 
std::unique_ptr< core::VersionManagerversion_manager_
 
EditorDependencies::SharedClipboard shared_clipboard_
 
std::unique_ptr< PopupManagerpopup_manager_
 
ToastManager toast_manager_
 
MenuBuilder menu_builder_
 
ShortcutManager shortcut_manager_
 
UserSettings user_settings_
 
PanelManager panel_manager_
 
EditorRegistry editor_registry_
 
std::unique_ptr< MenuOrchestratormenu_orchestrator_
 
ProjectManager project_manager_
 
RomFileManager rom_file_manager_
 
std::unique_ptr< UICoordinatorui_coordinator_
 
WindowDelegate window_delegate_
 
EditorActivator editor_activator_
 
std::unique_ptr< SessionCoordinatorsession_coordinator_
 
std::unique_ptr< LayoutManagerlayout_manager_
 
LayoutCoordinator layout_coordinator_
 
std::unique_ptr< RightPanelManagerright_panel_manager_
 
StatusBar status_bar_
 
std::unique_ptr< ActivityBaractivity_bar_
 
WorkspaceManager workspace_manager_ {&toast_manager_}
 
layout_designer::LayoutDesignerWindow layout_designer_
 
float autosave_timer_ = 0.0f
 
std::vector< std::function< void()> > deferred_actions_
 
EventBus event_bus_
 
std::unique_ptr< GlobalEditorContexteditor_context_
 

Detailed Description

The EditorManager controls the main editor window and manages the various editor classes.

The EditorManager class contains instances of various editor classes such as AssemblyEditor, DungeonEditor, GraphicsEditor, MusicEditor, OverworldEditor, PaletteEditor, ScreenEditor, and SpriteEditor. The current_editor_ member variable points to the currently active editor in the tab view.

EditorManager implements SessionObserver to receive notifications about session lifecycle events and update cross-cutting concerns accordingly.

Definition at line 87 of file editor_manager.h.

Constructor & Destructor Documentation

◆ EditorManager()

yaze::editor::EditorManager::EditorManager ( )

Definition at line 185 of file editor_manager.cc.

References activity_bar_, yaze::project::YazeProject::assets_folder, yaze::project::YazeProject::code_folder, current_project_, dashboard_panel_, editor_activator_, editor_context_, editor_registry_, event_bus_, yaze::editor::EditorActivator::Dependencies::get_current_editor_set, yaze::editor::EditorActivator::Dependencies::get_current_session_id, GetCurrentEditorSet(), GetCurrentSessionId(), ICON_MD_DASHBOARD, yaze::editor::LayoutCoordinator::Initialize(), yaze::editor::EditorActivator::Initialize(), yaze::editor::StatusBar::Initialize(), yaze::editor::kError, yaze::editor::RightPanelManager::kHelp, yaze::editor::RightPanelManager::kSettings, yaze::editor::kSuccess, layout_coordinator_, yaze::editor::LayoutCoordinator::Dependencies::layout_manager, yaze::editor::EditorActivator::Dependencies::layout_manager, layout_manager_, LoadProjectWithRom(), menu_builder_, menu_orchestrator_, yaze::editor::LayoutCoordinator::Dependencies::panel_manager, yaze::editor::EditorActivator::Dependencies::panel_manager, panel_manager_, popup_manager_, project_management_panel_, project_manager_, yaze::project::YazeProject::project_opened(), proposal_drawer_, yaze::editor::EditorActivator::Dependencies::queue_deferred_action, QueueDeferredAction(), yaze::editor::PanelManager::RegisterPanel(), yaze::editor::LayoutCoordinator::Dependencies::right_panel_manager, yaze::editor::EditorActivator::Dependencies::right_panel_manager, right_panel_manager_, rom_file_manager_, yaze::project::YazeProject::rom_filename, yaze::project::YazeProject::Save(), SaveProject(), selection_properties_panel_, session_coordinator_, yaze::editor::PanelManager::SetFileBrowserPath(), yaze::editor::PanelManager::SetShowHelpCallback(), yaze::editor::PanelManager::SetShowSettingsCallback(), shortcut_manager_, yaze::editor::ToastManager::Show(), yaze::util::FileDialogWrapper::ShowOpenFileDialog(), yaze::util::FileDialogWrapper::ShowOpenFolderDialog(), yaze::editor::LayoutCoordinator::Dependencies::status_bar, status_bar_, yaze::editor::LayoutCoordinator::Dependencies::toast_manager, yaze::editor::EditorActivator::Dependencies::toast_manager, toast_manager_, yaze::editor::LayoutCoordinator::Dependencies::ui_coordinator, yaze::editor::EditorActivator::Dependencies::ui_coordinator, ui_coordinator_, user_settings_, version_, and window_delegate_.

◆ ~EditorManager()

yaze::editor::EditorManager::~EditorManager ( )
override

Definition at line 382 of file editor_manager.cc.

References session_coordinator_.

Member Function Documentation

◆ Initialize()

void yaze::editor::EditorManager::Initialize ( gfx::IRenderer * renderer,
const std::string & filename = "" )

Definition at line 470 of file editor_manager.cc.

References agent_ui_, yaze::editor::ConfigureEditorShortcuts(), yaze::editor::ConfigureMenuShortcuts(), yaze::editor::RomLoadOptionsDialog::LoadOptions::create_project, CreateNewProject(), yaze::editor::ShortcutDependencies::editor_manager, yaze::editor::ShortcutDependencies::editor_registry, editor_registry_, emulator_, yaze::editor::RomLoadOptionsDialog::LoadOptions::enable_custom_overworld, yaze::editor::PanelManager::EnableFileBrowser(), yaze::editor::ProjectManager::FinalizeProjectCreation(), yaze::editor::UserSettings::Preferences::font_global_scale, yaze::core::FeatureFlags::get(), GetCurrentEditor(), GetCurrentEditorSet(), GetCurrentRom(), yaze::editor::EditorRegistry::GetEditorTypeFromCategory(), ICON_MD_AUDIO_FILE, ICON_MD_AUDIOTRACK, ICON_MD_BUG_REPORT, ICON_MD_KEYBOARD, ICON_MD_MEMORY, ICON_MD_SAVE, ICON_MD_SMART_TOY, ICON_MD_SPEED, ICON_MD_SPORTS_ESPORTS, ICON_MD_STOP, ICON_MD_VIDEOGAME_ASSET, yaze::app::platform::WasmControlApi::Initialize(), yaze::app::platform::WasmSessionBridge::Initialize(), yaze::editor::layout_designer::LayoutDesignerWindow::Initialize(), yaze::editor::AgentUiController::Initialize(), InitializeTestSuites(), yaze::editor::PopupID::kAbout, yaze::editor::kAssembly, yaze::editor::kEditor, yaze::editor::kError, yaze::editor::kSettings, yaze::editor::kSuccess, yaze::editor::kUnknown, layout_designer_, layout_manager_, yaze::editor::UserSettings::Load(), LoadRom(), LOG_INFO, LOG_WARN, yaze::editor::ShortcutDependencies::menu_orchestrator, menu_orchestrator_, OpenRomOrProject(), yaze::editor::ShortcutDependencies::panel_manager, panel_manager_, yaze::editor::ShortcutDependencies::popup_manager, popup_manager_, yaze::editor::UserSettings::Preferences::prefer_hmagic_sprite_names, yaze::editor::UserSettings::prefs(), PRINT_IF_ERROR, project_file_editor_, yaze::editor::ShortcutDependencies::project_manager, project_manager_, yaze::editor::RomLoadOptionsDialog::LoadOptions::project_name, yaze::editor::RomLoadOptionsDialog::LoadOptions::project_path, proposal_drawer_, yaze::editor::PanelManager::RegisterPanel(), renderer_, right_panel_manager_, yaze::editor::ShortcutDependencies::rom_file_manager, rom_file_manager_, rom_load_options_dialog_, yaze::editor::UserSettings::Save(), yaze::editor::RomLoadOptionsDialog::LoadOptions::save_all_palettes, yaze::editor::RomLoadOptionsDialog::LoadOptions::save_dungeon_maps, yaze::editor::RomLoadOptionsDialog::LoadOptions::save_gfx_groups, yaze::editor::RomLoadOptionsDialog::LoadOptions::save_overworld_entrances, yaze::editor::RomLoadOptionsDialog::LoadOptions::save_overworld_exits, yaze::editor::RomLoadOptionsDialog::LoadOptions::save_overworld_items, yaze::editor::RomLoadOptionsDialog::LoadOptions::save_overworld_maps, SaveRom(), yaze::editor::RomLoadOptionsDialog::LoadOptions::selected_preset, yaze::editor::ShortcutDependencies::session_coordinator, session_coordinator_, yaze::emu::Emulator::set_panel_manager(), yaze::editor::WorkspaceManager::set_panel_manager(), yaze::editor::PanelManager::SetActiveCategory(), yaze::editor::PanelManager::SetCategoryChangedCallback(), yaze::editor::RomLoadOptionsDialog::SetConfirmCallback(), yaze::editor::PanelManager::SetFileClickedCallback(), yaze::editor::WelcomeScreen::SetNewProjectCallback(), yaze::editor::WelcomeScreen::SetNewProjectWithTemplateCallback(), yaze::editor::PanelManager::SetOnCategorySelectedCallback(), yaze::editor::PanelManager::SetOnPanelClickedCallback(), yaze::editor::WelcomeScreen::SetOpenAgentCallback(), yaze::editor::WelcomeScreen::SetOpenProjectCallback(), yaze::editor::WelcomeScreen::SetOpenRomCallback(), yaze::editor::PanelManager::SetPanelExpanded(), yaze::zelda3::SetPreferHmagicSpriteNames(), yaze::editor::ProjectManager::SetProjectRom(), yaze::editor::PanelManager::SetRedoCallback(), yaze::editor::PanelManager::SetSaveRomCallback(), yaze::editor::PanelManager::SetShowCommandPaletteCallback(), yaze::editor::PanelManager::SetShowEmulatorCallback(), yaze::editor::PanelManager::SetShowHelpCallback(), yaze::editor::PanelManager::SetShowPanelBrowserCallback(), yaze::editor::PanelManager::SetShowSearchCallback(), yaze::editor::PanelManager::SetShowSettingsCallback(), yaze::editor::PanelManager::SetShowShortcutsCallback(), yaze::editor::PanelManager::SetSidebarStateChangedCallback(), yaze::editor::PanelManager::SetSidebarVisible(), yaze::editor::ProjectFileEditor::SetToastManager(), yaze::editor::PanelManager::SetUndoCallback(), shortcut_manager_, yaze::editor::ToastManager::Show(), show_rom_load_options_, yaze::editor::UserSettings::Preferences::show_welcome_on_startup, yaze::editor::UserSettings::Preferences::sidebar_active_category, yaze::editor::UserSettings::Preferences::sidebar_panel_expanded, yaze::editor::UserSettings::Preferences::sidebar_visible, status_, SwitchToEditor(), yaze::editor::ShortcutDependencies::toast_manager, toast_manager_, yaze::editor::ShortcutDependencies::ui_coordinator, ui_coordinator_, user_settings_, welcome_screen_, yaze::editor::ShortcutDependencies::workspace_manager, and workspace_manager_.

Referenced by yaze::Controller::OnEntry().

◆ OnSessionSwitched()

void yaze::editor::EditorManager::OnSessionSwitched ( size_t new_index,
RomSession * session )
overridevirtual

◆ OnSessionCreated()

void yaze::editor::EditorManager::OnSessionCreated ( size_t index,
RomSession * session )
overridevirtual

Called when a new session is created.

Implements yaze::editor::SessionObserver.

Definition at line 415 of file editor_manager.cc.

References LOG_INFO.

◆ OnSessionClosed()

void yaze::editor::EditorManager::OnSessionClosed ( size_t index)
overridevirtual

Called when a session is closed.

Implements yaze::editor::SessionObserver.

Definition at line 419 of file editor_manager.cc.

References yaze::test::TestManager::Get(), GetCurrentRom(), LOG_INFO, and yaze::test::TestManager::SetCurrentRom().

Here is the call graph for this function:

◆ OnSessionRomLoaded()

void yaze::editor::EditorManager::OnSessionRomLoaded ( size_t index,
RomSession * session )
overridevirtual

Called when a ROM is loaded into a session.

Reimplemented from yaze::editor::SessionObserver.

Definition at line 428 of file editor_manager.cc.

References yaze::test::TestManager::Get(), LOG_INFO, yaze::editor::RomSession::rom, and yaze::test::TestManager::SetCurrentRom().

Here is the call graph for this function:

◆ OpenEditorAndPanelsFromFlags()

◆ ProcessStartupActions()

void yaze::editor::EditorManager::ProcessStartupActions ( const AppConfig & config)

◆ ApplyStartupVisibility()

void yaze::editor::EditorManager::ApplyStartupVisibility ( const AppConfig & config)

◆ Update()

absl::Status yaze::editor::EditorManager::Update ( )

Main update loop for the editor application.

DELEGATION FLOW:

  1. Update timing manager for accurate delta time
  2. Draw popups (PopupManager) - modal dialogs across all sessions
  3. Execute shortcuts (ShortcutManager) - keyboard input handling
  4. Draw toasts (ToastManager) - user notifications
  5. Iterate all sessions and update active editors
  6. Draw session UI (SessionCoordinator) - session switcher, manager
  7. Draw sidebar (PanelManager) - card-based editor UI

Note: EditorManager retains the main loop to coordinate multi-session updates, but delegates specific drawing/state operations to specialized components.

Definition at line 1042 of file editor_manager.cc.

References activity_bar_, agent_ui_, yaze::editor::UserSettings::Preferences::autosave_enabled, yaze::editor::UserSettings::Preferences::autosave_interval, autosave_timer_, yaze::Rom::SaveSettings::backup, current_editor_, current_project_, dashboard_panel_, deferred_actions_, yaze::editor::layout_designer::LayoutDesignerWindow::Draw(), yaze::editor::StatusBar::Draw(), yaze::editor::RomLoadOptionsDialog::Draw(), yaze::editor::PanelManager::DrawAllVisiblePanels(), yaze::editor::ExecuteShortcuts(), yaze::gfx::PerformanceDashboard::Get(), yaze::TimingManager::Get(), yaze::test::TestManager::Get(), yaze::editor::PanelManager::GetActiveCategory(), yaze::editor::EditorRegistry::GetAllEditorCategories(), GetCurrentEditorSet(), GetCurrentRom(), GetCurrentSessionId(), yaze::editor::EditorRegistry::GetEditorCategory(), yaze::editor::layout_designer::LayoutDesignerWindow::IsOpen(), IsPanelBasedEditor(), yaze::editor::kError, yaze::editor::kSuccess, yaze::editor::kUnknown, layout_coordinator_, layout_designer_, LOG_DEBUG, panel_manager_, yaze::editor::UserSettings::prefs(), yaze::editor::LayoutCoordinator::ProcessDeferredActions(), yaze::editor::LayoutCoordinator::ProcessLayoutRebuild(), yaze::gfx::PerformanceDashboard::Render(), right_panel_manager_, rom_load_options_dialog_, yaze::Rom::SaveSettings::save_new, session_coordinator_, yaze::editor::PanelManager::SetActiveCategory(), yaze::editor::AgentUiController::SetAsarWrapperContext(), yaze::test::TestManager::SetCurrentRom(), yaze::editor::AgentUiController::SetProjectContext(), yaze::editor::StatusBar::SetRom(), yaze::editor::AgentUiController::SetRomContext(), yaze::editor::StatusBar::SetSessionInfo(), shortcut_manager_, yaze::editor::ToastManager::Show(), show_rom_load_options_, status_, status_bar_, toast_manager_, yaze::editor::Editor::type(), ui_coordinator_, yaze::editor::AgentUiController::Update(), yaze::TimingManager::Update(), and user_settings_.

Referenced by yaze::Controller::OnLoad().

◆ DrawMenuBar()

void yaze::editor::EditorManager::DrawMenuBar ( )

Draw the main menu bar.

DELEGATION:

Note: ROM selector stays in EditorManager because it needs direct access to sessions_ and current_rom_ for the combo box. Could be extracted to SessionCoordinator in future.

Definition at line 1291 of file editor_manager.cc.

References agent_ui_, current_project_, yaze::editor::ProjectFileEditor::Draw(), yaze::editor::AgentUiController::DrawPopups(), emulator_, yaze::gfx::PerformanceDashboard::Get(), yaze::test::TestManager::Get(), GetCurrentEditorSet(), GetCurrentRom(), yaze::gui::GetPrimaryVec4(), yaze::gui::GetSurfaceContainerHighestVec4(), yaze::gui::GetSurfaceContainerHighVec4(), yaze::gui::GetTextSecondaryVec4(), yaze::editor::PanelManager::GetVisibilityFlag(), ICON_MD_MENU, ICON_MD_MENU_OPEN, yaze::emu::Emulator::is_audio_focus_mode(), yaze::emu::Emulator::is_snes_initialized(), yaze::editor::PanelManager::IsSidebarVisible(), yaze::editor::PopupID::kDisplaySettings, yaze::project::YazeProject::labels_filename, menu_orchestrator_, panel_manager_, popup_manager_, project_file_editor_, yaze::project::YazeProject::project_opened(), proposal_drawer_, yaze::gfx::PerformanceDashboard::Render(), yaze::emu::Emulator::Run(), yaze::emu::Emulator::RunAudioFrame(), yaze::emu::Emulator::RunFrameOnly(), yaze::emu::Emulator::running(), yaze::editor::ProposalDrawer::SetRom(), yaze::gfx::PerformanceDashboard::SetVisible(), yaze::editor::PanelManager::ToggleSidebarVisibility(), ui_coordinator_, and yaze::gfx::PerformanceDashboard::Update().

Referenced by yaze::Controller::OnLoad().

◆ emulator()

auto yaze::editor::EditorManager::emulator ( ) -> emu::Emulator&
inline

◆ quit()

auto yaze::editor::EditorManager::quit ( ) const
inline

Definition at line 114 of file editor_manager.h.

References quit_.

Referenced by yaze::Controller::OnLoad().

◆ version()

auto yaze::editor::EditorManager::version ( ) const
inline

◆ OpenLayoutDesigner()

void yaze::editor::EditorManager::OpenLayoutDesigner ( )
inline

Definition at line 117 of file editor_manager.h.

References layout_designer_, and yaze::editor::layout_designer::LayoutDesignerWindow::Open().

Referenced by yaze::editor::MenuOrchestrator::OnShowLayoutDesigner().

Here is the call graph for this function:

◆ menu_builder()

MenuBuilder & yaze::editor::EditorManager::menu_builder ( )
inline

Definition at line 119 of file editor_manager.h.

References menu_builder_.

◆ workspace_manager()

WorkspaceManager * yaze::editor::EditorManager::workspace_manager ( )
inline

◆ right_panel_manager()

RightPanelManager * yaze::editor::EditorManager::right_panel_manager ( )
inline

◆ status_bar()

StatusBar * yaze::editor::EditorManager::status_bar ( )
inline

Definition at line 122 of file editor_manager.h.

References status_bar_.

◆ GetPanelManager()

PanelManager * yaze::editor::EditorManager::GetPanelManager ( )
inline

Definition at line 123 of file editor_manager.h.

References panel_manager_.

◆ panel_manager() [1/2]

◆ panel_manager() [2/2]

const PanelManager & yaze::editor::EditorManager::panel_manager ( ) const
inline

Definition at line 125 of file editor_manager.h.

References panel_manager_.

◆ card_registry() [1/2]

PanelManager & yaze::editor::EditorManager::card_registry ( )
inline

Definition at line 128 of file editor_manager.h.

References panel_manager_.

Referenced by yaze::editor::PopupManager::DrawLayoutPresetsPopup().

◆ card_registry() [2/2]

const PanelManager & yaze::editor::EditorManager::card_registry ( ) const
inline

Definition at line 129 of file editor_manager.h.

References panel_manager_.

◆ GetLeftLayoutOffset()

float yaze::editor::EditorManager::GetLeftLayoutOffset ( ) const
inline

Definition at line 133 of file editor_manager.h.

References yaze::editor::LayoutCoordinator::GetLeftLayoutOffset(), and layout_coordinator_.

Referenced by yaze::editor::UICoordinator::DrawWelcomeScreen(), and yaze::Controller::OnLoad().

Here is the call graph for this function:

◆ GetRightLayoutOffset()

float yaze::editor::EditorManager::GetRightLayoutOffset ( ) const
inline

Definition at line 136 of file editor_manager.h.

References yaze::editor::LayoutCoordinator::GetRightLayoutOffset(), and layout_coordinator_.

Referenced by yaze::editor::UICoordinator::DrawWelcomeScreen(), and yaze::Controller::OnLoad().

Here is the call graph for this function:

◆ GetBottomLayoutOffset()

float yaze::editor::EditorManager::GetBottomLayoutOffset ( ) const
inline

Definition at line 139 of file editor_manager.h.

References yaze::editor::LayoutCoordinator::GetBottomLayoutOffset(), and layout_coordinator_.

Referenced by yaze::Controller::OnLoad().

Here is the call graph for this function:

◆ SetCurrentRom()

absl::Status yaze::editor::EditorManager::SetCurrentRom ( Rom * rom)

Definition at line 2138 of file editor_manager.cc.

References yaze::test::TestManager::Get(), GetCurrentRom(), session_coordinator_, and yaze::test::TestManager::SetCurrentRom().

Here is the call graph for this function:

◆ GetCurrentRom()

◆ GetCurrentGameData()

auto yaze::editor::EditorManager::GetCurrentGameData ( ) const -> zelda3::GameData*
inline

Definition at line 148 of file editor_manager.h.

References session_coordinator_.

◆ GetCurrentEditorSet()

auto yaze::editor::EditorManager::GetCurrentEditorSet ( ) const -> EditorSet*
inline

◆ GetCurrentEditor()

◆ SetCurrentEditor()

void yaze::editor::EditorManager::SetCurrentEditor ( Editor * editor)
inline

Definition at line 157 of file editor_manager.h.

References current_editor_, right_panel_manager_, and yaze::editor::Editor::type().

Referenced by yaze::editor::SessionCoordinator::UpdateSessions().

Here is the call graph for this function:

◆ GetCurrentSessionId()

◆ ui_coordinator()

◆ overworld()

auto yaze::editor::EditorManager::overworld ( ) const -> yaze::zelda3::Overworld*
inline

Definition at line 169 of file editor_manager.h.

References GetCurrentEditorSet().

Referenced by yaze::Controller::overworld().

Here is the call graph for this function:

◆ GetCurrentSessionIndex()

size_t yaze::editor::EditorManager::GetCurrentSessionIndex ( ) const

Definition at line 2195 of file editor_manager.cc.

References session_coordinator_.

Referenced by GetCurrentFeatureFlags().

◆ GetCurrentFeatureFlags()

core::FeatureFlags::Flags * yaze::editor::EditorManager::GetCurrentFeatureFlags ( )
inline

Definition at line 180 of file editor_manager.h.

References yaze::editor::RomSession::feature_flags, yaze::core::FeatureFlags::get(), GetCurrentSessionIndex(), and session_coordinator_.

Here is the call graph for this function:

◆ SetFontGlobalScale()

void yaze::editor::EditorManager::SetFontGlobalScale ( float scale)
inline

◆ RefreshWorkspacePresets()

void yaze::editor::EditorManager::RefreshWorkspacePresets ( )
inline

Definition at line 202 of file editor_manager.h.

References yaze::editor::WorkspaceManager::RefreshPresets(), and workspace_manager_.

Referenced by yaze::editor::UICoordinator::DrawWorkspacePresetDialogs().

Here is the call graph for this function:

◆ SaveWorkspacePreset()

void yaze::editor::EditorManager::SaveWorkspacePreset ( const std::string & name)
inline

Definition at line 203 of file editor_manager.h.

References yaze::editor::WorkspaceManager::SaveWorkspacePreset(), and workspace_manager_.

Referenced by yaze::editor::UICoordinator::DrawWorkspacePresetDialogs().

Here is the call graph for this function:

◆ LoadWorkspacePreset()

void yaze::editor::EditorManager::LoadWorkspacePreset ( const std::string & name)
inline

Definition at line 206 of file editor_manager.h.

References yaze::editor::WorkspaceManager::LoadWorkspacePreset(), and workspace_manager_.

Referenced by yaze::editor::UICoordinator::DrawWorkspacePresetDialogs().

Here is the call graph for this function:

◆ JumpToDungeonRoom()

void yaze::editor::EditorManager::JumpToDungeonRoom ( int room_id)

Definition at line 2218 of file editor_manager.cc.

References editor_activator_, and yaze::editor::EditorActivator::JumpToDungeonRoom().

Referenced by ProcessStartupActions().

Here is the call graph for this function:

◆ JumpToOverworldMap()

void yaze::editor::EditorManager::JumpToOverworldMap ( int map_id)

Definition at line 2222 of file editor_manager.cc.

References editor_activator_, and yaze::editor::EditorActivator::JumpToOverworldMap().

Referenced by ProcessStartupActions().

Here is the call graph for this function:

◆ SwitchToEditor()

◆ IsPanelBasedEditor()

bool yaze::editor::EditorManager::IsPanelBasedEditor ( EditorType type)
static

Definition at line 140 of file editor_manager.cc.

References yaze::editor::EditorRegistry::IsPanelBasedEditor().

Referenced by Update(), and yaze::editor::SessionCoordinator::UpdateSessions().

Here is the call graph for this function:

◆ IsSidebarVisible()

bool yaze::editor::EditorManager::IsSidebarVisible ( ) const
inline

Definition at line 218 of file editor_manager.h.

References ui_coordinator_.

◆ SetSidebarVisible()

void yaze::editor::EditorManager::SetSidebarVisible ( bool visible)
inline

Definition at line 221 of file editor_manager.h.

References ui_coordinator_.

◆ HideCurrentEditorPanels()

void yaze::editor::EditorManager::HideCurrentEditorPanels ( )

◆ CreateNewSession()

void yaze::editor::EditorManager::CreateNewSession ( )

◆ DuplicateCurrentSession()

void yaze::editor::EditorManager::DuplicateCurrentSession ( )

Definition at line 2169 of file editor_manager.cc.

References session_coordinator_.

◆ CloseCurrentSession()

void yaze::editor::EditorManager::CloseCurrentSession ( )

Definition at line 2175 of file editor_manager.cc.

References session_coordinator_.

◆ RemoveSession()

void yaze::editor::EditorManager::RemoveSession ( size_t index)

◆ SwitchToSession()

void yaze::editor::EditorManager::SwitchToSession ( size_t index)

◆ GetActiveSessionCount()

size_t yaze::editor::EditorManager::GetActiveSessionCount ( ) const

◆ SaveWorkspaceLayout()

void yaze::editor::EditorManager::SaveWorkspaceLayout ( )
inline

Definition at line 240 of file editor_manager.h.

References yaze::editor::WindowDelegate::SaveWorkspaceLayout(), and window_delegate_.

Referenced by yaze::editor::MenuOrchestrator::OnSaveWorkspaceLayout().

Here is the call graph for this function:

◆ LoadWorkspaceLayout()

void yaze::editor::EditorManager::LoadWorkspaceLayout ( )
inline

Definition at line 241 of file editor_manager.h.

References yaze::editor::WindowDelegate::LoadWorkspaceLayout(), and window_delegate_.

Referenced by yaze::editor::MenuOrchestrator::OnLoadWorkspaceLayout().

Here is the call graph for this function:

◆ ResetWorkspaceLayout()

void yaze::editor::EditorManager::ResetWorkspaceLayout ( )

Definition at line 155 of file editor_manager.cc.

References layout_coordinator_, and yaze::editor::LayoutCoordinator::ResetWorkspaceLayout().

Referenced by yaze::editor::MenuOrchestrator::OnResetWorkspaceLayout().

Here is the call graph for this function:

◆ ShowAllWindows()

void yaze::editor::EditorManager::ShowAllWindows ( )
inline

Definition at line 243 of file editor_manager.h.

References ui_coordinator_.

◆ HideAllWindows()

void yaze::editor::EditorManager::HideAllWindows ( )
inline

Definition at line 247 of file editor_manager.h.

References ui_coordinator_.

Referenced by yaze::editor::MenuOrchestrator::OnHideAllWindows().

◆ LoadDeveloperLayout()

void yaze::editor::EditorManager::LoadDeveloperLayout ( )
inline

Definition at line 253 of file editor_manager.h.

References yaze::editor::WindowDelegate::LoadDeveloperLayout(), and window_delegate_.

Here is the call graph for this function:

◆ LoadDesignerLayout()

void yaze::editor::EditorManager::LoadDesignerLayout ( )
inline

Definition at line 254 of file editor_manager.h.

References yaze::editor::WindowDelegate::LoadDesignerLayout(), and window_delegate_.

Here is the call graph for this function:

◆ LoadModderLayout()

void yaze::editor::EditorManager::LoadModderLayout ( )
inline

Definition at line 255 of file editor_manager.h.

References yaze::editor::WindowDelegate::LoadModderLayout(), and window_delegate_.

Here is the call graph for this function:

◆ ApplyLayoutPreset()

◆ ResetCurrentEditorLayout()

◆ GenerateUniqueEditorTitle()

std::string yaze::editor::EditorManager::GenerateUniqueEditorTitle ( EditorType type,
size_t session_index ) const

Definition at line 2205 of file editor_manager.cc.

References yaze::editor::kEditorNames, and session_coordinator_.

◆ HasDuplicateSession()

bool yaze::editor::EditorManager::HasDuplicateSession ( const std::string & filepath)

Definition at line 2264 of file editor_manager.cc.

References session_coordinator_.

◆ RenameSession()

void yaze::editor::EditorManager::RenameSession ( size_t index,
const std::string & new_name )

◆ Quit()

void yaze::editor::EditorManager::Quit ( )
inline

Definition at line 266 of file editor_manager.h.

References quit_.

Referenced by yaze::editor::MenuOrchestrator::OnQuit().

◆ QueueDeferredAction()

void yaze::editor::EditorManager::QueueDeferredAction ( std::function< void()> action)
inline

◆ ConfigureSession()

◆ ShowImGuiDemo()

void yaze::editor::EditorManager::ShowImGuiDemo ( )
inline

Definition at line 286 of file editor_manager.h.

References ui_coordinator_.

Referenced by yaze::editor::MenuOrchestrator::OnShowImGuiDemo().

◆ ShowImGuiMetrics()

void yaze::editor::EditorManager::ShowImGuiMetrics ( )
inline

Definition at line 290 of file editor_manager.h.

References ui_coordinator_.

Referenced by yaze::editor::MenuOrchestrator::OnShowImGuiMetrics().

◆ GetAgentEditor()

AgentEditor * yaze::editor::EditorManager::GetAgentEditor ( )
inline

Definition at line 305 of file editor_manager.h.

◆ GetAgentUiController()

AgentUiController * yaze::editor::EditorManager::GetAgentUiController ( )
inline

Definition at line 306 of file editor_manager.h.

◆ LoadRom()

absl::Status yaze::editor::EditorManager::LoadRom ( )

Load a ROM file into a new or existing session.

DELEGATION:

FLOW:

  1. Show file dialog and get filename
  2. Check for duplicate sessions (prevent opening same ROM twice)
  3. Load ROM via RomFileManager into temp_rom
  4. Find empty session or create new session
  5. Move ROM into session and set current pointers
  6. Configure editor dependencies for the session
  7. Load all editor assets
  8. Update UI state and recent files

Definition at line 1481 of file editor_manager.cc.

References ConfigureEditorDependencies(), current_project_, yaze::test::TestManager::Get(), GetCurrentEditorSet(), GetCurrentRom(), GetCurrentSessionId(), yaze::project::RecentFilesManager::GetInstance(), yaze::zelda3::GetResourceLabels(), yaze::editor::kWarning, LoadAssets(), yaze::editor::RomFileManager::LoadRom(), LOG_INFO, yaze::editor::RomLoadOptionsDialog::Open(), OpenRomOrProject(), yaze::project::WorkspaceSettings::prefer_hmagic_names, yaze::project::YazeProject::resource_labels, RETURN_IF_ERROR, rom_file_manager_, rom_load_options_dialog_, session_coordinator_, yaze::test::TestManager::SetCurrentRom(), yaze::editor::ToastManager::Show(), show_rom_load_options_, yaze::util::FileDialogWrapper::ShowOpenFileDialog(), toast_manager_, ui_coordinator_, and yaze::project::YazeProject::workspace_settings.

Referenced by CreateNewProject(), Initialize(), yaze::editor::MenuOrchestrator::OnOpenRom(), and yaze::editor::UICoordinator::UICoordinator().

◆ SaveRom()

absl::Status yaze::editor::EditorManager::SaveRom ( )

Save the current ROM file.

DELEGATION:

RESPONSIBILITIES STILL IN EDITORMANAGER:

  • Coordinating editor saves (dungeon maps, overworld maps, graphics sheets)
  • Checking feature flags to determine what to save
  • Accessing current session's editors

This stays in EditorManager because it requires knowledge of all editors and the order in which they must be saved to maintain ROM integrity.

Definition at line 1732 of file editor_manager.cc.

References yaze::gfx::Arena::Get(), yaze::core::FeatureFlags::get(), GetCurrentEditorSet(), GetCurrentRom(), RETURN_IF_ERROR, rom_file_manager_, yaze::zelda3::SaveAllGraphicsData(), yaze::zelda3::SaveDungeonMaps(), and yaze::editor::RomFileManager::SaveRom().

Referenced by Initialize(), yaze::editor::MenuOrchestrator::OnSaveRom(), and SaveRomAs().

◆ SaveRomAs()

absl::Status yaze::editor::EditorManager::SaveRomAs ( const std::string & filename)

◆ OpenRomOrProject()

◆ CreateNewProject()

absl::Status yaze::editor::EditorManager::CreateNewProject ( const std::string & template_name = "Basic ROM Hack")

◆ OpenProject()

◆ SaveProject()

◆ SaveProjectAs()

◆ ImportProject()

absl::Status yaze::editor::EditorManager::ImportProject ( const std::string & project_path)

◆ RepairCurrentProject()

absl::Status yaze::editor::EditorManager::RepairCurrentProject ( )

◆ LoadProjectWithRom()

absl::Status yaze::editor::EditorManager::LoadProjectWithRom ( )

Definition at line 1937 of file editor_manager.cc.

References yaze::editor::UserSettings::Preferences::autosave_enabled, yaze::project::WorkspaceSettings::autosave_enabled, yaze::editor::UserSettings::Preferences::autosave_interval, yaze::project::WorkspaceSettings::autosave_interval_secs, yaze::project::YazeProject::code_folder, ConfigureEditorDependencies(), current_project_, yaze::editor::RomSession::feature_flags, yaze::project::YazeProject::feature_flags, yaze::project::YazeProject::filepath, yaze::editor::UserSettings::Preferences::font_global_scale, yaze::project::WorkspaceSettings::font_global_scale, yaze::test::TestManager::Get(), yaze::core::FeatureFlags::get(), GetCurrentEditorSet(), GetCurrentRom(), GetCurrentSessionId(), yaze::project::YazeProject::GetDisplayName(), yaze::project::RecentFilesManager::GetInstance(), yaze::project::YazeProject::InitializeResourceLabelProvider(), yaze::editor::PanelManager::kDashboardCategory, yaze::editor::kInfo, yaze::editor::kSuccess, yaze::editor::kWarning, LoadAssets(), yaze::editor::RomFileManager::LoadRom(), LOG_DEBUG, LOG_INFO, panel_manager_, yaze::editor::UserSettings::prefs(), project_management_panel_, RETURN_IF_ERROR, rom_file_manager_, yaze::project::YazeProject::rom_filename, yaze::project::YazeProject::Save(), session_coordinator_, yaze::editor::PanelManager::SetActiveCategory(), yaze::test::TestManager::SetCurrentRom(), yaze::editor::PanelManager::SetFileBrowserPath(), yaze::editor::ToastManager::Show(), yaze::util::FileDialogWrapper::ShowOpenFileDialog(), toast_manager_, ui_coordinator_, user_settings_, version_manager_, and yaze::project::YazeProject::workspace_settings.

Referenced by EditorManager(), OpenProject(), and OpenRomOrProject().

◆ GetCurrentProject() [1/2]

project::YazeProject * yaze::editor::EditorManager::GetCurrentProject ( )
inline

Definition at line 327 of file editor_manager.h.

References current_project_.

Referenced by yaze::editor::MenuOrchestrator::HasProjectFile().

◆ GetCurrentProject() [2/2]

const project::YazeProject * yaze::editor::EditorManager::GetCurrentProject ( ) const
inline

Definition at line 328 of file editor_manager.h.

References current_project_.

◆ GetVersionManager()

core::VersionManager * yaze::editor::EditorManager::GetVersionManager ( )
inline

Definition at line 329 of file editor_manager.h.

References version_manager_.

◆ ShowProjectManagement()

void yaze::editor::EditorManager::ShowProjectManagement ( )

Injects dependencies into all editors within an EditorSet.

This function is called whenever a new session is created or a ROM is loaded into an existing session. It configures the EditorDependencies struct with pointers to all the managers and services that editors need, then applies them to the editor set.

Parameters
editor_setThe set of editors to configure
romThe ROM instance for this session
session_idThe unique ID for this session

Dependencies injected:

  • rom: The ROM data for this session
  • session_id: For creating session-aware card IDs
  • card_registry: For registering and managing editor cards
  • toast_manager: For showing user notifications
  • popup_manager: For displaying modal dialogs
  • shortcut_manager: For editor-specific shortcuts (future)
  • shared_clipboard: For cross-editor data sharing (e.g. tile copying)
  • user_settings: For accessing user preferences
  • renderer: For graphics operations (dungeon/overworld editors)
  • emulator: For accessing emulator functionality (music editor playback)

Definition at line 2293 of file editor_manager.cc.

References current_project_, GetCurrentRom(), yaze::editor::RightPanelManager::kProject, project_management_panel_, right_panel_manager_, and version_manager_.

Referenced by yaze::editor::MenuOrchestrator::OnShowProjectManagement().

Here is the call graph for this function:

◆ ShowProjectFileEditor()

◆ DrawRomSelector()

absl::Status yaze::editor::EditorManager::DrawRomSelector ( )
privatedelete

◆ LoadAssets()

◆ InitializeTestSuites()

void yaze::editor::EditorManager::InitializeTestSuites ( )
private

Definition at line 438 of file editor_manager.cc.

References yaze::test::TestManager::Get(), and yaze::test::RegisterZ3edTestSuites().

Referenced by Initialize().

Here is the call graph for this function:

◆ ApplyStartupVisibilityOverrides()

void yaze::editor::EditorManager::ApplyStartupVisibilityOverrides ( )
private

◆ BuildInputConfigFromSettings()

emu::input::InputConfig yaze::editor::EditorManager::BuildInputConfigFromSettings ( ) const
private

◆ PersistInputConfig()

void yaze::editor::EditorManager::PersistInputConfig ( const emu::input::InputConfig & config)
private

◆ ConfigureEditorDependencies()

Member Data Documentation

◆ quit_

bool yaze::editor::EditorManager::quit_ = false
private

Definition at line 348 of file editor_manager.h.

Referenced by Quit(), and quit().

◆ show_workspace_layout

bool yaze::editor::EditorManager::show_workspace_layout = false
private

Definition at line 354 of file editor_manager.h.

◆ session_to_rename_

size_t yaze::editor::EditorManager::session_to_rename_ = 0
private

Definition at line 355 of file editor_manager.h.

◆ session_rename_buffer_

char yaze::editor::EditorManager::session_rename_buffer_[256] = {}
private

Definition at line 356 of file editor_manager.h.

◆ proposal_drawer_

ProposalDrawer yaze::editor::EditorManager::proposal_drawer_
private

Definition at line 362 of file editor_manager.h.

Referenced by DrawMenuBar(), EditorManager(), and Initialize().

◆ show_proposal_drawer_

bool yaze::editor::EditorManager::show_proposal_drawer_ = false
private

Definition at line 363 of file editor_manager.h.

◆ agent_ui_

AgentUiController yaze::editor::EditorManager::agent_ui_
private

Definition at line 366 of file editor_manager.h.

Referenced by DrawMenuBar(), Initialize(), and Update().

◆ project_file_editor_

ProjectFileEditor yaze::editor::EditorManager::project_file_editor_
private

Definition at line 369 of file editor_manager.h.

Referenced by DrawMenuBar(), Initialize(), and ShowProjectFileEditor().

◆ dashboard_panel_

std::unique_ptr<DashboardPanel> yaze::editor::EditorManager::dashboard_panel_
private

◆ welcome_screen_

WelcomeScreen yaze::editor::EditorManager::welcome_screen_
private

Definition at line 374 of file editor_manager.h.

Referenced by Initialize().

◆ rom_load_options_dialog_

RomLoadOptionsDialog yaze::editor::EditorManager::rom_load_options_dialog_
private

Definition at line 375 of file editor_manager.h.

Referenced by Initialize(), LoadRom(), and Update().

◆ show_rom_load_options_

bool yaze::editor::EditorManager::show_rom_load_options_ = false
private

Definition at line 376 of file editor_manager.h.

Referenced by Initialize(), LoadRom(), and Update().

◆ welcome_mode_override_

StartupVisibility yaze::editor::EditorManager::welcome_mode_override_ = StartupVisibility::kAuto
private

Definition at line 377 of file editor_manager.h.

Referenced by ApplyStartupVisibility(), and ApplyStartupVisibilityOverrides().

◆ dashboard_mode_override_

StartupVisibility yaze::editor::EditorManager::dashboard_mode_override_ = StartupVisibility::kAuto
private

Definition at line 378 of file editor_manager.h.

Referenced by ApplyStartupVisibility(), and ApplyStartupVisibilityOverrides().

◆ sidebar_mode_override_

StartupVisibility yaze::editor::EditorManager::sidebar_mode_override_ = StartupVisibility::kAuto
private

Definition at line 379 of file editor_manager.h.

Referenced by ApplyStartupVisibility(), and ApplyStartupVisibilityOverrides().

◆ selection_properties_panel_

SelectionPropertiesPanel yaze::editor::EditorManager::selection_properties_panel_
private

Definition at line 382 of file editor_manager.h.

Referenced by ConfigureEditorDependencies(), EditorManager(), and OnSessionSwitched().

◆ project_management_panel_

std::unique_ptr<ProjectManagementPanel> yaze::editor::EditorManager::project_management_panel_
private

Definition at line 385 of file editor_manager.h.

Referenced by EditorManager(), LoadProjectWithRom(), and ShowProjectManagement().

◆ version_

std::string yaze::editor::EditorManager::version_ = ""
private

Definition at line 391 of file editor_manager.h.

Referenced by EditorManager(), and version().

◆ status_

absl::Status yaze::editor::EditorManager::status_
private

Definition at line 392 of file editor_manager.h.

Referenced by Initialize(), and Update().

◆ emulator_

emu::Emulator yaze::editor::EditorManager::emulator_
private

◆ current_editor_

Editor* yaze::editor::EditorManager::current_editor_ = nullptr
private

◆ renderer_

gfx::IRenderer* yaze::editor::EditorManager::renderer_ = nullptr
private

Definition at line 401 of file editor_manager.h.

Referenced by ConfigureEditorDependencies(), Initialize(), and LoadAssets().

◆ current_project_

◆ version_manager_

std::unique_ptr<core::VersionManager> yaze::editor::EditorManager::version_manager_
private

◆ shared_clipboard_

EditorDependencies::SharedClipboard yaze::editor::EditorManager::shared_clipboard_
private

Definition at line 405 of file editor_manager.h.

Referenced by ConfigureEditorDependencies().

◆ popup_manager_

std::unique_ptr<PopupManager> yaze::editor::EditorManager::popup_manager_
private

◆ toast_manager_

◆ menu_builder_

MenuBuilder yaze::editor::EditorManager::menu_builder_
private

Definition at line 408 of file editor_manager.h.

Referenced by EditorManager(), and menu_builder().

◆ shortcut_manager_

ShortcutManager yaze::editor::EditorManager::shortcut_manager_
private

Definition at line 409 of file editor_manager.h.

Referenced by ConfigureEditorDependencies(), EditorManager(), Initialize(), and Update().

◆ user_settings_

UserSettings yaze::editor::EditorManager::user_settings_
private

◆ panel_manager_

◆ editor_registry_

EditorRegistry yaze::editor::EditorManager::editor_registry_
private

Definition at line 414 of file editor_manager.h.

Referenced by EditorManager(), HideCurrentEditorPanels(), and Initialize().

◆ menu_orchestrator_

std::unique_ptr<MenuOrchestrator> yaze::editor::EditorManager::menu_orchestrator_
private

Definition at line 415 of file editor_manager.h.

Referenced by DrawMenuBar(), EditorManager(), and Initialize().

◆ project_manager_

ProjectManager yaze::editor::EditorManager::project_manager_
private

Definition at line 416 of file editor_manager.h.

Referenced by CreateNewProject(), EditorManager(), ImportProject(), and Initialize().

◆ rom_file_manager_

RomFileManager yaze::editor::EditorManager::rom_file_manager_
private

◆ ui_coordinator_

◆ window_delegate_

WindowDelegate yaze::editor::EditorManager::window_delegate_
private

◆ editor_activator_

EditorActivator yaze::editor::EditorManager::editor_activator_
private

◆ session_coordinator_

◆ layout_manager_

std::unique_ptr<LayoutManager> yaze::editor::EditorManager::layout_manager_
private

Definition at line 423 of file editor_manager.h.

Referenced by EditorManager(), and Initialize().

◆ layout_coordinator_

◆ right_panel_manager_

std::unique_ptr<RightPanelManager> yaze::editor::EditorManager::right_panel_manager_
private

◆ status_bar_

StatusBar yaze::editor::EditorManager::status_bar_
private

Definition at line 427 of file editor_manager.h.

Referenced by EditorManager(), LoadAssets(), OnSessionSwitched(), status_bar(), and Update().

◆ activity_bar_

std::unique_ptr<ActivityBar> yaze::editor::EditorManager::activity_bar_
private

Definition at line 428 of file editor_manager.h.

Referenced by EditorManager(), and Update().

◆ workspace_manager_

WorkspaceManager yaze::editor::EditorManager::workspace_manager_ {&toast_manager_}
private

◆ layout_designer_

layout_designer::LayoutDesignerWindow yaze::editor::EditorManager::layout_designer_
private

Definition at line 430 of file editor_manager.h.

Referenced by Initialize(), OpenLayoutDesigner(), and Update().

◆ autosave_timer_

float yaze::editor::EditorManager::autosave_timer_ = 0.0f
private

Definition at line 435 of file editor_manager.h.

Referenced by Update().

◆ deferred_actions_

std::vector<std::function<void()> > yaze::editor::EditorManager::deferred_actions_
private

Definition at line 438 of file editor_manager.h.

Referenced by QueueDeferredAction(), and Update().

◆ event_bus_

EventBus yaze::editor::EditorManager::event_bus_
private

Definition at line 441 of file editor_manager.h.

Referenced by EditorManager().

◆ editor_context_

std::unique_ptr<GlobalEditorContext> yaze::editor::EditorManager::editor_context_
private

Definition at line 442 of file editor_manager.h.

Referenced by EditorManager().


The documentation for this class was generated from the following files: