1#ifndef YAZE_APP_EDITOR_SHELL_COORDINATOR_UI_COORDINATOR_H_
2#define YAZE_APP_EDITOR_SHELL_COORDINATOR_UI_COORDINATOR_H_
7#include "absl/status/status.h"
38class SessionCoordinator;
42class WorkspaceWindowManager;
80 bool show_session,
bool has_multiple_sessions);
99 const std::string& initial_template =
"Vanilla ROM Hack") {
109 void ShowPopup(
const std::string& popup_name);
110 void HidePopup(
const std::string& popup_name);
300 bool is_active =
false);
307 const ImVec4& color, std::function<
void()> callback,
308 bool enabled =
true);
315 void PositionWindow(
const std::string& window_name,
float x,
float y);
316 void SetWindowSize(
const std::string& window_name,
float width,
float height);
The EditorManager controls the main editor window and manages the various editor classes.
Manages editor types, categories, and lifecycle.
void Open(const std::string &initial_template="")
Handles all project file operations with ROM-first workflow.
Handles all ROM file I/O operations.
High-level orchestrator for multi-session UI.
Handles all UI drawing operations and state management.
ShortcutManager & shortcut_manager_
void DrawMaterialButton(const std::string &text, const std::string &icon, const ImVec4 &color, std::function< void()> callback, bool enabled=true)
void SetPanelSidebarVisible(bool visible)
void SetWindowBrowserVisible(bool visible)
void SetPerformanceDashboardVisible(bool visible)
bool show_save_workspace_preset_
void SetSessionSwitcherVisible(bool visible)
void SetGlobalSearchVisible(bool visible)
bool show_resource_label_manager_
bool IsImGuiMetricsVisible() const
void HidePopup(const std::string &popup_name)
bool show_test_dashboard_
void SetStartupSurface(StartupSurface surface)
bool IsPerformanceDashboardVisible() const
SessionCoordinator & session_coordinator_
void InitializeCommandPalette(size_t session_id)
Initialize command palette with all discoverable commands.
bool show_display_settings_
void RefreshCommandPalette(size_t session_id)
Refresh command palette commands (call after session switch)
char global_search_query_[256]
void SetWelcomeScreenManuallyClosed(bool closed)
bool IsWindowBrowserVisible() const
bool IsChatHistoryVisible() const
bool IsEmulatorVisible() const
bool show_proposal_drawer_
void ShowSessionSwitcher()
ToastManager & toast_manager_
void DrawWorkspacePresetDialogs()
bool IsProposalDrawerVisible() const
void SetResourceLabelManagerVisible(bool visible)
bool IsAsmEditorVisible() const
void ShowLoadWorkspacePresetDialog()
void SetEmulatorVisible(bool visible)
bool IsNewProjectDialogOpen() const
bool IsWelcomeScreenVisible() const
void ShowEditorSelection()
char command_palette_query_[256]
bool ShouldShowActivityBar() const
void DrawNotificationBell(bool show_dirty, bool has_dirty_rom, bool show_session, bool has_multiple_sessions)
bool show_command_palette_
bool IsPanelSidebarVisible() const
void SetAsmEditorVisible(bool visible)
void SetWelcomeScreenVisible(bool visible)
void DrawSessionRenameDialog()
WindowDelegate & window_delegate_
bool DrawMenuBarIconButton(const char *icon, const char *tooltip, bool is_active=false)
bool ShouldShowDashboard() const
void ShowPopup(const std::string &popup_name)
void TogglePanelSidebar()
bool IsCompactLayout() const
ProjectManager & project_manager_
CommandPalette * command_palette()
StartupVisibility welcome_behavior_override_
bool IsCommandPaletteVisible() const
int panel_finder_selected_idx_
char panel_finder_query_[256]
void ShowSaveWorkspacePresetDialog()
bool welcome_screen_manually_closed_
UICoordinator & operator=(const UICoordinator &)=delete
bool IsResourceLabelManagerVisible() const
bool IsImGuiDemoVisible() const
bool IsWelcomeScreenManuallyClosed() const
StartupVisibility dashboard_behavior_override_
void RefreshWorkflowActions()
StartupSurface current_startup_surface_
bool command_palette_initialized_
RomFileManager & rom_manager_
bool show_performance_dashboard_
void OpenNewProjectDialog(const std::string &initial_template="Vanilla ROM Hack")
PopupManager & popup_manager_
void DrawWindowManagementUI()
void PositionWindow(const std::string &window_name, float x, float y)
bool IsDisplaySettingsVisible() const
void SetWindowSize(const std::string &window_name, float width, float height)
void ShowDisplaySettings()
NewProjectDialog new_project_dialog_
UICoordinator(const UICoordinator &)=delete
void SetWelcomeScreenBehavior(StartupVisibility mode)
void SetImGuiDemoVisible(bool visible)
void DrawSessionManager()
bool show_editor_selection_
bool show_welcome_screen_
void DrawSessionSwitcher()
void SetChatHistoryVisible(bool visible)
bool IsEditorSelectionVisible() const
WorkspaceWindowManager & window_manager_
EditorManager * editor_manager_
void SetDisplaySettingsVisible(bool visible)
void SetDashboardBehavior(StartupVisibility mode)
bool IsSessionSwitcherVisible() const
void SetCommandPaletteVisible(bool visible)
bool IsGlobalSearchVisible() const
void ShowCommandPalette()
void SetMenuBarVisible(bool visible)
void SetAIAgentVisible(bool visible)
CommandPalette command_palette_
std::unique_ptr< WelcomeScreen > welcome_screen_
void SetImGuiMetricsVisible(bool visible)
static float GetMenuBarIconButtonWidth()
bool IsMenuBarVisible() const
void SetEditorSelectionVisible(bool visible)
UICoordinator(EditorManager *editor_manager, RomFileManager &rom_manager, ProjectManager &project_manager, EditorRegistry &editor_registry, WorkspaceWindowManager &card_registry, SessionCoordinator &session_coordinator, WindowDelegate &window_delegate, ToastManager &toast_manager, PopupManager &popup_manager, ShortcutManager &shortcut_manager)
bool show_load_workspace_preset_
void SetProposalDrawerVisible(bool visible)
void DrawMenuBarRestoreButton()
int command_palette_selected_idx_
bool IsAIAgentVisible() const
StartupSurface GetCurrentStartupSurface() const
bool ShouldShowWelcome() const
void DrawCommandPalette()
EditorRegistry & editor_registry_
void CenterWindow(const std::string &window_name)
Low-level window operations with minimal dependencies.
Central registry for all editor cards with session awareness and dependency injection.
StartupSurface
Represents the current startup surface state.
StartupVisibility
Tri-state toggle used for startup UI visibility controls.