1#ifndef YAZE_APP_GUI_CORE_POPUP_ID_H
2#define YAZE_APP_GUI_CORE_POPUP_ID_H
6#include "absl/strings/str_format.h"
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);
35 const std::string& popup_name) {
36 return absl::StrFormat(
"s0.%s::%s", editor_name, popup_name);
46 const std::string& popup_name,
47 const void* instance) {
48 return absl::StrFormat(
"s0.%s::%s##%p", editor_name, popup_name, instance);
52namespace EditorNames {
59constexpr const char*
kMusic =
"Music";
constexpr const char * kOverworld
constexpr const char * kAssembly
constexpr const char * kScreen
constexpr const char * kMessage
constexpr const char * kGraphics
constexpr const char * kMusic
constexpr const char * kDungeon
constexpr const char * kPalette
constexpr const char * kEntity
constexpr const char * kSprite
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.
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.