diff options
| author | SASUPERNOVA | 2018-04-15 14:53:28 +0300 |
|---|---|---|
| committer | SASUPERNOVA | 2018-04-15 14:53:28 +0300 |
| commit | d8d329883e86d6887967b3793828f8358491af49 (patch) | |
| tree | 2cce6ae8be09793b0da807d668413794995aeedc /scene/gui/grid_container.cpp | |
| parent | e44444ea2dfdcc8125caa6708c8d0ca7036d3527 (diff) | |
| download | godot-d8d329883e86d6887967b3793828f8358491af49.tar.gz godot-d8d329883e86d6887967b3793828f8358491af49.tar.zst godot-d8d329883e86d6887967b3793828f8358491af49.zip | |
Updated fork to match current version of Godot.
Diffstat (limited to 'scene/gui/grid_container.cpp')
| -rw-r--r-- | scene/gui/grid_container.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/scene/gui/grid_container.cpp b/scene/gui/grid_container.cpp index b401abd43..f0a99f019 100644 --- a/scene/gui/grid_container.cpp +++ b/scene/gui/grid_container.cpp @@ -178,6 +178,8 @@ void GridContainer::_bind_methods() { ClassDB::bind_method(D_METHOD("set_columns", "columns"), &GridContainer::set_columns); ClassDB::bind_method(D_METHOD("get_columns"), &GridContainer::get_columns); + ClassDB::bind_method(D_METHOD("get_child_control_at_cell", "row", "column"), + &GridContainer::get_child_control_at_cell); ADD_PROPERTY(PropertyInfo(Variant::INT, "columns", PROPERTY_HINT_RANGE, "1,1024,1"), "set_columns", "get_columns"); } @@ -232,6 +234,21 @@ Size2 GridContainer::get_minimum_size() const { return ms; } +Control *GridContainer::get_child_control_at_cell(int row, int column) { + Control *c; + int grid_index = row * columns + column; + for (int i = 0; i < get_child_count(); i++) { + c = Object::cast_to<Control>(get_child(i)); + if (!c || !c->is_visible_in_tree()) + continue; + + if (grid_index == i) { + break; + } + } + return c; +} + GridContainer::GridContainer() { set_mouse_filter(MOUSE_FILTER_PASS); |
