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

High-level orchestrator for multi-session UI. More...

#include <session_coordinator.h>

Public Member Functions

 SessionCoordinator (WorkspaceWindowManager *window_manager, ToastManager *toast_manager, UserSettings *user_settings)
 
 ~SessionCoordinator ()=default
 
void SetEditorManager (ISessionConfigurator *manager)
 
void SetEditorRegistry (EditorRegistry *registry)
 
void SetEventBus (EventBus *bus)
 
void CreateNewSession ()
 
void DuplicateCurrentSession ()
 
void RequestCloseCurrentSession ()
 
void CloseCurrentSession ()
 
void CloseSession (size_t index)
 
void CloseSessionAllowingEmpty (size_t index)
 
void RemoveSession (size_t index)
 
void SwitchToSession (size_t index)
 
void UpdateSessions ()
 
void ActivateSession (size_t index)
 
size_t GetActiveSessionIndex () const
 Compact zero-based UI position in sessions_.
 
size_t GetActiveSessionId () const
 Stable workspace identity that is never reused while this coordinator lives.
 
size_t GetSessionId (size_t index) const
 Resolve a compact UI index to its stable workspace identity.
 
void * GetActiveSession () const
 
RomSession * GetActiveRomSession () const
 
Rom * GetCurrentRom () const
 
zelda3::GameData * GetCurrentGameData () const
 
EditorSet * GetCurrentEditorSet () const
 
void * GetSession (size_t index) const
 
bool HasMultipleSessions () const
 
size_t GetActiveSessionCount () const
 
absl::Status CheckBackingFileAvailable (const std::string &filepath, std::optional< size_t > excluded_session_id=std::nullopt) const
 
bool HasDuplicateSession (const std::string &filepath) const
 
void DrawSessionSwitcher ()
 
void DrawSessionManager ()
 
void DrawSessionRenameDialog ()
 
void DrawSessionTabs ()
 
void DrawSessionIndicator ()
 
std::string GetSessionDisplayName (size_t index) const
 
std::string GetActiveSessionDisplayName () const
 
void RenameSession (size_t index, const std::string &new_name)
 
std::string GenerateUniqueEditorTitle (const std::string &editor_name, size_t session_index) const
 
void SetActiveSessionIndex (size_t index)
 
void UpdateSessionCount ()
 
void ShowAllPanelsInActiveSession ()
 
void HideAllPanelsInActiveSession ()
 
void ShowPanelsInCategory (const std::string &category)
 
void HidePanelsInCategory (const std::string &category)
 
bool IsValidSessionIndex (size_t index) const
 
bool IsSessionActive (size_t index) const
 
bool IsSessionLoaded (size_t index) const
 
size_t GetTotalSessionCount () const
 
size_t GetLoadedSessionCount () const
 
size_t GetEmptySessionCount () const
 
absl::Status LoadRomIntoSession (const std::string &filename, size_t session_index=SIZE_MAX)
 
absl::Status SaveActiveSession (const std::string &filename="")
 
absl::Status SaveSessionAs (size_t session_index, const std::string &filename)
 
absl::StatusOr< RomSession * > CreateSessionFromRom (Rom &&rom, const std::string &filepath)
 
absl::Status DiscardProvisionalSession (size_t session_id)
 
void CleanupClosedSessions ()
 
void ClearAllSessions ()
 
void FocusNextSession ()
 
void FocusPreviousSession ()
 
void FocusFirstSession ()
 
void FocusLastSession ()
 
void ShowSessionSwitcher ()
 
void HideSessionSwitcher ()
 
void ToggleSessionSwitcher ()
 
bool IsSessionSwitcherVisible () const
 
void ShowSessionManager ()
 
void HideSessionManager ()
 
void ToggleSessionManager ()
 
bool IsSessionManagerVisible () const
 
void UpdateActiveSession ()
 
void ValidateSessionIndex (size_t index) const
 
std::string GenerateUniqueSessionName (const std::string &base_name) const
 
