High-level orchestrator for multi-session UI. More...
#include <session_coordinator.h>

Public Member Functions | |
| SessionCoordinator (PanelManager *panel_manager, ToastManager *toast_manager, UserSettings *user_settings) | |
| ~SessionCoordinator ()=default | |
| void | SetEditorManager (EditorManager *manager) |
| void | AddObserver (SessionObserver *observer) |
| void | RemoveObserver (SessionObserver *observer) |
| void | CreateNewSession () |
| void | DuplicateCurrentSession () |
| void | CloseCurrentSession () |
| void | CloseSession (size_t index) |
| void | RemoveSession (size_t index) |
| void | SwitchToSession (size_t index) |
| void | UpdateSessions () |
| void | ActivateSession (size_t index) |
| size_t | GetActiveSessionIndex () const |
| 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 |
| 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) |
| 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 |
Private Member Functions | |
| void | NotifySessionSwitched (size_t index, RomSession *session) |
| void | NotifySessionCreated (size_t index, RomSession *session) |
| void | NotifySessionClosed (size_t index) |
| void | NotifySessionRomLoaded (size_t index, RomSession *session) |
Private Attributes | |
| EditorManager * | editor_manager_ = nullptr |
| std::vector< std::unique_ptr< RomSession > > | sessions_ |
| std::vector< SessionObserver * > | observers_ |
| PanelManager * | panel_manager_ |
| ToastManager * | toast_manager_ |
| UserSettings * | user_settings_ |
| size_t | active_session_index_ = 0 |
| size_t | session_count_ = 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 |
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 68 of file session_coordinator.h.
|
explicit |
Definition at line 33 of file session_coordinator.cc.
|
default |
|
inline |
Definition at line 75 of file session_coordinator.h.
References editor_manager_.
| void yaze::editor::SessionCoordinator::AddObserver | ( | SessionObserver * | observer | ) |
Definition at line 40 of file session_coordinator.cc.
References observers_.
| void yaze::editor::SessionCoordinator::RemoveObserver | ( | SessionObserver * | observer | ) |
Definition at line 46 of file session_coordinator.cc.
References observers_.
| void yaze::editor::SessionCoordinator::CreateNewSession | ( | ) |
Definition at line 78 of file session_coordinator.cc.
References active_session_index_, yaze::editor::EditorManager::ConfigureSession(), editor_manager_, kMaxSessions, LOG_INFO, NotifySessionCreated(), session_count_, sessions_, ShowSessionLimitWarning(), ShowSessionOperationResult(), and UpdateSessionCount().
Referenced by DrawSessionSwitcher(), and yaze::editor::MenuOrchestrator::OnCreateNewSession().
| void yaze::editor::SessionCoordinator::DuplicateCurrentSession | ( | ) |
Definition at line 106 of file session_coordinator.cc.
References active_session_index_, yaze::editor::EditorManager::ConfigureSession(), editor_manager_, kMaxSessions, LOG_INFO, NotifySessionCreated(), session_count_, sessions_, ShowSessionLimitWarning(), ShowSessionOperationResult(), and UpdateSessionCount().
Referenced by DrawSessionSwitcher(), and yaze::editor::MenuOrchestrator::OnDuplicateCurrentSession().
| void yaze::editor::SessionCoordinator::CloseCurrentSession | ( | ) |
Definition at line 139 of file session_coordinator.cc.
References active_session_index_, and CloseSession().
Referenced by DrawSessionSwitcher(), and yaze::editor::MenuOrchestrator::OnCloseCurrentSession().

| void yaze::editor::SessionCoordinator::CloseSession | ( | size_t | index | ) |
Definition at line 143 of file session_coordinator.cc.
References active_session_index_, IsValidSessionIndex(), kMinSessions, yaze::editor::kWarning, LOG_INFO, NotifySessionClosed(), panel_manager_, session_count_, sessions_, yaze::editor::ToastManager::Show(), ShowSessionOperationResult(), toast_manager_, yaze::editor::PanelManager::UnregisterSession(), and UpdateSessionCount().
Referenced by CloseCurrentSession(), DrawSessionContextMenu(), DrawSessionManager(), and RemoveSession().
| void yaze::editor::SessionCoordinator::RemoveSession | ( | size_t | index | ) |
Definition at line 179 of file session_coordinator.cc.
References CloseSession().

