refactor: Implement session-aware card titles for multi-session support

- Added a helper method, MakeCardTitle, to generate session-aware titles for editor cards based on the current session context.
- Updated various editor files to utilize the new MakeCardTitle method, ensuring consistent card naming across multiple sessions.
- Refactored card initialization in AssemblyEditor, GraphicsEditor, DungeonEditorV2, OverworldEditor, and SpriteEditor to support dynamic session titles, enhancing user experience and clarity.
This commit is contained in:
scawful
2025-10-06 00:36:24 -04:00
parent dd56addd5e
commit 939df9fa3d
7 changed files with 47 additions and 30 deletions

View File

@@ -120,6 +120,14 @@ class Editor {
EditorType type_;
EditorContext* context_ = nullptr;
// Helper method to create session-aware card titles for multi-session support
std::string MakeCardTitle(const std::string& base_title) const {
if (context_ && context_->session_id > 0) {
return absl::StrFormat("%s [S%zu]", base_title, context_->session_id);
}
return base_title;
}
// Helper method for ROM access with safety check
template<typename T>
absl::StatusOr<T> SafeRomAccess(std::function<T()> accessor, const std::string& operation = "") const {