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

Public Member Functions | |
| Editor ()=default | |
| virtual | ~Editor ()=default |
| virtual 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 std::string | GetUndoDescription () const |
| virtual std::string | GetRedoDescription () const |
| const UndoManager & | undo_manager () const |
| 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_ |
| UndoManager | undo_manager_ |
Interface for editor classes.
Provides basic editing operations that each editor should implement.
|
default |
|
virtualdefault |
|
inlinevirtual |
Reimplemented in yaze::editor::MemoryEditor, yaze::editor::MusicEditor, and yaze::editor::SettingsPanel.
Definition at line 241 of file editor.h.
References dependencies_.
Referenced by yaze::editor::MemoryEditor::SetDependencies(), yaze::editor::MusicEditor::SetDependencies(), and yaze::editor::SettingsPanel::SetDependencies().
|
inlinevirtual |
Reimplemented in yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::MessageEditor, yaze::editor::OverworldEditor, and yaze::editor::PaletteEditor.
Definition at line 246 of file editor.h.
References dependencies_, yaze::editor::EditorDependencies::game_data, and game_data().
Referenced by yaze::editor::MessageEditor::SetGameData(), and yaze::editor::PaletteEditor::SetGameData().

|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
|
pure virtual |
Implemented in yaze::editor::OverworldEditor, yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
Referenced by yaze::editor::MenuOrchestrator::OnCut().
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
Referenced by yaze::editor::MenuOrchestrator::OnCopy().
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
Referenced by yaze::editor::MenuOrchestrator::OnPaste().
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
Referenced by yaze::editor::EditorManager::HandleUIActionRequest(), and yaze::editor::MenuOrchestrator::OnUndo().
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
Referenced by yaze::editor::EditorManager::HandleUIActionRequest(), and yaze::editor::MenuOrchestrator::OnRedo().
|
inlinevirtual |
Definition at line 270 of file editor.h.
References yaze::editor::UndoManager::GetUndoDescription(), and undo_manager_.
Referenced by yaze::editor::MenuOrchestrator::OnUndo().

|
inlinevirtual |
Definition at line 273 of file editor.h.
References yaze::editor::UndoManager::GetRedoDescription(), and undo_manager_.
Referenced by yaze::editor::MenuOrchestrator::OnRedo().

|
inline |
Definition at line 277 of file editor.h.
References undo_manager_.
|
pure virtual |
Implemented in yaze::editor::AgentEditor, yaze::editor::AssemblyEditor, yaze::editor::MemoryEditor, yaze::editor::DungeonEditorV2, yaze::editor::GraphicsEditor, yaze::editor::ScreenEditor, yaze::editor::MessageEditor, yaze::editor::MusicEditor, yaze::editor::OverworldEditor, yaze::editor::PaletteEditor, yaze::editor::SpriteEditor, and yaze::editor::SettingsPanel.
Referenced by yaze::editor::MenuOrchestrator::OnFind().
|
inlinevirtual |
Reimplemented in yaze::editor::OverworldEditor.
|
inline |
Definition at line 283 of file editor.h.
References type_.
Referenced by yaze::editor::EditorManager::ApplyLayoutProfile(), yaze::editor::PopupManager::DrawLayoutPresetsPopup(), yaze::editor::EditorManager::ResetCurrentEditorLayout(), yaze::editor::EditorManager::SetCurrentEditor(), and yaze::editor::EditorManager::UpdateEditorState().
|
inline |
Definition at line 285 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 290 of file editor.h.
Referenced by SafeRomAccess().
|
inlinevirtual |
Reimplemented in yaze::editor::DungeonEditorV2, and yaze::editor::OverworldEditor.
|
inline |
Definition at line 296 of file editor.h.
References dependencies_, and yaze::editor::EditorDependencies::rom.
Referenced by yaze::editor::AgentEditor::InitializeWithDependencies(), yaze::editor::SettingsPanel::SetRom(), and yaze::editor::AgentEditor::SetRomContext().
|
inline |
Definition at line 297 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::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::MessageEditor::ResolveFontPalette(), yaze::editor::GraphicsEditor::Save(), SetGameData(), yaze::editor::DungeonEditorV2::SetGameData(), yaze::editor::GraphicsEditor::SetGameData(), yaze::editor::MessageEditor::SetGameData(), yaze::editor::OverworldEditor::SetGameData(), and yaze::editor::PaletteEditor::SetGameData().
|
inline |
Definition at line 300 of file editor.h.
References yaze::editor::EditorDependencies::context(), and dependencies_.
Referenced by yaze::editor::AgentEditor::SetContext().

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

|
inlineprotected |
Definition at line 310 of file editor.h.
References dependencies_, and yaze::editor::EditorDependencies::session_id.
|
inlineprotected |
Definition at line 318 of file editor.h.
References dependencies_, and yaze::editor::EditorDependencies::session_id.
|
inlineprotected |
Definition at line 327 of file editor.h.
References IsRomLoaded().

