1#ifndef YAZE_APP_GUI_AUTOMATION_WIDGET_ID_REGISTRY_H_
2#define YAZE_APP_GUI_AUTOMATION_WIDGET_ID_REGISTRY_H_
7#include <unordered_map>
10#include "absl/strings/string_view.h"
11#include "absl/synchronization/mutex.h"
12#include "absl/time/time.h"
13#include "imgui/imgui.h"
47 const std::string& widget_name)
const;
51 static thread_local std::vector<std::string>
id_stack_;
79 std::optional<std::string>
label;
110 void RegisterWidget(
const std::string& full_path,
const std::string& type,
111 ImGuiID imgui_id,
const std::string& description =
"",
118 std::vector<std::string>
FindWidgets(
const std::string& pattern)
const;
119 ImGuiID
GetWidgetId(
const std::string& full_path)
const;
120 std::optional<WidgetInfo>
GetWidgetInfo(
const std::string& full_path)
const;
123 std::unordered_map<std::string, WidgetInfo>
GetAllWidgets()
const;
130 std::string
ExportCatalog(
const std::string& format =
"yaml")
const;
132 const std::string& format =
"yaml")
const;