| void yaze::editor::SessionCoordinator::SwitchToSession | ( | size_t | index | ) |
Definition at line 183 of file session_coordinator.cc.
References active_session_index_, IsValidSessionIndex(), NotifySessionSwitched(), panel_manager_, sessions_, and yaze::editor::PanelManager::SetActiveSession().
Referenced by ActivateSession(), CreateSessionFromRom(), DrawSessionContextMenu(), DrawSessionManager(), DrawSessionSwitcher(), DrawSessionTab(), DrawSessionTabs(), FocusFirstSession(), FocusLastSession(), FocusNextSession(), FocusPreviousSession(), yaze::editor::MenuOrchestrator::OnSwitchToSession(), SetActiveSessionIndex(), and UpdateSessions().

| void yaze::editor::SessionCoordinator::UpdateSessions | ( | ) |
Definition at line 609 of file session_coordinator.cc.
References active_session_index_, editor_manager_, GenerateUniqueEditorTitle(), yaze::editor::EditorManager::IsPanelBasedEditor(), yaze::editor::OverworldEditor::jump_to_tab_, yaze::editor::kEditorNames, yaze::editor::kError, yaze::editor::kOverworld, sessions_, yaze::editor::EditorManager::SetCurrentEditor(), yaze::editor::ToastManager::Show(), SwitchToSession(), and toast_manager_.
| void yaze::editor::SessionCoordinator::ActivateSession | ( | size_t | index | ) |
Definition at line 200 of file session_coordinator.cc.
References SwitchToSession().

| size_t yaze::editor::SessionCoordinator::GetActiveSessionIndex | ( | ) | const |
Definition at line 204 of file session_coordinator.cc.
References active_session_index_.
Referenced by yaze::editor::MenuOrchestrator::AddPanelsSubmenu(), yaze::editor::ConfigurePanelShortcuts(), yaze::editor::UICoordinator::DrawGlobalSearch(), yaze::editor::UICoordinator::HideCurrentEditorPanels(), yaze::editor::UICoordinator::IsEmulatorVisible(), and yaze::editor::UICoordinator::SetEmulatorVisible().
| void * yaze::editor::SessionCoordinator::GetActiveSession | ( | ) | const |
Definition at line 208 of file session_coordinator.cc.
References active_session_index_, IsValidSessionIndex(), and sessions_.
Referenced by GetActiveRomSession().

| RomSession * yaze::editor::SessionCoordinator::GetActiveRomSession | ( | ) | const |
Definition at line 215 of file session_coordinator.cc.
References GetActiveSession().
Referenced by GetCurrentEditorSet(), GetCurrentGameData(), and GetCurrentRom().

| Rom * yaze::editor::SessionCoordinator::GetCurrentRom | ( | ) | const |
Definition at line 219 of file session_coordinator.cc.
References GetActiveRomSession().

| zelda3::GameData * yaze::editor::SessionCoordinator::GetCurrentGameData | ( | ) | const |
Definition at line 224 of file session_coordinator.cc.
References GetActiveRomSession().

| EditorSet * yaze::editor::SessionCoordinator::GetCurrentEditorSet | ( | ) | const |
Definition at line 229 of file session_coordinator.cc.
References GetActiveRomSession().

| void * yaze::editor::SessionCoordinator::GetSession | ( | size_t | index | ) | const |
Definition at line 234 of file session_coordinator.cc.
References IsValidSessionIndex(), and sessions_.
Referenced by yaze::editor::UICoordinator::DrawSessionButton().

