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 () |
Private Attributes | |
bool | quit_ = false |
bool | backup_rom_ = false |
bool | save_new_auto_ = true |
bool | new_project_menu = false |
bool | show_emulator_ = false |
bool | show_memory_editor_ = false |
bool | show_asm_editor_ = false |
bool | show_imgui_metrics_ = false |
bool | show_imgui_demo_ = false |
bool | show_palette_editor_ = false |
bool | show_resource_label_manager = false |
bool | show_workspace_layout = false |
bool | show_homepage_ = true |
std::string | version_ = "" |
absl::Status | status_ |
emu::Emulator | emulator_ |
std::deque< RomSession > | sessions_ |
Rom * | current_rom_ = nullptr |
EditorSet * | current_editor_set_ = nullptr |
Editor * | current_editor_ = nullptr |
EditorSet | blank_editor_set_ {} |
Project | current_project_ |
EditorContext | context_ |
std::unique_ptr< PopupManager > | popup_manager_ |
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 80 of file editor_manager.h.
|
inline |
Definition at line 82 of file editor_manager.h.
References context_, popup_manager_, and version_.
void yaze::editor::EditorManager::Initialize | ( | const std::string & | filename = "" | ) |
Definition at line 53 of file editor_manager.cc.
References 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_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::kMessageEditorName, yaze::editor::kMusicEditorName, yaze::editor::kOverworldEditorName, yaze::editor::kPaletteEditorName, yaze::editor::kScreenEditorName, yaze::gui::kSeparator, yaze::editor::kSettingsEditorName, yaze::editor::kSpriteEditorName, yaze::RecentFilesManager::Load(), LoadRom(), OpenProject(), OpenRomOrProject(), popup_manager_, PRINT_IF_ERROR, quit_, save_new_auto_, SaveProject(), SaveRom(), show_asm_editor_, show_emulator_, show_homepage_, show_imgui_demo_, show_imgui_metrics_, show_memory_editor_, show_workspace_layout, and status_.
absl::Status yaze::editor::EditorManager::Update | ( | ) |
Definition at line 269 of file editor_manager.cc.
References context_, current_editor_, current_editor_set_, DrawHomepage(), yaze::editor::ExecuteShortcuts(), yaze::editor::kOverworld, popup_manager_, show_homepage_, and status_.
void yaze::editor::EditorManager::DrawMenuBar | ( | ) |
Definition at line 393 of file editor_manager.cc.
References current_editor_set_, current_project_, current_rom_, yaze::gui::DrawDisplaySettings(), yaze::gui::DrawMenu(), DrawRomSelector(), emulator_, ICON_MD_DISPLAY_SETTINGS, yaze::gui::kDefaultModalSize, new_project_menu, SaveRom(), show_asm_editor_, show_emulator_, show_imgui_demo_, show_imgui_metrics_, show_memory_editor_, show_palette_editor_, show_resource_label_manager, yaze::editor::FileDialogWrapper::ShowOpenFileDialog(), yaze::editor::FileDialogWrapper::ShowOpenFolderDialog(), status_, and version_.
|
inline |
Definition at line 94 of file editor_manager.h.
References emulator_.
|
inline |
Definition at line 95 of file editor_manager.h.
References quit_.
|
inline |
Definition at line 96 of file editor_manager.h.
References version_.
absl::Status yaze::editor::EditorManager::SetCurrentRom | ( | Rom * | rom | ) |
Definition at line 630 of file editor_manager.cc.
References current_editor_set_, current_rom_, and sessions_.
Referenced by DrawRomSelector().
|
inline |
Definition at line 99 of file editor_manager.h.
References current_rom_.
|
inline |
Definition at line 100 of file editor_manager.h.
References current_editor_set_.
|
private |
Definition at line 306 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 374 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 506 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 529 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 548 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 570 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(), and Initialize().
|
private |
Definition at line 589 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 621 of file editor_manager.cc.
References current_project_, new_project_menu, and RETURN_IF_ERROR.
Referenced by Initialize().
|
private |
Definition at line 112 of file editor_manager.h.
Referenced by Initialize(), and quit().
|
private |
Definition at line 113 of file editor_manager.h.
Referenced by Initialize(), and SaveRom().
|
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 DrawMenuBar(), and SaveProject().
|
private |
Definition at line 117 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 118 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 119 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
private |
Definition at line 120 of file editor_manager.h.
Referenced by DrawMenuBar(), and Initialize().
|
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().
|
private |
Definition at line 123 of file editor_manager.h.
Referenced by DrawMenuBar().
|
private |
Definition at line 124 of file editor_manager.h.
Referenced by Initialize().
|
private |
Definition at line 125 of file editor_manager.h.
Referenced by Initialize(), and Update().
|
private |
Definition at line 127 of file editor_manager.h.
Referenced by DrawMenuBar(), EditorManager(), and version().
|
private |
Definition at line 129 of file editor_manager.h.
Referenced by DrawHomepage(), DrawMenuBar(), Initialize(), and Update().
|
private |
Definition at line 130 of file editor_manager.h.
Referenced by DrawMenuBar(), and emulator().
|
private |
Definition at line 141 of file editor_manager.h.
Referenced by DrawRomSelector(), LoadRom(), OpenProject(), OpenRomOrProject(), and SetCurrentRom().
|
private |
Definition at line 142 of file editor_manager.h.
Referenced by DrawHomepage(), DrawMenuBar(), DrawRomSelector(), GetCurrentRom(), Initialize(), LoadAssets(), LoadRom(), OpenProject(), OpenRomOrProject(), SaveRom(), and SetCurrentRom().
|
private |
Definition at line 143 of file editor_manager.h.
Referenced by DrawHomepage(), DrawMenuBar(), GetCurrentEditorSet(), Initialize(), LoadAssets(), LoadRom(), OpenProject(), OpenRomOrProject(), SaveRom(), SetCurrentRom(), and Update().
|
private |
Definition at line 144 of file editor_manager.h.
Referenced by Initialize(), and Update().
|
private |
Definition at line 145 of file editor_manager.h.
Referenced by Initialize().
|
private |
Definition at line 147 of file editor_manager.h.
Referenced by DrawMenuBar(), Initialize(), OpenProject(), OpenRomOrProject(), and SaveProject().
|
private |
Definition at line 148 of file editor_manager.h.
Referenced by EditorManager(), Initialize(), LoadRom(), OpenProject(), OpenRomOrProject(), and Update().
|
private |
Definition at line 149 of file editor_manager.h.
Referenced by EditorManager(), Initialize(), and Update().