Merge pull request #59560 from Sauermann/proposal-subviewportcontainer-configuration-warning

Add configuration warning for SubViewportContainer
This commit is contained in:
Rémi Verschelde 2022-03-26 22:54:45 +01:00 committed by GitHub
commit e3d183f2cf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View file

@ -223,6 +223,23 @@ void SubViewportContainer::unhandled_input(const Ref<InputEvent> &p_event) {
}
}
TypedArray<String> SubViewportContainer::get_configuration_warnings() const {
TypedArray<String> warnings = Node::get_configuration_warnings();
bool has_viewport = false;
for (int i = 0; i < get_child_count(); i++) {
if (Object::cast_to<SubViewport>(get_child(i))) {
has_viewport = true;
break;
}
}
if (!has_viewport) {
warnings.push_back(TTR("This node doesn't have a SubViewport as child, so it can't display its intended content.\nConsider adding a SubViewport as a child to provide something displayable."));
}
return warnings;
}
void SubViewportContainer::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_stretch", "enable"), &SubViewportContainer::set_stretch);
ClassDB::bind_method(D_METHOD("is_stretch_enabled"), &SubViewportContainer::is_stretch_enabled);

View file

@ -58,6 +58,8 @@ public:
virtual Vector<int> get_allowed_size_flags_horizontal() const override;
virtual Vector<int> get_allowed_size_flags_vertical() const override;
TypedArray<String> get_configuration_warnings() const override;
SubViewportContainer();
};