| bool yaze::editor::SessionCoordinator::HasMultipleSessions | ( | ) | const |
Definition at line 241 of file session_coordinator.cc.
References session_count_.
Referenced by yaze::editor::UICoordinator::DrawMenuBarExtras(), DrawSessionContextMenu(), DrawSessionIndicator(), DrawSessionManager(), DrawSessionSwitcher(), and yaze::editor::MenuOrchestrator::HasMultipleSessions().
| size_t yaze::editor::SessionCoordinator::GetActiveSessionCount | ( | ) | const |
Definition at line 245 of file session_coordinator.cc.
References session_count_.
Referenced by yaze::editor::UICoordinator::DrawGlobalSearch(), yaze::editor::UICoordinator::DrawNotificationBell(), and yaze::editor::UICoordinator::DrawSessionButton().
| bool yaze::editor::SessionCoordinator::HasDuplicateSession | ( | const std::string & | filepath | ) | const |
Definition at line 249 of file session_coordinator.cc.
References sessions_.
| void yaze::editor::SessionCoordinator::DrawSessionSwitcher | ( | ) |
Definition at line 262 of file session_coordinator.cc.
References active_session_index_, CloseCurrentSession(), CreateNewSession(), DrawSessionContextMenu(), DuplicateCurrentSession(), GetSessionDisplayName(), HasMultipleSessions(), ICON_MD_ADD, ICON_MD_CLOSE, ICON_MD_CONTENT_COPY, ICON_MD_TAB, session_count_, sessions_, show_session_switcher_, and SwitchToSession().
| void yaze::editor::SessionCoordinator::DrawSessionManager | ( | ) |
Definition at line 326 of file session_coordinator.cc.
References active_session_index_, CloseSession(), GetEmptySessionCount(), GetLoadedSessionCount(), GetSessionDisplayName(), GetTotalSessionCount(), HasMultipleSessions(), ICON_MD_ANALYTICS, ICON_MD_RADIO_BUTTON_CHECKED, ICON_MD_RADIO_BUTTON_UNCHECKED, sessions_, show_session_manager_, and SwitchToSession().
| void yaze::editor::SessionCoordinator::DrawSessionRenameDialog | ( | ) |
Definition at line 420 of file session_coordinator.cc.
References RenameSession(), session_rename_buffer_, session_to_rename_, and show_session_rename_dialog_.

| void yaze::editor::SessionCoordinator::DrawSessionTabs | ( | ) |
Definition at line 454 of file session_coordinator.cc.
References active_session_index_, DrawSessionContextMenu(), GetSessionDisplayName(), ICON_MD_CHECK_CIRCLE, sessions_, and SwitchToSession().

| void yaze::editor::SessionCoordinator::DrawSessionIndicator | ( | ) |
Definition at line 491 of file session_coordinator.cc.
References active_session_index_, yaze::gui::ConvertColorToImVec4(), yaze::gui::ThemeManager::Get(), GetActiveSessionDisplayName(), yaze::gui::ThemeManager::GetCurrentTheme(), HasMultipleSessions(), ICON_MD_TAB, and ToggleSessionSwitcher().
| std::string yaze::editor::SessionCoordinator::GetSessionDisplayName | ( | size_t | index | ) | const |
Definition at line 512 of file session_coordinator.cc.
References IsValidSessionIndex(), and sessions_.
Referenced by yaze::editor::UICoordinator::DrawGlobalSearch(), DrawSessionContextMenu(), DrawSessionManager(), DrawSessionSwitcher(), DrawSessionTab(), DrawSessionTabs(), and GetActiveSessionDisplayName().

| std::string yaze::editor::SessionCoordinator::GetActiveSessionDisplayName | ( | ) | const |
Definition at line 532 of file session_coordinator.cc.
References active_session_index_, and GetSessionDisplayName().
Referenced by DrawSessionIndicator().

