From 4383ce7e8b0d7c2709dc9801412b823cc3c639e6 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Fri, 5 Mar 2021 22:57:39 +0300 Subject: [PATCH] Separate ui::button into button & rich_button --- libs/ui/include/psemek/ui/button.hpp | 17 -------- .../psemek/ui/default_element_factory.hpp | 11 +---- libs/ui/include/psemek/ui/element_factory.hpp | 7 ++-- libs/ui/include/psemek/ui/rich_button.hpp | 31 ++++++++++++++ libs/ui/source/button.cpp | 34 ---------------- libs/ui/source/default_element_factory.cpp | 8 ++-- libs/ui/source/element_factory.cpp | 6 +-- libs/ui/source/rich_button.cpp | 40 +++++++++++++++++++ 8 files changed, 83 insertions(+), 71 deletions(-) create mode 100644 libs/ui/include/psemek/ui/rich_button.hpp create mode 100644 libs/ui/source/rich_button.cpp diff --git a/libs/ui/include/psemek/ui/button.hpp b/libs/ui/include/psemek/ui/button.hpp index ef68923e..62ee03b7 100644 --- a/libs/ui/include/psemek/ui/button.hpp +++ b/libs/ui/include/psemek/ui/button.hpp @@ -12,17 +12,6 @@ namespace psemek::ui struct button : element { - struct label * label() { return label_.get(); } - struct label const * label() const { return label_.get(); } - - struct image_view * icon() { return icon_.get(); } - struct image_view const * icon() const { return icon_.get(); } - - void set_label(std::shared_ptr label); - void set_icon(std::shared_ptr icon); - - children_range children() const override; - bool on_event(mouse_move const & e) override; bool on_event(mouse_click const & e) override; @@ -33,8 +22,6 @@ namespace psemek::ui callback_ = std::move(callback); } - ~button() override; - protected: enum class state_t { @@ -51,10 +38,6 @@ namespace psemek::ui state_t state_ = state_t::normal; on_click_callback callback_; - - std::shared_ptr label_; - std::shared_ptr icon_; - element * children_[1]{nullptr}; }; } diff --git a/libs/ui/include/psemek/ui/default_element_factory.hpp b/libs/ui/include/psemek/ui/default_element_factory.hpp index fc3174d8..d012bc91 100644 --- a/libs/ui/include/psemek/ui/default_element_factory.hpp +++ b/libs/ui/include/psemek/ui/default_element_factory.hpp @@ -2,15 +2,6 @@ #include -#include -#include -#include -#include -#include -#include - -#include - #include namespace psemek::ui @@ -22,7 +13,7 @@ namespace psemek::ui default_element_factory(); ~default_element_factory(); - std::shared_ptr