yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::EditorDependencies Struct Reference

Unified dependency container for all editor types. More...

#include <editor.h>

Public Member Functions

CoreDependencies GetCoreDeps () const
 
UIDependencies GetUIDeps () const
 
EditorContext context () const
 
bool HasContext () const
 

Public Attributes

Rom * rom = nullptr
 
zelda3::GameData * game_data = nullptr
 
project::YazeProject * project = nullptr
 
core::VersionManager * version_manager = nullptr
 
GlobalEditorContext * global_context = nullptr
 
size_t session_id = 0
 
GfxGroupWorkspaceState * gfx_group_workspace = nullptr
 
WorkspaceWindowManager * window_manager = nullptr
 
ToastManager * toast_manager = nullptr
 
UndoManager * undo_manager = nullptr
 
PopupManager * popup_manager = nullptr
 
ShortcutManager * shortcut_manager = nullptr
 
SharedClipboard * shared_clipboard = nullptr
 
UserSettings * user_settings = nullptr
 
StatusBar * status_bar = nullptr
 
gfx::IRenderer * renderer = nullptr
 
emu::Emulator * emulator = nullptr
 
void * custom_data = nullptr
 

Detailed Description

Unified dependency container for all editor types.

This struct encapsulates all dependencies that editors might need, providing a clean interface for dependency injection. It supports both standard editors and specialized ones (emulator, dungeon) that need additional dependencies like renderers.

Design Philosophy:

  • Single point of dependency management
  • Type-safe for common dependencies
  • Extensible via custom_data for editor-specific needs
  • Session-aware for multi-session support

Usage:

deps.rom = current_rom;
deps.window_manager = &window_manager_;
deps.session_id = session_index;
// Standard editor
OverworldEditor editor(deps);
// Get lightweight context for passing to sub-components
auto ctx = deps.context();
sub_component.Initialize(ctx);
Main UI class for editing overworld maps in A Link to the Past.
Unified dependency container for all editor types.
Definition editor.h:170
zelda3::GameData * game_data
Definition editor.h:173
EditorContext context() const
Definition editor.h:206
WorkspaceWindowManager * window_manager
Definition editor.h:182

Composes CoreDependencies (data layer) and UIDependencies (UI layer) with optional renderer/emulator pointers for specialized editors.

All members are accessible directly for backward compatibility.

Definition at line 170 of file editor.h.

Member Function Documentation

◆ GetCoreDeps()

CoreDependencies yaze::editor::EditorDependencies::GetCoreDeps ( ) const
inline

Definition at line 197 of file editor.h.

References game_data, global_context, project, rom, session_id, and version_manager.

◆ GetUIDeps()

UIDependencies yaze::editor::EditorDependencies::GetUIDeps ( ) const
inline

◆ context()

EditorContext yaze::editor::EditorDependencies::context ( ) const
inline

Definition at line 206 of file editor.h.

References game_data, and rom.

Referenced by yaze::editor::Editor::context().

◆ HasContext()

bool yaze::editor::EditorDependencies::HasContext ( ) const
inline

Definition at line 207 of file editor.h.

References game_data, and rom.

Referenced by yaze::editor::Editor::HasContext().

Member Data Documentation

◆ rom

◆ game_data

◆ project

project::YazeProject* yaze::editor::EditorDependencies::project = nullptr

Definition at line 174 of file editor.h.

