diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml index 559d38e5cca..e29b90dd5af 100644 --- a/doc/classes/TreeItem.xml +++ b/doc/classes/TreeItem.xml @@ -490,6 +490,15 @@ If [code]true[/code], disables the button at index [param button_index] in the given [param column]. + + + + + + + Sets the tooltip text for the button at index [param button_index] in the given [param column]. + + diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index a5d12aecadf..d49931442dc 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -1176,6 +1176,12 @@ int TreeItem::get_button_by_id(int p_column, int p_id) const { return -1; } +void TreeItem::set_button_tooltip_text(int p_column, int p_index, const String &p_tooltip) { + ERR_FAIL_INDEX(p_column, cells.size()); + ERR_FAIL_INDEX(p_index, cells[p_column].buttons.size()); + cells.write[p_column].buttons.write[p_index].tooltip = p_tooltip; +} + void TreeItem::set_button(int p_column, int p_index, const Ref &p_button) { ERR_FAIL_COND(p_button.is_null()); ERR_FAIL_INDEX(p_column, cells.size()); @@ -1586,6 +1592,7 @@ void TreeItem::_bind_methods() { ClassDB::bind_method(D_METHOD("get_button_id", "column", "button_index"), &TreeItem::get_button_id); ClassDB::bind_method(D_METHOD("get_button_by_id", "column", "id"), &TreeItem::get_button_by_id); ClassDB::bind_method(D_METHOD("get_button", "column", "button_index"), &TreeItem::get_button); + ClassDB::bind_method(D_METHOD("set_button_tooltip_text", "column", "button_index", "tooltip"), &TreeItem::set_button_tooltip_text); ClassDB::bind_method(D_METHOD("set_button", "column", "button_index", "button"), &TreeItem::set_button); ClassDB::bind_method(D_METHOD("erase_button", "column", "button_index"), &TreeItem::erase_button); ClassDB::bind_method(D_METHOD("set_button_disabled", "column", "button_index", "disabled"), &TreeItem::set_button_disabled); diff --git a/scene/gui/tree.h b/scene/gui/tree.h index c0814c651d6..d7e836f56b5 100644 --- a/scene/gui/tree.h +++ b/scene/gui/tree.h @@ -262,6 +262,7 @@ public: int get_button_id(int p_column, int p_index) const; void erase_button(int p_column, int p_index); int get_button_by_id(int p_column, int p_id) const; + void set_button_tooltip_text(int p_column, int p_index, const String &p_tooltip); void set_button(int p_column, int p_index, const Ref &p_button); void set_button_color(int p_column, int p_index, const Color &p_color); void set_button_disabled(int p_column, int p_index, bool p_disabled);