| void yaze::editor::SessionCoordinator::RenameSession | ( | size_t | index, |
| const std::string & | new_name ) |
Definition at line 536 of file session_coordinator.cc.
References IsValidSessionIndex(), LOG_INFO, and sessions_.
Referenced by DrawSessionRenameDialog().

| std::string yaze::editor::SessionCoordinator::GenerateUniqueEditorTitle | ( | const std::string & | editor_name, |
| size_t | session_index ) const |
Definition at line 546 of file session_coordinator.cc.
References sessions_.
Referenced by UpdateSessions().
| void yaze::editor::SessionCoordinator::SetActiveSessionIndex | ( | size_t | index | ) |
Definition at line 572 of file session_coordinator.cc.
References SwitchToSession().

| void yaze::editor::SessionCoordinator::UpdateSessionCount | ( | ) |
Definition at line 576 of file session_coordinator.cc.
References session_count_, and sessions_.
Referenced by CleanupClosedSessions(), ClearAllSessions(), CloseSession(), CreateNewSession(), CreateSessionFromRom(), and DuplicateCurrentSession().
| void yaze::editor::SessionCoordinator::ShowAllPanelsInActiveSession | ( | ) |
Definition at line 581 of file session_coordinator.cc.
References active_session_index_, panel_manager_, and yaze::editor::PanelManager::ShowAllPanelsInSession().

| void yaze::editor::SessionCoordinator::HideAllPanelsInActiveSession | ( | ) |
Definition at line 587 of file session_coordinator.cc.
References active_session_index_, yaze::editor::PanelManager::HideAllPanelsInSession(), and panel_manager_.

| void yaze::editor::SessionCoordinator::ShowPanelsInCategory | ( | const std::string & | category | ) |
Definition at line 593 of file session_coordinator.cc.
References active_session_index_, panel_manager_, and yaze::editor::PanelManager::ShowAllPanelsInCategory().

| void yaze::editor::SessionCoordinator::HidePanelsInCategory | ( | const std::string & | category | ) |
Definition at line 599 of file session_coordinator.cc.
References active_session_index_, yaze::editor::PanelManager::HideAllPanelsInCategory(), and panel_manager_.

| bool yaze::editor::SessionCoordinator::IsValidSessionIndex | ( | size_t | index | ) | const |
Definition at line 605 of file session_coordinator.cc.
References sessions_.
Referenced by CloseSession(), GetActiveSession(), GetSession(), GetSessionDisplayName(), IsSessionClosed(), IsSessionEmpty(), IsSessionLoaded(), LoadRomIntoSession(), RenameSession(), SaveActiveSession(), SaveSessionAs(), SwitchToSession(), and ValidateSessionIndex().
| bool yaze::editor::SessionCoordinator::IsSessionActive | ( | size_t | index | ) | const |
Definition at line 697 of file session_coordinator.cc.
References active_session_index_.
| bool yaze::editor::SessionCoordinator::IsSessionLoaded | ( | size_t | index | ) | const |
Definition at line 701 of file session_coordinator.cc.
References IsValidSessionIndex(), and sessions_.

| size_t yaze::editor::SessionCoordinator::GetTotalSessionCount | ( | ) | const |
Definition at line 705 of file session_coordinator.cc.
References session_count_.
Referenced by yaze::editor::UICoordinator::DrawGlobalSearch(), yaze::editor::UICoordinator::DrawSessionButton(), and DrawSessionManager().
| size_t yaze::editor::SessionCoordinator::GetLoadedSessionCount | ( | ) | const |
Definition at line 709 of file session_coordinator.cc.
References sessions_.
Referenced by DrawSessionManager(), and GetEmptySessionCount().
| size_t yaze::editor::SessionCoordinator::GetEmptySessionCount | ( | ) | const |
Definition at line 719 of file session_coordinator.cc.
References GetLoadedSessionCount(), and session_count_.
Referenced by DrawSessionManager().

| absl::Status yaze::editor::SessionCoordinator::LoadRomIntoSession | ( | const std::string & | filename, |
| size_t | session_index = SIZE_MAX ) |
Definition at line 723 of file session_coordinator.cc.
References active_session_index_, IsValidSessionIndex(), and LOG_INFO.

