aboutsummaryrefslogtreecommitdiff
path: root/demos/main/main.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-11-20 21:25:29 +0800
committercrupest <crupest@outlook.com>2021-11-20 21:25:29 +0800
commit1a53ed0791d9793ed8030d3a44e833e5e7c4542b (patch)
tree28aedaabee675b192e414489122349ad4985a31b /demos/main/main.cpp
parenta9da4c10459e3c45115c8a42e771b00cb1caeab7 (diff)
downloadcru-1a53ed0791d9793ed8030d3a44e833e5e7c4542b.tar.gz
cru-1a53ed0791d9793ed8030d3a44e833e5e7c4542b.tar.bz2
cru-1a53ed0791d9793ed8030d3a44e833e5e7c4542b.zip
...
Diffstat (limited to 'demos/main/main.cpp')
-rw-r--r--demos/main/main.cpp13
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();