summaryrefslogtreecommitdiffstats
path: root/scene/gui/popup_menu.compat.inc
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/popup_menu.compat.inc')
-rw-r--r--scene/gui/popup_menu.compat.inc30
1 files changed, 30 insertions, 0 deletions
diff --git a/scene/gui/popup_menu.compat.inc b/scene/gui/popup_menu.compat.inc
index 012d6a1334..3d41c62634 100644
--- a/scene/gui/popup_menu.compat.inc
+++ b/scene/gui/popup_menu.compat.inc
@@ -42,10 +42,40 @@ void PopupMenu::_clear_bind_compat_79965() {
clear(false);
}
+void PopupMenu::_set_system_menu_root_compat_87452(const String &p_special) {
+ if (p_special == "_dock") {
+ set_system_menu(NativeMenu::DOCK_MENU_ID);
+ } else if (p_special == "_apple") {
+ set_system_menu(NativeMenu::APPLICATION_MENU_ID);
+ } else if (p_special == "_window") {
+ set_system_menu(NativeMenu::WINDOW_MENU_ID);
+ } else if (p_special == "_help") {
+ set_system_menu(NativeMenu::HELP_MENU_ID);
+ }
+}
+
+String PopupMenu::_get_system_menu_root_compat_87452() const {
+ switch (get_system_menu()) {
+ case NativeMenu::APPLICATION_MENU_ID:
+ return "_apple";
+ case NativeMenu::WINDOW_MENU_ID:
+ return "_window";
+ case NativeMenu::HELP_MENU_ID:
+ return "_help";
+ case NativeMenu::DOCK_MENU_ID:
+ return "_dock";
+ default:
+ return "";
+ }
+}
+
void PopupMenu::_bind_compatibility_methods() {
ClassDB::bind_compatibility_method(D_METHOD("add_shortcut", "shortcut", "id", "global"), &PopupMenu::_add_shortcut_bind_compat_36493, DEFVAL(-1), DEFVAL(false));
ClassDB::bind_compatibility_method(D_METHOD("add_icon_shortcut", "texture", "shortcut", "id", "global"), &PopupMenu::_add_icon_shortcut_bind_compat_36493, DEFVAL(-1), DEFVAL(false));
ClassDB::bind_compatibility_method(D_METHOD("clear"), &PopupMenu::_clear_bind_compat_79965);
+
+ ClassDB::bind_compatibility_method(D_METHOD("set_system_menu_root", "special"), &PopupMenu::_set_system_menu_root_compat_87452);
+ ClassDB::bind_compatibility_method(D_METHOD("get_system_menu_root"), &PopupMenu::_get_system_menu_root_compat_87452);
}
#endif