1#ifndef YAZE_APP_EDITOR_UI_UI_COORDINATOR_H_
2#define YAZE_APP_EDITOR_UI_UI_COORDINATOR_H_
7#include "absl/status/status.h"
36class SessionCoordinator;
77 bool show_session,
bool has_multiple_sessions);
100 void ShowPopup(
const std::string& popup_name);
101 void HidePopup(
const std::string& popup_name);
266 bool is_active =
false);
273 const ImVec4& color, std::function<
void()> callback,
274 bool enabled =
true);
278 void PositionWindow(
const std::string& window_name,
float x,
float y);
279 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.
Central registry for all editor cards with session awareness and dependency injection.
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 SetPerformanceDashboardVisible(bool visible)
bool show_save_workspace_preset_
bool show_palette_editor_
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_
bool show_display_settings_
char global_search_query_[256]
UICoordinator(EditorManager *editor_manager, RomFileManager &rom_manager, ProjectManager &project_manager, EditorRegistry &editor_registry, PanelManager &card_registry, SessionCoordinator &session_coordinator, WindowDelegate &window_delegate, ToastManager &toast_manager, PopupManager &popup_manager, ShortcutManager &shortcut_manager)
void SetWelcomeScreenManuallyClosed(bool closed)
void SetMemoryEditorVisible(bool visible)
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 IsWelcomeScreenVisible() const
void ShowEditorSelection()
void SetPanelBrowserVisible(bool visible)
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 HideCurrentEditorPanels()
bool IsMemoryEditorVisible() const
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()
ProjectManager & project_manager_
StartupVisibility welcome_behavior_override_
bool IsCommandPaletteVisible() const
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_
bool IsPanelBrowserVisible() const
StartupSurface current_startup_surface_
RomFileManager & rom_manager_
bool show_performance_dashboard_
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()
UICoordinator(const UICoordinator &)=delete
void SetWelcomeScreenBehavior(StartupVisibility mode)
void SetImGuiDemoVisible(bool visible)
void DrawSessionManager()
bool show_editor_selection_
bool show_welcome_screen_
void DrawSessionSwitcher()
PanelManager & panel_manager_
void SetChatHistoryVisible(bool visible)
bool IsEditorSelectionVisible() const
EditorManager * editor_manager_
void SetPaletteEditorVisible(bool visible)
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)
std::unique_ptr< WelcomeScreen > welcome_screen_
void SetImGuiMetricsVisible(bool visible)
static float GetMenuBarIconButtonWidth()
bool IsMenuBarVisible() const
void SetEditorSelectionVisible(bool visible)
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
bool IsPaletteEditorVisible() const
void DrawCommandPalette()
EditorRegistry & editor_registry_
void CenterWindow(const std::string &window_name)
Low-level window operations with minimal dependencies.
StartupSurface
Represents the current startup surface state.
StartupVisibility
Tri-state toggle used for startup UI visibility controls.