diff options
Diffstat (limited to 'scene/gui/popup_menu.cpp')
-rw-r--r-- | scene/gui/popup_menu.cpp | 120 |
1 files changed, 60 insertions, 60 deletions
diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp index 9eaf393a21..884cf0312a 100644 --- a/scene/gui/popup_menu.cpp +++ b/scene/gui/popup_menu.cpp @@ -136,7 +136,7 @@ int PopupMenu::_get_mouse_over(const Point2& p_over) const { Ref<Font> font = get_font("font"); int vseparation = get_constant("vseparation"); -// int hseparation = get_constant("hseparation"); + //int hseparation = get_constant("hseparation"); float font_h=font->get_height(); @@ -174,7 +174,7 @@ void PopupMenu::_activate_submenu(int over) { Popup *pm = n->cast_to<Popup>(); ERR_EXPLAIN("item subnode is not a Popup: "+items[over].submenu); ERR_FAIL_COND(!pm); - if (pm->is_visible()) + if (pm->is_visible_in_tree()) return; //already visible! @@ -1114,64 +1114,64 @@ void PopupMenu::clear_autohide_areas(){ void PopupMenu::_bind_methods() { - ClassDB::bind_method(_MD("_gui_input"),&PopupMenu::_gui_input); - ClassDB::bind_method(_MD("add_icon_item","texture","label","id","accel"),&PopupMenu::add_icon_item,DEFVAL(-1),DEFVAL(0)); - ClassDB::bind_method(_MD("add_item","label","id","accel"),&PopupMenu::add_item,DEFVAL(-1),DEFVAL(0)); - ClassDB::bind_method(_MD("add_icon_check_item","texture","label","id","accel"),&PopupMenu::add_icon_check_item,DEFVAL(-1),DEFVAL(0)); - ClassDB::bind_method(_MD("add_check_item","label","id","accel"),&PopupMenu::add_check_item,DEFVAL(-1),DEFVAL(0)); - ClassDB::bind_method(_MD("add_submenu_item","label","submenu","id"),&PopupMenu::add_submenu_item,DEFVAL(-1)); - - ClassDB::bind_method(_MD("add_icon_shortcut","texture","shortcut:ShortCut","id","global"),&PopupMenu::add_icon_shortcut,DEFVAL(-1),DEFVAL(false)); - ClassDB::bind_method(_MD("add_shortcut","shortcut:ShortCut","id","global"),&PopupMenu::add_shortcut,DEFVAL(-1),DEFVAL(false)); - ClassDB::bind_method(_MD("add_icon_check_shortcut","texture","shortcut:ShortCut","id","global"),&PopupMenu::add_icon_check_shortcut,DEFVAL(-1),DEFVAL(false)); - ClassDB::bind_method(_MD("add_check_shortcut","shortcut:ShortCut","id","global"),&PopupMenu::add_check_shortcut,DEFVAL(-1),DEFVAL(false)); - - ClassDB::bind_method(_MD("set_item_text","idx","text"),&PopupMenu::set_item_text); - ClassDB::bind_method(_MD("set_item_icon","idx","icon"),&PopupMenu::set_item_icon); - ClassDB::bind_method(_MD("set_item_checked","idx","checked"),&PopupMenu::set_item_checked); - ClassDB::bind_method(_MD("set_item_ID","idx","id"),&PopupMenu::set_item_ID); - ClassDB::bind_method(_MD("set_item_accelerator","idx","accel"),&PopupMenu::set_item_accelerator); - ClassDB::bind_method(_MD("set_item_metadata","idx","metadata"),&PopupMenu::set_item_metadata); - ClassDB::bind_method(_MD("set_item_disabled","idx","disabled"),&PopupMenu::set_item_disabled); - ClassDB::bind_method(_MD("set_item_submenu","idx","submenu"),&PopupMenu::set_item_submenu); - ClassDB::bind_method(_MD("set_item_as_separator","idx","enable"),&PopupMenu::set_item_as_separator); - ClassDB::bind_method(_MD("set_item_as_checkable","idx","enable"),&PopupMenu::set_item_as_checkable); - ClassDB::bind_method(_MD("set_item_tooltip","idx","tooltip"),&PopupMenu::set_item_tooltip); - ClassDB::bind_method(_MD("set_item_shortcut","idx","shortcut:ShortCut","global"),&PopupMenu::set_item_shortcut,DEFVAL(false)); - - ClassDB::bind_method(_MD("toggle_item_checked","idx"), &PopupMenu::toggle_item_checked); - - ClassDB::bind_method(_MD("get_item_text","idx"),&PopupMenu::get_item_text); - ClassDB::bind_method(_MD("get_item_icon","idx"),&PopupMenu::get_item_icon); - ClassDB::bind_method(_MD("is_item_checked","idx"),&PopupMenu::is_item_checked); - ClassDB::bind_method(_MD("get_item_ID","idx"),&PopupMenu::get_item_ID); - ClassDB::bind_method(_MD("get_item_index","id"),&PopupMenu::get_item_index); - ClassDB::bind_method(_MD("get_item_accelerator","idx"),&PopupMenu::get_item_accelerator); - ClassDB::bind_method(_MD("get_item_metadata","idx"),&PopupMenu::get_item_metadata); - ClassDB::bind_method(_MD("is_item_disabled","idx"),&PopupMenu::is_item_disabled); - ClassDB::bind_method(_MD("get_item_submenu","idx"),&PopupMenu::get_item_submenu); - ClassDB::bind_method(_MD("is_item_separator","idx"),&PopupMenu::is_item_separator); - ClassDB::bind_method(_MD("is_item_checkable","idx"),&PopupMenu::is_item_checkable); - ClassDB::bind_method(_MD("get_item_tooltip","idx"),&PopupMenu::get_item_tooltip); - ClassDB::bind_method(_MD("get_item_shortcut:ShortCut","idx"),&PopupMenu::get_item_shortcut); - - ClassDB::bind_method(_MD("get_item_count"),&PopupMenu::get_item_count); - - ClassDB::bind_method(_MD("remove_item","idx"),&PopupMenu::remove_item); - - ClassDB::bind_method(_MD("add_separator"),&PopupMenu::add_separator); - ClassDB::bind_method(_MD("clear"),&PopupMenu::clear); - - ClassDB::bind_method(_MD("_set_items"),&PopupMenu::_set_items); - ClassDB::bind_method(_MD("_get_items"),&PopupMenu::_get_items); - - ClassDB::bind_method(_MD("set_hide_on_item_selection","enable"),&PopupMenu::set_hide_on_item_selection); - ClassDB::bind_method(_MD("is_hide_on_item_selection"),&PopupMenu::is_hide_on_item_selection); - - ClassDB::bind_method(_MD("_submenu_timeout"),&PopupMenu::_submenu_timeout); - - ADD_PROPERTY( PropertyInfo(Variant::ARRAY,"items",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR), _SCS("_set_items"),_SCS("_get_items") ); - ADD_PROPERTYNO( PropertyInfo(Variant::BOOL, "hide_on_item_selection" ), _SCS("set_hide_on_item_selection"), _SCS("is_hide_on_item_selection") ); + ClassDB::bind_method(D_METHOD("_gui_input"),&PopupMenu::_gui_input); + ClassDB::bind_method(D_METHOD("add_icon_item","texture","label","id","accel"),&PopupMenu::add_icon_item,DEFVAL(-1),DEFVAL(0)); + ClassDB::bind_method(D_METHOD("add_item","label","id","accel"),&PopupMenu::add_item,DEFVAL(-1),DEFVAL(0)); + ClassDB::bind_method(D_METHOD("add_icon_check_item","texture","label","id","accel"),&PopupMenu::add_icon_check_item,DEFVAL(-1),DEFVAL(0)); + ClassDB::bind_method(D_METHOD("add_check_item","label","id","accel"),&PopupMenu::add_check_item,DEFVAL(-1),DEFVAL(0)); + ClassDB::bind_method(D_METHOD("add_submenu_item","label","submenu","id"),&PopupMenu::add_submenu_item,DEFVAL(-1)); + + ClassDB::bind_method(D_METHOD("add_icon_shortcut","texture","shortcut:ShortCut","id","global"),&PopupMenu::add_icon_shortcut,DEFVAL(-1),DEFVAL(false)); + ClassDB::bind_method(D_METHOD("add_shortcut","shortcut:ShortCut","id","global"),&PopupMenu::add_shortcut,DEFVAL(-1),DEFVAL(false)); + ClassDB::bind_method(D_METHOD("add_icon_check_shortcut","texture","shortcut:ShortCut","id","global"),&PopupMenu::add_icon_check_shortcut,DEFVAL(-1),DEFVAL(false)); + ClassDB::bind_method(D_METHOD("add_check_shortcut","shortcut:ShortCut","id","global"),&PopupMenu::add_check_shortcut,DEFVAL(-1),DEFVAL(false)); + + ClassDB::bind_method(D_METHOD("set_item_text","idx","text"),&PopupMenu::set_item_text); + ClassDB::bind_method(D_METHOD("set_item_icon","idx","icon"),&PopupMenu::set_item_icon); + ClassDB::bind_method(D_METHOD("set_item_checked","idx","checked"),&PopupMenu::set_item_checked); + ClassDB::bind_method(D_METHOD("set_item_ID","idx","id"),&PopupMenu::set_item_ID); + ClassDB::bind_method(D_METHOD("set_item_accelerator","idx","accel"),&PopupMenu::set_item_accelerator); + ClassDB::bind_method(D_METHOD("set_item_metadata","idx","metadata"),&PopupMenu::set_item_metadata); + ClassDB::bind_method(D_METHOD("set_item_disabled","idx","disabled"),&PopupMenu::set_item_disabled); + ClassDB::bind_method(D_METHOD("set_item_submenu","idx","submenu"),&PopupMenu::set_item_submenu); + ClassDB::bind_method(D_METHOD("set_item_as_separator","idx","enable"),&PopupMenu::set_item_as_separator); + ClassDB::bind_method(D_METHOD("set_item_as_checkable","idx","enable"),&PopupMenu::set_item_as_checkable); + ClassDB::bind_method(D_METHOD("set_item_tooltip","idx","tooltip"),&PopupMenu::set_item_tooltip); + ClassDB::bind_method(D_METHOD("set_item_shortcut","idx","shortcut:ShortCut","global"),&PopupMenu::set_item_shortcut,DEFVAL(false)); + + ClassDB::bind_method(D_METHOD("toggle_item_checked","idx"), &PopupMenu::toggle_item_checked); + + ClassDB::bind_method(D_METHOD("get_item_text","idx"),&PopupMenu::get_item_text); + ClassDB::bind_method(D_METHOD("get_item_icon","idx"),&PopupMenu::get_item_icon); + ClassDB::bind_method(D_METHOD("is_item_checked","idx"),&PopupMenu::is_item_checked); + ClassDB::bind_method(D_METHOD("get_item_ID","idx"),&PopupMenu::get_item_ID); + ClassDB::bind_method(D_METHOD("get_item_index","id"),&PopupMenu::get_item_index); + ClassDB::bind_method(D_METHOD("get_item_accelerator","idx"),&PopupMenu::get_item_accelerator); + ClassDB::bind_method(D_METHOD("get_item_metadata","idx"),&PopupMenu::get_item_metadata); + ClassDB::bind_method(D_METHOD("is_item_disabled","idx"),&PopupMenu::is_item_disabled); + ClassDB::bind_method(D_METHOD("get_item_submenu","idx"),&PopupMenu::get_item_submenu); + ClassDB::bind_method(D_METHOD("is_item_separator","idx"),&PopupMenu::is_item_separator); + ClassDB::bind_method(D_METHOD("is_item_checkable","idx"),&PopupMenu::is_item_checkable); + ClassDB::bind_method(D_METHOD("get_item_tooltip","idx"),&PopupMenu::get_item_tooltip); + ClassDB::bind_method(D_METHOD("get_item_shortcut:ShortCut","idx"),&PopupMenu::get_item_shortcut); + + ClassDB::bind_method(D_METHOD("get_item_count"),&PopupMenu::get_item_count); + + ClassDB::bind_method(D_METHOD("remove_item","idx"),&PopupMenu::remove_item); + + ClassDB::bind_method(D_METHOD("add_separator"),&PopupMenu::add_separator); + ClassDB::bind_method(D_METHOD("clear"),&PopupMenu::clear); + + ClassDB::bind_method(D_METHOD("_set_items"),&PopupMenu::_set_items); + ClassDB::bind_method(D_METHOD("_get_items"),&PopupMenu::_get_items); + + ClassDB::bind_method(D_METHOD("set_hide_on_item_selection","enable"),&PopupMenu::set_hide_on_item_selection); + ClassDB::bind_method(D_METHOD("is_hide_on_item_selection"),&PopupMenu::is_hide_on_item_selection); + + ClassDB::bind_method(D_METHOD("_submenu_timeout"),&PopupMenu::_submenu_timeout); + + ADD_PROPERTY( PropertyInfo(Variant::ARRAY,"items",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR), "_set_items","_get_items") ; + ADD_PROPERTYNO( PropertyInfo(Variant::BOOL, "hide_on_item_selection" ), "set_hide_on_item_selection", "is_hide_on_item_selection") ; ADD_SIGNAL( MethodInfo("id_pressed", PropertyInfo( Variant::INT,"ID") ) ); ADD_SIGNAL( MethodInfo("index_pressed", PropertyInfo( Variant::INT,"index") ) ); |