1#ifndef YAZE_APP_EDITOR_LAYOUT_LAYOUT_MANAGER_H_
2#define YAZE_APP_EDITOR_LAYOUT_LAYOUT_MANAGER_H_
5#include <unordered_map>
8#include "imgui/imgui.h"
Manages ImGui DockBuilder layouts for each editor type.
void SetLayoutType(LayoutType type)
Set the current layout type for rebuild.
void LoadLayout(const std::string &name)
Load a saved layout by name.
std::string GetWindowTitle(const std::string &card_id) const
Get window title for a card ID from registry.
EditorType current_editor_type_
void BuildScreenLayout(ImGuiID dockspace_id)
ImGuiID last_dockspace_id_
void BuildPaletteLayout(ImGuiID dockspace_id)
void BuildDungeonLayout(ImGuiID dockspace_id)
void SetPanelManager(PanelManager *manager)
Set the panel manager for window title lookups.
void BuildGraphicsLayout(ImGuiID dockspace_id)
void RebuildLayout(EditorType type, ImGuiID dockspace_id)
Force rebuild of layout for a specific editor type.
void BuildEmulatorLayout(ImGuiID dockspace_id)
void BuildAssemblyLayout(ImGuiID dockspace_id)
void ClearInitializationFlags()
Clear all initialization flags (for testing)
LayoutType current_layout_type_
void BuildMessageLayout(ImGuiID dockspace_id)
std::unordered_map< EditorType, bool > layouts_initialized_
bool IsLayoutInitialized(EditorType type) const
Check if a layout has been initialized for an editor.
LayoutType GetLayoutType() const
Get the current layout type.
void BuildSettingsLayout(ImGuiID dockspace_id)
void ResetToDefaultLayout(EditorType type)
Reset the layout for an editor to its default.
void BuildOverworldLayout(ImGuiID dockspace_id)
void ClearRebuildRequest()
Clear rebuild request flag.
PanelManager * panel_manager() const
Get the panel manager.
void MarkLayoutInitialized(EditorType type)
Mark a layout as initialized.
void RequestRebuild()
Request a layout rebuild on next frame.
void InitializeEditorLayout(EditorType type, ImGuiID dockspace_id)
Initialize the default layout for a specific editor type.
bool IsRebuildRequested() const
Check if rebuild was requested.
void BuildLayoutFromPreset(EditorType type, ImGuiID dockspace_id)
void SaveCurrentLayout(const std::string &name)
Save the current layout with a custom name.
void BuildSpriteLayout(ImGuiID dockspace_id)
void BuildMusicLayout(ImGuiID dockspace_id)
PanelManager * panel_manager_
Central registry for all editor cards with session awareness and dependency injection.
LayoutType
Predefined layout types for different editor workflows.