From 924533fc7feed36c7e0b3f0cd36c6b3aa1b5babb Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 25 May 2022 22:55:12 +0300 Subject: [PATCH] Add ui::element::id --- libs/ui/include/psemek/ui/element.hpp | 4 ++++ libs/ui/source/element.cpp | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/libs/ui/include/psemek/ui/element.hpp b/libs/ui/include/psemek/ui/element.hpp index 37a442ec..62e5d837 100644 --- a/libs/ui/include/psemek/ui/element.hpp +++ b/libs/ui/include/psemek/ui/element.hpp @@ -74,6 +74,9 @@ namespace psemek::ui virtual void style_updated() const; virtual void own_style_updated() const; + virtual std::optional const & id() const { return id_; } + virtual std::optional set_id(std::optional id); + virtual std::optional const & hint() const { return hint_; } virtual std::optional set_hint(std::optional hint); @@ -114,6 +117,7 @@ namespace psemek::ui mutable std::vector> delayed_callbacks_; + std::optional id_; std::optional hint_; std::any data_; diff --git a/libs/ui/source/element.cpp b/libs/ui/source/element.cpp index a5f79b20..7b19c375 100644 --- a/libs/ui/source/element.cpp +++ b/libs/ui/source/element.cpp @@ -163,6 +163,12 @@ namespace psemek::ui SDL_StopTextInput(); } + std::optional element::set_id(std::optional id) + { + std::swap(id_, id); + return id; + } + std::optional element::set_hint(std::optional hint) { std::swap(hint_, hint);