diff options
Diffstat (limited to 'include/cru/ui/components/Menu.h')
| -rw-r--r-- | include/cru/ui/components/Menu.h | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/include/cru/ui/components/Menu.h b/include/cru/ui/components/Menu.h index 554a8898..92731f2e 100644 --- a/include/cru/ui/components/Menu.h +++ b/include/cru/ui/components/Menu.h @@ -1,11 +1,10 @@ #pragma once +#include "../controls/Button.h" +#include "../controls/Control.h" +#include "../controls/FlexLayout.h" +#include "../controls/TextBlock.h" +#include "../controls/Window.h" #include "Component.h" -#include "cru/base/Base.h" -#include "cru/ui/controls/Button.h" -#include "cru/ui/controls/Control.h" -#include "cru/ui/controls/FlexLayout.h" -#include "cru/ui/controls/Popup.h" -#include "cru/ui/controls/TextBlock.h" #include <functional> #include <vector> @@ -16,11 +15,6 @@ class CRU_UI_API MenuItem : public Component { MenuItem(); explicit MenuItem(std::string text); - CRU_DELETE_COPY(MenuItem) - CRU_DELETE_MOVE(MenuItem) - - ~MenuItem(); - public: controls::Control* GetRootControl() override { return &container_; } @@ -39,10 +33,6 @@ class CRU_UI_API MenuItem : public Component { class CRU_UI_API Menu : public Component { public: Menu(); - - CRU_DELETE_COPY(Menu) - CRU_DELETE_MOVE(Menu) - ~Menu(); public: @@ -58,7 +48,8 @@ class CRU_UI_API Menu : public Component { void AddTextItem(std::string text, std::function<void()> on_click) { AddTextItemAt(std::move(text), GetItemCount(), std::move(on_click)); } - void AddTextItemAt(std::string text, Index index, std::function<void()> on_click); + void AddTextItemAt(std::string text, Index index, + std::function<void()> on_click); void SetOnItemClick(std::function<void(Index)> on_item_click) { on_item_click_ = std::move(on_item_click); @@ -74,16 +65,12 @@ class CRU_UI_API Menu : public Component { class CRU_UI_API PopupMenu : public Component { public: explicit PopupMenu(controls::Control* attached_control = nullptr); - - CRU_DELETE_COPY(PopupMenu) - CRU_DELETE_MOVE(PopupMenu) - ~PopupMenu(); public: controls::Control* GetRootControl() override; - controls::Popup* GetPopup() { return &popup_; } + controls::Window* GetPopup() { return popup_; } Menu* GetMenu() { return &menu_; } // position relative to screen left top. @@ -99,7 +86,7 @@ class CRU_UI_API PopupMenu : public Component { private: controls::Control* attached_control_; - controls::Popup popup_; + controls::Window* popup_; Menu menu_; }; } // namespace cru::ui::components |
