Contains a complete set of editors for a single ROM instance. More...
#include <session_types.h>

Public Attributes | |
| std::vector< Editor * > | active_editors_ |
Private Types | |
| using | EditorFactory = std::function<std::unique_ptr<Editor>()> |
Private Member Functions | |
| Editor * | FindEditor (EditorType type) const |
| Editor * | EnsureEditorCreated (EditorType type) const |
| bool | ShouldTrackAsActiveEditor (EditorType type) const |
| void | TrackActiveEditor (Editor *editor) |
Private Attributes | |
| size_t | session_id_ = 0 |
| Rom * | rom_ = nullptr |
| zelda3::GameData * | game_data_ = nullptr |
| UserSettings * | user_settings_ = nullptr |
| EditorRegistry * | editor_registry_ = nullptr |
| std::optional< EditorDependencies > | dependencies_ |
| std::unordered_map< EditorType, std::unique_ptr< Editor > > | editors_ |
| std::unordered_map< EditorType, EditorFactory > | editor_factories_ |
| std::unique_ptr< GfxGroupWorkspaceState > | gfx_group_workspace_ |
Contains a complete set of editors for a single ROM instance.
Definition at line 54 of file session_types.h.
|
private |
Definition at line 128 of file session_types.h.
|
explicit |
Definition at line 23 of file session_types.cc.
References yaze::editor::EditorRegistry::CreateEditor(), editor_factories_, editor_registry_, yaze::editor::kAssembly, yaze::editor::kDungeon, yaze::editor::kGraphics, yaze::editor::kHex, yaze::editor::kMessage, yaze::editor::kMusic, yaze::editor::kOverworld, yaze::editor::kPalette, yaze::editor::kScreen, yaze::editor::kSettings, yaze::editor::kSprite, and rom_.

|
default |
| void yaze::editor::EditorSet::set_user_settings | ( | UserSettings * | settings | ) |
Definition at line 74 of file session_types.cc.
References GetSettingsPanel(), and user_settings_.
Referenced by yaze::editor::EditorManager::ConfigureSession().

| void yaze::editor::EditorSet::SetGameData | ( | zelda3::GameData * | game_data | ) |
Definition at line 81 of file session_types.cc.
References editors_, and game_data_.
| void yaze::editor::EditorSet::ApplyDependencies | ( | const EditorDependencies & | dependencies | ) |
Definition at line 89 of file session_types.cc.
References dependencies_, and editors_.
Referenced by yaze::editor::EditorManager::ConfigureEditorDependencies().
|
inline |
Definition at line 67 of file session_types.h.
References session_id_.
Referenced by yaze::editor::EditorManager::ConfigureSession().
| Editor * yaze::editor::EditorSet::GetEditor | ( | EditorType | type | ) | const |
Definition at line 96 of file session_types.cc.
References EnsureEditorCreated().
Referenced by GetEditorAs(), and yaze::editor::EditorManager::GetEditorByType().

|
inline |
Definition at line 73 of file session_types.h.
References GetEditor().

| void yaze::editor::EditorSet::OpenAssemblyFolder | ( | const std::string & | folder_path | ) | const |
Definition at line 179 of file session_types.cc.
References GetAssemblyEditor().

| void yaze::editor::EditorSet::ChangeActiveAssemblyFile | ( | std::string_view | path | ) | const |
Definition at line 185 of file session_types.cc.
References GetAssemblyEditor().

| core::AsarWrapper * yaze::editor::EditorSet::GetAsarWrapper | ( | ) | const |
Definition at line 191 of file session_types.cc.
References FindEditor(), and yaze::editor::kAssembly.

| const std::map< std::string, core::AsarSymbol > & yaze::editor::EditorSet::GetAssemblySymbols | ( | ) | const |
Definition at line 200 of file session_types.cc.
References FindEditor(), and yaze::editor::kAssembly.

| int yaze::editor::EditorSet::LoadedDungeonRoomCount | ( | ) | const |
Definition at line 209 of file session_types.cc.
References FindEditor(), and yaze::editor::kDungeon.

| int yaze::editor::EditorSet::TotalDungeonRoomCount | ( | ) | const |
Definition at line 217 of file session_types.cc.
References FindEditor(), and yaze::editor::kDungeon.

| std::vector< std::pair< uint32_t, uint32_t > > yaze::editor::EditorSet::CollectDungeonWriteRanges | ( | ) | const |
Definition at line 226 of file session_types.cc.
References FindEditor(), and yaze::editor::kDungeon.

| zelda3::Overworld * yaze::editor::EditorSet::GetOverworldData | ( | ) | const |
Definition at line 234 of file session_types.cc.
References FindEditor(), and yaze::editor::kOverworld.

