diff options
Diffstat (limited to 'scene/gui/popup_menu.compat.inc')
| -rw-r--r-- | scene/gui/popup_menu.compat.inc | 30 |
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 |
