diff options
author | crupest <crupest@outlook.com> | 2022-02-15 21:34:21 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-02-15 21:34:21 +0800 |
commit | 24aaa8fbc5da8370506402facdb8ccaf563454e5 (patch) | |
tree | 0075bfbee729b1ccc57966bef97bda4be09cbde9 /demos/main | |
parent | fa6e9a419f688df12a57199aa3b4dce10cc6fd49 (diff) | |
download | cru-24aaa8fbc5da8370506402facdb8ccaf563454e5.tar.gz cru-24aaa8fbc5da8370506402facdb8ccaf563454e5.tar.bz2 cru-24aaa8fbc5da8370506402facdb8ccaf563454e5.zip |
...
Diffstat (limited to 'demos/main')
-rw-r--r-- | demos/main/main.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/demos/main/main.cpp b/demos/main/main.cpp index 2e8188a1..67d3ddad 100644 --- a/demos/main/main.cpp +++ b/demos/main/main.cpp @@ -4,6 +4,7 @@ #include "cru/platform/gui/Window.h" #include "cru/ui/Base.h" #include "cru/ui/components/Menu.h" +#include "cru/ui/components/PopupButton.h" #include "cru/ui/controls/Button.h" #include "cru/ui/controls/FlexLayout.h" #include "cru/ui/controls/TextBlock.h" @@ -14,6 +15,7 @@ using cru::platform::gui::IUiApplication; using namespace cru::ui::controls; +using namespace cru::ui::components; int main() { std::unique_ptr<IUiApplication> application( @@ -54,20 +56,10 @@ int main() { text_box.SetMultiLine(true); flex_layout.AddChild(&text_box); - 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::events::MouseButtonEventArgs& e) { - if (e.GetButton() == cru::ui::mouse_buttons::right) { - popup_menu->SetPosition(e.GetPoint() + window.GetWindowHost() - ->GetNativeWindow() - ->GetClientRect() - .GetLeftTop()); - popup_menu->Show(); - } - }); + PopupMenuTextButton popup_menu_text_button; + popup_menu_text_button.SetButtonText(u"Popup Menu Button"); + popup_menu_text_button.SetMenuItems({u"Item 1", u"Item 2", u"Item 3"}); + flex_layout.AddChild(popup_menu_text_button.GetRootControl()); window.GetWindowHost()->GetNativeWindow()->SetVisibility( cru::platform::gui::WindowVisibilityType::Show); |