void ShowSessionLimitWarning ()
 
void ShowSessionOperationResult (const std::string &operation, bool success)
 
void DrawSessionTab (size_t index, bool is_active)
 
void DrawSessionContextMenu (size_t index)
 
void DrawSessionBadge (size_t index)
 
ImVec4 GetSessionColor (size_t index) const
 
std::string GetSessionIcon (size_t index) const
 
bool IsSessionEmpty (size_t index) const
 
bool IsSessionClosed (size_t index) const
 
bool IsSessionModified (size_t index) const
 

Static Public Member Functions

static bool PathsReferToSameBackingFile (const std::string &lhs, const std::string &rhs)
 

Private Member Functions

void ActivateCreatedSession (size_t index)
 
void SwitchToSessionInternal (size_t index, bool transient)
 
void CloseSessionInternal (size_t index, bool allow_closing_last)
 
void NotifySessionSwitched (size_t old_index, size_t new_index, RomSession *session, bool transient)
 
void NotifySessionCreated (size_t index, RomSession *session)
 
void NotifySessionClosed (size_t index)
 
void NotifySessionRomLoaded (size_t index, RomSession *session)
 

Private Attributes

ISessionConfigurator * editor_manager_ = nullptr
 
EditorRegistry * editor_registry_ = nullptr
 
EventBus * event_bus_ = nullptr
 
std::vector< std::unique_ptr< RomSession > > sessions_
 
WorkspaceWindowManager * window_manager_
 
ToastManager * toast_manager_
 
UserSettings * user_settings_
 
size_t active_session_index_ = 0
 
size_t session_count_ = 0
 
size_t next_session_id_ = 0
 
bool show_session_switcher_ = false
 
bool show_session_manager_ = false
 
bool show_session_rename_dialog_ = false
 
size_t session_to_rename_ = 0
 
char session_rename_buffer_ [256] = {}
 

Static Private Attributes

static constexpr size_t kMaxSessions = 8
 
static constexpr size_t kMinSessions = 1
 

Detailed Description

High-level orchestrator for multi-session UI.

Manages session list UI, coordinates card visibility across sessions, handles session activation/deactivation, and provides session-aware editor queries.

This class lives in the ui/ layer and can depend on both system and gui components.

Definition at line 47 of file session_coordinator.h.

Constructor & Destructor Documentation

◆ SessionCoordinator()

yaze::editor::SessionCoordinator::SessionCoordinator ( WorkspaceWindowManager * window_manager,
ToastManager * toast_manager,
UserSettings * user_settings )
explicit

Definition at line 89 of file session_coordinator.cc.

◆ ~SessionCoordinator()

yaze::editor::SessionCoordinator::~SessionCoordinator ( )
default

Member Function Documentation

◆ SetEditorManager()

void yaze::editor::SessionCoordinator::SetEditorManager ( ISessionConfigurator * manager)
inline

Definition at line 54 of file session_coordinator.h.

References editor_manager_.

◆ SetEditorRegistry()

void yaze::editor::SessionCoordinator::SetEditorRegistry ( EditorRegistry * registry)
inline

Definition at line 57 of file session_coordinator.h.

References editor_registry_.

◆ SetEventBus()

void yaze::editor::SessionCoordinator::SetEventBus ( EventBus * bus)
inline

Set the EventBus for publishing session lifecycle events. When set, session events will be published alongside observer notifications.

Definition at line 63 of file session_coordinator.h.

References event_bus_.

◆ CreateNewSession()

◆ DuplicateCurrentSession()

◆ RequestCloseCurrentSession()

void yaze::editor::SessionCoordinator::RequestCloseCurrentSession ( )

Definition at line 221 of file session_coordinator.cc.

References active_session_index_, CloseCurrentSession(), editor_manager_, and yaze::editor::ISessionConfigurator::RequestCloseSession().

Referenced by DrawSessionSwitcher().

Here is the call graph for this function:

◆ CloseCurrentSession()

