aboutsummaryrefslogtreecommitdiff
path: root/src/ui/controls/popup_menu.hpp
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2018-11-11 17:45:58 +0800
committerGitHub <noreply@github.com>2018-11-11 17:45:58 +0800
commit92bec65a76b62bbbee56b44c3020171606bb8bbb (patch)
tree2594670863ef855222cb5af1798807f2c263ab66 /src/ui/controls/popup_menu.hpp
parent3cc588ade5ac08e53c406cea6bfcaaafac4346cf (diff)
parent61b44c223df9c3d2a6daec85f693a2b9a406f5c9 (diff)
downloadcru-92bec65a76b62bbbee56b44c3020171606bb8bbb.tar.gz
cru-92bec65a76b62bbbee56b44c3020171606bb8bbb.tar.bz2
cru-92bec65a76b62bbbee56b44c3020171606bb8bbb.zip
Merge pull request #14 from crupest/popup-menu
Add popup menu. Fix a potential bug in window destroy.
Diffstat (limited to 'src/ui/controls/popup_menu.hpp')
-rw-r--r--src/ui/controls/popup_menu.hpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/ui/controls/popup_menu.hpp b/src/ui/controls/popup_menu.hpp
new file mode 100644
index 00000000..d47e3eb6
--- /dev/null
+++ b/src/ui/controls/popup_menu.hpp
@@ -0,0 +1,20 @@
+#pragma once
+
+#include <vector>
+#include <utility>
+#include <functional>
+
+#include "base.hpp"
+#include "ui/ui_base.hpp"
+
+namespace cru::ui
+{
+ class Window;
+}
+
+namespace cru::ui::controls
+{
+ using MenuItemInfo = std::pair<String, std::function<void()>>;
+
+ Window* CreatePopupMenu(const Point& anchor, const std::vector<MenuItemInfo>& items, Window* parent = nullptr);
+}