diff options
Diffstat (limited to 'src/ui/component/Menu.cpp')
-rw-r--r-- | src/ui/component/Menu.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/ui/component/Menu.cpp b/src/ui/component/Menu.cpp deleted file mode 100644 index ea9dcdb6..00000000 --- a/src/ui/component/Menu.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include "cru/ui/components/Menu.hpp" -#include "cru/ui/controls/Button.hpp" -#include "cru/ui/controls/FlexLayout.hpp" -#include "cru/ui/controls/TextBlock.hpp" - -#include <string> - -namespace cru::ui::components { -MenuItem::MenuItem() { - container_ = controls::Button::Create(); - text_ = controls::TextBlock::Create(); - container_->SetChild(text_); -} - -MenuItem::MenuItem(std::u16string text) : MenuItem() { - SetText(std::move(text)); -} - -MenuItem::~MenuItem() { - if (!container_->GetWindowHost()) { - delete container_; - delete text_; - } -} - -void MenuItem::SetText(std::u16string text) { text_->SetText(std::move(text)); } - -Menu::Menu() { container_ = controls::FlexLayout::Create(); } - -Menu::~Menu() { - if (!container_->GetWindowHost()) { - delete container_; - } - - for (auto item : items_) { - delete item; - } -} - -void Menu::AddItem(Component* item, gsl::index index) { - Expects(index >= 0 && index <= GetItemCount()); - - items_.insert(items_.cbegin() + index, item); - container_->AddChild(item->GetRootControl(), index); -} - -Component* Menu::RemoveItem(gsl::index index) { - Expects(index >= 0 && index < GetItemCount()); - - Component* item = items_[index]; - - items_.erase(items_.cbegin() + index); - container_->RemoveChild(index); - - return item; -} -} // namespace cru::ui::components |