void yaze::editor::SessionCoordinator::CloseCurrentSession ( )

Definition at line 229 of file session_coordinator.cc.

References active_session_index_, and CloseSession().

Referenced by RequestCloseCurrentSession().

Here is the call graph for this function:

◆ CloseSession()

void yaze::editor::SessionCoordinator::CloseSession ( size_t index)

Definition at line 233 of file session_coordinator.cc.

References CloseSessionInternal().

Referenced by CloseCurrentSession(), DrawSessionContextMenu(), DrawSessionManager(), and RemoveSession().

Here is the call graph for this function:

◆ CloseSessionAllowingEmpty()

void yaze::editor::SessionCoordinator::CloseSessionAllowingEmpty ( size_t index)

Definition at line 237 of file session_coordinator.cc.

References CloseSessionInternal().

Here is the call graph for this function:

◆ RemoveSession()

void yaze::editor::SessionCoordinator::RemoveSession ( size_t index)

Definition at line 304 of file session_coordinator.cc.

References CloseSession().

Here is the call graph for this function:

◆ SwitchToSession()

◆ UpdateSessions()

◆ ActivateSession()

void yaze::editor::SessionCoordinator::ActivateSession ( size_t index)

Definition at line 329 of file session_coordinator.cc.

References SwitchToSession().

Here is the call graph for this function:

◆ GetActiveSessionIndex()

size_t yaze::editor::SessionCoordinator::GetActiveSessionIndex ( ) const

Compact zero-based UI position in sessions_.

Definition at line 333 of file session_coordinator.cc.

References active_session_index_.

Referenced by yaze::editor::UICoordinator::DrawGlobalSearch().

◆ GetActiveSessionId()

◆ GetSessionId()

size_t yaze::editor::SessionCoordinator::GetSessionId ( size_t index) const

Resolve a compact UI index to its stable workspace identity.

Definition at line 341 of file session_coordinator.cc.

References IsValidSessionIndex(), and sessions_.

Referenced by ActivateCreatedSession(), CloseSessionInternal(), CreateSessionFromRom(), GetActiveSessionId(), and SwitchToSessionInternal().

Here is the call graph for this function:

◆ GetActiveSession()

void * yaze::editor::SessionCoordinator::GetActiveSession ( ) const

Definition at line 348 of file session_coordinator.cc.

References active_session_index_, IsValidSessionIndex(), and sessions_.

Referenced by GetActiveRomSession().

Here is the call graph for this function:

◆ GetActiveRomSession()

RomSession * yaze::editor::SessionCoordinator::GetActiveRomSession ( ) const

Definition at line 355 of file session_coordinator.cc.

References GetActiveSession().

Referenced by GetCurrentEditorSet(), GetCurrentGameData(), and GetCurrentRom().

Here is the call graph for this function:

◆ GetCurrentRom()

Rom * yaze::editor::SessionCoordinator::GetCurrentRom ( ) const

Definition at line 359 of file session_coordinator.cc.

References GetActiveRomSession().

Here is the call graph for this function:

◆ GetCurrentGameData()

zelda3::GameData * yaze::editor::SessionCoordinator::GetCurrentGameData ( ) const

Definition at line 364 of file session_coordinator.cc.

References GetActiveRomSession().

Here is the call graph for this function:

◆ GetCurrentEditorSet()

EditorSet * yaze::editor::SessionCoordinator::GetCurrentEditorSet ( ) const

Definition at line 369 of file session_coordinator.cc.

References GetActiveRomSession().

Here is the call graph for this function:

◆ GetSession()

void * yaze::editor::SessionCoordinator::GetSession ( size_t index) const

Definition at line 374 of file session_coordinator.cc.

References IsValidSessionIndex(), and sessions_.

Referenced by yaze::editor::UICoordinator::DrawSessionButton().

Here is the call graph for this function:

◆ HasMultipleSessions()

bool yaze::editor::SessionCoordinator::HasMultipleSessions ( ) const

