diff options
Diffstat (limited to 'demos/main/main.cpp')
-rw-r--r-- | demos/main/main.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/demos/main/main.cpp b/demos/main/main.cpp index 9a28ade8..1a92e5ff 100644 --- a/demos/main/main.cpp +++ b/demos/main/main.cpp @@ -1,13 +1,16 @@ +#include <memory> #include "cru/platform/HeapDebug.hpp" #include "cru/platform/bootstrap/Bootstrap.hpp" #include "cru/platform/gui/UiApplication.hpp" #include "cru/platform/gui/Window.hpp" #include "cru/ui/Base.hpp" +#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 "cru/ui/controls/TextBox.hpp" #include "cru/ui/controls/Window.hpp" +#include "cru/ui/events/UiEvent.hpp" #include "cru/ui/host/WindowHost.hpp" using cru::platform::gui::IUiApplication; @@ -40,6 +43,16 @@ int main() { const auto text_box = TextBox::Create(); flex_layout->AddChild(text_box, 2); + auto popup_menu = std::make_unique<cru::ui::components::PopupMenu>(window); + popup_menu->GetMenu()->AddTextItem(u"Item 1"); + popup_menu->GetMenu()->AddTextItem(u"Item 2000"); + + window->MouseDownEvent()->Bubble()->AddHandler( + [window, &popup_menu](cru::ui::event::MouseButtonEventArgs& e) { + popup_menu->SetPosition(e.GetPoint()); + popup_menu->Show(); + }); + window->Show(); return application->Run(); |