1#ifndef YAZE_APP_EDITOR_REGISTRY_CONTENT_REGISTRY_H_
2#define YAZE_APP_EDITOR_REGISTRY_CONTENT_REGISTRY_H_
26class GlobalEditorContext;
27struct EditorDependencies;
30class HackWorkflowBackend;
31class ValidationCapability;
32class ProgressionCapability;
33class PlanningCapability;
54namespace ContentRegistry {
205std::vector<std::unique_ptr<WindowContent>>
CreateAll();
211void Register(std::unique_ptr<WindowContent> panel);
217std::vector<WindowContent*>
GetAll();
235namespace WindowContents = Panels;
249 auto editor = std::make_unique<T>();
250 editor->SetDependencies(deps);
270void add(
const std::string&
id,
const std::string& key,
271 const std::string& desc);
272std::vector<ShortcutDef>
GetAll();
278namespace WorkflowActions {
291std::vector<ActionDef>
GetAll();
308void add(
const std::string& section,
const std::string& key,
309 const std::string& default_val,
const std::string& desc);
310std::vector<SettingDef>
GetAll();
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Interface for editor classes.
Instance-based runtime context replacing ContentRegistry::Context.
Base interface for all logical window content components.
std::vector< ProjectWorkflowHistoryEntry > workflow_history()
std::string build_workflow_log()
void ClearWorkflowHistory()
void SetGlobalContext(GlobalEditorContext *ctx)
void SetShowWorkflowOutputCallback(std::function< void()> callback)
void SetEditorWindowContext(const std::string &category, Editor *editor)
Rom * rom()
Get the current ROM instance.
void SetEventBus(::yaze::EventBus *bus)
Set the current EventBus instance.
::yaze::EventBus * event_bus()
Get the current EventBus instance.
void SetRom(Rom *rom)
Set the current ROM instance.
void SetGameData(::yaze::zelda3::GameData *data)
Set the current game data instance.
void AppendWorkflowHistory(const ProjectWorkflowHistoryEntry &entry)
Editor * current_editor()
Get the currently active editor.
void SetRunProjectWorkflowCallback(std::function< void()> callback)
void SetBuildWorkflowStatus(const ProjectWorkflowStatus &status)
void SetCancelBuildWorkflowCallback(std::function< void()> callback)
std::function< void()> cancel_build_workflow_callback()
void SetCurrentEditor(Editor *editor)
Set the currently active editor.
::yaze::zelda3::GameData * game_data()
Get the current game data instance.
ProjectWorkflowStatus build_workflow_status()
workflow::PlanningCapability * hack_planning_backend()
::yaze::project::YazeProject * current_project()
Get the current project instance.
void SetBuildWorkflowLog(const std::string &output)
void SetStartBuildWorkflowCallback(std::function< void()> callback)
void SetRunWorkflowStatus(const ProjectWorkflowStatus &status)
workflow::ValidationCapability * hack_validation_backend()
std::function< void()> run_project_workflow_callback()
void SetHackWorkflowBackend(workflow::HackWorkflowBackend *backend)
void Clear()
Clear all context state.
workflow::HackWorkflowBackend * hack_workflow_backend()
std::function< void()> show_workflow_output_callback()
std::function< void()> start_build_workflow_callback()
Editor * editor_window_context(const std::string &category)
ProjectWorkflowStatus run_workflow_status()
workflow::ProgressionCapability * hack_progression_backend()
void SetCurrentProject(::yaze::project::YazeProject *project)
Set the current project instance.
void RegisterFactory(EditorFactory factory)
std::function< std::unique_ptr< Editor >(const EditorDependencies &)> EditorFactory
std::vector< std::unique_ptr< Editor > > CreateAll(const EditorDependencies &deps)
void Clear()
Clear all registered panels.
void Register(std::unique_ptr< WindowContent > panel)
Register a panel instance (Legacy/Global).
std::vector< WindowContent * > GetAll()
Get all registered panels.
void add()
Register a panel type for auto-creation.
WindowContent * Get(const std::string &id)
Get a specific panel by its ID.
std::function< std::unique_ptr< WindowContent >()> PanelFactory
void RegisterFactory(PanelFactory factory)
Register a panel factory.
std::vector< std::unique_ptr< WindowContent > > CreateAll()
Create new instances of all registered panels.
void Register(const SettingDef &setting)
std::vector< SettingDef > GetAll()
void add(const std::string §ion, const std::string &key, const std::string &default_val, const std::string &desc)
std::vector< ShortcutDef > GetAll()
void add(const std::string &id, const std::string &key, const std::string &desc)
void Register(const ShortcutDef &shortcut)
std::vector< ActionDef > GetAll()
void Register(const ActionDef &action)
std::string default_value
std::function< void()> callback
std::function< bool()> enabled
Unified dependency container for all editor types.
Modern project structure with comprehensive settings consolidation.