◆ GetActiveSessionCount()

size_t yaze::editor::SessionCoordinator::GetActiveSessionCount ( ) const

◆ CheckBackingFileAvailable()

absl::Status yaze::editor::SessionCoordinator::CheckBackingFileAvailable ( const std::string & filepath,
std::optional< size_t > excluded_session_id = std::nullopt ) const

Reject a ROM path already owned by another loaded session. The optional exclusion is a stable session ID, used by Save As to allow its owner to retain the same backing file while still rejecting every other session.

Definition at line 389 of file session_coordinator.cc.

References PathsReferToSameBackingFile(), and sessions_.

Referenced by CreateSessionFromRom(), and HasDuplicateSession().

Here is the call graph for this function:

◆ PathsReferToSameBackingFile()

bool yaze::editor::SessionCoordinator::PathsReferToSameBackingFile ( const std::string & lhs,
const std::string & rhs )
static

◆ HasDuplicateSession()

bool yaze::editor::SessionCoordinator::HasDuplicateSession ( const std::string & filepath) const

Definition at line 416 of file session_coordinator.cc.

References CheckBackingFileAvailable().

Here is the call graph for this function:

◆ DrawSessionSwitcher()

◆ DrawSessionManager()

◆ DrawSessionRenameDialog()

void yaze::editor::SessionCoordinator::DrawSessionRenameDialog ( )

Definition at line 589 of file session_coordinator.cc.

References RenameSession(), session_rename_buffer_, session_to_rename_, and show_session_rename_dialog_.

Here is the call graph for this function:

◆ DrawSessionTabs()

◆ DrawSessionIndicator()

◆ GetSessionDisplayName()

std::string yaze::editor::SessionCoordinator::GetSessionDisplayName ( size_t index) const

◆ GetActiveSessionDisplayName()

std::string yaze::editor::SessionCoordinator::GetActiveSessionDisplayName ( ) const

Definition at line 705 of file session_coordinator.cc.

References active_session_index_, and GetSessionDisplayName().

Referenced by DrawSessionIndicator().

Here is the call graph for this function:

◆ RenameSession()

void yaze::editor::SessionCoordinator::RenameSession ( size_t index,
const std::string & new_name )

Definition at line 709 of file session_coordinator.cc.

References IsValidSessionIndex(), LOG_INFO, and sessions_.

Referenced by DrawSessionRenameDialog().

Here is the call graph for this function:

◆ GenerateUniqueEditorTitle()

std::string yaze::editor::SessionCoordinator::GenerateUniqueEditorTitle ( const std::string & editor_name,
size_t session_index ) const

Definition at line 719 of file session_coordinator.cc.

References sessions_.

Referenced by UpdateSessions().

◆ SetActiveSessionIndex()

void yaze::editor::SessionCoordinator::SetActiveSessionIndex ( size_t index)

Definition at line 745 of file session_coordinator.cc.

References SwitchToSession().

Here is the call graph for this function:

◆ UpdateSessionCount()

void yaze::editor::SessionCoordinator::UpdateSessionCount ( )

◆ ShowAllPanelsInActiveSession()

void yaze::editor::SessionCoordinator::ShowAllPanelsInActiveSession ( )

Definition at line 754 of file session_coordinator.cc.

References GetActiveSessionId(), yaze::editor::WorkspaceWindowManager::ShowAllWindowsInSession(), and window_manager_.

Here is the call graph for this function:

◆ HideAllPanelsInActiveSession()

void yaze::editor::SessionCoordinator::HideAllPanelsInActiveSession ( )

Definition at line 760 of file session_coordinator.cc.

References GetActiveSessionId(), yaze::editor::WorkspaceWindowManager::HideAllWindowsInSession(), and window_manager_.

Here is the call graph for this function:

◆ ShowPanelsInCategory()

void yaze::editor::SessionCoordinator::ShowPanelsInCategory ( const std::string & category)

Definition at line 766 of file session_coordinator.cc.

