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 (ISessionConfigurator *manager) |
| void | SetEditorRegistry (EditorRegistry *registry) |
| void | SetEventBus (EventBus *bus) |
| 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 | |
| ISessionConfigurator * | editor_manager_ = nullptr |
| EditorRegistry * | editor_registry_ = nullptr |
| EventBus * | event_bus_ = nullptr |
| std::vector< std::unique_ptr< RomSession > > | sessions_ |
| 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 46 of file session_coordinator.h.
|
explicit |
Definition at line 37 of file session_coordinator.cc.
|
default |
|
inline |
Definition at line 53 of file session_coordinator.h.
References editor_manager_.
|
inline |
Definition at line 56 of file session_coordinator.h.
References editor_registry_.
|
inline |
Set the EventBus for publishing session lifecycle events. When set, session events will be published alongside observer notifications.
Definition at line 62 of file session_coordinator.h.
References event_bus_.
| void yaze::editor::SessionCoordinator::CreateNewSession | ( | ) |
Definition at line 79 of file session_coordinator.cc.
References active_session_index_, yaze::editor::ISessionConfigurator::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::ISessionConfigurator::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(), SetActiveSessionIndex(), and UpdateSessions().

| void yaze::editor::SessionCoordinator::UpdateSessions | ( | ) |
Definition at line 611 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::ISessionConfigurator::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::AddPanelsMenuItems(), yaze::editor::ConfigurePanelShortcuts(), yaze::editor::UICoordinator::DrawGlobalSearch(), 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(), yaze::gui::GetSuccessColor(), GetTotalSessionCount(), yaze::gui::GetWarningColor(), 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_, yaze::gui::BeginThemedTabBar(), DrawSessionContextMenu(), yaze::gui::EndThemedTabBar(), 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 514 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 534 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 538 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 548 of file session_coordinator.cc.
References sessions_.
Referenced by UpdateSessions().
| void yaze::editor::SessionCoordinator::SetActiveSessionIndex | ( | size_t | index | ) |
Definition at line 574 of file session_coordinator.cc.
References SwitchToSession().

| void yaze::editor::SessionCoordinator::UpdateSessionCount | ( | ) |
Definition at line 578 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 583 of file session_coordinator.cc.
References active_session_index_, panel_manager_, and yaze::editor::PanelManager::ShowAllPanelsInSession().

| void yaze::editor::SessionCoordinator::HideAllPanelsInActiveSession | ( | ) |
Definition at line 589 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 595 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 601 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 607 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 699 of file session_coordinator.cc.
References active_session_index_.
| bool yaze::editor::SessionCoordinator::IsSessionLoaded | ( | size_t | index | ) | const |
Definition at line 703 of file session_coordinator.cc.
References IsValidSessionIndex(), and sessions_.

| size_t yaze::editor::SessionCoordinator::GetTotalSessionCount | ( | ) | const |
Definition at line 707 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 711 of file session_coordinator.cc.
References sessions_.
Referenced by DrawSessionManager(), and GetEmptySessionCount().
| size_t yaze::editor::SessionCoordinator::GetEmptySessionCount | ( | ) | const |
Definition at line 721 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 725 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 744 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 757 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 770 of file session_coordinator.cc.
References editor_registry_, NotifySessionCreated(), NotifySessionRomLoaded(), sessions_, SwitchToSession(), UpdateSessionCount(), and user_settings_.

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

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

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

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

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

|
inline |
Definition at line 139 of file session_coordinator.h.
References show_session_switcher_.
Referenced by yaze::editor::UICoordinator::SetSessionSwitcherVisible(), and yaze::editor::UICoordinator::ShowSessionSwitcher().
|
inline |
Definition at line 140 of file session_coordinator.h.
References show_session_switcher_.
Referenced by yaze::editor::UICoordinator::SetSessionSwitcherVisible().
|
inline |
Definition at line 141 of file session_coordinator.h.
References show_session_switcher_.
Referenced by DrawSessionIndicator().
|
inline |
Definition at line 144 of file session_coordinator.h.
References show_session_switcher_.
Referenced by yaze::editor::UICoordinator::IsSessionSwitcherVisible().
|
inline |
Definition at line 146 of file session_coordinator.h.
References show_session_manager_.
|
inline |
Definition at line 147 of file session_coordinator.h.
References show_session_manager_.
|
inline |
Definition at line 148 of file session_coordinator.h.
References show_session_manager_.
|
inline |
Definition at line 151 of file session_coordinator.h.
References show_session_manager_.
| void yaze::editor::SessionCoordinator::UpdateActiveSession | ( | ) |
Definition at line 859 of file session_coordinator.cc.
References active_session_index_, and sessions_.
| void yaze::editor::SessionCoordinator::ValidateSessionIndex | ( | size_t | index | ) | const |
Definition at line 865 of file session_coordinator.cc.
References IsValidSessionIndex().

