psemek/libs/ui/source/impl/container.cpp
2023-05-06 12:55:06 +03:00

51 lines
1.1 KiB
C++

#include <psemek/ui/impl/container.hpp>
namespace psemek::ui::impl
{
void container::set_children(std::vector<std::unique_ptr<component>> children)
{
children_ = std::move(children);
}
void container::set_children_token(util::signal<std::vector<std::any>>::subscription_token token)
{
children_token_ = std::move(token);
}
void container::set_child_tokens(std::vector<util::signal<std::any>::subscription_token> tokens)
{
child_tokens_ = std::move(tokens);
}
void container::set_child_keys(std::vector<std::optional<key>> keys)
{
child_keys_ = std::move(keys);
}
std::vector<std::unique_ptr<component>> container::release_children()
{
return std::move(children_);
}
util::signal<void>::subscription_token container::release_children_token()
{
return std::move(children_token_);
}
std::vector<util::signal<void>::subscription_token> container::release_child_tokens()
{
return std::move(child_tokens_);
}
std::vector<std::optional<key>> container::release_child_keys()
{
return std::move(child_keys_);
}
util::span<std::unique_ptr<component> const> container::children() const
{
return children_;
}
}