References GetActiveSessionId(), yaze::editor::WorkspaceWindowManager::ShowAllWindowsInCategory(), and window_manager_.

Here is the call graph for this function:

◆ HidePanelsInCategory()

void yaze::editor::SessionCoordinator::HidePanelsInCategory ( const std::string & category)

Definition at line 772 of file session_coordinator.cc.

References GetActiveSessionId(), yaze::editor::WorkspaceWindowManager::HideAllWindowsInCategory(), and window_manager_.

Here is the call graph for this function:

◆ IsValidSessionIndex()

◆ IsSessionActive()

bool yaze::editor::SessionCoordinator::IsSessionActive ( size_t index) const

Definition at line 884 of file session_coordinator.cc.

References active_session_index_.

◆ IsSessionLoaded()

bool yaze::editor::SessionCoordinator::IsSessionLoaded ( size_t index) const

Definition at line 888 of file session_coordinator.cc.

References IsValidSessionIndex(), and sessions_.

Here is the call graph for this function:

◆ GetTotalSessionCount()

size_t yaze::editor::SessionCoordinator::GetTotalSessionCount ( ) const

◆ GetLoadedSessionCount()

size_t yaze::editor::SessionCoordinator::GetLoadedSessionCount ( ) const

Definition at line 896 of file session_coordinator.cc.

References sessions_.

Referenced by DrawSessionManager(), and GetEmptySessionCount().

◆ GetEmptySessionCount()

size_t yaze::editor::SessionCoordinator::GetEmptySessionCount ( ) const

Definition at line 906 of file session_coordinator.cc.

References GetLoadedSessionCount(), and session_count_.

Referenced by DrawSessionManager().

Here is the call graph for this function:

◆ LoadRomIntoSession()

absl::Status yaze::editor::SessionCoordinator::LoadRomIntoSession ( const std::string & filename,
size_t session_index = SIZE_MAX )
Todo
Implement actual ROM loading

Definition at line 910 of file session_coordinator.cc.

References active_session_index_, IsValidSessionIndex(), and LOG_INFO.

Here is the call graph for this function:

◆ SaveActiveSession()

absl::Status yaze::editor::SessionCoordinator::SaveActiveSession ( const std::string & filename = "")
Todo
Implement actual ROM saving

Definition at line 929 of file session_coordinator.cc.

References active_session_index_, IsValidSessionIndex(), and LOG_INFO.

Here is the call graph for this function:

◆ SaveSessionAs()

absl::Status yaze::editor::SessionCoordinator::SaveSessionAs ( size_t session_index,
const std::string & filename )
Todo
Implement actual ROM saving

Definition at line 942 of file session_coordinator.cc.

References IsValidSessionIndex(), and LOG_INFO.

Here is the call graph for this function:

◆ CreateSessionFromRom()

◆ DiscardProvisionalSession()

◆ CleanupClosedSessions()

void yaze::editor::SessionCoordinator::CleanupClosedSessions ( )

Definition at line 1034 of file session_coordinator.cc.

References LOG_INFO, session_count_, sessions_, and UpdateSessionCount().

Here is the call graph for this function:

◆ ClearAllSessions()

void yaze::editor::SessionCoordinator::ClearAllSessions ( )

◆ FocusNextSession()

void yaze::editor::SessionCoordinator::FocusNextSession ( )

Definition at line 1081 of file session_coordinator.cc.

References active_session_index_, sessions_, and SwitchToSession().

Here is the call graph for this function:

◆ FocusPreviousSession()

void yaze::editor::SessionCoordinator::FocusPreviousSession ( )

Definition at line 1089 of file session_coordinator.cc.

References active_session_index_, sessions_, and SwitchToSession().

Here is the call graph for this function:

◆ FocusFirstSession()

void yaze::editor::SessionCoordinator::FocusFirstSession ( )

Definition at line 1098 of file session_coordinator.cc.

References sessions_, and SwitchToSession().

Here is the call graph for this function:

◆ FocusLastSession()

