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

Romrom = nullptr
 
zelda3::GameDatagame_data = nullptr
 
project::YazeProjectproject = nullptr
 
core::VersionManagerversion_manager = nullptr
 
GlobalEditorContextglobal_context = nullptr
 
size_t session_id = 0
 
PanelManagerpanel_manager = nullptr
 
ToastManagertoast_manager = nullptr
 
UndoManagerundo_manager = nullptr
 
PopupManagerpopup_manager = nullptr
 
ShortcutManagershortcut_manager = nullptr
 
SharedClipboardshared_clipboard = nullptr
 
UserSettingsuser_settings = nullptr
 
StatusBarstatus_bar = nullptr
 
gfx::IRendererrenderer = nullptr
 
emu::Emulatoremulator = 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.panel_manager = &panel_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:163
zelda3::GameData * game_data
Definition editor.h:166
EditorContext context() const
Definition editor.h:196

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 163 of file editor.h.

Member Function Documentation

◆ GetCoreDeps()

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

Definition at line 188 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 196 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 197 of file editor.h.

References game_data, and rom.

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

Member Data Documentation

◆ rom

◆ game_data

zelda3::GameData* yaze::editor::EditorDependencies::game_data = nullptr

◆ project

◆ version_manager

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

◆ global_context

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

◆ session_id

◆ panel_manager

PanelManager* yaze::editor::EditorDependencies::panel_manager = nullptr

Definition at line 173 of file editor.h.

Referenced by yaze::editor::EditorManager::ConfigureEditorDependencies(), yaze::editor::OverworldCanvasRenderer::DrawOverworldCanvas(), yaze::editor::DungeonEditorV2::DrawRoomPanels(), yaze::editor::OverworldCanvasRenderer::DrawTile16Selector(), GetUIDeps(), yaze::editor::DungeonEditorV2::GetViewerForRoom(), yaze::editor::OverworldEditor::HandleKeyboardShortcuts(), yaze::editor::OverworldEditor::HandleTile16Edit(), 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::DungeonEditorV2::Load(), yaze::editor::PaletteEditor::Load(), yaze::editor::DungeonEditorV2::OnRoomSelected(), yaze::editor::DungeonEditorV2::OpenGraphicsEditorForObject(), yaze::editor::MessageEditor::OpenMessageById(), yaze::editor::MusicEditor::OpenSong(), yaze::editor::MusicEditor::OpenSongPianoRoll(), yaze::editor::DungeonEditorV2::ProcessPendingSwap(), yaze::editor::DungeonEditorV2::SetAgentMode(), yaze::editor::SettingsPanel::SetDependencies(), yaze::editor::DungeonEditorV2::SetWorkbenchWorkflowMode(), yaze::editor::DungeonEditorV2::ShowPanel(), yaze::editor::OverworldEditor::Update(), and yaze::editor::MusicEditor::Update().

◆ toast_manager

◆ undo_manager

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

Definition at line 175 of file editor.h.

Referenced by GetUIDeps().

◆ popup_manager

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

◆ shortcut_manager

ShortcutManager* yaze::editor::EditorDependencies::shortcut_manager = nullptr

◆ shared_clipboard

◆ user_settings

◆ status_bar

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

◆ renderer

◆ emulator

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

◆ custom_data

void* yaze::editor::EditorDependencies::custom_data = nullptr

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