1#ifndef YAZE_APP_EDITOR_LAYOUT_LAYOUT_COORDINATOR_H_
2#define YAZE_APP_EDITOR_LAYOUT_LAYOUT_COORDINATOR_H_
13#include "imgui/imgui.h"
19class WorkspaceWindowManager;
123 bool is_emulator_visible);
Facade class that coordinates all layout-related operations.
std::vector< std::function< void()> > deferred_actions_
void QueueDeferredAction(std::function< void()> action)
Queue an action to be executed on the next frame.
LayoutManager * layout_manager_
void ProcessDeferredActions()
Process all queued deferred actions.
float GetBottomLayoutOffset() const
Get the bottom margin needed for status bar.
UICoordinator * ui_coordinator_
void ResetWorkspaceLayout()
Reset the workspace layout to defaults.
void ProcessLayoutRebuild(EditorType current_editor_type, bool is_emulator_visible)
Process pending layout rebuild requests.
RightDrawerManager * right_drawer_manager_
bool IsInitialized() const
WorkspaceWindowManager * window_manager_
ToastManager * toast_manager_
std::atomic< int > pending_deferred_actions_
void InitializeEditorLayout(EditorType type)
Initialize layout for an editor type on first activation.
float GetRightLayoutOffset() const
Get the right margin needed for drawers.
void ResetCurrentEditorLayout(EditorType editor_type, size_t session_id)
Reset current editor layout to its default configuration.
LayoutCoordinator()=default
int PendingDeferredActionCount() const
Approximate pending deferred layout actions for sync diagnostics.
void ApplyLayoutPreset(const std::string &preset_name, size_t session_id)
Apply a named layout preset.
void Initialize(const Dependencies &deps)
Initialize with all dependencies.
~LayoutCoordinator()=default
const LayoutManager * layout_manager() const
float GetLeftLayoutOffset() const
Get the left margin needed for sidebar (Activity Bar + Side Panel)
LayoutManager * layout_manager()
Manages ImGui DockBuilder layouts for each editor type.
Manages right-side sliding drawers for agent chat, proposals, settings.
A session-aware status bar displayed at the bottom of the application.
Handles all UI drawing operations and state management.
Central registry for all editor cards with session awareness and dependency injection.
All dependencies required by LayoutCoordinator.
ToastManager * toast_manager
UICoordinator * ui_coordinator
LayoutManager * layout_manager
WorkspaceWindowManager * window_manager
RightDrawerManager * right_drawer_manager