diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index 2f9b971fc8e..b1fda25ecd5 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -240,6 +240,12 @@
Returns the width of the gutter at the given index.
+
+
+
+ Returns the [HScrollBar] used by [TextEdit].
+
+
@@ -509,6 +515,12 @@
Returns the number of lines that may be drawn.
+
+
+
+ Returns the [VScrollBar] of the [TextEdit].
+
+
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index f8501f35701..2e7f650fc2f 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -5088,6 +5088,14 @@ bool TextEdit::is_scroll_past_end_of_file_enabled() const {
return scroll_past_end_of_file_enabled;
}
+VScrollBar *TextEdit::get_v_scroll_bar() const {
+ return v_scroll;
+}
+
+HScrollBar *TextEdit::get_h_scroll_bar() const {
+ return h_scroll;
+}
+
void TextEdit::set_v_scroll(double p_scroll) {
v_scroll->set_value(p_scroll);
int max_v_scroll = v_scroll->get_max() - v_scroll->get_page();
@@ -6020,6 +6028,9 @@ void TextEdit::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_smooth_scroll_enabled", "enable"), &TextEdit::set_smooth_scroll_enabled);
ClassDB::bind_method(D_METHOD("is_smooth_scroll_enabled"), &TextEdit::is_smooth_scroll_enabled);
+ ClassDB::bind_method(D_METHOD("get_v_scroll_bar"), &TextEdit::get_v_scroll_bar);
+ ClassDB::bind_method(D_METHOD("get_h_scroll_bar"), &TextEdit::get_h_scroll_bar);
+
ClassDB::bind_method(D_METHOD("set_v_scroll", "value"), &TextEdit::set_v_scroll);
ClassDB::bind_method(D_METHOD("get_v_scroll"), &TextEdit::get_v_scroll);
diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h
index a8e087909e3..e4af621b738 100644
--- a/scene/gui/text_edit.h
+++ b/scene/gui/text_edit.h
@@ -886,6 +886,9 @@ public:
void set_scroll_past_end_of_file_enabled(const bool p_enabled);
bool is_scroll_past_end_of_file_enabled() const;
+ VScrollBar *get_v_scroll_bar() const;
+ HScrollBar *get_h_scroll_bar() const;
+
void set_v_scroll(double p_scroll);
double get_v_scroll() const;