The EditorManager controls the main editor window and manages the various editor classes. More...
#include <editor_manager.h>
Classes | |
struct | RomSession |
Public Member Functions | |
EditorManager () | |
void | Initialize (const std::string &filename="") |
absl::Status | Update () |
void | DrawMenuBar () |
auto | emulator () -> emu::Emulator & |
auto | quit () const |
auto | version () const |
absl::Status | SetCurrentRom (Rom *rom) |
auto | GetCurrentRom () -> Rom * |
auto | GetCurrentEditorSet () -> EditorSet * |
Private Member Functions | |
void | DrawHomepage () |
absl::Status | DrawRomSelector () |
absl::Status | LoadRom () |
absl::Status | LoadAssets () |
absl::Status | SaveRom () |
absl::Status | OpenRomOrProject (const std::string &filename) |
absl::Status | OpenProject () |
absl::Status | SaveProject () |
void | LoadUserSettings () |
void | SaveUserSettings () |
void | RefreshWorkspacePresets () |
void | SaveWorkspacePreset (const std::string &name) |
void | LoadWorkspacePreset (const std::string &name) |
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.
Definition at line 81 of file editor_manager.h.
|
inline |
Definition at line 83 of file editor_manager.h.
References context_, popup_manager_, and version_.
void yaze::editor::EditorManager::Initialize | ( | const std::string & | filename = "" | ) |
Definition at line 119 of file editor_manager.cc.
References autosave_enabled_, autosave_interval_secs_, backup_rom_, blank_editor_set_, context_, current_editor_, current_editor_set_, current_project_, current_rom_, yaze::RecentFilesManager::GetRecentFiles(), ICON_MD_BALLOT, ICON_MD_CLOSE, ICON_MD_CONTENT_COPY, ICON_MD_CONTENT_CUT, ICON_MD_CONTENT_PASTE, ICON_MD_EXIT_TO_APP, ICON_MD_FILE_DOWNLOAD, ICON_MD_FILE_OPEN, ICON_MD_GAMEPAD, ICON_MD_HELP, ICON_MD_HISTORY, ICON_MD_HOME, ICON_MD_MEMORY, ICON_MD_MISCELLANEOUS_SERVICES, ICON_MD_REDO, ICON_MD_SAVE_AS, ICON_MD_SEARCH, ICON_MD_SIM_CARD, ICON_MD_SPACE_DASHBOARD, ICON_MD_UNDO, yaze::editor::kAssemblyEditorName, yaze::editor::kDungeonEditorName, yaze::editor::kGraphicsEditorName, yaze::editor::kInfo, yaze::editor::kMessageEditorName, yaze::editor::kMusicEditorName, yaze::editor::kOverworldEditorName, yaze::editor::kPaletteEditorName, yaze::editor::kScreenEditorName, yaze::gui::kSeparator, yaze::editor::kSettingsEditorName, yaze::editor::kSpriteEditorName, yaze::editor::kSuccess, yaze::RecentFilesManager::Load(), LoadRom(), LoadUserSettings(), OpenProject(), OpenRomOrProject(), popup_manager_, PRINT_IF_ERROR, quit_, RefreshWorkspacePresets(), save_new_auto_, SaveProject(), SaveRom(), SaveUserSettings(), show_asm_editor_, show_command_palette_, show_emulator_, show_global_search_, show_homepage_, show_imgui_demo_, show_imgui_metrics_, show_load_workspace_preset_, show_memory_editor_, show_save_workspace_preset_, show_workspace_layout, status_, and toast_manager_.
absl::Status yaze::editor::EditorManager::Update | ( | ) |
Definition at line 379 of file editor_manager.cc.
References autosave_enabled_, autosave_interval_secs_, autosave_timer_, yaze::Rom::SaveSettings::backup, context_, current_editor_, current_editor_set_, current_rom_, DrawHomepage(), yaze::editor::ExecuteShortcuts(), yaze::editor::kError, yaze::editor::kOverworld, yaze::editor::kSuccess, popup_manager_, yaze::Rom::SaveSettings::save_new, show_homepage_, status_, and toast_manager_.
void yaze::editor::EditorManager::DrawMenuBar | ( | ) |
Definition at line 530 of file editor_manager.cc.
References context_, current_editor_set_, current_project_, current_rom_, yaze::gui::DrawDisplaySettings(), yaze::gui::DrawFontManager(), yaze::gui::DrawMenu(), DrawRomSelector(), emulator_, font_global_scale_, yaze::RecentFilesManager::GetRecentFiles(), ICON_MD_DISPLAY_SETTINGS, ICON_MD_HISTORY, ICON_MD_LABEL, ICON_MD_SEARCH, yaze::gui::kDefaultModalSize, yaze::editor::kSuccess, yaze::RecentFilesManager::Load(), LoadWorkspacePreset(), new_project_menu, OpenRomOrProject(), SaveRom(), SaveUserSettings(), SaveWorkspacePreset(), show_asm_editor_, show_command_palette_, show_emulator_, show_global_search_, show_imgui_demo_, show_imgui_metrics_, show_load_workspace_preset_, show_memory_editor_, show_palette_editor_, show_resource_label_manager, show_save_workspace_preset_, yaze::editor::FileDialogWrapper::ShowOpenFileDialog(), yaze::editor::FileDialogWrapper::ShowOpenFolderDialog(), status_, yaze::gui::TextWithSeparators(), toast_manager_, version_, and workspace_presets_.
|
inline |
Definition at line 95 of file editor_manager.h.
References emulator_.
|
inline |
Definition at line 96 of file editor_manager.h.
References quit_.
|
inline |
Definition at line 97 of file editor_manager.h.
References version_.
absl::Status yaze::editor::EditorManager::SetCurrentRom | ( | Rom * | rom | ) |
Definition at line 875 of file editor_manager.cc.
References current_editor_set_, current_rom_, and sessions_.
Referenced by DrawRomSelector().
|
inline |
Definition at line 100 of file editor_manager.h.
References current_rom_.
|
inline |
Definition at line 101 of file editor_manager.h.
References current_editor_set_.
|
private |
Definition at line 436 of file editor_manager.cc.
References yaze::gui::ClickableText(), current_editor_set_, current_rom_, yaze::core::FeatureFlags::get(), yaze::RecentFilesManager::GetRecentFiles(), yaze::editor::kDungeonEditorName, yaze::editor::kGraphicsEditorName, yaze::editor::kMessageEditorName, yaze::editor::kMusicEditorName, yaze::editor::kOverworldEditorName, yaze::editor::kPaletteEditorName, yaze::editor::kScreenEditorName, yaze::editor::kSettingsEditorName, yaze::editor::kSpriteEditorName, yaze::RecentFilesManager::Load(), LoadRom(), OpenRomOrProject(), yaze::gui::OpenUrl(), and status_.
Referenced by Update().
|
private |
Definition at line 504 of file editor_manager.cc.
References current_rom_, RETURN_IF_ERROR, sessions_, SetCurrentRom(), and yaze::Rom::short_name().
Referenced by DrawMenuBar().
|
private |
Definition at line 745 of file editor_manager.cc.
References yaze::editor::EditorSet::active_editors_, yaze::RecentFilesManager::AddFile(), context_, current_editor_set_, current_rom_, yaze::editor::EditorManager::RomSession::editors, yaze::RecentFilesManager::Load(), LoadAssets(), yaze::Rom::LoadFromFile(), RETURN_IF_ERROR, yaze::editor::EditorManager::RomSession::rom, yaze::RecentFilesManager::Save(), sessions_, and yaze::editor::FileDialogWrapper::ShowOpenFileDialog().
Referenced by DrawHomepage(), and Initialize().
|
private |
Definition at line 771 of file editor_manager.cc.
References ASSIGN_OR_RETURN, current_editor_set_, current_rom_, yaze::gfx::Arena::Get(), yaze::LoadAllGraphicsData(), and RETURN_IF_ERROR.
Referenced by LoadRom(), OpenProject(), and OpenRomOrProject().
|
private |
Definition at line 790 of file editor_manager.cc.
References yaze::Rom::SaveSettings::backup, backup_rom_, current_editor_set_, current_rom_, yaze::gfx::Arena::Get(), yaze::core::FeatureFlags::get(), RETURN_IF_ERROR, yaze::Rom::SaveSettings::save_new, save_new_auto_, yaze::SaveAllGraphicsData(), and yaze::zelda3::SaveDungeonMaps().
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 812 of file editor_manager.cc.
References yaze::editor::EditorSet::active_editors_, context_, current_editor_set_, current_project_, current_rom_, yaze::editor::EditorManager::RomSession::editors, LoadAssets(), yaze::Rom::LoadFromFile(), OpenProject(), RETURN_IF_ERROR, yaze::editor::EditorManager::RomSession::rom, and sessions_.
Referenced by DrawHomepage(), DrawMenuBar(), and Initialize().
|
private |
Definition at line 834 of file editor_manager.cc.
References yaze::editor::EditorSet::active_editors_, yaze::RecentFilesManager::AddFile(), context_, current_editor_set_, current_project_, current_rom_, yaze::editor::EditorManager::RomSession::editors, yaze::RecentFilesManager::Load(), LoadAssets(), yaze::Rom::LoadFromFile(), yaze::ResourceLabelManager::LoadLabels(), yaze::Rom::resource_label(), RETURN_IF_ERROR, yaze::editor::EditorManager::RomSession::rom, yaze::RecentFilesManager::Save(), and sessions_.
Referenced by Initialize(), and OpenRomOrProject().
|
private |
Definition at line 866 of file editor_manager.cc.
References current_project_, new_project_menu, and RETURN_IF_ERROR.
Referenced by Initialize().
|
private |
Definition at line 43 of file editor_manager.cc.
References autosave_enabled_, autosave_interval_secs_, font_global_scale_, yaze::core::LoadConfigFile(), and settings_filename_.
Referenced by Initialize().
|
private |
Definition at line 64 of file editor_manager.cc.
References autosave_enabled_, autosave_interval_secs_, font_global_scale_, yaze::core::SaveFile(), and settings_filename_.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 72 of file editor_manager.cc.
References yaze::core::LoadConfigFile(), and workspace_presets_.
Referenced by Initialize(), and SaveWorkspacePreset().
|
private |
Definition at line 86 of file editor_manager.cc.
References last_workspace_preset_, RefreshWorkspacePresets(), yaze::core::SaveFile(), and workspace_presets_.
Referenced by DrawMenuBar().
|
private |
Definition at line 101 of file editor_manager.cc.
References last_workspace_preset_.
Referenced by DrawMenuBar().
|
private |
Definition at line 113 of file editor_manager.h.
Referenced by Initialize(), and quit().
|
private |
Definition at line 114 of file editor_manager.h.
Referenced by Initialize(), and SaveRom().
|
private |
Definition at line 115 of file editor_manager.h.
Referenced by Initialize(), and SaveRom().
|
private |
Definition at line 116 of file editor_manager.h.
Referenced by Initialize(), LoadUserSettings(), SaveUserSettings(), and Update().
|
private |
Definition at line 117 of file editor_manager.h.
Referenced by Initialize(), LoadUserSettings(), SaveUserSettings(), and Update().
|
private |
Definition at line 118 of file editor_manager.h.
Referenced by Update().
|
private |
Definition at line 119 of file editor_manager.h.
Referenced by DrawMenuBar(), and SaveProject().
|
private |
Definition at line 121 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 122 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 123 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 124 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 125 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 126 of file editor_manager.h.
Referenced by DrawMenuBar().
|
private |
Definition at line 127 of file editor_manager.h.
Referenced by DrawMenuBar().
|
private |
Definition at line 128 of file editor_manager.h.
Referenced by Initialize().
|
private |
Definition at line 129 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 130 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 131 of file editor_manager.h.
Referenced by Initialize(), and Update().
|
private |
Definition at line 132 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 133 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 135 of file editor_manager.h.
Referenced by DrawMenuBar(), EditorManager(), and version().
|
private |
Definition at line 136 of file editor_manager.h.
Referenced by LoadUserSettings(), and SaveUserSettings().
|
private |
Definition at line 137 of file editor_manager.h.
Referenced by DrawMenuBar(), LoadUserSettings(), and SaveUserSettings().
|
private |
Definition at line 138 of file editor_manager.h.
Referenced by DrawMenuBar(), RefreshWorkspacePresets(), and SaveWorkspacePreset().
|
private |
Definition at line 139 of file editor_manager.h.
Referenced by LoadWorkspacePreset(), and SaveWorkspacePreset().
|
private |
Definition at line 140 of file editor_manager.h.
|
private |
Definition at line 142 of file editor_manager.h.
Referenced by DrawHomepage(), DrawMenuBar(), Initialize(), and Update().
|
private |
Definition at line 143 of file editor_manager.h.
Referenced by DrawMenuBar(), and emulator().
|
private |
Definition at line 154 of file editor_manager.h.
Referenced by DrawRomSelector(), LoadRom(), OpenProject(), OpenRomOrProject(), and SetCurrentRom().
|
private |
Definition at line 155 of file editor_manager.h.
Referenced by DrawHomepage(), DrawMenuBar(), DrawRomSelector(), GetCurrentRom(), Initialize(), LoadAssets(), LoadRom(), OpenProject(), OpenRomOrProject(), SaveRom(), SetCurrentRom(), and Update().
|
private |
Definition at line 156 of file editor_manager.h.
Referenced by DrawHomepage(), DrawMenuBar(), GetCurrentEditorSet(), Initialize(), LoadAssets(), LoadRom(), OpenProject(), OpenRomOrProject(), SaveRom(), SetCurrentRom(), and Update().
|
private |
Definition at line 157 of file editor_manager.h.
Referenced by Initialize(), and Update().
|
private |
Definition at line 158 of file editor_manager.h.
Referenced by Initialize().
|
private |
Definition at line 160 of file editor_manager.h.
Referenced by DrawMenuBar(), Initialize(), OpenProject(), OpenRomOrProject(), and SaveProject().
|
private |
Definition at line 161 of file editor_manager.h.
Referenced by DrawMenuBar(), EditorManager(), Initialize(), LoadRom(), OpenProject(), OpenRomOrProject(), and Update().
|
private |
Definition at line 162 of file editor_manager.h.
Referenced by EditorManager(), Initialize(), and Update().
|
private |
Definition at line 163 of file editor_manager.h.
Referenced by DrawMenuBar(), Initialize(), and Update().