1#ifndef YAZE_APP_EDITOR_UI_UI_COORDINATOR_H_
2#define YAZE_APP_EDITOR_UI_UI_COORDINATOR_H_
7#include "absl/status/status.h"
21class SessionCoordinator;
86 void ShowPopup(
const std::string& popup_name);
87 void HidePopup(
const std::string& popup_name);
200 const ImVec4& color, std::function<
void()> callback,
201 bool enabled =
true);
205 void PositionWindow(
const std::string& window_name,
float x,
float y);
206 void SetWindowSize(
const std::string& window_name,
float width,
float height);
Central registry for all editor cards with session awareness and dependency injection.
The EditorManager controls the main editor window and manages the various editor classes.
Manages editor types, categories, and lifecycle.
Handles all project file operations.
Handles all ROM file I/O operations.
High-level orchestrator for multi-session UI.
Handles all UI drawing operations and state management.
bool IsCardBrowserVisible() const
ShortcutManager & shortcut_manager_
void DrawMaterialButton(const std::string &text, const std::string &icon, const ImVec4 &color, std::function< void()> callback, bool enabled=true)
void HideCurrentEditorCards()
void DrawSessionIndicator()
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_
bool IsCardSidebarVisible() const
bool IsPerformanceDashboardVisible() const
SessionCoordinator & session_coordinator_
bool show_display_settings_
std::string GetColorForEditor(EditorType type) const
char global_search_query_[256]
void SetWelcomeScreenManuallyClosed(bool closed)
void SetCardSidebarVisible(bool visible)
void SetMemoryEditorVisible(bool visible)
bool IsEmulatorVisible() const
void ShowSessionSwitcher()
ToastManager & toast_manager_
void DrawWorkspacePresetDialogs()
void SetResourceLabelManagerVisible(bool visible)
bool IsAsmEditorVisible() const
void ShowLoadWorkspacePresetDialog()
void SetEmulatorVisible(bool visible)
bool IsWelcomeScreenVisible() const
void ShowEditorSelection()
char command_palette_query_[256]
EditorCardRegistry & card_registry_
bool show_command_palette_
void SetAsmEditorVisible(bool visible)
void SetWelcomeScreenVisible(bool visible)
bool IsMemoryEditorVisible() const
std::string GetIconForEditor(EditorType type) const
void DrawSessionRenameDialog()
WindowDelegate & window_delegate_
void ShowPopup(const std::string &popup_name)
ProjectManager & project_manager_
bool IsCommandPaletteVisible() const
void ShowSaveWorkspacePresetDialog()
bool welcome_screen_manually_closed_
UICoordinator & operator=(const UICoordinator &)=delete
bool IsResourceLabelManagerVisible() const
bool IsImGuiDemoVisible() const
bool IsWelcomeScreenManuallyClosed() const
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 SetImGuiDemoVisible(bool visible)
void DrawSessionManager()
bool show_editor_selection_
bool show_welcome_screen_
void DrawSessionSwitcher()
bool IsEditorSelectionVisible() const
EditorManager * editor_manager_
void SetPaletteEditorVisible(bool visible)
void SetDisplaySettingsVisible(bool visible)
bool IsSessionSwitcherVisible() const
void SetCommandPaletteVisible(bool visible)
bool IsGlobalSearchVisible() const
void ApplyEditorTheme(EditorType type)
void ShowCommandPalette()
void DrawContextSensitiveCardControl()
void SetCardBrowserVisible(bool visible)
std::unique_ptr< WelcomeScreen > welcome_screen_
void SetImGuiMetricsVisible(bool visible)
void SetEditorSelectionVisible(bool visible)
bool show_load_workspace_preset_
int command_palette_selected_idx_
bool IsPaletteEditorVisible() const
void DrawCommandPalette()
EditorRegistry & editor_registry_
void CenterWindow(const std::string &window_name)
Low-level window operations with minimal dependencies.
Main namespace for the application.