|
protected |
Definition at line 304 of file editor.h.
Referenced by active(), yaze::editor::AgentEditor::DrawDashboard(), set_active(), toggle_active(), yaze::editor::AgentEditor::Update(), yaze::editor::AssemblyEditor::Update(), and yaze::editor::MemoryEditor::Update().
|
protected |
Definition at line 305 of file editor.h.
Referenced by yaze::editor::AgentEditor::AgentEditor(), yaze::editor::AssemblyEditor::AssemblyEditor(), yaze::editor::DungeonEditorV2::DungeonEditorV2(), yaze::editor::GraphicsEditor::GraphicsEditor(), yaze::editor::MemoryEditor::MemoryEditor(), yaze::editor::MessageEditor::MessageEditor(), yaze::editor::MusicEditor::MusicEditor(), yaze::editor::OverworldEditor::OverworldEditor(), yaze::editor::PaletteEditor::PaletteEditor(), yaze::editor::ScreenEditor::ScreenEditor(), yaze::editor::SettingsPanel::SettingsPanel(), yaze::editor::SpriteEditor::SpriteEditor(), and type().
|
protected |
Definition at line 306 of file editor.h.
Referenced by yaze::editor::AgentEditor::ApplyUserSettingsDefaults(), context(), yaze::editor::OverworldEditor::Copy(), yaze::editor::AssemblyEditor::DrawAssembleMenu(), yaze::editor::AssemblyEditor::DrawBuildOutput(), yaze::editor::AgentEditor::DrawConfigurationPanel(), yaze::editor::PaletteEditor::DrawControlPanel(), yaze::editor::AssemblyEditor::DrawCurrentFolder(), yaze::editor::MessageEditor::DrawExpandedMessageSettings(), yaze::editor::AgentEditor::DrawFeatureFlagPanel(), yaze::editor::AssemblyEditor::DrawFileBrowser(), yaze::editor::AgentEditor::DrawManifestPanel(), yaze::editor::OverworldCanvasRenderer::DrawOverworldCanvas(), yaze::editor::DungeonEditorV2::DrawRoomPanels(), yaze::editor::DungeonEditorV2::DrawRoomTab(), yaze::editor::OverworldEditor::DrawScratchSpacePattern(), yaze::editor::AgentEditor::DrawSramViewerPanel(), yaze::editor::OverworldCanvasRenderer::DrawTile16Selector(), game_data(), yaze::editor::DungeonEditorV2::GetViewerForRoom(), yaze::editor::OverworldEditor::HandleKeyboardShortcuts(), yaze::editor::DungeonEditorV2::HandleObjectPlaced(), yaze::editor::OverworldEditor::HandleTile16Edit(), HasContext(), yaze::editor::AgentEditor::Initialize(), yaze::editor::AssemblyEditor::Initialize(), yaze::editor::DungeonEditorV2::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::IsWorkbenchWorkflowEnabled(), yaze::editor::PaletteEditor::JumpToPalette(), yaze::editor::AssemblyEditor::JumpToReference(), yaze::editor::AssemblyEditor::JumpToSymbolDefinition(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::PaletteEditor::Load(), MakePanelId(), MakePanelTitle(), yaze::editor::AgentEditor::MaybeAutoDetectLocalProviders(), yaze::editor::MessageEditor::MessageEditor(), yaze::editor::DungeonEditorV2::OnRoomSelected(), yaze::editor::DungeonEditorV2::OpenGraphicsEditorForObject(), yaze::editor::MessageEditor::OpenMessageById(), yaze::editor::MusicEditor::OpenSong(), yaze::editor::MusicEditor::OpenSongPianoRoll(), yaze::editor::OverworldEditor::OverworldEditor(), yaze::editor::OverworldEditor::Paste(), yaze::editor::DungeonEditorV2::ProcessPendingSwap(), yaze::editor::AgentEditor::RefreshModelCache(), yaze::editor::MessageEditor::ResolveExpandedMessageBaseId(), rom(), yaze::editor::OverworldEditor::Save(), yaze::editor::DungeonEditorV2::SaveAllRooms(), yaze::editor::DungeonEditorV2::SaveRoomData(), yaze::editor::DungeonEditorV2::SetAgentMode(), SetDependencies(), SetGameData(), yaze::editor::DungeonEditorV2::SetGameData(), yaze::editor::DungeonEditorV2::SetWorkbenchWorkflowMode(), yaze::editor::DungeonEditorV2::ShowPanel(), yaze::editor::OverworldEditor::Update(), and yaze::editor::MusicEditor::Update().
|
protected |
Definition at line 307 of file editor.h.
Referenced by yaze::editor::OverworldEditor::FinalizePaintOperation(), yaze::editor::MessageEditor::FinalizePendingUndo(), yaze::editor::MusicEditor::FinalizePendingUndo(), GetRedoDescription(), GetUndoDescription(), yaze::editor::DungeonEditorV2::Initialize(), yaze::editor::GraphicsEditor::Initialize(), yaze::editor::OverworldEditor::Load(), yaze::editor::GraphicsEditor::Redo(), yaze::editor::MessageEditor::Redo(), yaze::editor::MusicEditor::Redo(), yaze::editor::OverworldEditor::Redo(), yaze::editor::GraphicsEditor::Undo(), yaze::editor::MessageEditor::Undo(), yaze::editor::MusicEditor::Undo(), yaze::editor::OverworldEditor::Undo(), and undo_manager().