void yaze::editor::SessionCoordinator::FocusLastSession ( )

Definition at line 1104 of file session_coordinator.cc.

References sessions_, and SwitchToSession().

Here is the call graph for this function:

◆ ShowSessionSwitcher()

void yaze::editor::SessionCoordinator::ShowSessionSwitcher ( )
inline

◆ HideSessionSwitcher()

void yaze::editor::SessionCoordinator::HideSessionSwitcher ( )
inline

◆ ToggleSessionSwitcher()

void yaze::editor::SessionCoordinator::ToggleSessionSwitcher ( )
inline

Definition at line 166 of file session_coordinator.h.

References show_session_switcher_.

Referenced by DrawSessionIndicator().

◆ IsSessionSwitcherVisible()

bool yaze::editor::SessionCoordinator::IsSessionSwitcherVisible ( ) const
inline

◆ ShowSessionManager()

void yaze::editor::SessionCoordinator::ShowSessionManager ( )
inline

Definition at line 171 of file session_coordinator.h.

References show_session_manager_.

◆ HideSessionManager()

void yaze::editor::SessionCoordinator::HideSessionManager ( )
inline

Definition at line 172 of file session_coordinator.h.

References show_session_manager_.

◆ ToggleSessionManager()

void yaze::editor::SessionCoordinator::ToggleSessionManager ( )
inline

Definition at line 173 of file session_coordinator.h.

References show_session_manager_.

◆ IsSessionManagerVisible()

bool yaze::editor::SessionCoordinator::IsSessionManagerVisible ( ) const
inline

Definition at line 176 of file session_coordinator.h.

References show_session_manager_.

◆ UpdateActiveSession()

void yaze::editor::SessionCoordinator::UpdateActiveSession ( )

Definition at line 1110 of file session_coordinator.cc.

References active_session_index_, and sessions_.

◆ ValidateSessionIndex()

void yaze::editor::SessionCoordinator::ValidateSessionIndex ( size_t index) const

Definition at line 1116 of file session_coordinator.cc.

References IsValidSessionIndex().

Here is the call graph for this function:

◆ GenerateUniqueSessionName()

std::string yaze::editor::SessionCoordinator::GenerateUniqueSessionName ( const std::string & base_name) const

Definition at line 1123 of file session_coordinator.cc.

References sessions_.

◆ ShowSessionLimitWarning()

void yaze::editor::SessionCoordinator::ShowSessionLimitWarning ( )

Definition at line 1149 of file session_coordinator.cc.

References kMaxSessions, yaze::editor::kWarning, yaze::editor::ToastManager::Show(), and toast_manager_.

Referenced by CreateNewSession(), and DuplicateCurrentSession().

Here is the call graph for this function:

◆ ShowSessionOperationResult()

void yaze::editor::SessionCoordinator::ShowSessionOperationResult ( const std::string & operation,
bool success )

◆ DrawSessionTab()

void yaze::editor::SessionCoordinator::DrawSessionTab ( size_t index,
bool is_active )

◆ DrawSessionContextMenu()

◆ DrawSessionBadge()

void yaze::editor::SessionCoordinator::DrawSessionBadge ( size_t index)

Definition at line 1239 of file session_coordinator.cc.

References GetSessionColor(), ICON_MD_CHECK_CIRCLE, ICON_MD_RADIO_BUTTON_UNCHECKED, and sessions_.

Here is the call graph for this function:

◆ GetSessionColor()

ImVec4 yaze::editor::SessionCoordinator::GetSessionColor ( size_t index) const

Definition at line 1255 of file session_coordinator.cc.

Referenced by DrawSessionBadge(), and DrawSessionTab().

◆ GetSessionIcon()

std::string yaze::editor::SessionCoordinator::GetSessionIcon ( size_t index) const

◆ IsSessionEmpty()

bool yaze::editor::SessionCoordinator::IsSessionEmpty ( size_t index) const

Definition at line 1284 of file session_coordinator.cc.