| AssemblyEditor * yaze::editor::EditorSet::GetAssemblyEditor | ( | ) | const |
Definition at line 243 of file session_types.cc.
References yaze::editor::kAssembly.
Referenced by ChangeActiveAssemblyFile(), and OpenAssemblyFolder().
| DungeonEditorV2 * yaze::editor::EditorSet::GetDungeonEditor | ( | ) | const |
Definition at line 246 of file session_types.cc.
References yaze::editor::kDungeon.
| GraphicsEditor * yaze::editor::EditorSet::GetGraphicsEditor | ( | ) | const |
Definition at line 249 of file session_types.cc.
References yaze::editor::kGraphics.
| MusicEditor * yaze::editor::EditorSet::GetMusicEditor | ( | ) | const |
Definition at line 252 of file session_types.cc.
References yaze::editor::kMusic.
| OverworldEditor * yaze::editor::EditorSet::GetOverworldEditor | ( | ) | const |
Definition at line 255 of file session_types.cc.
References yaze::editor::kOverworld.
| PaletteEditor * yaze::editor::EditorSet::GetPaletteEditor | ( | ) | const |
Definition at line 258 of file session_types.cc.
References yaze::editor::kPalette.
| ScreenEditor * yaze::editor::EditorSet::GetScreenEditor | ( | ) | const |
Definition at line 261 of file session_types.cc.
References yaze::editor::kScreen.
| SpriteEditor * yaze::editor::EditorSet::GetSpriteEditor | ( | ) | const |
Definition at line 264 of file session_types.cc.
References yaze::editor::kSprite.
| SettingsPanel * yaze::editor::EditorSet::GetSettingsPanel | ( | ) | const |
Definition at line 267 of file session_types.cc.
References yaze::editor::kSettings.
Referenced by yaze::editor::EditorManager::HandleSessionSwitched(), and set_user_settings().
| MessageEditor * yaze::editor::EditorSet::GetMessageEditor | ( | ) | const |
Definition at line 270 of file session_types.cc.
References yaze::editor::kMessage.
| MemoryEditor * yaze::editor::EditorSet::GetMemoryEditor | ( | ) | const |
Definition at line 273 of file session_types.cc.
References yaze::editor::kHex.
|
inline |
Shared Gfx Groups UI state for this ROM session (Graphics + Overworld).
Definition at line 118 of file session_types.h.
References gfx_group_workspace_.
Referenced by yaze::editor::EditorManager::ConfigureEditorDependencies().
|
inline |
Definition at line 121 of file session_types.h.
References gfx_group_workspace_.
|
private |
Definition at line 100 of file session_types.cc.
References editors_, and yaze::editor::kUnknown.
Referenced by CollectDungeonWriteRanges(), EnsureEditorCreated(), GetAsarWrapper(), GetAssemblySymbols(), GetOverworldData(), LoadedDungeonRoomCount(), and TotalDungeonRoomCount().
|
private |
Definition at line 111 of file session_types.cc.
References dependencies_, editor_factories_, editors_, FindEditor(), game_data_, yaze::editor::kSettings, yaze::editor::kUnknown, yaze::editor::Editor::SetDependencies(), ShouldTrackAsActiveEditor(), TrackActiveEditor(), and user_settings_.
Referenced by GetEditor().

|
private |
Definition at line 152 of file session_types.cc.
References yaze::editor::kAssembly, yaze::editor::kDungeon, yaze::editor::kGraphics, yaze::editor::kMessage, yaze::editor::kMusic, yaze::editor::kOverworld, yaze::editor::kPalette, yaze::editor::kScreen, and yaze::editor::kSprite.
Referenced by EnsureEditorCreated().
|
private |
Definition at line 169 of file session_types.cc.
References active_editors_.
Referenced by EnsureEditorCreated().
| std::vector<Editor*> yaze::editor::EditorSet::active_editors_ |
Definition at line 125 of file session_types.h.
Referenced by yaze::editor::EditorManager::CollectEditorsToPreload(), yaze::editor::EditorActivator::DeactivatePanelBasedEditor(), and TrackActiveEditor().
|
private |
Definition at line 135 of file session_types.h.
Referenced by session_id().
|
private |
Definition at line 136 of file session_types.h.
Referenced by EditorSet().
|
private |
Definition at line 137 of file session_types.h.
Referenced by EnsureEditorCreated(), and SetGameData().
|
private |
Definition at line 138 of file session_types.h.
Referenced by EnsureEditorCreated(), and set_user_settings().
|
private |
Definition at line 139 of file session_types.h.
Referenced by EditorSet().
|
private |
Definition at line 141 of file session_types.h.
Referenced by ApplyDependencies(), and EnsureEditorCreated().
|
mutableprivate |
Definition at line 142 of file session_types.h.
Referenced by ApplyDependencies(), EnsureEditorCreated(), FindEditor(), and SetGameData().
|
private |
Definition at line 143 of file session_types.h.
Referenced by EditorSet(), and EnsureEditorCreated().
|
private |
Definition at line 145 of file session_types.h.
Referenced by gfx_group_workspace(), and gfx_group_workspace().