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 79 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 107 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 140 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 144 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 180 of file session_coordinator.cc.
References CloseSession().

| void yaze::editor::SessionCoordinator::SwitchToSession | ( | size_t | index | ) |
Definition at line 184 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 201 of file session_coordinator.cc.
References SwitchToSession().

| size_t yaze::editor::SessionCoordinator::GetActiveSessionIndex | ( | ) | const |
Definition at line 205 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 209 of file session_coordinator.cc.
References active_session_index_, IsValidSessionIndex(), and sessions_.
Referenced by GetActiveRomSession().

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

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

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

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

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

| bool yaze::editor::SessionCoordinator::HasMultipleSessions | ( | ) | const |
Definition at line 242 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 246 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 250 of file session_coordinator.cc.
References sessions_.
| void yaze::editor::SessionCoordinator::DrawSessionSwitcher | ( | ) |
Definition at line 263 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 327 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 421 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 455 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 492 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 513 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 533 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 537 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 547 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 694 of file session_coordinator.cc.
References active_session_index_.
| bool yaze::editor::SessionCoordinator::IsSessionLoaded | ( | size_t | index | ) | const |
Definition at line 698 of file session_coordinator.cc.
References IsValidSessionIndex(), and sessions_.

| size_t yaze::editor::SessionCoordinator::GetTotalSessionCount | ( | ) | const |
Definition at line 702 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 706 of file session_coordinator.cc.
References sessions_.
Referenced by DrawSessionManager(), and GetEmptySessionCount().
| size_t yaze::editor::SessionCoordinator::GetEmptySessionCount | ( | ) | const |
Definition at line 716 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 720 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 739 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 752 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 765 of file session_coordinator.cc.
References NotifySessionCreated(), NotifySessionRomLoaded(), sessions_, SwitchToSession(), UpdateSessionCount(), and user_settings_.

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

| void yaze::editor::SessionCoordinator::ClearAllSessions | ( | ) |
Definition at line 806 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 824 of file session_coordinator.cc.
References active_session_index_, sessions_, and SwitchToSession().

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

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

| void yaze::editor::SessionCoordinator::FocusLastSession | ( | ) |
Definition at line 847 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 853 of file session_coordinator.cc.
References active_session_index_, and sessions_.
| void yaze::editor::SessionCoordinator::ValidateSessionIndex | ( | size_t | index | ) | const |
Definition at line 860 of file session_coordinator.cc.
References IsValidSessionIndex().

| std::string yaze::editor::SessionCoordinator::GenerateUniqueSessionName | ( | const std::string & | base_name | ) | const |
Definition at line 867 of file session_coordinator.cc.
References sessions_.
| void yaze::editor::SessionCoordinator::ShowSessionLimitWarning | ( | ) |
Definition at line 893 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 901 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 911 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 936 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 964 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 982 of file session_coordinator.cc.
Referenced by DrawSessionBadge(), and DrawSessionTab().
| std::string yaze::editor::SessionCoordinator::GetSessionIcon | ( | size_t | index | ) | const |
Definition at line 998 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 1011 of file session_coordinator.cc.
References IsValidSessionIndex(), and sessions_.

| bool yaze::editor::SessionCoordinator::IsSessionClosed | ( | size_t | index | ) | const |
Definition at line 1015 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 1019 of file session_coordinator.cc.
|
private |
Definition at line 52 of file session_coordinator.cc.
References observers_.
Referenced by SwitchToSession().
|
private |
Definition at line 59 of file session_coordinator.cc.
References observers_.
Referenced by CreateNewSession(), CreateSessionFromRom(), and DuplicateCurrentSession().
|
private |
Definition at line 66 of file session_coordinator.cc.
References observers_.
Referenced by CloseSession().
|
private |
Definition at line 72 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().