| std::string yaze::editor::SessionCoordinator::GenerateUniqueSessionName | ( | const std::string & | base_name | ) | const |
Definition at line 872 of file session_coordinator.cc.
References sessions_.
| void yaze::editor::SessionCoordinator::ShowSessionLimitWarning | ( | ) |
Definition at line 898 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 906 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 916 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 983 of file session_coordinator.cc.
Referenced by DrawSessionBadge(), and DrawSessionTab().
| std::string yaze::editor::SessionCoordinator::GetSessionIcon | ( | size_t | index | ) | const |
Definition at line 999 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 1012 of file session_coordinator.cc.
References IsValidSessionIndex(), and sessions_.

| bool yaze::editor::SessionCoordinator::IsSessionClosed | ( | size_t | index | ) | const |
Definition at line 1016 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 1020 of file session_coordinator.cc.
|
private |
Definition at line 44 of file session_coordinator.cc.
References active_session_index_, yaze::editor::SessionSwitchedEvent::Create(), event_bus_, and yaze::EventBus::Publish().
Referenced by SwitchToSession().

|
private |
Definition at line 55 of file session_coordinator.cc.
References yaze::editor::SessionCreatedEvent::Create(), event_bus_, and yaze::EventBus::Publish().
Referenced by CreateNewSession(), CreateSessionFromRom(), and DuplicateCurrentSession().

|
private |
Definition at line 63 of file session_coordinator.cc.
References yaze::editor::SessionClosedEvent::Create(), event_bus_, and yaze::EventBus::Publish().
Referenced by CloseSession().

|
private |
Definition at line 70 of file session_coordinator.cc.
References yaze::editor::RomLoadedEvent::Create(), event_bus_, yaze::editor::RomSession::filepath, yaze::EventBus::Publish(), and yaze::editor::RomSession::rom.
Referenced by CreateSessionFromRom().

|
private |
Definition at line 179 of file session_coordinator.h.
Referenced by CreateNewSession(), DuplicateCurrentSession(), SetEditorManager(), and UpdateSessions().
|
private |
Definition at line 180 of file session_coordinator.h.
Referenced by CreateSessionFromRom(), and SetEditorRegistry().
|
private |
Definition at line 181 of file session_coordinator.h.
Referenced by NotifySessionClosed(), NotifySessionCreated(), NotifySessionRomLoaded(), NotifySessionSwitched(), and SetEventBus().
|
private |
Definition at line 182 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 183 of file session_coordinator.h.
Referenced by ClearAllSessions(), CloseSession(), HideAllPanelsInActiveSession(), HidePanelsInCategory(), ShowAllPanelsInActiveSession(), ShowPanelsInCategory(), and SwitchToSession().
|
private |
Definition at line 184 of file session_coordinator.h.
Referenced by CloseSession(), ShowSessionLimitWarning(), ShowSessionOperationResult(), and UpdateSessions().
|
private |
Definition at line 185 of file session_coordinator.h.
Referenced by CreateSessionFromRom().
|
private |
Definition at line 188 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(), NotifySessionSwitched(), SaveActiveSession(), ShowAllPanelsInActiveSession(), ShowPanelsInCategory(), SwitchToSession(), UpdateActiveSession(), and UpdateSessions().
|
private |
Definition at line 189 of file session_coordinator.h.
Referenced by CleanupClosedSessions(), CloseSession(), CreateNewSession(), DrawSessionSwitcher(), DuplicateCurrentSession(), GetActiveSessionCount(), GetEmptySessionCount(), GetTotalSessionCount(), HasMultipleSessions(), and UpdateSessionCount().
|
private |
Definition at line 192 of file session_coordinator.h.
Referenced by DrawSessionSwitcher(), HideSessionSwitcher(), IsSessionSwitcherVisible(), ShowSessionSwitcher(), and ToggleSessionSwitcher().
|
private |
Definition at line 193 of file session_coordinator.h.
Referenced by DrawSessionManager(), HideSessionManager(), IsSessionManagerVisible(), ShowSessionManager(), and ToggleSessionManager().
|
private |
Definition at line 194 of file session_coordinator.h.
Referenced by DrawSessionContextMenu(), and DrawSessionRenameDialog().
|
private |
Definition at line 195 of file session_coordinator.h.
Referenced by DrawSessionContextMenu(), and DrawSessionRenameDialog().
|
private |
Definition at line 196 of file session_coordinator.h.
Referenced by DrawSessionContextMenu(), and DrawSessionRenameDialog().
|
staticconstexprprivate |
Definition at line 199 of file session_coordinator.h.
Referenced by CreateNewSession(), DuplicateCurrentSession(), and ShowSessionLimitWarning().
|
staticconstexprprivate |
Definition at line 200 of file session_coordinator.h.
Referenced by CloseSession().