1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Add as_sortable_control() to unify Container checks

This commit is contained in:
kobewi
2024-05-06 12:38:51 +02:00
parent 17a81260cb
commit 5c28814b39
15 changed files with 65 additions and 170 deletions

View File

@@ -175,9 +175,8 @@ void GraphNode::_resort() {
HashMap<Control *, _MinSizeCache> min_size_cache;
for (int i = 0; i < get_child_count(false); i++) {
Control *child = Object::cast_to<Control>(get_child(i, false));
if (!child || !child->is_visible_in_tree() || child->is_set_as_top_level()) {
Control *child = as_sortable_control(get_child(i, false));
if (!child) {
continue;
}
@@ -218,8 +217,8 @@ void GraphNode::_resort() {
bool refit_successful = true;
for (int i = 0; i < get_child_count(false); i++) {
Control *child = Object::cast_to<Control>(get_child(i, false));
if (!child || !child->is_visible_in_tree() || child->is_set_as_top_level()) {
Control *child = as_sortable_control(get_child(i, false));
if (!child) {
continue;
}
@@ -256,8 +255,8 @@ void GraphNode::_resort() {
int width = new_size.width - sb_panel->get_minimum_size().width;
int valid_children_idx = 0;
for (int i = 0; i < get_child_count(false); i++) {
Control *child = Object::cast_to<Control>(get_child(i, false));
if (!child || !child->is_visible_in_tree() || child->is_set_as_top_level()) {
Control *child = as_sortable_control(get_child(i, false));
if (!child) {
continue;
}
@@ -614,8 +613,8 @@ Size2 GraphNode::get_minimum_size() const {
Size2 minsize = titlebar_hbox->get_minimum_size() + sb_titlebar->get_minimum_size();
for (int i = 0; i < get_child_count(false); i++) {
Control *child = Object::cast_to<Control>(get_child(i, false));
if (!child || !child->is_visible() || child->is_set_as_top_level()) {
Control *child = as_sortable_control(get_child(i, false));
if (!child) {
continue;
}