References IsValidSessionIndex(), and sessions_.

Here is the call graph for this function:

◆ IsSessionClosed()

bool yaze::editor::SessionCoordinator::IsSessionClosed ( size_t index) const

Definition at line 1288 of file session_coordinator.cc.

References IsValidSessionIndex().

Referenced by yaze::editor::UICoordinator::DrawSessionButton().

Here is the call graph for this function:

◆ IsSessionModified()

bool yaze::editor::SessionCoordinator::IsSessionModified ( size_t index) const

◆ ActivateCreatedSession()

◆ SwitchToSessionInternal()

void yaze::editor::SessionCoordinator::SwitchToSessionInternal ( size_t index,
bool transient )
private

◆ CloseSessionInternal()

◆ NotifySessionSwitched()

void yaze::editor::SessionCoordinator::NotifySessionSwitched ( size_t old_index,
size_t new_index,
RomSession * session,
bool transient )
private

◆ NotifySessionCreated()

void yaze::editor::SessionCoordinator::NotifySessionCreated ( size_t index,
RomSession * session )
private

Definition at line 107 of file session_coordinator.cc.

References yaze::editor::SessionCreatedEvent::Create(), event_bus_, and yaze::EventBus::Publish().

Referenced by CreateNewSession(), CreateSessionFromRom(), and DuplicateCurrentSession().

Here is the call graph for this function:

◆ NotifySessionClosed()

void yaze::editor::SessionCoordinator::NotifySessionClosed ( size_t index)
private

Definition at line 115 of file session_coordinator.cc.

References yaze::editor::SessionClosedEvent::Create(), event_bus_, and yaze::EventBus::Publish().

Referenced by CloseSessionInternal(), and DiscardProvisionalSession().

Here is the call graph for this function:

◆ NotifySessionRomLoaded()

void yaze::editor::SessionCoordinator::NotifySessionRomLoaded ( size_t index,
RomSession * session )
private

Member Data Documentation

◆ editor_manager_

◆ editor_registry_

EditorRegistry* yaze::editor::SessionCoordinator::editor_registry_ = nullptr
private

◆ event_bus_

EventBus* yaze::editor::SessionCoordinator::event_bus_ = nullptr
private

◆ sessions_

◆ window_manager_

◆ toast_manager_

ToastManager* yaze::editor::SessionCoordinator::toast_manager_
private

◆ user_settings_

UserSettings* yaze::editor::SessionCoordinator::user_settings_
private

◆ active_session_index_

◆ session_count_

◆ next_session_id_

size_t yaze::editor::SessionCoordinator::next_session_id_ = 0
private

◆ show_session_switcher_

bool yaze::editor::SessionCoordinator::show_session_switcher_ = false
private

◆ show_session_manager_

bool yaze::editor::SessionCoordinator::show_session_manager_ = false
private

◆ show_session_rename_dialog_

bool yaze::editor::SessionCoordinator::show_session_rename_dialog_ = false
private

Definition at line 224 of file session_coordinator.h.

Referenced by DrawSessionContextMenu(), and DrawSessionRenameDialog().

◆ session_to_rename_

size_t yaze::editor::SessionCoordinator::session_to_rename_ = 0
private

Definition at line 225 of file session_coordinator.h.

Referenced by DrawSessionContextMenu(), and DrawSessionRenameDialog().

◆ session_rename_buffer_

char yaze::editor::SessionCoordinator::session_rename_buffer_[256] = {}
private

Definition at line 226 of file session_coordinator.h.

Referenced by DrawSessionContextMenu(), and DrawSessionRenameDialog().

◆ kMaxSessions

constexpr size_t yaze::editor::SessionCoordinator::kMaxSessions = 8
staticconstexprprivate

◆ kMinSessions

constexpr size_t yaze::editor::SessionCoordinator::kMinSessions = 1
staticconstexprprivate

Definition at line 230 of file session_coordinator.h.

Referenced by CloseSessionInternal().


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