summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNils Reid <nils.reid@neoshadow.co>2021-01-23 23:34:44 +0100
committerNils Reid <nils.reid@neoshadow.co>2021-01-26 08:19:20 +0100
commit3e94c23fa528a71f320ca3103d50e6ce40ed7f1b (patch)
tree9dc317aa4d64abd37e3841f96f45ced9deb4a949
parentad0f1c66707429b35f368eabb1d581013a1d243d (diff)
Exposed find_next_valid_focus and find_prev_valid_focus.
-rw-r--r--doc/classes/Control.xml14
-rw-r--r--scene/gui/control.cpp2
2 files changed, 16 insertions, 0 deletions
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index 533748aced..d94e495a5e 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -306,6 +306,20 @@
[/codeblocks]
</description>
</method>
+ <method name="find_next_valid_focus" qualifiers="const">
+ <return type="Control">
+ </return>
+ <description>
+ Finds the next (below in the tree) [Control] that can receive the focus.
+ </description>
+ </method>
+ <method name="find_prev_valid_focus" qualifiers="const">
+ <return type="Control">
+ </return>
+ <description>
+ Finds the previous (above in the tree) [Control] that can receive the focus.
+ </description>
+ </method>
<method name="force_drag">
<return type="void">
</return>
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp
index ad21c351d0..4aa9c31522 100644
--- a/scene/gui/control.cpp
+++ b/scene/gui/control.cpp
@@ -2785,6 +2785,8 @@ void Control::_bind_methods() {
ClassDB::bind_method(D_METHOD("has_focus"), &Control::has_focus);
ClassDB::bind_method(D_METHOD("grab_focus"), &Control::grab_focus);
ClassDB::bind_method(D_METHOD("release_focus"), &Control::release_focus);
+ ClassDB::bind_method(D_METHOD("find_prev_valid_focus"), &Control::find_prev_valid_focus);
+ ClassDB::bind_method(D_METHOD("find_next_valid_focus"), &Control::find_next_valid_focus);
ClassDB::bind_method(D_METHOD("get_focus_owner"), &Control::get_focus_owner);
ClassDB::bind_method(D_METHOD("set_h_size_flags", "flags"), &Control::set_h_size_flags);