| absl::Status yaze::editor::SessionCoordinator::SaveActiveSession | ( | const std::string & | filename = "" | ) |
Definition at line 742 of file session_coordinator.cc.
References active_session_index_, IsValidSessionIndex(), and LOG_INFO.

| absl::Status yaze::editor::SessionCoordinator::SaveSessionAs | ( | size_t | session_index, |
| const std::string & | filename ) |
Definition at line 755 of file session_coordinator.cc.
References IsValidSessionIndex(), and LOG_INFO.

| absl::StatusOr< RomSession * > yaze::editor::SessionCoordinator::CreateSessionFromRom | ( | Rom && | rom, |
| const std::string & | filepath ) |
Definition at line 768 of file session_coordinator.cc.
References NotifySessionCreated(), NotifySessionRomLoaded(), sessions_, SwitchToSession(), UpdateSessionCount(), and user_settings_.

| void yaze::editor::SessionCoordinator::CleanupClosedSessions | ( | ) |
Definition at line 786 of file session_coordinator.cc.
References LOG_INFO, session_count_, sessions_, and UpdateSessionCount().

| void yaze::editor::SessionCoordinator::ClearAllSessions | ( | ) |
Definition at line 810 of file session_coordinator.cc.
References active_session_index_, LOG_INFO, panel_manager_, sessions_, yaze::editor::PanelManager::UnregisterSession(), and UpdateSessionCount().

| void yaze::editor::SessionCoordinator::FocusNextSession | ( | ) |
Definition at line 828 of file session_coordinator.cc.
References active_session_index_, sessions_, and SwitchToSession().

| void yaze::editor::SessionCoordinator::FocusPreviousSession | ( | ) |
Definition at line 836 of file session_coordinator.cc.
References active_session_index_, sessions_, and SwitchToSession().

| void yaze::editor::SessionCoordinator::FocusFirstSession | ( | ) |
Definition at line 845 of file session_coordinator.cc.
References sessions_, and SwitchToSession().

| void yaze::editor::SessionCoordinator::FocusLastSession | ( | ) |
Definition at line 851 of file session_coordinator.cc.
References sessions_, and SwitchToSession().

|
inline |
Definition at line 156 of file session_coordinator.h.
References show_session_switcher_.
Referenced by yaze::editor::UICoordinator::SetSessionSwitcherVisible(), and yaze::editor::UICoordinator::ShowSessionSwitcher().
|
inline |
Definition at line 157 of file session_coordinator.h.
References show_session_switcher_.
Referenced by yaze::editor::UICoordinator::SetSessionSwitcherVisible().
|
inline |
Definition at line 158 of file session_coordinator.h.
References show_session_switcher_.
Referenced by DrawSessionIndicator().
|
inline |
Definition at line 161 of file session_coordinator.h.
References show_session_switcher_.
Referenced by yaze::editor::UICoordinator::IsSessionSwitcherVisible().
|
inline |
Definition at line 163 of file session_coordinator.h.
References show_session_manager_.
|
inline |
Definition at line 164 of file session_coordinator.h.
References show_session_manager_.
|
inline |
Definition at line 165 of file session_coordinator.h.
References show_session_manager_.
|
inline |
Definition at line 168 of file session_coordinator.h.
References show_session_manager_.
| void yaze::editor::SessionCoordinator::UpdateActiveSession | ( | ) |
Definition at line 857 of file session_coordinator.cc.
References active_session_index_, and sessions_.
| void yaze::editor::SessionCoordinator::ValidateSessionIndex | ( | size_t | index | ) | const |
Definition at line 863 of file session_coordinator.cc.
References IsValidSessionIndex().

| std::string yaze::editor::SessionCoordinator::GenerateUniqueSessionName | ( | const std::string & | base_name | ) | const |
Definition at line 870 of file session_coordinator.cc.
References sessions_.
| void yaze::editor::SessionCoordinator::ShowSessionLimitWarning | ( | ) |
Definition at line 896 of file session_coordinator.cc.
References kMaxSessions, yaze::editor::kWarning, yaze::editor::ToastManager::Show(), and toast_manager_.
Referenced by CreateNewSession(), and DuplicateCurrentSession().

| void yaze::editor::SessionCoordinator::ShowSessionOperationResult | ( | const std::string & | operation, |
| bool | success ) |
Definition at line 904 of file session_coordinator.cc.
References yaze::editor::kError, yaze::editor::kSuccess, yaze::editor::ToastManager::Show(), and toast_manager_.
Referenced by CloseSession(), CreateNewSession(), and DuplicateCurrentSession().

| void yaze::editor::SessionCoordinator::DrawSessionTab | ( | size_t | index, |
| bool | is_active ) |
Definition at line 914 of file session_coordinator.cc.
References GetSessionColor(), GetSessionDisplayName(), ICON_MD_CHECK_CIRCLE, sessions_, and SwitchToSession().

| void yaze::editor::SessionCoordinator::DrawSessionContextMenu | ( | size_t | index | ) |
Definition at line 939 of file session_coordinator.cc.
References CloseSession(), GetSessionDisplayName(), HasMultipleSessions(), ICON_MD_CLOSE, ICON_MD_CONTENT_COPY, ICON_MD_EDIT, ICON_MD_TAB, session_rename_buffer_, session_to_rename_, show_session_rename_dialog_, and SwitchToSession().
Referenced by DrawSessionSwitcher(), and DrawSessionTabs().

| void yaze::editor::SessionCoordinator::DrawSessionBadge | ( | size_t | index | ) |
Definition at line 967 of file session_coordinator.cc.
References GetSessionColor(), ICON_MD_CHECK_CIRCLE, ICON_MD_RADIO_BUTTON_UNCHECKED, and sessions_.

| ImVec4 yaze::editor::SessionCoordinator::GetSessionColor | ( | size_t | index | ) | const |
Definition at line 985 of file session_coordinator.cc.
Referenced by DrawSessionBadge(), and DrawSessionTab().
| std::string yaze::editor::SessionCoordinator::GetSessionIcon | ( | size_t | index | ) | const |
Definition at line 1001 of file session_coordinator.cc.
References ICON_MD_CHECK_CIRCLE, ICON_MD_RADIO_BUTTON_UNCHECKED, and sessions_.
| bool yaze::editor::SessionCoordinator::IsSessionEmpty | ( | size_t | index | ) | const |
Definition at line 1014 of file session_coordinator.cc.
References IsValidSessionIndex(), and sessions_.

| bool yaze::editor::SessionCoordinator::IsSessionClosed | ( | size_t | index | ) | const |
Definition at line 1018 of file session_coordinator.cc.
References IsValidSessionIndex().
Referenced by yaze::editor::UICoordinator::DrawSessionButton().

| bool yaze::editor::SessionCoordinator::IsSessionModified | ( | size_t | index | ) | const |
Definition at line 1022 of file session_coordinator.cc.
|
private |
Definition at line 51 of file session_coordinator.cc.
References observers_.
Referenced by SwitchToSession().
|
private |
Definition at line 58 of file session_coordinator.cc.
References observers_.
Referenced by CreateNewSession(), CreateSessionFromRom(), and DuplicateCurrentSession().
|
private |
Definition at line 65 of file session_coordinator.cc.
References observers_.
Referenced by CloseSession().
|
private |
Definition at line 71 of file session_coordinator.cc.
References observers_.
Referenced by CreateSessionFromRom().
|
private |
Definition at line 197 of file session_coordinator.h.
Referenced by CreateNewSession(), DuplicateCurrentSession(), SetEditorManager(), and UpdateSessions().
|
private |
Definition at line 198 of file session_coordinator.h.
Referenced by CleanupClosedSessions(), ClearAllSessions(), CloseSession(), CreateNewSession(), CreateSessionFromRom(), DrawSessionBadge(), DrawSessionManager(), DrawSessionSwitcher(), DrawSessionTab(), DrawSessionTabs(), DuplicateCurrentSession(), FocusFirstSession(), FocusLastSession(), FocusNextSession(), FocusPreviousSession(), GenerateUniqueEditorTitle(), GenerateUniqueSessionName(), GetActiveSession(), GetLoadedSessionCount(), GetSession(), GetSessionDisplayName(), GetSessionIcon(), HasDuplicateSession(), IsSessionEmpty(), IsSessionLoaded(), IsValidSessionIndex(), RenameSession(), SwitchToSession(), UpdateActiveSession(), UpdateSessionCount(), and UpdateSessions().
|
private |
Definition at line 199 of file session_coordinator.h.
Referenced by AddObserver(), NotifySessionClosed(), NotifySessionCreated(), NotifySessionRomLoaded(), NotifySessionSwitched(), and RemoveObserver().
|
private |
Definition at line 200 of file session_coordinator.h.
Referenced by ClearAllSessions(), CloseSession(), HideAllPanelsInActiveSession(), HidePanelsInCategory(), ShowAllPanelsInActiveSession(), ShowPanelsInCategory(), and SwitchToSession().
|
private |
Definition at line 201 of file session_coordinator.h.
Referenced by CloseSession(), ShowSessionLimitWarning(), ShowSessionOperationResult(), and UpdateSessions().
|
private |
Definition at line 202 of file session_coordinator.h.
Referenced by CreateSessionFromRom().
|
private |
Definition at line 205 of file session_coordinator.h.
Referenced by ClearAllSessions(), CloseCurrentSession(), CloseSession(), CreateNewSession(), DrawSessionIndicator(), DrawSessionManager(), DrawSessionSwitcher(), DrawSessionTabs(), DuplicateCurrentSession(), FocusNextSession(), FocusPreviousSession(), GetActiveSession(), GetActiveSessionDisplayName(), GetActiveSessionIndex(), HideAllPanelsInActiveSession(), HidePanelsInCategory(), IsSessionActive(), LoadRomIntoSession(), SaveActiveSession(), ShowAllPanelsInActiveSession(), ShowPanelsInCategory(), SwitchToSession(), UpdateActiveSession(), and UpdateSessions().
|
private |
Definition at line 206 of file session_coordinator.h.
Referenced by CleanupClosedSessions(), CloseSession(), CreateNewSession(), DrawSessionSwitcher(), DuplicateCurrentSession(), GetActiveSessionCount(), GetEmptySessionCount(), GetTotalSessionCount(), HasMultipleSessions(), and UpdateSessionCount().
|
private |
Definition at line 209 of file session_coordinator.h.
Referenced by DrawSessionSwitcher(), HideSessionSwitcher(), IsSessionSwitcherVisible(), ShowSessionSwitcher(), and ToggleSessionSwitcher().
|
private |
Definition at line 210 of file session_coordinator.h.
Referenced by DrawSessionManager(), HideSessionManager(), IsSessionManagerVisible(), ShowSessionManager(), and ToggleSessionManager().
|
private |
Definition at line 211 of file session_coordinator.h.
Referenced by DrawSessionContextMenu(), and DrawSessionRenameDialog().
|
private |
Definition at line 212 of file session_coordinator.h.
Referenced by DrawSessionContextMenu(), and DrawSessionRenameDialog().
|
private |
Definition at line 213 of file session_coordinator.h.
Referenced by DrawSessionContextMenu(), and DrawSessionRenameDialog().
|
staticconstexprprivate |
Definition at line 216 of file session_coordinator.h.
Referenced by CreateNewSession(), DuplicateCurrentSession(), and ShowSessionLimitWarning().
|
staticconstexprprivate |
Definition at line 217 of file session_coordinator.h.
Referenced by CloseSession().