1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-19 14:31:59 +00:00

Merge pull request #92664 from KoBeWi/ultimate_final_solution_for_containers

Add visibilty mode to `as_sortable_control()`
This commit is contained in:
Rémi Verschelde
2024-06-07 23:29:48 +02:00
9 changed files with 35 additions and 23 deletions

View File

@@ -139,9 +139,15 @@ void Container::queue_sort() {
pending_sort = true;
}
Control *Container::as_sortable_control(Node *p_node) const {
Control *Container::as_sortable_control(Node *p_node, SortableVisbilityMode p_visibility_mode) const {
Control *c = Object::cast_to<Control>(p_node);
if (!c || !c->is_visible_in_tree() || c->is_set_as_top_level()) {
if (!c || c->is_set_as_top_level()) {
return nullptr;
}
if (p_visibility_mode == SortableVisbilityMode::VISIBLE && !c->is_visible()) {
return nullptr;
}
if (p_visibility_mode == SortableVisbilityMode::VISIBLE_IN_TREE && !c->is_visible_in_tree()) {
return nullptr;
}
return c;