From 11e46ba1c6a98b32e66cff116d44652122e6f1eb Mon Sep 17 00:00:00 2001 From: lisyarus Date: Thu, 8 Dec 2022 17:53:55 +0300 Subject: [PATCH] Support retrieving caption label from ui::window --- libs/ui/include/psemek/ui/window.hpp | 3 ++- libs/ui/source/default_element_factory.cpp | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libs/ui/include/psemek/ui/window.hpp b/libs/ui/include/psemek/ui/window.hpp index 190e4439..148b44b9 100644 --- a/libs/ui/include/psemek/ui/window.hpp +++ b/libs/ui/include/psemek/ui/window.hpp @@ -1,6 +1,7 @@ #pragma once #include +#include #include @@ -12,7 +13,7 @@ namespace psemek::ui { using on_close_callback = std::function; - virtual void set_caption(std::string caption) = 0; + virtual label * caption() = 0; virtual std::shared_ptr set_child(std::shared_ptr c) = 0; virtual void on_close(on_close_callback callback) = 0; }; diff --git a/libs/ui/source/default_element_factory.cpp b/libs/ui/source/default_element_factory.cpp index 88bd83d4..a19e6274 100644 --- a/libs/ui/source/default_element_factory.cpp +++ b/libs/ui/source/default_element_factory.cpp @@ -259,9 +259,9 @@ namespace psemek::ui }); } - void set_caption(std::string caption) override + label * caption() override { - caption_->set_text(caption); + return caption_.get(); } std::shared_ptr set_child(std::shared_ptr c) override @@ -771,7 +771,7 @@ namespace psemek::ui { auto r = std::make_shared(impl().cross_red_16x16); r->setup_close(); - r->set_caption(std::move(caption)); + r->caption()->set_text(std::move(caption)); return r; }