summaryrefslogtreecommitdiffstats
path: root/scene/gui/item_list.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/item_list.cpp')
-rw-r--r--scene/gui/item_list.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp
index 6a251a5ac5..64f1de42af 100644
--- a/scene/gui/item_list.cpp
+++ b/scene/gui/item_list.cpp
@@ -1044,8 +1044,7 @@ void ItemList::_scroll_changed(double) {
update();
}
-
-String ItemList::get_tooltip(const Point2& p_pos) const {
+int ItemList::get_item_at_pos(const Point2& p_pos) const {
Vector2 pos=p_pos;
Ref<StyleBox> bg = get_stylebox("bg");
@@ -1074,6 +1073,13 @@ String ItemList::get_tooltip(const Point2& p_pos) const {
}
}
+ return closest;
+}
+
+String ItemList::get_tooltip(const Point2& p_pos) const {
+
+ int closest = get_item_at_pos(p_pos);
+
if (closest!=-1) {
if (items[closest].tooltip!="") {
return items[closest].tooltip;
@@ -1084,8 +1090,6 @@ String ItemList::get_tooltip(const Point2& p_pos) const {
}
return Control::get_tooltip(p_pos);
-
-
}
void ItemList::sort_items_by_text() {
@@ -1170,6 +1174,8 @@ void ItemList::_bind_methods(){
ObjectTypeDB::bind_method(_MD("set_min_icon_size","size"),&ItemList::set_min_icon_size);
ObjectTypeDB::bind_method(_MD("get_min_icon_size"),&ItemList::get_min_icon_size);
+ ObjectTypeDB::bind_method(_MD("get_item_at_pos","pos"),&ItemList::get_item_at_pos);
+
ObjectTypeDB::bind_method(_MD("ensure_current_is_visible"),&ItemList::ensure_current_is_visible);
ObjectTypeDB::bind_method(_MD("_scroll_changed"),&ItemList::_scroll_changed);