summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/classes/TreeItem.xml9
-rw-r--r--scene/gui/tree.cpp7
-rw-r--r--scene/gui/tree.h1
3 files changed, 17 insertions, 0 deletions
diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml
index 8925280291..865571263e 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].
</description>
</method>
+ <method name="set_button_tooltip_text">
+ <return type="void" />
+ <param index="0" name="column" type="int" />
+ <param index="1" name="button_index" type="int" />
+ <param index="2" name="tooltip" type="String" />
+ <description>
+ Sets the tooltip text for the button at index [param button_index] in the given [param column].
+ </description>
+ </method>
<method name="set_cell_mode">
<return type="void" />
<param index="0" name="column" type="int" />
diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp
index 50d3dfe886..ee9c6573f4 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<Texture2D> &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 0ea8adc727..ce4379d7fe 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<Texture2D> &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);