Interface for editor classes. More...
#include <editor.h>
Inherited by yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::ScreenEditor, and yaze::editor::SpriteEditor.

Public Member Functions | |
| Editor ()=default | |
| virtual | ~Editor ()=default |
| void | SetDependencies (const EditorDependencies &deps) |
| virtual void | SetGameData (zelda3::GameData *game_data) |
| virtual void | Initialize ()=0 |
| virtual absl::Status | Load ()=0 |
| virtual absl::Status | Save ()=0 |
| virtual absl::Status | Update ()=0 |
| virtual absl::Status | Cut ()=0 |
| virtual absl::Status | Copy ()=0 |
| virtual absl::Status | Paste ()=0 |
| virtual absl::Status | Undo ()=0 |
| virtual absl::Status | Redo ()=0 |
| virtual absl::Status | Find ()=0 |
| virtual absl::Status | Clear () |
| EditorType | type () const |
| bool * | active () |
| void | set_active (bool active) |
| void | toggle_active () |
| virtual bool | IsRomLoaded () const |
| virtual std::string | GetRomStatus () const |
| Rom * | rom () const |
| zelda3::GameData * | game_data () const |
| EditorContext | context () const |
| bool | HasContext () const |
Protected Member Functions | |
| std::string | MakePanelTitle (const std::string &base_title) const |
| std::string | MakePanelId (const std::string &base_id) const |
| template<typename T > | |
| absl::StatusOr< T > | SafeRomAccess (std::function< T()> accessor, const std::string &operation="") const |
Protected Attributes | |
| bool | active_ = false |
| EditorType | type_ |
| EditorDependencies | dependencies_ |
Interface for editor classes.
Provides basic editing operations that each editor should implement.
|
default |
|
virtualdefault |
|
inline |
Definition at line 184 of file editor.h.
References dependencies_.
|
inlinevirtual |
Reimplemented in yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::OverworldEditor, and yaze::editor::PaletteEditor.
Definition at line 187 of file editor.h.
References dependencies_, yaze::editor::EditorDependencies::game_data, and game_data().
Referenced by yaze::editor::PaletteEditor::SetGameData().

