yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
popup_id.h
Go to the documentation of this file.
1#ifndef YAZE_APP_GUI_CORE_POPUP_ID_H
2#define YAZE_APP_GUI_CORE_POPUP_ID_H
3
4#include <string>
5
6#include "absl/strings/str_format.h"
7
8namespace yaze {
9namespace gui {
10
23inline std::string MakePopupId(size_t session_id, const std::string& editor_name,
24 const std::string& popup_name) {
25 return absl::StrFormat("s%zu.%s::%s", session_id, editor_name, popup_name);
26}
27
34inline std::string MakePopupId(const std::string& editor_name,
35 const std::string& popup_name) {
36 return absl::StrFormat("s0.%s::%s", editor_name, popup_name);
37}
38
45inline std::string MakePopupIdWithInstance(const std::string& editor_name,
46 const std::string& popup_name,
47 const void* instance) {
48 return absl::StrFormat("s0.%s::%s##%p", editor_name, popup_name, instance);
49}
50
51// Common editor names for consistency
52namespace EditorNames {
53constexpr const char* kOverworld = "Overworld";
54constexpr const char* kDungeon = "Dungeon";
55constexpr const char* kGraphics = "Graphics";
56constexpr const char* kPalette = "Palette";
57constexpr const char* kSprite = "Sprite";
58constexpr const char* kScreen = "Screen";
59constexpr const char* kMusic = "Music";
60constexpr const char* kMessage = "Message";
61constexpr const char* kAssembly = "Assembly";
62constexpr const char* kEntity = "Entity"; // For entity.cc shared popups
63} // namespace EditorNames
64
65// Common popup names for consistency
66namespace PopupNames {
67// Entity editor popups
68constexpr const char* kEntranceEditor = "Entrance Editor";
69constexpr const char* kExitEditor = "Exit Editor";
70constexpr const char* kItemEditor = "Item Editor";
71constexpr const char* kSpriteEditor = "Sprite Editor";
72
73// Map properties popups
74constexpr const char* kGraphicsPopup = "GraphicsPopup";
75constexpr const char* kPalettesPopup = "PalettesPopup";
76constexpr const char* kConfigPopup = "ConfigPopup";
77constexpr const char* kViewPopup = "ViewPopup";
78constexpr const char* kQuickPopup = "QuickPopup";
79constexpr const char* kOverlayTypesHelp = "OverlayTypesHelp";
80constexpr const char* kInteractiveOverlayHelp = "InteractiveOverlayHelp";
81
82// Palette editor popups
83constexpr const char* kColorPicker = "ColorPicker";
84constexpr const char* kCopyPopup = "CopyPopup";
85constexpr const char* kSaveError = "SaveError";
86constexpr const char* kConfirmDiscardAll = "ConfirmDiscardAll";
87constexpr const char* kPalettePanelManager = "PalettePanelManager";
88
89// General popups
90constexpr const char* kColorEdit = "Color Edit";
91constexpr const char* kConfirmDelete = "Confirm Delete";
92constexpr const char* kConfirmDiscard = "Confirm Discard";
93} // namespace PopupNames
94
95} // namespace gui
96} // namespace yaze
97
98#endif // YAZE_APP_GUI_CORE_POPUP_ID_H
constexpr const char * kOverworld
Definition popup_id.h:53
constexpr const char * kAssembly
Definition popup_id.h:61
constexpr const char * kScreen
Definition popup_id.h:58
constexpr const char * kMessage
Definition popup_id.h:60
constexpr const char * kGraphics
Definition popup_id.h:55
constexpr const char * kMusic
Definition popup_id.h:59
constexpr const char * kDungeon
Definition popup_id.h:54
constexpr const char * kPalette
Definition popup_id.h:56
constexpr const char * kEntity
Definition popup_id.h:62
constexpr const char * kSprite
Definition popup_id.h:57
constexpr const char * kColorEdit
Definition popup_id.h:90
constexpr const char * kPalettesPopup
Definition popup_id.h:75
constexpr const char * kGraphicsPopup
Definition popup_id.h:74
constexpr const char * kSaveError
Definition popup_id.h:85
constexpr const char * kOverlayTypesHelp
Definition popup_id.h:79
constexpr const char * kConfirmDiscardAll
Definition popup_id.h:86
constexpr const char * kInteractiveOverlayHelp
Definition popup_id.h:80
constexpr const char * kPalettePanelManager
Definition popup_id.h:87
constexpr const char * kSpriteEditor
Definition popup_id.h:71
constexpr const char * kItemEditor
Definition popup_id.h:70
constexpr const char * kViewPopup
Definition popup_id.h:77
constexpr const char * kQuickPopup
Definition popup_id.h:78
constexpr const char * kCopyPopup
Definition popup_id.h:84
constexpr const char * kConfigPopup
Definition popup_id.h:76
constexpr const char * kConfirmDiscard
Definition popup_id.h:92
constexpr const char * kExitEditor
Definition popup_id.h:69
constexpr const char * kEntranceEditor
Definition popup_id.h:68
constexpr const char * kConfirmDelete
Definition popup_id.h:91
constexpr const char * kColorPicker
Definition popup_id.h:83
std::string MakePopupIdWithInstance(const std::string &editor_name, const std::string &popup_name, const void *instance)
Generate popup ID with instance pointer for guaranteed uniqueness.
Definition popup_id.h:45
std::string MakePopupId(size_t session_id, const std::string &editor_name, const std::string &popup_name)
Generate session-aware popup IDs to prevent conflicts in multi-editor layouts.
Definition popup_id.h:23