diff --git a/libs/ui/include/psemek/ui/element.hpp b/libs/ui/include/psemek/ui/element.hpp index 427e70e7..d302a5be 100644 --- a/libs/ui/include/psemek/ui/element.hpp +++ b/libs/ui/include/psemek/ui/element.hpp @@ -46,6 +46,11 @@ namespace psemek::ui virtual void enable() { set_enabled(true); } virtual void disable() { set_enabled(false); } + virtual bool hidden() const { return hidden_; } + virtual void set_hidden(bool value) { hidden_ = value; } + virtual void hide() { set_hidden(true); } + virtual void show() { set_hidden(false); } + virtual std::shared_ptr style() const { return style_; } virtual std::shared_ptr set_style(std::shared_ptr st); virtual std::shared_ptr merged_style() const; @@ -66,6 +71,7 @@ namespace psemek::ui element * parent_ = nullptr; async::event_loop * loop_ = nullptr; bool enabled_ = true; + bool hidden_ = false; std::shared_ptr style_; mutable std::shared_ptr merged_style_; };