|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
pure virtual |
Implemented in yaze::editor::DungeonEditorV2, yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
pure virtual |
Implemented in yaze::editor::OverworldEditor, yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, and yaze::editor::SpriteEditor.
|
inlinevirtual |
Reimplemented in yaze::editor::OverworldEditor.
|
inline |
Definition at line 214 of file editor.h.
References type_.
Referenced by yaze::editor::EditorManager::HideCurrentEditorPanels(), yaze::editor::EditorManager::ResetCurrentEditorLayout(), yaze::editor::EditorManager::SetCurrentEditor(), and yaze::editor::EditorManager::Update().
|
inline |
Definition at line 216 of file editor.h.
References active_.
Referenced by set_active(), and yaze::editor::AgentEditor::SetChatActive().
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented in yaze::editor::DungeonEditorV2, and yaze::editor::OverworldEditor.
Definition at line 221 of file editor.h.
Referenced by SafeRomAccess().
|
inlinevirtual |
Reimplemented in yaze::editor::DungeonEditorV2, and yaze::editor::OverworldEditor.
|
inline |
Definition at line 227 of file editor.h.
References dependencies_, and yaze::editor::EditorDependencies::rom.
Referenced by yaze::editor::AgentEditor::InitializeWithDependencies(), and yaze::editor::AgentEditor::SetRomContext().
|
inline |
Definition at line 228 of file editor.h.
References dependencies_, and yaze::editor::EditorDependencies::game_data.
Referenced by yaze::editor::GraphicsEditor::DecompressImportData(), yaze::editor::GraphicsEditor::DecompressSuperDonkey(), yaze::editor::ScreenEditor::DrawDungeonMapsRoomGfx(), yaze::editor::ScreenEditor::DrawInventoryMenuEditor(), yaze::editor::PaletteEditor::DrawPaletteGroup(), yaze::editor::ScreenEditor::DrawTitleScreenEditor(), yaze::editor::MessageEditor::Initialize(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::GraphicsEditor::Load(), yaze::editor::ScreenEditor::Load(), yaze::editor::PaletteEditor::Load(), yaze::editor::ScreenEditor::LoadBinaryGfx(), yaze::editor::SpriteEditor::LoadSpritePalettes(), yaze::editor::DungeonEditorV2::OnRoomSelected(), yaze::editor::GraphicsEditor::Save(), SetGameData(), yaze::editor::DungeonEditorV2::SetGameData(), yaze::editor::GraphicsEditor::SetGameData(), yaze::editor::OverworldEditor::SetGameData(), and yaze::editor::PaletteEditor::SetGameData().
|
inline |
Definition at line 231 of file editor.h.
References yaze::editor::EditorDependencies::context(), and dependencies_.

|
inline |
Definition at line 232 of file editor.h.
References dependencies_, and yaze::editor::EditorDependencies::HasContext().

|
inlineprotected |
Definition at line 240 of file editor.h.
References dependencies_, and yaze::editor::EditorDependencies::session_id.
Referenced by yaze::editor::DungeonEditorV2::DrawRoomPanels().
|
inlineprotected |
Definition at line 248 of file editor.h.
References dependencies_, and yaze::editor::EditorDependencies::session_id.
|
inlineprotected |
Definition at line 257 of file editor.h.
References IsRomLoaded().

|
protected |
Definition at line 235 of file editor.h.
Referenced by active(), yaze::editor::AgentEditor::DrawDashboard(), set_active(), toggle_active(), and yaze::editor::AgentEditor::Update().
|
protected |
Definition at line 236 of file editor.h.
Referenced by yaze::editor::AgentEditor::AgentEditor(), yaze::editor::AssemblyEditor::AssemblyEditor(), yaze::editor::DungeonEditorV2::DungeonEditorV2(), yaze::editor::GraphicsEditor::GraphicsEditor(), yaze::editor::MessageEditor::MessageEditor(), yaze::editor::MusicEditor::MusicEditor(), yaze::editor::OverworldEditor::OverworldEditor(), yaze::editor::PaletteEditor::PaletteEditor(), yaze::editor::ScreenEditor::ScreenEditor(), yaze::editor::SpriteEditor::SpriteEditor(), and type().
|
protected |
Definition at line 237 of file editor.h.
Referenced by context(), yaze::editor::OverworldEditor::Copy(), yaze::editor::AssemblyEditor::DrawAssembleMenu(), yaze::editor::AssemblyEditor::DrawBuildOutput(), yaze::editor::PaletteEditor::DrawControlPanel(), yaze::editor::AssemblyEditor::DrawCurrentFolder(), yaze::editor::MessageEditor::DrawExpandedMessageSettings(), yaze::editor::AssemblyEditor::DrawFileBrowser(), yaze::editor::OverworldEditor::DrawOverworldCanvas(), yaze::editor::DungeonEditorV2::DrawRoomPanels(), yaze::editor::OverworldEditor::DrawScratchSpacePattern(), yaze::editor::OverworldEditor::DrawTile16Selector(), game_data(), yaze::editor::OverworldEditor::HandleKeyboardShortcuts(), yaze::editor::OverworldEditor::HandleTile16Edit(), HasContext(), yaze::editor::AgentEditor::Initialize(), yaze::editor::AssemblyEditor::Initialize(), yaze::editor::GraphicsEditor::Initialize(), yaze::editor::ScreenEditor::Initialize(), yaze::editor::MessageEditor::Initialize(), yaze::editor::MusicEditor::Initialize(), yaze::editor::OverworldEditor::Initialize(), yaze::editor::PaletteEditor::Initialize(), yaze::editor::SpriteEditor::Initialize(), yaze::editor::DungeonEditorV2::Initialize(), yaze::editor::PaletteEditor::JumpToPalette(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::PaletteEditor::Load(), MakePanelId(), MakePanelTitle(), yaze::editor::MessageEditor::MessageEditor(), yaze::editor::DungeonEditorV2::OnRoomSelected(), yaze::editor::MusicEditor::OpenSong(), yaze::editor::MusicEditor::OpenSongPianoRoll(), yaze::editor::OverworldEditor::OverworldEditor(), yaze::editor::OverworldEditor::Paste(), yaze::editor::DungeonEditorV2::ProcessPendingSwap(), rom(), yaze::editor::DungeonEditorV2::SetAgentMode(), SetDependencies(), SetGameData(), yaze::editor::DungeonEditorV2::SetGameData(), yaze::editor::DungeonEditorV2::ShowPanel(), yaze::editor::OverworldEditor::Update(), and yaze::editor::MusicEditor::Update().