Referenced by yaze::editor::DungeonEditorV2::ApplyDoorConnection(), yaze::editor::PaletteEditor::ApplyPanelDependencies(), yaze::editor::DungeonEditorV2::BuildContextSnapshot(), yaze::editor::OverworldEditor::BuildContextSnapshot(), yaze::editor::EditorManager::ConfigureEditorDependencies(), yaze::editor::DungeonEditorV2::CreateObjectCoveragePanel(), yaze::editor::AgentEditor::DrawFeatureFlagPanel(), yaze::editor::AssemblyEditor::DrawFileBrowser(), yaze::editor::AgentEditor::DrawManifestPanel(), yaze::editor::MessageEditor::DrawMessageSourceSync(), yaze::editor::OverworldCanvasRenderer::DrawOverworldCanvas(), yaze::editor::AgentEditor::DrawSramViewerPanel(), yaze::editor::DungeonEditorV2::EnsureMinecartTrackEditorPanel(), yaze::editor::MessageEditor::ExpandedInspectionRange(), GetCoreDeps(), yaze::editor::DungeonEditorV2::GetDungeonRenderContextCensus(), yaze::editor::MessageEditor::HasMessageSourceLayout(), yaze::editor::DungeonEditorV2::Initialize(), yaze::editor::AssemblyEditor::JumpToReference(), yaze::editor::AssemblyEditor::JumpToSymbolDefinition(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::DungeonEditorV2::PlanPendingRoomStreamRanges(), yaze::editor::DungeonEditorV2::PreflightObjectMutation(), yaze::editor::DungeonEditorV2::PreflightPotItemPlacement(), yaze::editor::DungeonEditorV2::PreflightRoomTransfer(), yaze::editor::DungeonEditorV2::PreflightStreamMutation(), yaze::editor::OverworldCanvasRenderer::PrepareContextMenu(), yaze::editor::MessageEditor::PreviewMessageSource(), yaze::editor::Editor::project(), yaze::editor::MessageEditor::PublishMessageSource(), yaze::editor::DungeonEditorV2::RefreshRomBackedState(), yaze::editor::AssemblyEditor::RefreshSelectedZ3DisassemblyMetadata(), yaze::editor::DungeonEditorV2::ReloadWaterFillZones(), yaze::editor::OverworldEditor::RenameProjectResourceLabelWithUndo(), yaze::editor::MessageEditor::ResolveCanonicalBundlePath(), yaze::editor::DungeonEditorV2::ResolveDungeonRenderContextForRoom(), yaze::editor::MessageEditor::ResolveExpandedMessageBaseId(), yaze::editor::AssemblyEditor::ResolveZ3DisasmOutputDir(), yaze::editor::AssemblyEditor::ResolveZ3DisasmRomPath(), yaze::editor::AssemblyEditor::RunProjectGraphQueryInDrawer(), yaze::editor::DungeonEditorV2::Save(), yaze::editor::OverworldEditor::Save(), yaze::editor::PaletteEditor::Save(), yaze::editor::DungeonEditorV2::SetDependencies(), yaze::editor::MusicEditor::SetDependencies(), yaze::editor::SettingsPanel::SetDependencies(), and yaze::editor::OverworldEditor::SyncProjectGraphicsPreview().

◆ version_manager

core::VersionManager* yaze::editor::EditorDependencies::version_manager = nullptr

◆ global_context

GlobalEditorContext* yaze::editor::EditorDependencies::global_context = nullptr

◆ session_id

◆ gfx_group_workspace

GfxGroupWorkspaceState* yaze::editor::EditorDependencies::gfx_group_workspace = nullptr

◆ window_manager

WorkspaceWindowManager* yaze::editor::EditorDependencies::window_manager = nullptr

Definition at line 182 of file editor.h.

Referenced by yaze::editor::OverworldEditor::ClearSelectedItem(), yaze::editor::EditorManager::ConfigureEditorDependencies(), yaze::editor::PaletteEditor::DrawControlPanel(), yaze::editor::MessageEditor::DrawFindBar(), yaze::editor::OverworldCanvasRenderer::DrawOverworldCanvas(), yaze::editor::PaletteEditor::DrawPaletteCatalog(), yaze::editor::DungeonEditorV2::DrawRoomPanels(), yaze::editor::SpriteEditor::DrawSpriteCanvas(), yaze::editor::DungeonEditorV2::EnsureMinecartTrackEditorPanel(), yaze::editor::DungeonEditorV2::GetStandaloneViewerForRoom(), GetUIDeps(), yaze::editor::OverworldEditor::GetWorkbench(), yaze::editor::OverworldEditor::HandleTile16Edit(), yaze::editor::SpriteEditor::ImportCatalogDraw(), 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::PaletteEditor::Initialize(), yaze::editor::PlanningEditor::Initialize(), yaze::editor::SpriteEditor::Initialize(), yaze::editor::OverworldEditor::InitInteractionCoordinator(), yaze::editor::DungeonEditorV2::IsWorkbenchWorkflowEnabled(), yaze::editor::PaletteEditor::JumpToPalette(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::OverworldEditor::Load(), yaze::editor::PaletteEditor::Load(), yaze::editor::DungeonEditorV2::OnRoomSelected(), yaze::editor::ScreenEditor::OpenDungeonMapTileGraphics(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::GraphicsEditor::OpenInContext(), yaze::editor::OverworldEditor::OpenMapPropertiesWindow(), yaze::editor::MessageEditor::OpenMessageById(), yaze::editor::DungeonEditorV2::OpenObjectTileEditorForObject(), yaze::editor::MusicEditor::OpenSong(), yaze::editor::MusicEditor::OpenSongPianoRoll(), yaze::editor::DungeonEditorV2::OpenWindow(), yaze::editor::DungeonEditorV2::ProcessPendingStandaloneToolWindow(), yaze::editor::DungeonEditorV2::ProcessPendingSwap(), yaze::editor::PaletteEditor::RefreshPanelReferences(), yaze::editor::OverworldEditor::SelectItemByIdentity(), yaze::editor::DungeonEditorV2::SetAgentMode(), yaze::editor::SettingsPanel::SetDependencies(), yaze::editor::DungeonEditorV2::SetWorkbenchWorkflowMode(), yaze::editor::OverworldEditor::ToggleItemListWindow(), yaze::editor::OverworldEditor::ToggleTile16EditorWindow(), yaze::editor::OverworldEditor::Update(), and yaze::editor::MusicEditor::Update().

◆ toast_manager

◆ undo_manager

UndoManager* yaze::editor::EditorDependencies::undo_manager = nullptr

Definition at line 184 of file editor.h.

Referenced by GetUIDeps().

◆ popup_manager

PopupManager* yaze::editor::EditorDependencies::popup_manager = nullptr

◆ shortcut_manager

◆ shared_clipboard

◆ user_settings

◆ status_bar

StatusBar* yaze::editor::EditorDependencies::status_bar = nullptr

◆ renderer

◆ emulator

emu::Emulator* yaze::editor::EditorDependencies::emulator = nullptr

◆ custom_data


The documentation for this struct was generated from the following file: