yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::WorkspaceWindowManager Class Reference

Central registry for all editor cards with session awareness and dependency injection. More...

#include <workspace_window_manager.h>

Classes

struct  CategoryTheme
 Get the expressive theme color for a category. More...
 
struct  ResourceWindowState
 
struct  SidePanelWidthBounds
 
struct  WindowBrowserState
 
struct  WindowContextScopeHash
 
struct  WindowRegistryState
 
struct  WindowSessionState
 
struct  WindowValidationResult
 
struct  WorkspacePreset
 

Public Member Functions

 WorkspaceWindowManager ()=default
 
 ~WorkspaceWindowManager ()=default
 
 WorkspaceWindowManager (const WorkspaceWindowManager &)=delete
 
WorkspaceWindowManager & operator= (const WorkspaceWindowManager &)=delete
 
 WorkspaceWindowManager (WorkspaceWindowManager &&)=delete
 
WorkspaceWindowManager & operator= (WorkspaceWindowManager &&)=delete
 
void RegisterSession (size_t session_id)
 
void UnregisterSession (size_t session_id)
 
void SetActiveSession (size_t session_id)
 
void SetContextKey (size_t session_id, WindowContextScope scope, std::string key)
 Set a string key for a given context scope (room/selection/etc)
 
std::string GetContextKey (size_t session_id, WindowContextScope scope) const
 
void RegisterPanel (size_t session_id, const WindowDescriptor &base_info)
 
void RegisterWindow (size_t session_id, const WindowDescriptor &descriptor)
 
void RegisterPanelAlias (const std::string &legacy_base_id, const std::string &canonical_base_id)
 Register a legacy panel ID alias that resolves to a canonical ID.
 
void RegisterWindowAlias (const std::string &legacy_base_id, const std::string &canonical_base_id)
 
std::string ResolvePanelAlias (const std::string &panel_id) const
 Resolve a panel ID through the alias table.
 
std::string ResolveWindowAlias (const std::string &window_id) const
 
void RegisterPanel (size_t session_id, const std::string &card_id, const std::string &display_name, const std::string &icon, const std::string &category, const std::string &shortcut_hint="", int priority=50, std::function< void()> on_show=nullptr, std::function< void()> on_hide=nullptr, bool visible_by_default=false)
 
void RegisterWindow (size_t session_id, const std::string &window_id, const std::string &display_name, const std::string &icon, const std::string &category, const std::string &shortcut_hint="", int priority=50, std::function< void()> on_show=nullptr, std::function< void()> on_hide=nullptr, bool visible_by_default=false)
 
void UnregisterPanel (size_t session_id, const std::string &base_card_id)
 
void UnregisterWindow (size_t session_id, const std::string &base_window_id)
 
void UnregisterPanelsWithPrefix (const std::string &prefix)
 
void ClearAllPanels ()
 
void ClearAllWindows ()
 
void RegisterRegistryWindowContent (std::unique_ptr< WindowContent > window)
 Register a ContentRegistry-managed WindowContent instance.
 
void RegisterRegistryWindow (std::unique_ptr< WindowContent > window)
 
void RegisterRegistryWindowContentsForSession (size_t session_id)
 Register descriptors for all registry window contents in a session.
 
void RegisterRegistryWindowsForSession (size_t session_id)
 
size_t GetRegistryWindowContentCount () const
 Returns the number of window contents registered via ContentRegistry.
 
size_t GetRegistryWindowCount () const
 
void RegisterWindowContent (std::unique_ptr< WindowContent > window)
 Register a WindowContent instance for central drawing.
 
void RegisterWindowContent (std::unique_ptr< WindowContent > window, WindowPresentationPolicy presentation)
 
void UnregisterWindowContent (const std::string &window_id)
 Unregister and destroy a WindowContent instance.
 
WindowContent * GetWindowContent (const std::string &window_id)
 Get a WindowContent instance by ID.
 
WindowContent * GetWindowContent (size_t session_id, const std::string &window_id)
 
void DrawAllVisiblePanels ()
 Draw all visible WindowContent instances (central drawing)
 
void DrawVisibleWindows ()
 
void OnEditorSwitch (const std::string &from_category, const std::string &to_category)
 Handle editor/category switching for panel visibility.
 
bool OpenWindow (size_t session_id, const std::string &base_window_id)
 
bool OpenWindowFloating (size_t session_id, const std::string &base_window_id)
 
bool CloseWindow (size_t session_id, const std::string &base_window_id)
 
bool ToggleWindow (size_t session_id, const std::string &base_window_id)
 
bool IsWindowOpen (size_t session_id, const std::string &base_window_id) const
 
bool * GetWindowVisibilityFlag (size_t session_id, const std::string &base_window_id)
 
void ShowAllWindowsInSession (size_t session_id)
 
void HideAllWindowsInSession (size_t session_id)
 
void ShowAllWindowsInCategory (size_t session_id, const std::string &category)
 
void HideAllWindowsInCategory (size_t session_id, const std::string &category)
 
void ShowOnlyWindow (size_t session_id, const std::string &base_window_id)
 
std::vector< std::string > GetWindowsInSession (size_t session_id) const
 
std::vector< WindowDescriptor > GetWindowsInCategory (size_t session_id, const std::string &category) const
 
std::vector< std::string > GetAllCategories (size_t session_id) const
 
std::vector< std::string > GetAllWindowCategories (size_t session_id) const
 
const WindowDescriptor * GetWindowDescriptor (size_t session_id, const std::string &base_window_id) const
 
const std::unordered_map< std::string, WindowDescriptor > & GetAllWindowDescriptors () const
 Get all panel descriptors (for layout designer, panel browser, etc.)
 
std::vector< std::string > GetAllCategories () const
 
std::vector< std::string > GetAllWindowCategories () const
 
std::vector< std::string > GetVisibleWindowIds (size_t session_id) const
 Get list of currently visible panel IDs for a session.
 
void SetVisibleWindows (size_t session_id, const std::vector< std::string > &window_ids)
 Set which panels should be visible for a session.
 
std::unordered_map< std::string, bool > SerializeVisibilityState (size_t session_id) const
 Serialize panel visibility state for persistence.
 
void RestoreVisibilityState (size_t session_id, const std::unordered_map< std::string, bool > &state, bool publish_events=false)
 Restore panel visibility state from persistence.
 
std::unordered_map< std::string, bool > SerializePinnedState () const
 Serialize pinned panel state for persistence.
 
void RestorePinnedState (const std::unordered_map< std::string, bool > &state)
 Restore pinned panel state from persistence.
 
std::string GetWorkspaceWindowName (size_t session_id, const std::string &base_window_id) const
 Resolve the exact ImGui window name for a panel by base ID.
 
std::string GetWorkspaceWindowName (const WindowDescriptor &descriptor) const
 
float GetActiveSidePanelWidth (float viewport_width) const
 
void SetActiveSidePanelWidth (float width, float viewport_width=0.0f, bool notify=true)
 
void ResetSidePanelWidth (bool notify=true)
 
float GetStoredSidePanelWidth () const
 
void SetStoredSidePanelWidth (float width, bool notify=false)
 
void SetSidePanelWidthChangedCallback (std::function< void(float)> cb)
 
float GetWindowBrowserCategoryWidth () const
 
void SetPanelBrowserCategoryWidth (float width, bool notify=true)
 
void SetWindowBrowserCategoryWidth (float width, bool notify=true)
 
void SetPanelBrowserCategoryWidthChangedCallback (std::function< void(float)> cb)
 
void SetWindowBrowserCategoryWidthChangedCallback (std::function< void(float)> cb)
 
 YAZE_CARD_SHIM_DEPRECATED ("Use GetDefaultWindowBrowserCategoryWidth() instead.") static const expr float GetDefaultPanelBrowserCategoryWidth()
 
void HandleSidebarKeyboardNav (size_t session_id, const std::vector< WindowDescriptor > &cards)
 Handle keyboard navigation in sidebar (click-to-focus modal)
 
bool SidebarHasFocus () const
 
int GetFocusedPanelIndex () const
 
int GetFocusedWindowIndex () const
 
void ToggleSidebarVisibility ()
 
void SetSidebarVisible (bool visible, bool notify=true)
 
bool IsSidebarVisible () const
 
void ToggleSidebarExpanded ()
 
void SetPanelExpanded (bool expanded, bool notify=true)
 
void SetSidebarExpanded (bool expanded, bool notify=true)
 
bool IsPanelExpanded () const
 
bool IsSidebarExpanded () const
 
void SetEventBus (EventBus *event_bus)
 
void TriggerShowEmulator ()
 
void TriggerShowSettings ()
 
void TriggerShowPanelBrowser ()
 
void TriggerShowWindowBrowser ()
 
void TriggerSaveRom ()
 
void TriggerUndo ()
 
void TriggerRedo ()
 
void TriggerShowSearch ()
 
void TriggerShowShortcuts ()
 
void TriggerShowCommandPalette ()
 
void TriggerShowHelp ()
 
void TriggerShowAgentChatSidebar ()
 
void TriggerShowAgentProposalsSidebar ()
 
void TriggerResetLayout ()
 
void TriggerOpenRom ()
 
void TriggerWindowClicked (const std::string &category)
 
void TriggerCategorySelected (const std::string &category)
 
void TriggerWindowCategorySelected (const std::string &category)
 
void SetSidebarStateChangedCallback (std::function< void(bool, bool)> cb)
 
void SetCategoryChangedCallback (std::function< void(const std::string &)> cb)
 
void SavePreset (const std::string &name, const std::string &description="")
 
bool LoadPreset (const std::string &name)
 
void DeletePreset (const std::string &name)
 
std::vector< WorkspacePreset > GetPresets () const
 
std::vector< WindowValidationResult > ValidateWindows () const
 
WindowValidationResult ValidateWindow (const std::string &card_id) const
 
void ShowAll (size_t session_id)
 
void HideAll (size_t session_id)
 
void ResetToDefaults (size_t session_id)
 
void ResetToDefaults (size_t session_id, EditorType editor_type)
 
size_t GetWindowCount () const
 
size_t GetVisibleWindowCount (size_t session_id) const
 
size_t GetSessionCount () const
 
std::string MakeWindowId (size_t session_id, const std::string &base_id) const
 
std::string MakeWindowId (size_t session_id, const std::string &base_id, WindowScope scope) const
 
bool ShouldPrefixPanels () const
 
void RegisterPanel (const WindowDescriptor &base_info)
 
void RegisterWindow (const WindowDescriptor &descriptor)
 
void UnregisterPanel (const std::string &base_card_id)
 
void UnregisterWindow (const std::string &base_window_id)
 
bool OpenWindow (const std::string &base_window_id)
 
bool OpenWindowFloating (const std::string &base_window_id)
 
bool CloseWindow (const std::string &base_window_id)
 
bool IsWindowOpen (const std::string &base_window_id) const
 
void HideAllWindowsInCategory (const std::string &category)
 
std::string GetActiveCategory () const
 
void SetActiveCategory (const std::string &category, bool notify=true)
 
void ShowAllWindowsInCategory (const std::string &category)
 
bool * GetWindowVisibilityFlag (const std::string &base_window_id)
 
void ShowAll ()
 
void HideAll ()
 
void SetOnWindowClickedCallback (std::function< void(const std::string &)> callback)
 
void SetOnWindowCategorySelectedCallback (std::function< void(const std::string &)> callback)
 
void SetEditorResolver (std::function< Editor *(const std::string &)> resolver)
 
size_t GetActiveSessionId () const
 
FileBrowser * GetFileBrowser (const std::string &category)
 
void EnableFileBrowser (const std::string &category, const std::string &root_path="")
 
void DisableFileBrowser (const std::string &category)
 
bool HasFileBrowser (const std::string &category) const
 
void SetFileBrowserPath (const std::string &category, const std::string &path)
 
void SetFileClickedCallback (std::function< void(const std::string &category, const std::string &path)> callback)
 
void ToggleFavorite (const std::string &card_id)
 
bool IsFavorite (const std::string &card_id) const
 
void MarkWindowRecentlyUsed (const std::string &window_id)
 
std::vector< WindowDescriptor > GetWindowsSortedByMRU (size_t session_id, const std::string &category) const
 
uint64_t GetWindowMRUTime (const std::string &window_id) const
 
void SetWindowPinned (size_t session_id, const std::string &base_window_id, bool pinned)
 
bool IsWindowPinned (size_t session_id, const std::string &base_window_id) const
 
std::vector< std::string > GetPinnedWindows (size_t session_id) const
 
void SetWindowPinned (const std::string &base_window_id, bool pinned)
 
bool IsWindowPinned (const std::string &base_window_id) const
 
std::vector< std::string > GetPinnedWindows () const
 
void EnforceResourceLimits (const std::string &resource_type)
 Enforce limits on resource panels (LRU eviction)
 
void EnforceResourceWindowLimits (const std::string &resource_type)
 
void MarkPanelUsed (const std::string &panel_id)
 Mark a panel as recently used (for LRU)
 
WindowContent * FindPanelInstance (const std::string &prefixed_panel_id, const std::string &base_panel_id)
 
const WindowContent * FindPanelInstance (const std::string &prefixed_panel_id, const std::string &base_panel_id) const
 

Static Public Member Functions

static constexpr float GetSidebarWidth ()
 
static constexpr float GetSidePanelWidth ()
 
static SidePanelWidthBounds GetSidePanelWidthBounds (float viewport_width)
 
static float GetSidePanelWidthForViewport (float viewport_width)
 
static constexpr float GetDefaultWindowBrowserCategoryWidth ()
 
static constexpr float GetCollapsedSidebarWidth ()
 
static std::string GetCategoryIcon (const std::string &category)
 
static CategoryTheme GetCategoryTheme (const std::string &category)
 

Static Public Attributes

static constexpr const char * kDashboardCategory = "Dashboard"
 

Private Member Functions

void ApplyContextPolicy (size_t session_id, WindowContextScope scope, const std::string &old_key, const std::string &new_key)
 
WindowDescriptor * FindDescriptorByPrefixedId (const std::string &prefixed_id)
 
const WindowDescriptor * FindDescriptorByPrefixedId (const std::string &prefixed_id) const
 
std::vector< std::string > * FindSessionWindowIds (size_t session_id)
 
const std::vector< std::string > * FindSessionWindowIds (size_t session_id) const
 
std::unordered_map< std::string, std::string > * FindSessionWindowMapping (size_t session_id)
 
const std::unordered_map< std::string, std::string > * FindSessionWindowMapping (size_t session_id) const
 
std::unordered_map< std::string, std::string > * FindSessionReverseWindowMapping (size_t session_id)
 
const std::unordered_map< std::string, std::string > * FindSessionReverseWindowMapping (size_t session_id) const
 
void PublishWindowVisibilityChanged (size_t session_id, const std::string &prefixed_window_id, const std::string &base_window_id, const std::string &category, bool visible) const
 
bool OpenWindowImpl (size_t session_id, const std::string &base_card_id)
 
bool CloseWindowImpl (size_t session_id, const std::string &base_card_id)
 
bool ToggleWindowImpl (size_t session_id, const std::string &base_card_id)
 
bool IsWindowVisibleImpl (size_t session_id, const std::string &base_card_id) const
 
bool * GetVisibilityFlag (size_t session_id, const std::string &base_card_id)
 
std::vector< std::string > GetWindowsInSessionImpl (size_t session_id) const
 
std::vector< WindowDescriptor > GetWindowsInCategoryImpl (size_t session_id, const std::string &category) const
 
std::vector< std::string > GetVisibleWindowIdsImpl (size_t session_id) const
 
void SetVisibleWindowsImpl (size_t session_id, const std::vector< std::string > &panel_ids)
 
const WindowDescriptor * GetWindowDescriptorImpl (size_t session_id, const std::string &base_card_id) const
 
std::string GetWindowNameImpl (size_t session_id, const std::string &base_card_id) const
 
std::string GetWindowNameImpl (const WindowDescriptor &descriptor) const
 
void MarkWindowRecentlyUsedImpl (const std::string &card_id)
 
std::vector< WindowDescriptor > GetWindowsSortedByMRUImpl (size_t session_id, const std::string &category) const
 
uint64_t GetWindowMRUTimeImpl (const std::string &card_id) const
 
void SetWindowPinnedImpl (size_t session_id, const std::string &base_card_id, bool pinned)
 
bool IsWindowPinnedImpl (size_t session_id, const std::string &base_card_id) const
 
std::vector< std::string > GetPinnedWindowsImpl (size_t session_id) const
 
void RememberPinnedStateForRemovedWindow (size_t session_id, const std::string &base_card_id, const std::string &prefixed_id)
 
void SetWindowPinnedImpl (const std::string &base_card_id, bool pinned)
 
bool IsWindowPinnedImpl (const std::string &base_card_id) const
 
std::vector< std::string > GetPinnedWindowsImpl () const
 
size_t GetResourceWindowLimit (const std::string &resource_type) const
 
void TrackResourceWindow (const std::string &panel_id, ResourceWindowContent *resource_panel)
 
void UntrackResourceWindow (const std::string &panel_id)
 
std::string SelectResourceWindowForEviction (const std::list< std::string > &panel_ids) const
 
std::string ResolveBaseWindowId (const std::string &panel_id) const
 
std::string GetBaseIdForPrefixedId (size_t session_id, const std::string &prefixed_id) const
 
void UpdateSessionCount ()
 
std::string GetPrefixedWindowId (size_t session_id, const std::string &base_id) const
 
void RegisterPanelDescriptorForSession (size_t session_id, const WindowContent &panel)
 
void TrackPanelForSession (size_t session_id, const std::string &base_id, const std::string &panel_id)
 
void UnregisterSessionPanels (size_t session_id)
 
void SavePresetsToFile ()
 
void LoadPresetsFromFile ()
 

Private Attributes

ResourceWindowState resource_state_
 
std::unordered_map< std::string, std::list< std::string > > & resource_panels_
 
std::unordered_map< std::string, std::string > & panel_resource_types_
 
WindowRegistryState registry_state_
 
WindowSessionState session_state_
 
std::unordered_map< std::string, WindowDescriptor > & cards_
 
std::unordered_map< std::string, std::unique_ptr< WindowContent > > & panel_instances_ = registry_state_.instances
 
std::unordered_set< std::string > & registry_panel_ids_
 
std::unordered_set< std::string > & global_panel_ids_
 
std::unordered_map< std::string, bool > & centralized_visibility_
 
std::unordered_map< std::string, std::string > & panel_id_aliases_
 
std::unordered_map< std::string, uint64_t > & last_used_at_
 
uint64_t & mru_counter_ = session_state_.mru_counter
 
std::unordered_map< std::string, bool > & pinned_panels_
 
std::unordered_map< std::string, bool > & pending_pinned_base_ids_
 
std::unordered_set< std::string > & pending_float_window_ids_
 
size_t & session_count_ = session_state_.session_count
 
size_t & active_session_ = session_state_.active_session
 
std::unordered_map< size_t, std::vector< std::string > > & session_cards_
 
std::unordered_map< size_t, std::unordered_map< std::string, std::string > > & session_card_mapping_ = session_state_.session_window_mapping
 
std::unordered_map< size_t, std::unordered_map< std::string, std::string > > & session_reverse_card_mapping_
 
std::unordered_map< size_t, std::unordered_map< WindowContextScope, std::string, WindowContextScopeHash > > & session_context_keys_ = session_state_.session_context_keys
 
std::unordered_map< std::string, WorkspacePreset > presets_
 
WindowBrowserState browser_state_
 
EventBus * event_bus_ = nullptr
 
std::function< void(const std::string &, const std::string &) on_file_clicked_ )
 
std::function< Editor *(const std::string &) editor_resolver_ )
 

Detailed Description

Central registry for all editor cards with session awareness and dependency injection.

Definition at line 129 of file workspace_window_manager.h.

Constructor & Destructor Documentation

◆ WorkspaceWindowManager() [1/3]

yaze::editor::WorkspaceWindowManager::WorkspaceWindowManager ( )
default

◆ ~WorkspaceWindowManager()

yaze::editor::WorkspaceWindowManager::~WorkspaceWindowManager ( )
default

◆ WorkspaceWindowManager() [2/3]

yaze::editor::WorkspaceWindowManager::WorkspaceWindowManager ( const WorkspaceWindowManager & )
delete

◆ WorkspaceWindowManager() [3/3]

yaze::editor::WorkspaceWindowManager::WorkspaceWindowManager ( WorkspaceWindowManager && )
delete

Member Function Documentation

◆ operator=() [1/2]

WorkspaceWindowManager & yaze::editor::WorkspaceWindowManager::operator= ( const WorkspaceWindowManager & )
delete

◆ operator=() [2/2]

WorkspaceWindowManager & yaze::editor::WorkspaceWindowManager::operator= ( WorkspaceWindowManager && )
delete

◆ RegisterSession()

◆ UnregisterSession()

◆ SetActiveSession()

◆ SetContextKey()

void yaze::editor::WorkspaceWindowManager::SetContextKey ( size_t session_id,
WindowContextScope scope,
std::string key )

Set a string key for a given context scope (room/selection/etc)

This is an opt-in policy hook. WorkspaceWindowManager can apply default rules when context becomes invalid (e.g., selection cleared) to avoid stale panels.

Definition at line 86 of file workspace_window_manager_state.cc.

References ApplyContextPolicy(), RegisterSession(), yaze::editor::WorkspaceWindowManager::WindowSessionState::session_context_keys, and session_state_.

Here is the call graph for this function:

◆ GetContextKey()

std::string yaze::editor::WorkspaceWindowManager::GetContextKey ( size_t session_id,
WindowContextScope scope ) const

◆ RegisterPanel() [1/3]

◆ RegisterWindow() [1/3]

◆ RegisterPanelAlias()

void yaze::editor::WorkspaceWindowManager::RegisterPanelAlias ( const std::string & legacy_base_id,
const std::string & canonical_base_id )

Register a legacy panel ID alias that resolves to a canonical ID.

Use this when a panel has been renamed but persisted layout/user settings may still reference the old ID.

Definition at line 114 of file workspace_window_manager_state.cc.

References panel_id_aliases_.

Referenced by yaze::editor::OverworldEditor::Load(), yaze::editor::EditorManager::RegisterEmulatorPanels(), yaze::editor::WindowHost::RegisterPanelAlias(), and RegisterWindowAlias().

◆ RegisterWindowAlias()

void yaze::editor::WorkspaceWindowManager::RegisterWindowAlias ( const std::string & legacy_base_id,
const std::string & canonical_base_id )
inline

Definition at line 183 of file workspace_window_manager.h.

References RegisterPanelAlias().

Here is the call graph for this function:

◆ ResolvePanelAlias()

std::string yaze::editor::WorkspaceWindowManager::ResolvePanelAlias ( const std::string & panel_id) const

Resolve a panel ID through the alias table.

Returns
Canonical panel ID if alias exists, otherwise input ID.

Definition at line 123 of file workspace_window_manager_state.cc.

References ResolveBaseWindowId().

Referenced by ResolveWindowAlias().

Here is the call graph for this function:

◆ ResolveWindowAlias()

std::string yaze::editor::WorkspaceWindowManager::ResolveWindowAlias ( const std::string & window_id) const
inline

Definition at line 193 of file workspace_window_manager.h.

References ResolvePanelAlias().

Referenced by yaze::editor::WindowHost::ResolveWindowId().

Here is the call graph for this function:

◆ RegisterPanel() [2/3]

void yaze::editor::WorkspaceWindowManager::RegisterPanel ( size_t session_id,
const std::string & card_id,
const std::string & display_name,
const std::string & icon,
const std::string & category,
const std::string & shortcut_hint = "",
int priority = 50,
std::function< void()> on_show = nullptr,
std::function< void()> on_hide = nullptr,
bool visible_by_default = false )

◆ RegisterWindow() [2/3]

void yaze::editor::WorkspaceWindowManager::RegisterWindow ( size_t session_id,
const std::string & window_id,
const std::string & display_name,
const std::string & icon,
const std::string & category,
const std::string & shortcut_hint = "",
int priority = 50,
std::function< void()> on_show = nullptr,
std::function< void()> on_hide = nullptr,
bool visible_by_default = false )
inline

Definition at line 205 of file workspace_window_manager.h.

References RegisterPanel().

Here is the call graph for this function:

◆ UnregisterPanel() [1/2]

◆ UnregisterWindow() [1/2]

void yaze::editor::WorkspaceWindowManager::UnregisterWindow ( size_t session_id,
const std::string & base_window_id )
inline

◆ UnregisterPanelsWithPrefix()

void yaze::editor::WorkspaceWindowManager::UnregisterPanelsWithPrefix ( const std::string & prefix)

◆ ClearAllPanels()

◆ ClearAllWindows()

void yaze::editor::WorkspaceWindowManager::ClearAllWindows ( )
inline

Definition at line 223 of file workspace_window_manager.h.

References ClearAllPanels().

Here is the call graph for this function:

◆ RegisterRegistryWindowContent()

void yaze::editor::WorkspaceWindowManager::RegisterRegistryWindowContent ( std::unique_ptr< WindowContent > window)

Register a ContentRegistry-managed WindowContent instance.

Parameters
windowThe window content to register (ownership transferred)

Registry window contents are stored without auto-registering descriptors. Call RegisterRegistryWindowContentsForSession() to add descriptors per session.

Definition at line 563 of file workspace_window_manager.cc.

References EnforceResourceWindowLimits(), global_panel_ids_, yaze::editor::kGlobal, LOG_ERROR, LOG_INFO, LOG_WARN, panel_instances_, registry_panel_ids_, and TrackResourceWindow().

Referenced by yaze::editor::EditorManager::RegisterEditors(), and RegisterRegistryWindow().

Here is the call graph for this function:

◆ RegisterRegistryWindow()

void yaze::editor::WorkspaceWindowManager::RegisterRegistryWindow ( std::unique_ptr< WindowContent > window)
inline

Definition at line 238 of file workspace_window_manager.h.

References RegisterRegistryWindowContent().

Here is the call graph for this function:

◆ RegisterRegistryWindowContentsForSession()

void yaze::editor::WorkspaceWindowManager::RegisterRegistryWindowContentsForSession ( size_t session_id)

Register descriptors for all registry window contents in a session.

Parameters
session_idThe session to register descriptors for

Safe to call multiple times; descriptors are only created once.

Definition at line 600 of file workspace_window_manager.cc.

References panel_instances_, RegisterPanelDescriptorForSession(), RegisterSession(), and registry_panel_ids_.

Referenced by yaze::editor::EditorManager::HandleSessionCreated(), and RegisterRegistryWindowsForSession().

Here is the call graph for this function:

◆ RegisterRegistryWindowsForSession()

void yaze::editor::WorkspaceWindowManager::RegisterRegistryWindowsForSession ( size_t session_id)
inline

Definition at line 249 of file workspace_window_manager.h.

References RegisterRegistryWindowContentsForSession().

Here is the call graph for this function:

◆ GetRegistryWindowContentCount()

size_t yaze::editor::WorkspaceWindowManager::GetRegistryWindowContentCount ( ) const
inline

Returns the number of window contents registered via ContentRegistry.

Definition at line 254 of file workspace_window_manager.h.

References yaze::editor::WorkspaceWindowManager::WindowRegistryState::registry_ids, and registry_state_.

Referenced by GetRegistryWindowCount().

◆ GetRegistryWindowCount()

size_t yaze::editor::WorkspaceWindowManager::GetRegistryWindowCount ( ) const
inline

Definition at line 257 of file workspace_window_manager.h.

References GetRegistryWindowContentCount().

Here is the call graph for this function:

◆ RegisterWindowContent() [1/2]

void yaze::editor::WorkspaceWindowManager::RegisterWindowContent ( std::unique_ptr< WindowContent > window)

Register a WindowContent instance for central drawing.

Parameters
windowThe window content to register (ownership transferred)

This method:

  1. Stores the WindowContent instance
  2. Auto-registers a WindowDescriptor for sidebar/menu visibility
  3. Window content will be drawn by DrawAllVisiblePanels()

Definition at line 612 of file workspace_window_manager.cc.

References yaze::editor::WindowPresentationPolicy::OptionalPopOut(), and RegisterWindowContent().

Referenced by yaze::editor::DungeonEditorV2::EnsureMinecartTrackEditorPanel(), yaze::editor::AgentEditor::Initialize(), yaze::editor::AssemblyEditor::Initialize(), yaze::editor::PlanningEditor::Initialize(), yaze::editor::SpriteEditor::Initialize(), yaze::editor::EditorManager::InitializeSubsystems(), yaze::editor::DungeonEditorV2::Load(), and RegisterWindowContent().

Here is the call graph for this function:

◆ RegisterWindowContent() [2/2]

◆ UnregisterWindowContent()

void yaze::editor::WorkspaceWindowManager::UnregisterWindowContent ( const std::string & window_id)

◆ GetWindowContent() [1/2]

WindowContent * yaze::editor::WorkspaceWindowManager::GetWindowContent ( const std::string & window_id)

◆ GetWindowContent() [2/2]

WindowContent * yaze::editor::WorkspaceWindowManager::GetWindowContent ( size_t session_id,
const std::string & window_id )

Definition at line 850 of file workspace_window_manager.cc.

References FindPanelInstance(), FindSessionWindowMapping(), GetBaseIdForPrefixedId(), and ResolveBaseWindowId().

Here is the call graph for this function:

◆ DrawAllVisiblePanels()

void yaze::editor::WorkspaceWindowManager::DrawAllVisiblePanels ( )

Draw all visible WindowContent instances (central drawing)

Call this once per frame to draw all windows that have WindowContent implementations. Windows without WindowContent instances are skipped (they use manual drawing).

Definition at line 895 of file workspace_window_manager.cc.

References yaze::editor::WorkspaceWindowManager::WindowBrowserState::active_category, active_session_, yaze::gui::PanelWindow::Begin(), browser_state_, cards_, yaze::editor::WindowDescriptor::category, yaze::gui::PanelWindow::Center, yaze::editor::WindowDescriptor::display_name, yaze::editor::WindowContent::DrawWithLazyInit(), editor_resolver_, yaze::gui::PanelWindow::End(), FindPanelInstance(), yaze::gui::PanelWindow::Floating, yaze::gui::GetAnimator(), GetBaseIdForPrefixedId(), yaze::editor::WindowContent::GetDisplayName(), yaze::editor::WindowContent::GetEditorCategory(), yaze::editor::WindowContent::GetIcon(), yaze::editor::WindowContent::GetPreferredHeight(), yaze::editor::WindowContent::GetPreferredWidth(), yaze::editor::WindowDescriptor::icon, yaze::gui::LayoutHelpers::IsTouchDevice(), IsWindowPinnedImpl(), kDashboardCategory, yaze::gui::kRelaxed, yaze::gui::kSnappy, yaze::gui::kStandard, yaze::editor::WindowContent::OnClose(), pending_float_window_ids_, yaze::editor::WindowContent::PrefersFloating(), yaze::gui::PanelWindow::RequestForceUndock(), session_cards_, yaze::editor::ContentRegistry::Context::SetCurrentEditor(), yaze::gui::PanelWindow::SetDefaultSize(), yaze::gui::PanelWindow::SetPinChangedCallback(), yaze::gui::PanelWindow::SetPinnable(), yaze::gui::PanelWindow::SetPinned(), yaze::gui::PanelWindow::SetPosition(), yaze::gui::PanelWindow::SetStableId(), SetWindowPinnedImpl(), and yaze::editor::WindowDescriptor::visibility_flag.

Referenced by DrawVisibleWindows().

◆ DrawVisibleWindows()

void yaze::editor::WorkspaceWindowManager::DrawVisibleWindows ( )
inline

Definition at line 297 of file workspace_window_manager.h.

References DrawAllVisiblePanels().

Referenced by yaze::editor::EditorManager::DrawInterface().

Here is the call graph for this function:

◆ OnEditorSwitch()

void yaze::editor::WorkspaceWindowManager::OnEditorSwitch ( const std::string & from_category,
const std::string & to_category )

Handle editor/category switching for panel visibility.

Parameters
from_categoryThe category being switched away from
to_categoryThe category being switched to

This method:

  1. Hides non-pinned, non-persistent panels from the previous category
  2. Shows default panels for the new category
  3. Updates the active category

Definition at line 1061 of file workspace_window_manager.cc.

References active_session_, yaze::gui::Animator::BeginPanelTransition(), yaze::gui::GetAnimator(), GetPrefixedWindowId(), GetWindowsInCategoryImpl(), yaze::gui::kFade, LOG_INFO, and SetActiveCategory().

Referenced by yaze::editor::EditorActivator::ActivatePanelBasedEditor(), and yaze::editor::EditorActivator::DeactivatePanelBasedEditor().

◆ OpenWindow() [1/2]

bool yaze::editor::WorkspaceWindowManager::OpenWindow ( size_t session_id,
const std::string & base_window_id )
inline

Definition at line 316 of file workspace_window_manager.h.

References OpenWindowImpl().

Referenced by yaze::editor::MenuOrchestrator::AddHackWorkflowMenuItems(), yaze::editor::LayoutCoordinator::ApplyLayoutPreset(), yaze::editor::EditorManager::ConfigureEditorDependencies(), yaze::editor::WindowSidebar::DispatchContextAction(), yaze::editor::WindowBrowser::Draw(), yaze::editor::WindowSidebar::Draw(), yaze::editor::PaletteEditor::DrawControlPanel(), yaze::editor::MessageEditor::DrawFindBar(), yaze::editor::UICoordinator::DrawPanelFinder(), yaze::editor::SettingsPanel::DrawWorkspaceSettings(), yaze::editor::EditorActivator::HandleNonEditorClassSwitch(), yaze::editor::GraphicsEditor::Initialize(), yaze::editor::EditorManager::InitializeSubsystems(), yaze::editor::PaletteEditor::JumpToPalette(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::DungeonEditorV2::OnRoomSelected(), yaze::editor::MenuOrchestrator::OnShowLayoutDesigner(), yaze::editor::WindowHost::OpenAndFocusWindow(), yaze::editor::ScreenEditor::OpenDungeonMapTileGraphics(), yaze::editor::EditorManager::OpenEditorAndPanelsFromFlags(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::GraphicsEditor::OpenInContext(), yaze::editor::MessageEditor::OpenMessageById(), yaze::editor::DungeonEditorV2::OpenObjectTileEditorForObject(), yaze::editor::MusicEditor::OpenSong(), yaze::editor::MusicEditor::OpenSongPianoRoll(), yaze::editor::DungeonEditorV2::OpenWindow(), yaze::editor::WindowHost::OpenWindow(), yaze::editor::DungeonEditorV2::ProcessPendingSwap(), yaze::editor::EditorManager::RegisterEmulatorPanels(), yaze::editor::WindowHost::RegisterPanel(), yaze::editor::UICoordinator::SetAsmEditorVisible(), yaze::editor::UICoordinator::SetEmulatorVisible(), yaze::editor::EditorManager::SetupSidebarCallbacks(), yaze::editor::anonymous_namespace{layout_manager.cc}::ShowDefaultWindowsForEditor(), yaze::editor::LayoutOrchestrator::ShowPresetPanels(), and yaze::editor::UICoordinator::UICoordinator().

Here is the call graph for this function:

◆ OpenWindowFloating() [1/2]

bool yaze::editor::WorkspaceWindowManager::OpenWindowFloating ( size_t session_id,
const std::string & base_window_id )

◆ CloseWindow() [1/2]

bool yaze::editor::WorkspaceWindowManager::CloseWindow ( size_t session_id,
const std::string & base_window_id )
inline

◆ ToggleWindow()

◆ IsWindowOpen() [1/2]

◆ GetWindowVisibilityFlag() [1/2]

bool * yaze::editor::WorkspaceWindowManager::GetWindowVisibilityFlag ( size_t session_id,
const std::string & base_window_id )
inline

◆ ShowAllWindowsInSession()

void yaze::editor::WorkspaceWindowManager::ShowAllWindowsInSession ( size_t session_id)

◆ HideAllWindowsInSession()

void yaze::editor::WorkspaceWindowManager::HideAllWindowsInSession ( size_t session_id)

◆ ShowAllWindowsInCategory() [1/2]

void yaze::editor::WorkspaceWindowManager::ShowAllWindowsInCategory ( size_t session_id,
const std::string & category )

◆ HideAllWindowsInCategory() [1/2]

◆ ShowOnlyWindow()

void yaze::editor::WorkspaceWindowManager::ShowOnlyWindow ( size_t session_id,
const std::string & base_window_id )

Definition at line 1338 of file workspace_window_manager.cc.

References FindDescriptorByPrefixedId(), GetPrefixedWindowId(), HideAllWindowsInCategory(), and OpenWindowImpl().

Here is the call graph for this function:

◆ GetWindowsInSession()

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetWindowsInSession ( size_t session_id) const
inline

◆ GetWindowsInCategory()

◆ GetAllCategories() [1/2]

◆ GetAllWindowCategories() [1/2]

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetAllWindowCategories ( size_t session_id) const
inline

Definition at line 357 of file workspace_window_manager.h.

References GetAllCategories().

Referenced by yaze::editor::WindowBrowser::Draw().

Here is the call graph for this function:

◆ GetWindowDescriptor()

◆ GetAllWindowDescriptors()

const std::unordered_map< std::string, WindowDescriptor > & yaze::editor::WorkspaceWindowManager::GetAllWindowDescriptors ( ) const
inline

Get all panel descriptors (for layout designer, panel browser, etc.)

Returns
Map of panel_id -> WindowDescriptor

Definition at line 370 of file workspace_window_manager.h.

References yaze::editor::WorkspaceWindowManager::WindowRegistryState::descriptors, and registry_state_.

Referenced by yaze::editor::EditorManager::CollectEditorsToPreload(), and yaze::editor::EditorManager::OpenEditorAndPanelsFromFlags().

◆ GetAllCategories() [2/2]

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetAllCategories ( ) const

◆ GetAllWindowCategories() [2/2]

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetAllWindowCategories ( ) const
inline

Definition at line 375 of file workspace_window_manager.h.

References GetAllCategories().

Here is the call graph for this function:

◆ GetVisibleWindowIds()

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetVisibleWindowIds ( size_t session_id) const
inline

Get list of currently visible panel IDs for a session.

Parameters
session_idThe session to query
Returns
Vector of base panel IDs that are currently visible

Definition at line 388 of file workspace_window_manager.h.

References GetVisibleWindowIdsImpl().

Referenced by yaze::editor::EditorManager::CollectEditorsToPreload(), yaze::editor::SpriteEditor::DrawSpriteCanvas(), and yaze::editor::SpriteEditor::ImportCatalogDraw().

Here is the call graph for this function:

◆ SetVisibleWindows()

void yaze::editor::WorkspaceWindowManager::SetVisibleWindows ( size_t session_id,
const std::vector< std::string > & window_ids )
inline

Set which panels should be visible for a session.

Parameters
session_idThe session to modify
panel_idsVector of base panel IDs to make visible (others hidden)

Definition at line 397 of file workspace_window_manager.h.

References SetVisibleWindowsImpl().

Referenced by yaze::editor::SpriteEditor::DrawSpriteCanvas(), and yaze::editor::SpriteEditor::ImportCatalogDraw().

Here is the call graph for this function:

◆ SerializeVisibilityState()

std::unordered_map< std::string, bool > yaze::editor::WorkspaceWindowManager::SerializeVisibilityState ( size_t session_id) const

Serialize panel visibility state for persistence.

Parameters
session_idThe session to serialize
Returns
Map of base_panel_id -> visible (for serialization)

Definition at line 232 of file workspace_window_manager_state.cc.

References FindDescriptorByPrefixedId(), FindSessionWindowMapping(), and yaze::editor::IsTransientPanelVisibilityId().

Here is the call graph for this function:

◆ RestoreVisibilityState()

void yaze::editor::WorkspaceWindowManager::RestoreVisibilityState ( size_t session_id,
const std::unordered_map< std::string, bool > & state,
bool publish_events = false )

◆ SerializePinnedState()

std::unordered_map< std::string, bool > yaze::editor::WorkspaceWindowManager::SerializePinnedState ( ) const

Serialize pinned panel state for persistence.

Returns
Map of base_panel_id -> pinned

Definition at line 296 of file workspace_window_manager_state.cc.

References pending_pinned_base_ids_, and pinned_panels_.

◆ RestorePinnedState()

void yaze::editor::WorkspaceWindowManager::RestorePinnedState ( const std::unordered_map< std::string, bool > & state)

Restore pinned panel state from persistence.

Parameters
stateMap of base_panel_id -> pinned

Definition at line 320 of file workspace_window_manager_state.cc.

References LOG_INFO, pending_pinned_base_ids_, pinned_panels_, ResolveBaseWindowId(), and session_card_mapping_.

Referenced by yaze::editor::EditorManager::HandleSessionCreated(), and yaze::editor::EditorManager::InitializeServices().

Here is the call graph for this function:

◆ GetWorkspaceWindowName() [1/2]

std::string yaze::editor::WorkspaceWindowManager::GetWorkspaceWindowName ( size_t session_id,
const std::string & base_window_id ) const
inline

◆ GetWorkspaceWindowName() [2/2]

std::string yaze::editor::WorkspaceWindowManager::GetWorkspaceWindowName ( const WindowDescriptor & descriptor) const
inline

Definition at line 439 of file workspace_window_manager.h.

References GetWindowNameImpl().

Here is the call graph for this function:

◆ GetSidebarWidth()

static constexpr float yaze::editor::WorkspaceWindowManager::GetSidebarWidth ( )
inlinestaticconstexpr

◆ GetSidePanelWidth()

static constexpr float yaze::editor::WorkspaceWindowManager::GetSidePanelWidth ( )
inlinestaticconstexpr

Definition at line 444 of file workspace_window_manager.h.

Referenced by getSidebarState(), and GetSidePanelWidthForViewport().

◆ GetSidePanelWidthBounds()

WorkspaceWindowManager::SidePanelWidthBounds yaze::editor::WorkspaceWindowManager::GetSidePanelWidthBounds ( float viewport_width)
static

◆ GetSidePanelWidthForViewport()

static float yaze::editor::WorkspaceWindowManager::GetSidePanelWidthForViewport ( float viewport_width)
inlinestatic

Definition at line 450 of file workspace_window_manager.h.

References GetSidePanelWidth().

Referenced by GetActiveSidePanelWidth(), and GetSidePanelWidthBounds().

Here is the call graph for this function:

◆ GetActiveSidePanelWidth()

float yaze::editor::WorkspaceWindowManager::GetActiveSidePanelWidth ( float viewport_width) const

◆ SetActiveSidePanelWidth()

void yaze::editor::WorkspaceWindowManager::SetActiveSidePanelWidth ( float width,
float viewport_width = 0.0f,
bool notify = true )

◆ ResetSidePanelWidth()

void yaze::editor::WorkspaceWindowManager::ResetSidePanelWidth ( bool notify = true)

◆ GetStoredSidePanelWidth()

float yaze::editor::WorkspaceWindowManager::GetStoredSidePanelWidth ( ) const
inline

◆ SetStoredSidePanelWidth()

void yaze::editor::WorkspaceWindowManager::SetStoredSidePanelWidth ( float width,
bool notify = false )
inline

Definition at line 493 of file workspace_window_manager.h.

References SetActiveSidePanelWidth().

Referenced by yaze::editor::EditorManager::Initialize().

Here is the call graph for this function:

◆ SetSidePanelWidthChangedCallback()

void yaze::editor::WorkspaceWindowManager::SetSidePanelWidthChangedCallback ( std::function< void(float)> cb)
inline

◆ GetWindowBrowserCategoryWidth()

float yaze::editor::WorkspaceWindowManager::GetWindowBrowserCategoryWidth ( ) const
inline

◆ SetPanelBrowserCategoryWidth()

void yaze::editor::WorkspaceWindowManager::SetPanelBrowserCategoryWidth ( float width,
bool notify = true )

◆ SetWindowBrowserCategoryWidth()

void yaze::editor::WorkspaceWindowManager::SetWindowBrowserCategoryWidth ( float width,
bool notify = true )
inline

Definition at line 505 of file workspace_window_manager.h.

References SetPanelBrowserCategoryWidth().

Referenced by yaze::editor::WindowBrowser::Draw(), and yaze::editor::EditorManager::Initialize().

Here is the call graph for this function:

◆ SetPanelBrowserCategoryWidthChangedCallback()

void yaze::editor::WorkspaceWindowManager::SetPanelBrowserCategoryWidthChangedCallback ( std::function< void(float)> cb)
inline

◆ SetWindowBrowserCategoryWidthChangedCallback()

void yaze::editor::WorkspaceWindowManager::SetWindowBrowserCategoryWidthChangedCallback ( std::function< void(float)> cb)
inline

Definition at line 512 of file workspace_window_manager.h.

References SetPanelBrowserCategoryWidthChangedCallback().

Here is the call graph for this function:

◆ YAZE_CARD_SHIM_DEPRECATED()

yaze::editor::WorkspaceWindowManager::YAZE_CARD_SHIM_DEPRECATED ( "Use GetDefaultWindowBrowserCategoryWidth() instead." ) const
inline

Definition at line 516 of file workspace_window_manager.h.

◆ GetDefaultWindowBrowserCategoryWidth()

static constexpr float yaze::editor::WorkspaceWindowManager::GetDefaultWindowBrowserCategoryWidth ( )
inlinestaticconstexpr

Definition at line 521 of file workspace_window_manager.h.

Referenced by yaze::editor::WindowBrowser::Draw().

◆ GetCollapsedSidebarWidth()

static constexpr float yaze::editor::WorkspaceWindowManager::GetCollapsedSidebarWidth ( )
inlinestaticconstexpr

Definition at line 525 of file workspace_window_manager.h.

◆ GetCategoryIcon()

◆ GetCategoryTheme()

WorkspaceWindowManager::CategoryTheme yaze::editor::WorkspaceWindowManager::GetCategoryTheme ( const std::string & category)
static

◆ HandleSidebarKeyboardNav()

void yaze::editor::WorkspaceWindowManager::HandleSidebarKeyboardNav ( size_t session_id,
const std::vector< WindowDescriptor > & cards )

Handle keyboard navigation in sidebar (click-to-focus modal)

Definition at line 365 of file workspace_window_manager_state.cc.

References browser_state_, yaze::editor::WorkspaceWindowManager::WindowBrowserState::focused_window_index, yaze::editor::WorkspaceWindowManager::WindowBrowserState::sidebar_has_focus, and ToggleWindowImpl().

Here is the call graph for this function:

◆ SidebarHasFocus()

bool yaze::editor::WorkspaceWindowManager::SidebarHasFocus ( ) const
inline

◆ GetFocusedPanelIndex()

int yaze::editor::WorkspaceWindowManager::GetFocusedPanelIndex ( ) const
inline

◆ GetFocusedWindowIndex()

int yaze::editor::WorkspaceWindowManager::GetFocusedWindowIndex ( ) const
inline

Definition at line 550 of file workspace_window_manager.h.

References GetFocusedPanelIndex().

Here is the call graph for this function:

◆ ToggleSidebarVisibility()

◆ SetSidebarVisible()

◆ IsSidebarVisible()

◆ ToggleSidebarExpanded()

◆ SetPanelExpanded()

void yaze::editor::WorkspaceWindowManager::SetPanelExpanded ( bool expanded,
bool notify = true )
inline

Definition at line 581 of file workspace_window_manager.h.

References SetSidebarExpanded().

Here is the call graph for this function:

◆ SetSidebarExpanded()

◆ IsPanelExpanded()

bool yaze::editor::WorkspaceWindowManager::IsPanelExpanded ( ) const
inline

Definition at line 596 of file workspace_window_manager.h.

References IsSidebarExpanded().

Here is the call graph for this function:

◆ IsSidebarExpanded()

◆ SetEventBus()

void yaze::editor::WorkspaceWindowManager::SetEventBus ( EventBus * event_bus)
inline

Definition at line 603 of file workspace_window_manager.h.

References event_bus_.

Referenced by yaze::editor::EditorManager::InitializeSubsystems().

◆ TriggerShowEmulator()

void yaze::editor::WorkspaceWindowManager::TriggerShowEmulator ( )
inline

Definition at line 609 of file workspace_window_manager.h.

References event_bus_, yaze::EventBus::Publish(), and yaze::editor::UIActionRequestEvent::ShowEmulator().

Here is the call graph for this function:

◆ TriggerShowSettings()

void yaze::editor::WorkspaceWindowManager::TriggerShowSettings ( )
inline

Definition at line 614 of file workspace_window_manager.h.

References event_bus_, yaze::EventBus::Publish(), and yaze::editor::UIActionRequestEvent::ShowSettings().

Referenced by yaze::editor::EditorManager::InitializeSubsystems().

Here is the call graph for this function:

◆ TriggerShowPanelBrowser()

void yaze::editor::WorkspaceWindowManager::TriggerShowPanelBrowser ( )
inline

Definition at line 620 of file workspace_window_manager.h.

References TriggerShowWindowBrowser().

Here is the call graph for this function:

◆ TriggerShowWindowBrowser()

void yaze::editor::WorkspaceWindowManager::TriggerShowWindowBrowser ( )
inline

◆ TriggerSaveRom()

void yaze::editor::WorkspaceWindowManager::TriggerSaveRom ( )
inline

Definition at line 628 of file workspace_window_manager.h.

References event_bus_, yaze::EventBus::Publish(), and yaze::editor::UIActionRequestEvent::SaveRom().

Referenced by yaze::editor::PaletteEditor::DrawControlPanel().

Here is the call graph for this function:

◆ TriggerUndo()

void yaze::editor::WorkspaceWindowManager::TriggerUndo ( )
inline

Definition at line 633 of file workspace_window_manager.h.

References event_bus_, yaze::EventBus::Publish(), and yaze::editor::UIActionRequestEvent::Undo().

Here is the call graph for this function:

◆ TriggerRedo()

void yaze::editor::WorkspaceWindowManager::TriggerRedo ( )
inline

Definition at line 638 of file workspace_window_manager.h.

References event_bus_, yaze::EventBus::Publish(), and yaze::editor::UIActionRequestEvent::Redo().

Here is the call graph for this function:

◆ TriggerShowSearch()

void yaze::editor::WorkspaceWindowManager::TriggerShowSearch ( )
inline

◆ TriggerShowShortcuts()

void yaze::editor::WorkspaceWindowManager::TriggerShowShortcuts ( )
inline

◆ TriggerShowCommandPalette()

void yaze::editor::WorkspaceWindowManager::TriggerShowCommandPalette ( )
inline

◆ TriggerShowHelp()

void yaze::editor::WorkspaceWindowManager::TriggerShowHelp ( )
inline

◆ TriggerShowAgentChatSidebar()

void yaze::editor::WorkspaceWindowManager::TriggerShowAgentChatSidebar ( )
inline

Definition at line 666 of file workspace_window_manager.h.

References event_bus_, yaze::EventBus::Publish(), and yaze::editor::UIActionRequestEvent::ShowAgentChatSidebar().

Here is the call graph for this function:

◆ TriggerShowAgentProposalsSidebar()

void yaze::editor::WorkspaceWindowManager::TriggerShowAgentProposalsSidebar ( )
inline

Definition at line 671 of file workspace_window_manager.h.

References event_bus_, yaze::EventBus::Publish(), and yaze::editor::UIActionRequestEvent::ShowAgentProposalsSidebar().

Here is the call graph for this function:

◆ TriggerResetLayout()

void yaze::editor::WorkspaceWindowManager::TriggerResetLayout ( )
inline

◆ TriggerOpenRom()

void yaze::editor::WorkspaceWindowManager::TriggerOpenRom ( )
inline

Definition at line 682 of file workspace_window_manager.h.

References event_bus_, yaze::editor::UIActionRequestEvent::OpenRom(), and yaze::EventBus::Publish().

Referenced by yaze::editor::EditorManager::InitializeSubsystems().

Here is the call graph for this function:

◆ TriggerWindowClicked()

void yaze::editor::WorkspaceWindowManager::TriggerWindowClicked ( const std::string & category)
inline

◆ TriggerCategorySelected()

void yaze::editor::WorkspaceWindowManager::TriggerCategorySelected ( const std::string & category)
inline

◆ TriggerWindowCategorySelected()

void yaze::editor::WorkspaceWindowManager::TriggerWindowCategorySelected ( const std::string & category)
inline

Definition at line 696 of file workspace_window_manager.h.

References TriggerCategorySelected().

Here is the call graph for this function:

◆ SetSidebarStateChangedCallback()

void yaze::editor::WorkspaceWindowManager::SetSidebarStateChangedCallback ( std::function< void(bool, bool)> cb)
inline

◆ SetCategoryChangedCallback()

void yaze::editor::WorkspaceWindowManager::SetCategoryChangedCallback ( std::function< void(const std::string &)> cb)
inline

◆ SavePreset()

void yaze::editor::WorkspaceWindowManager::SavePreset ( const std::string & name,
const std::string & description = "" )

◆ LoadPreset()

bool yaze::editor::WorkspaceWindowManager::LoadPreset ( const std::string & name)

Definition at line 1496 of file workspace_window_manager.cc.

References cards_, LOG_INFO, pending_float_window_ids_, and presets_.

◆ DeletePreset()

void yaze::editor::WorkspaceWindowManager::DeletePreset ( const std::string & name)

Definition at line 1525 of file workspace_window_manager.cc.

References presets_, and SavePresetsToFile().

Here is the call graph for this function:

◆ GetPresets()

std::vector< WorkspaceWindowManager::WorkspacePreset > yaze::editor::WorkspaceWindowManager::GetPresets ( ) const

Definition at line 1531 of file workspace_window_manager.cc.

References presets_.

◆ ValidateWindows()

std::vector< WorkspaceWindowManager::WindowValidationResult > yaze::editor::WorkspaceWindowManager::ValidateWindows ( ) const

Definition at line 296 of file workspace_window_manager_support.cc.

References cards_, and ValidateWindow().

Here is the call graph for this function:

◆ ValidateWindow()

◆ ShowAll() [1/2]

void yaze::editor::WorkspaceWindowManager::ShowAll ( size_t session_id)

Definition at line 1543 of file workspace_window_manager.cc.

References ShowAllWindowsInSession().

Referenced by yaze::editor::WorkspaceManager::ShowAllWindows().

Here is the call graph for this function:

◆ HideAll() [1/2]

void yaze::editor::WorkspaceWindowManager::HideAll ( size_t session_id)

◆ ResetToDefaults() [1/2]

void yaze::editor::WorkspaceWindowManager::ResetToDefaults ( size_t session_id)
Todo
Load default visibility from config file or hardcoded defaults

Definition at line 1551 of file workspace_window_manager.cc.

References HideAllWindowsInSession(), and LOG_INFO.

Referenced by yaze::editor::LayoutCoordinator::ResetCurrentEditorLayout().

Here is the call graph for this function:

◆ ResetToDefaults() [2/2]

void yaze::editor::WorkspaceWindowManager::ResetToDefaults ( size_t session_id,
EditorType editor_type )

◆ GetWindowCount()

size_t yaze::editor::WorkspaceWindowManager::GetWindowCount ( ) const
inline

◆ GetVisibleWindowCount()

size_t yaze::editor::WorkspaceWindowManager::GetVisibleWindowCount ( size_t session_id) const

Definition at line 444 of file workspace_window_manager_state.cc.

◆ GetSessionCount()

size_t yaze::editor::WorkspaceWindowManager::GetSessionCount ( ) const
inline

◆ MakeWindowId() [1/2]

std::string yaze::editor::WorkspaceWindowManager::MakeWindowId ( size_t session_id,
const std::string & base_id ) const

◆ MakeWindowId() [2/2]

std::string yaze::editor::WorkspaceWindowManager::MakeWindowId ( size_t session_id,
const std::string & base_id,
WindowScope scope ) const

Definition at line 1601 of file workspace_window_manager.cc.

References yaze::editor::kGlobal, ResolveBaseWindowId(), and ShouldPrefixPanels().

Here is the call graph for this function:

◆ ShouldPrefixPanels()

bool yaze::editor::WorkspaceWindowManager::ShouldPrefixPanels ( ) const
inline

Definition at line 765 of file workspace_window_manager.h.

References session_count_.

Referenced by MakeWindowId().

◆ RegisterPanel() [3/3]

void yaze::editor::WorkspaceWindowManager::RegisterPanel ( const WindowDescriptor & base_info)
inline

Definition at line 771 of file workspace_window_manager.h.

References active_session_, and RegisterPanel().

Here is the call graph for this function:

◆ RegisterWindow() [3/3]

void yaze::editor::WorkspaceWindowManager::RegisterWindow ( const WindowDescriptor & descriptor)
inline

Definition at line 774 of file workspace_window_manager.h.

References active_session_, and RegisterPanel().

Here is the call graph for this function:

◆ UnregisterPanel() [2/2]

void yaze::editor::WorkspaceWindowManager::UnregisterPanel ( const std::string & base_card_id)
inline

Definition at line 777 of file workspace_window_manager.h.

References active_session_, and UnregisterPanel().

Here is the call graph for this function:

◆ UnregisterWindow() [2/2]

void yaze::editor::WorkspaceWindowManager::UnregisterWindow ( const std::string & base_window_id)
inline

Definition at line 780 of file workspace_window_manager.h.

References active_session_, and UnregisterPanel().

Here is the call graph for this function:

◆ OpenWindow() [2/2]

bool yaze::editor::WorkspaceWindowManager::OpenWindow ( const std::string & base_window_id)
inline

Definition at line 783 of file workspace_window_manager.h.

References active_session_, and OpenWindowImpl().

Here is the call graph for this function:

◆ OpenWindowFloating() [2/2]

bool yaze::editor::WorkspaceWindowManager::OpenWindowFloating ( const std::string & base_window_id)
inline

Definition at line 786 of file workspace_window_manager.h.

References active_session_, and OpenWindowFloating().

Here is the call graph for this function:

◆ CloseWindow() [2/2]

bool yaze::editor::WorkspaceWindowManager::CloseWindow ( const std::string & base_window_id)
inline

Definition at line 789 of file workspace_window_manager.h.

References active_session_, and CloseWindowImpl().

Here is the call graph for this function:

◆ IsWindowOpen() [2/2]

bool yaze::editor::WorkspaceWindowManager::IsWindowOpen ( const std::string & base_window_id) const
inline

Definition at line 792 of file workspace_window_manager.h.

References active_session_, and IsWindowVisibleImpl().

Here is the call graph for this function:

◆ HideAllWindowsInCategory() [2/2]

void yaze::editor::WorkspaceWindowManager::HideAllWindowsInCategory ( const std::string & category)
inline

Definition at line 795 of file workspace_window_manager.h.

References active_session_, and HideAllWindowsInCategory().

Here is the call graph for this function:

◆ GetActiveCategory()

◆ SetActiveCategory()

◆ ShowAllWindowsInCategory() [2/2]

void yaze::editor::WorkspaceWindowManager::ShowAllWindowsInCategory ( const std::string & category)
inline

Definition at line 809 of file workspace_window_manager.h.

References active_session_, and ShowAllWindowsInCategory().

Here is the call graph for this function:

◆ GetWindowVisibilityFlag() [2/2]

bool * yaze::editor::WorkspaceWindowManager::GetWindowVisibilityFlag ( const std::string & base_window_id)
inline

Definition at line 812 of file workspace_window_manager.h.

References active_session_, and GetVisibilityFlag().

Here is the call graph for this function:

◆ ShowAll() [2/2]

void yaze::editor::WorkspaceWindowManager::ShowAll ( )
inline

Definition at line 815 of file workspace_window_manager.h.

References active_session_, and ShowAll().

Referenced by ShowAll().

Here is the call graph for this function:

◆ HideAll() [2/2]

void yaze::editor::WorkspaceWindowManager::HideAll ( )
inline

Definition at line 816 of file workspace_window_manager.h.

References active_session_, and HideAll().

Referenced by HideAll().

Here is the call graph for this function:

◆ SetOnWindowClickedCallback()

void yaze::editor::WorkspaceWindowManager::SetOnWindowClickedCallback ( std::function< void(const std::string &)> callback)
inline

◆ SetOnWindowCategorySelectedCallback()

void yaze::editor::WorkspaceWindowManager::SetOnWindowCategorySelectedCallback ( std::function< void(const std::string &)> callback)
inline

◆ SetEditorResolver()

void yaze::editor::WorkspaceWindowManager::SetEditorResolver ( std::function< Editor *(const std::string &)> resolver)
inline

◆ GetActiveSessionId()

◆ GetFileBrowser()

FileBrowser * yaze::editor::WorkspaceWindowManager::GetFileBrowser ( const std::string & category)

◆ EnableFileBrowser()

void yaze::editor::WorkspaceWindowManager::EnableFileBrowser ( const std::string & category,
const std::string & root_path = "" )

◆ DisableFileBrowser()

void yaze::editor::WorkspaceWindowManager::DisableFileBrowser ( const std::string & category)

◆ HasFileBrowser()

bool yaze::editor::WorkspaceWindowManager::HasFileBrowser ( const std::string & category) const

◆ SetFileBrowserPath()

void yaze::editor::WorkspaceWindowManager::SetFileBrowserPath ( const std::string & category,
const std::string & path )

◆ SetFileClickedCallback()

void yaze::editor::WorkspaceWindowManager::SetFileClickedCallback ( std::function< void(const std::string &category, const std::string &path)> callback)
inline

◆ ToggleFavorite()

void yaze::editor::WorkspaceWindowManager::ToggleFavorite ( const std::string & card_id)
inline

Definition at line 852 of file workspace_window_manager.h.

References IsWindowPinned(), and SetWindowPinned().

Here is the call graph for this function:

◆ IsFavorite()

bool yaze::editor::WorkspaceWindowManager::IsFavorite ( const std::string & card_id) const
inline

Definition at line 855 of file workspace_window_manager.h.

References IsWindowPinned().

Here is the call graph for this function:

◆ MarkWindowRecentlyUsed()

void yaze::editor::WorkspaceWindowManager::MarkWindowRecentlyUsed ( const std::string & window_id)
inline

◆ GetWindowsSortedByMRU()

std::vector< WindowDescriptor > yaze::editor::WorkspaceWindowManager::GetWindowsSortedByMRU ( size_t session_id,
const std::string & category ) const
inline

Definition at line 863 of file workspace_window_manager.h.

References GetWindowsSortedByMRUImpl().

Referenced by yaze::editor::WindowSidebar::Draw().

Here is the call graph for this function:

◆ GetWindowMRUTime()

uint64_t yaze::editor::WorkspaceWindowManager::GetWindowMRUTime ( const std::string & window_id) const
inline

Definition at line 868 of file workspace_window_manager.h.

References GetWindowMRUTimeImpl().

Here is the call graph for this function:

◆ SetWindowPinned() [1/2]

void yaze::editor::WorkspaceWindowManager::SetWindowPinned ( size_t session_id,
const std::string & base_window_id,
bool pinned )
inline

◆ IsWindowPinned() [1/2]

◆ GetPinnedWindows() [1/2]

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetPinnedWindows ( size_t session_id) const
inline

Definition at line 884 of file workspace_window_manager.h.

References GetPinnedWindowsImpl().

Referenced by yaze::editor::WindowSidebar::Draw().

Here is the call graph for this function:

◆ SetWindowPinned() [2/2]

void yaze::editor::WorkspaceWindowManager::SetWindowPinned ( const std::string & base_window_id,
bool pinned )
inline

Definition at line 888 of file workspace_window_manager.h.

References SetWindowPinnedImpl().

Here is the call graph for this function:

◆ IsWindowPinned() [2/2]

bool yaze::editor::WorkspaceWindowManager::IsWindowPinned ( const std::string & base_window_id) const
inline

Definition at line 891 of file workspace_window_manager.h.

References IsWindowPinnedImpl().

Here is the call graph for this function:

◆ GetPinnedWindows() [2/2]

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetPinnedWindows ( ) const
inline

Definition at line 894 of file workspace_window_manager.h.

References GetPinnedWindowsImpl().

Here is the call graph for this function:

◆ EnforceResourceLimits()

void yaze::editor::WorkspaceWindowManager::EnforceResourceLimits ( const std::string & resource_type)

Enforce limits on resource panels (LRU eviction)

Parameters
resource_typeThe type of resource (e.g., "room", "song")

Checks if the number of open panels of this type exceeds the limit. If so, closes and unregisters the least recently used panel.

Definition at line 734 of file workspace_window_manager.cc.

References GetResourceWindowLimit(), resource_panels_, SelectResourceWindowForEviction(), and UnregisterWindowContent().

Referenced by EnforceResourceWindowLimits().

Here is the call graph for this function:

◆ EnforceResourceWindowLimits()

void yaze::editor::WorkspaceWindowManager::EnforceResourceWindowLimits ( const std::string & resource_type)
inline

Definition at line 910 of file workspace_window_manager.h.

References EnforceResourceLimits().

Referenced by RegisterRegistryWindowContent(), and RegisterWindowContent().

Here is the call graph for this function:

◆ MarkPanelUsed()

void yaze::editor::WorkspaceWindowManager::MarkPanelUsed ( const std::string & panel_id)

Mark a panel as recently used (for LRU)

Parameters
panel_idThe panel ID

Definition at line 757 of file workspace_window_manager.cc.

References panel_resource_types_, and resource_panels_.

◆ FindPanelInstance() [1/2]

WindowContent * yaze::editor::WorkspaceWindowManager::FindPanelInstance ( const std::string & prefixed_panel_id,
const std::string & base_panel_id )

◆ FindPanelInstance() [2/2]

const WindowContent * yaze::editor::WorkspaceWindowManager::FindPanelInstance ( const std::string & prefixed_panel_id,
const std::string & base_panel_id ) const

Definition at line 881 of file workspace_window_manager.cc.

References panel_instances_.

◆ ApplyContextPolicy()

void yaze::editor::WorkspaceWindowManager::ApplyContextPolicy ( size_t session_id,
WindowContextScope scope,
const std::string & old_key,
const std::string & new_key )
private

◆ FindDescriptorByPrefixedId() [1/2]

◆ FindDescriptorByPrefixedId() [2/2]

const WindowDescriptor * yaze::editor::WorkspaceWindowManager::FindDescriptorByPrefixedId ( const std::string & prefixed_id) const
private

◆ FindSessionWindowIds() [1/2]

◆ FindSessionWindowIds() [2/2]

const std::vector< std::string > * yaze::editor::WorkspaceWindowManager::FindSessionWindowIds ( size_t session_id) const
private

◆ FindSessionWindowMapping() [1/2]

std::unordered_map< std::string, std::string > * yaze::editor::WorkspaceWindowManager::FindSessionWindowMapping ( size_t session_id)
private

◆ FindSessionWindowMapping() [2/2]

const std::unordered_map< std::string, std::string > * yaze::editor::WorkspaceWindowManager::FindSessionWindowMapping ( size_t session_id) const
private

◆ FindSessionReverseWindowMapping() [1/2]

std::unordered_map< std::string, std::string > * yaze::editor::WorkspaceWindowManager::FindSessionReverseWindowMapping ( size_t session_id)
private

◆ FindSessionReverseWindowMapping() [2/2]

const std::unordered_map< std::string, std::string > * yaze::editor::WorkspaceWindowManager::FindSessionReverseWindowMapping ( size_t session_id) const
private

◆ PublishWindowVisibilityChanged()

void yaze::editor::WorkspaceWindowManager::PublishWindowVisibilityChanged ( size_t session_id,
const std::string & prefixed_window_id,
const std::string & base_window_id,
const std::string & category,
bool visible ) const
private

◆ OpenWindowImpl()

bool yaze::editor::WorkspaceWindowManager::OpenWindowImpl ( size_t session_id,
const std::string & base_card_id )
private

◆ CloseWindowImpl()

bool yaze::editor::WorkspaceWindowManager::CloseWindowImpl ( size_t session_id,
const std::string & base_card_id )
private

◆ ToggleWindowImpl()

bool yaze::editor::WorkspaceWindowManager::ToggleWindowImpl ( size_t session_id,
const std::string & base_card_id )
private

◆ IsWindowVisibleImpl()

bool yaze::editor::WorkspaceWindowManager::IsWindowVisibleImpl ( size_t session_id,
const std::string & base_card_id ) const
private

Definition at line 1228 of file workspace_window_manager.cc.

References FindDescriptorByPrefixedId(), GetPrefixedWindowId(), and ResolveBaseWindowId().

Referenced by IsWindowOpen(), and IsWindowOpen().

Here is the call graph for this function:

◆ GetVisibilityFlag()

bool * yaze::editor::WorkspaceWindowManager::GetVisibilityFlag ( size_t session_id,
const std::string & base_card_id )
private

Definition at line 1243 of file workspace_window_manager.cc.

References FindDescriptorByPrefixedId(), GetPrefixedWindowId(), and ResolveBaseWindowId().

Referenced by GetWindowVisibilityFlag(), and GetWindowVisibilityFlag().

Here is the call graph for this function:

◆ GetWindowsInSessionImpl()

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetWindowsInSessionImpl ( size_t session_id) const
private

Definition at line 1364 of file workspace_window_manager.cc.

References FindSessionWindowIds(), and GetBaseIdForPrefixedId().

Referenced by GetWindowsInSession().

Here is the call graph for this function:

◆ GetWindowsInCategoryImpl()

std::vector< WindowDescriptor > yaze::editor::WorkspaceWindowManager::GetWindowsInCategoryImpl ( size_t session_id,
const std::string & category ) const
private

◆ GetVisibleWindowIdsImpl()

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetVisibleWindowIdsImpl ( size_t session_id) const
private

Definition at line 1453 of file workspace_window_manager.cc.

References FindDescriptorByPrefixedId(), and FindSessionWindowMapping().

Referenced by GetVisibleWindowIds().

Here is the call graph for this function:

◆ SetVisibleWindowsImpl()

void yaze::editor::WorkspaceWindowManager::SetVisibleWindowsImpl ( size_t session_id,
const std::vector< std::string > & panel_ids )
private

Definition at line 205 of file workspace_window_manager_state.cc.

References FindDescriptorByPrefixedId(), FindSessionWindowMapping(), LOG_INFO, and ResolveBaseWindowId().

Referenced by SetVisibleWindows().

Here is the call graph for this function:

◆ GetWindowDescriptorImpl()

const WindowDescriptor * yaze::editor::WorkspaceWindowManager::GetWindowDescriptorImpl ( size_t session_id,
const std::string & base_card_id ) const
private

Definition at line 1427 of file workspace_window_manager.cc.

References FindDescriptorByPrefixedId(), GetPrefixedWindowId(), and ResolveBaseWindowId().

Referenced by GetWindowDescriptor(), GetWindowNameImpl(), and OpenWindowFloating().

Here is the call graph for this function:

◆ GetWindowNameImpl() [1/2]

std::string yaze::editor::WorkspaceWindowManager::GetWindowNameImpl ( size_t session_id,
const std::string & base_card_id ) const
private

Definition at line 350 of file workspace_window_manager_state.cc.

References GetWindowDescriptorImpl(), and GetWindowNameImpl().

Referenced by GetWindowNameImpl(), GetWorkspaceWindowName(), GetWorkspaceWindowName(), and ValidateWindow().

Here is the call graph for this function:

◆ GetWindowNameImpl() [2/2]

std::string yaze::editor::WorkspaceWindowManager::GetWindowNameImpl ( const WindowDescriptor & descriptor) const
private

Definition at line 360 of file workspace_window_manager_state.cc.

References yaze::editor::WindowDescriptor::GetImGuiWindowName().

Here is the call graph for this function:

◆ MarkWindowRecentlyUsedImpl()

void yaze::editor::WorkspaceWindowManager::MarkWindowRecentlyUsedImpl ( const std::string & card_id)
private

Definition at line 412 of file workspace_window_manager_state.cc.

References last_used_at_, and mru_counter_.

Referenced by MarkWindowRecentlyUsed().

◆ GetWindowsSortedByMRUImpl()

std::vector< WindowDescriptor > yaze::editor::WorkspaceWindowManager::GetWindowsSortedByMRUImpl ( size_t session_id,
const std::string & category ) const
private

◆ GetWindowMRUTimeImpl()

uint64_t yaze::editor::WorkspaceWindowManager::GetWindowMRUTimeImpl ( const std::string & card_id) const
inlineprivate

Definition at line 974 of file workspace_window_manager.h.

References last_used_at_.

Referenced by GetWindowMRUTime().

◆ SetWindowPinnedImpl() [1/2]

void yaze::editor::WorkspaceWindowManager::SetWindowPinnedImpl ( size_t session_id,
const std::string & base_card_id,
bool pinned )
private

◆ IsWindowPinnedImpl() [1/2]

bool yaze::editor::WorkspaceWindowManager::IsWindowPinnedImpl ( size_t session_id,
const std::string & base_card_id ) const
private

◆ GetPinnedWindowsImpl() [1/2]

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetPinnedWindowsImpl ( size_t session_id) const
private

Definition at line 198 of file workspace_window_manager_support.cc.

References FindSessionWindowIds(), GetBaseIdForPrefixedId(), and pinned_panels_.

Here is the call graph for this function:

◆ RememberPinnedStateForRemovedWindow()

void yaze::editor::WorkspaceWindowManager::RememberPinnedStateForRemovedWindow ( size_t session_id,
const std::string & base_card_id,
const std::string & prefixed_id )
private

◆ SetWindowPinnedImpl() [2/2]

void yaze::editor::WorkspaceWindowManager::SetWindowPinnedImpl ( const std::string & base_card_id,
bool pinned )
private

Definition at line 247 of file workspace_window_manager_support.cc.

References active_session_, and SetWindowPinnedImpl().

Here is the call graph for this function:

◆ IsWindowPinnedImpl() [2/2]

bool yaze::editor::WorkspaceWindowManager::IsWindowPinnedImpl ( const std::string & base_card_id) const
private

Definition at line 252 of file workspace_window_manager_support.cc.

References active_session_, and IsWindowPinnedImpl().

Here is the call graph for this function:

◆ GetPinnedWindowsImpl() [2/2]

std::vector< std::string > yaze::editor::WorkspaceWindowManager::GetPinnedWindowsImpl ( ) const
private

Definition at line 257 of file workspace_window_manager_support.cc.

References active_session_, and GetPinnedWindowsImpl().

Referenced by GetPinnedWindows(), GetPinnedWindows(), and GetPinnedWindowsImpl().

Here is the call graph for this function:

◆ GetResourceWindowLimit()

◆ TrackResourceWindow()

void yaze::editor::WorkspaceWindowManager::TrackResourceWindow ( const std::string & panel_id,
ResourceWindowContent * resource_panel )
private

◆ UntrackResourceWindow()

void yaze::editor::WorkspaceWindowManager::UntrackResourceWindow ( const std::string & panel_id)
private

◆ SelectResourceWindowForEviction()

std::string yaze::editor::WorkspaceWindowManager::SelectResourceWindowForEviction ( const std::list< std::string > & panel_ids) const
private

Definition at line 352 of file workspace_window_manager.cc.

References IsWindowPinnedImpl().

Referenced by EnforceResourceLimits().

Here is the call graph for this function:

◆ ResolveBaseWindowId()

◆ GetBaseIdForPrefixedId()

std::string yaze::editor::WorkspaceWindowManager::GetBaseIdForPrefixedId ( size_t session_id,
const std::string & prefixed_id ) const
private

◆ UpdateSessionCount()

void yaze::editor::WorkspaceWindowManager::UpdateSessionCount ( )
private

Definition at line 460 of file workspace_window_manager_state.cc.

Referenced by RegisterSession(), and UnregisterSession().

◆ GetPrefixedWindowId()

std::string yaze::editor::WorkspaceWindowManager::GetPrefixedWindowId ( size_t session_id,
const std::string & base_id ) const
private

◆ RegisterPanelDescriptorForSession()

void yaze::editor::WorkspaceWindowManager::RegisterPanelDescriptorForSession ( size_t session_id,
const WindowContent & panel )
private

◆ TrackPanelForSession()

void yaze::editor::WorkspaceWindowManager::TrackPanelForSession ( size_t session_id,
const std::string & base_id,
const std::string & panel_id )
private

Definition at line 496 of file workspace_window_manager_state.cc.

Referenced by RegisterPanel(), and RegisterSession().

◆ UnregisterSessionPanels()

void yaze::editor::WorkspaceWindowManager::UnregisterSessionPanels ( size_t session_id)
private

Definition at line 520 of file workspace_window_manager_state.cc.

References yaze::gui::Animator::ClearAnimationsForPanel(), and yaze::gui::GetAnimator().

Referenced by UnregisterSession().

Here is the call graph for this function:

◆ SavePresetsToFile()

void yaze::editor::WorkspaceWindowManager::SavePresetsToFile ( )
private

Definition at line 19 of file workspace_window_manager_support.cc.

References yaze::Json::dump(), yaze::util::PlatformPaths::GetConfigDirectory(), LOG_ERROR, LOG_INFO, yaze::Json::object(), and presets_.

Referenced by DeletePreset(), and SavePreset().

Here is the call graph for this function:

◆ LoadPresetsFromFile()

Member Data Documentation

◆ kDashboardCategory

◆ resource_state_

ResourceWindowState yaze::editor::WorkspaceWindowManager::resource_state_
private

Definition at line 1006 of file workspace_window_manager.h.

◆ resource_panels_

std::unordered_map<std::string, std::list<std::string> >& yaze::editor::WorkspaceWindowManager::resource_panels_
private

◆ panel_resource_types_

std::unordered_map<std::string, std::string>& yaze::editor::WorkspaceWindowManager::panel_resource_types_
private

◆ registry_state_

◆ session_state_

◆ cards_

◆ panel_instances_

std::unordered_map<std::string, std::unique_ptr<WindowContent> >& yaze::editor::WorkspaceWindowManager::panel_instances_ = registry_state_.instances
private

◆ registry_panel_ids_

std::unordered_set<std::string>& yaze::editor::WorkspaceWindowManager::registry_panel_ids_
private

◆ global_panel_ids_

std::unordered_set<std::string>& yaze::editor::WorkspaceWindowManager::global_panel_ids_
private

◆ centralized_visibility_

std::unordered_map<std::string, bool>& yaze::editor::WorkspaceWindowManager::centralized_visibility_
private

◆ panel_id_aliases_

std::unordered_map<std::string, std::string>& yaze::editor::WorkspaceWindowManager::panel_id_aliases_
private
Initial value:

Definition at line 1060 of file workspace_window_manager.h.

Referenced by RegisterPanelAlias(), and ResolveBaseWindowId().

◆ last_used_at_

std::unordered_map<std::string, uint64_t>& yaze::editor::WorkspaceWindowManager::last_used_at_
private

◆ mru_counter_

uint64_t& yaze::editor::WorkspaceWindowManager::mru_counter_ = session_state_.mru_counter
private

Definition at line 1065 of file workspace_window_manager.h.

Referenced by MarkWindowRecentlyUsedImpl().

◆ pinned_panels_

std::unordered_map<std::string, bool>& yaze::editor::WorkspaceWindowManager::pinned_panels_
private

◆ pending_pinned_base_ids_

std::unordered_map<std::string, bool>& yaze::editor::WorkspaceWindowManager::pending_pinned_base_ids_
private

◆ pending_float_window_ids_

std::unordered_set<std::string>& yaze::editor::WorkspaceWindowManager::pending_float_window_ids_
private

◆ session_count_

size_t& yaze::editor::WorkspaceWindowManager::session_count_ = session_state_.session_count
private

◆ active_session_

◆ session_cards_

std::unordered_map<size_t, std::vector<std::string> >& yaze::editor::WorkspaceWindowManager::session_cards_
private

◆ session_card_mapping_

std::unordered_map<size_t, std::unordered_map<std::string, std::string> >& yaze::editor::WorkspaceWindowManager::session_card_mapping_ = session_state_.session_window_mapping
private

◆ session_reverse_card_mapping_

std::unordered_map<size_t, std::unordered_map<std::string, std::string> >& yaze::editor::WorkspaceWindowManager::session_reverse_card_mapping_
private
Initial value:
=
std::unordered_map< size_t, std::unordered_map< std::string, std::string > > session_reverse_window_mapping

Definition at line 1079 of file workspace_window_manager.h.

Referenced by ClearAllPanels(), UnregisterPanel(), UnregisterPanelsWithPrefix(), and UnregisterWindowContent().

◆ session_context_keys_

std::unordered_map<size_t, std::unordered_map<WindowContextScope, std::string, WindowContextScopeHash> >& yaze::editor::WorkspaceWindowManager::session_context_keys_ = session_state_.session_context_keys
private

Definition at line 1083 of file workspace_window_manager.h.

Referenced by ClearAllPanels().

◆ presets_

std::unordered_map<std::string, WorkspacePreset> yaze::editor::WorkspaceWindowManager::presets_
private

◆ browser_state_

◆ event_bus_

◆ on_file_clicked_

std::function<void(const std::string&, const std::string&) yaze::editor::WorkspaceWindowManager::on_file_clicked_)
private

Definition at line 1115 of file workspace_window_manager.h.

Referenced by EnableFileBrowser(), and SetFileClickedCallback().

◆ editor_resolver_

std::function<Editor*(const std::string&) yaze::editor::WorkspaceWindowManager::editor_resolver_)
private

Definition at line 1116 of file workspace_window_manager.h.

Referenced by DrawAllVisiblePanels(), and SetEditorResolver().


The documentation for this class was generated from the following files: