From 4be282a269bb298c04afb4741fe0f5f99716cd59 Mon Sep 17 00:00:00 2001 From: Michael Alexsander Date: Wed, 3 Mar 2021 20:51:35 -0300 Subject: [PATCH] Hide more options of disabled properties --- scene/2d/camera_2d.cpp | 7 +++++++ scene/2d/camera_2d.h | 2 ++ scene/2d/light_2d.cpp | 7 +++++++ scene/2d/light_2d.h | 1 + scene/2d/polygon_2d.cpp | 2 +- scene/2d/polygon_2d.h | 5 +---- scene/3d/decal.cpp | 2 -- scene/3d/decal.h | 5 +---- scene/3d/light_3d.cpp | 2 +- scene/3d/sprite_3d.cpp | 2 -- scene/gui/line_edit.cpp | 8 ++++++++ scene/gui/line_edit.h | 6 +++--- scene/gui/rich_text_label.cpp | 7 +++++++ scene/gui/rich_text_label.h | 5 ++--- scene/main/canvas_layer.cpp | 2 -- scene/main/canvas_layer.h | 5 +---- scene/resources/camera_effects.cpp | 2 -- scene/resources/camera_effects.h | 5 +---- scene/resources/style_box.cpp | 7 +++++++ scene/resources/style_box.h | 1 + 20 files changed, 51 insertions(+), 32 deletions(-) diff --git a/scene/2d/camera_2d.cpp b/scene/2d/camera_2d.cpp index c5ac4e1a05..9030cc4263 100644 --- a/scene/2d/camera_2d.cpp +++ b/scene/2d/camera_2d.cpp @@ -569,6 +569,7 @@ void Camera2D::_set_old_smoothing(float p_enable) { void Camera2D::set_enable_follow_smoothing(bool p_enabled) { smoothing_enabled = p_enabled; + notify_property_list_changed(); } bool Camera2D::is_follow_smoothing_enabled() const { @@ -642,6 +643,12 @@ bool Camera2D::is_margin_drawing_enabled() const { return margin_drawing_enabled; } +void Camera2D::_validate_property(PropertyInfo &property) const { + if (!smoothing_enabled && property.name == "smoothing_speed") { + property.usage = PROPERTY_USAGE_NOEDITOR; + } +} + void Camera2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_offset", "offset"), &Camera2D::set_offset); ClassDB::bind_method(D_METHOD("get_offset"), &Camera2D::get_offset); diff --git a/scene/2d/camera_2d.h b/scene/2d/camera_2d.h index 252d2686fc..220e208eb0 100644 --- a/scene/2d/camera_2d.h +++ b/scene/2d/camera_2d.h @@ -97,8 +97,10 @@ protected: protected: virtual Transform2D get_camera_transform(); + void _notification(int p_what); static void _bind_methods(); + void _validate_property(PropertyInfo &property) const override; public: void set_offset(const Vector2 &p_offset); diff --git a/scene/2d/light_2d.cpp b/scene/2d/light_2d.cpp index 15fcb08422..58e15e3cca 100644 --- a/scene/2d/light_2d.cpp +++ b/scene/2d/light_2d.cpp @@ -159,6 +159,7 @@ int Light2D::get_item_shadow_cull_mask() const { void Light2D::set_shadow_enabled(bool p_enabled) { shadow = p_enabled; RS::get_singleton()->canvas_light_set_shadow_enabled(canvas_light, shadow); + notify_property_list_changed(); } bool Light2D::is_shadow_enabled() const { @@ -221,6 +222,12 @@ float Light2D::get_shadow_smooth() const { return shadow_smooth; } +void Light2D::_validate_property(PropertyInfo &property) const { + if (!shadow && (property.name == "shadow_color" || property.name == "shadow_filter" || property.name == "shadow_filter_smooth" || property.name == "shadow_item_cull_mask")) { + property.usage = PROPERTY_USAGE_NOEDITOR; + } +} + void Light2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_enabled", "enabled"), &Light2D::set_enabled); ClassDB::bind_method(D_METHOD("is_enabled"), &Light2D::is_enabled); diff --git a/scene/2d/light_2d.h b/scene/2d/light_2d.h index 4279baf15b..de8a2bb6d0 100644 --- a/scene/2d/light_2d.h +++ b/scene/2d/light_2d.h @@ -77,6 +77,7 @@ protected: _FORCE_INLINE_ RID _get_light() const { return canvas_light; } void _notification(int p_what); static void _bind_methods(); + void _validate_property(PropertyInfo &property) const override; public: void set_enabled(bool p_enabled); diff --git a/scene/2d/polygon_2d.cpp b/scene/2d/polygon_2d.cpp index a60a32f1d2..2bb75e5967 100644 --- a/scene/2d/polygon_2d.cpp +++ b/scene/2d/polygon_2d.cpp @@ -88,13 +88,13 @@ bool Polygon2D::_edit_is_selected_on_click(const Point2 &p_point, double p_toler } return Geometry2D::is_point_in_polygon(p_point - get_offset(), polygon2d); } +#endif void Polygon2D::_validate_property(PropertyInfo &property) const { if (!invert && property.name == "invert_border") { property.usage = PROPERTY_USAGE_NOEDITOR; } } -#endif void Polygon2D::_skeleton_bone_setup_changed() { update(); diff --git a/scene/2d/polygon_2d.h b/scene/2d/polygon_2d.h index 43a66aad13..b329251277 100644 --- a/scene/2d/polygon_2d.h +++ b/scene/2d/polygon_2d.h @@ -72,13 +72,10 @@ class Polygon2D : public Node2D { void _skeleton_bone_setup_changed(); -#ifdef TOOLS_ENABLED - void _validate_property(PropertyInfo &property) const override; -#endif - protected: void _notification(int p_what); static void _bind_methods(); + void _validate_property(PropertyInfo &property) const override; public: #ifdef TOOLS_ENABLED diff --git a/scene/3d/decal.cpp b/scene/3d/decal.cpp index b5eab35605..7d6abe458a 100644 --- a/scene/3d/decal.cpp +++ b/scene/3d/decal.cpp @@ -154,13 +154,11 @@ Vector Decal::get_faces(uint32_t p_usage_flags) const { return Vector(); } -#ifdef TOOLS_ENABLED void Decal::_validate_property(PropertyInfo &property) const { if (!distance_fade_enabled && (property.name == "distance_fade_begin" || property.name == "distance_fade_length")) { property.usage = PROPERTY_USAGE_NOEDITOR; } } -#endif void Decal::_bind_methods() { ClassDB::bind_method(D_METHOD("set_extents", "extents"), &Decal::set_extents); diff --git a/scene/3d/decal.h b/scene/3d/decal.h index 20d86ee16c..ce19e76de1 100644 --- a/scene/3d/decal.h +++ b/scene/3d/decal.h @@ -62,12 +62,9 @@ private: float distance_fade_begin = 10.0; float distance_fade_length = 1.0; -#ifdef TOOLS_ENABLED - void _validate_property(PropertyInfo &property) const override; -#endif - protected: static void _bind_methods(); + void _validate_property(PropertyInfo &property) const override; public: void set_extents(const Vector3 &p_extents); diff --git a/scene/3d/light_3d.cpp b/scene/3d/light_3d.cpp index 87f54022b3..f109640aef 100644 --- a/scene/3d/light_3d.cpp +++ b/scene/3d/light_3d.cpp @@ -204,7 +204,7 @@ bool Light3D::is_editor_only() const { } void Light3D::_validate_property(PropertyInfo &property) const { - if (!shadow && (property.name == "shadow_color" || property.name == "shadow_color" || property.name == "shadow_bias" || property.name == "shadow_normal_bias" || property.name == "shadow_reverse_cull_face" || property.name == "shadow_transmittance_bias" || property.name == "shadow_blur")) { + if (!shadow && (property.name == "shadow_color" || property.name == "shadow_bias" || property.name == "shadow_normal_bias" || property.name == "shadow_reverse_cull_face" || property.name == "shadow_transmittance_bias" || property.name == "shadow_fog_fade" || property.name == "shadow_blur")) { property.usage = PROPERTY_USAGE_NOEDITOR; } diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp index f881181ccd..b7a3135bd5 100644 --- a/scene/3d/sprite_3d.cpp +++ b/scene/3d/sprite_3d.cpp @@ -625,11 +625,9 @@ void Sprite3D::_validate_property(PropertyInfo &property) const { property.usage |= PROPERTY_USAGE_KEYING_INCREMENTS; } -#ifdef TOOLS_ENABLED if (!region && property.name == "region_rect") { property.usage = PROPERTY_USAGE_NOEDITOR; } -#endif } void Sprite3D::_bind_methods() { diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index ba08aae8e3..fda543aa36 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -1135,6 +1135,8 @@ void LineEdit::cursor_set_blink_enabled(const bool p_enabled) { } draw_caret = true; + + notify_property_list_changed(); } bool LineEdit::cursor_get_force_displayed() const { @@ -2056,6 +2058,12 @@ void LineEdit::_get_property_list(List *p_list) const { p_list->push_back(PropertyInfo(Variant::NIL, "opentype_features/_new", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR)); } +void LineEdit::_validate_property(PropertyInfo &property) const { + if (!caret_blink_enabled && property.name == "caret_blink_speed") { + property.usage = PROPERTY_USAGE_NOEDITOR; + } +} + void LineEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("_text_changed"), &LineEdit::_text_changed); diff --git a/scene/gui/line_edit.h b/scene/gui/line_edit.h index cbadf818cd..f5d616d078 100644 --- a/scene/gui/line_edit.h +++ b/scene/gui/line_edit.h @@ -197,15 +197,15 @@ private: void _backspace(bool p_word = false, bool p_all_to_left = false); void _delete(bool p_word = false, bool p_all_to_right = false); - void _gui_input(Ref p_event); - void _notification(int p_what); - protected: + void _notification(int p_what); static void _bind_methods(); + void _gui_input(Ref p_event); bool _set(const StringName &p_name, const Variant &p_value); bool _get(const StringName &p_name, Variant &r_ret) const; void _get_property_list(List *p_list) const; + void _validate_property(PropertyInfo &property) const override; public: void set_align(Align p_align); diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 682584d73f..ed319f9fd0 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -3634,6 +3634,7 @@ void RichTextLabel::set_use_bbcode(bool p_enable) { } use_bbcode = p_enable; set_bbcode(bbcode); + notify_property_list_changed(); } bool RichTextLabel::is_using_bbcode() const { @@ -3771,6 +3772,12 @@ int RichTextLabel::get_content_height() const { return total_height; } +void RichTextLabel::_validate_property(PropertyInfo &property) const { + if (!use_bbcode && property.name == "bbcode_text") { + property.usage = PROPERTY_USAGE_NOEDITOR; + } +} + void RichTextLabel::_bind_methods() { ClassDB::bind_method(D_METHOD("_gui_input"), &RichTextLabel::_gui_input); ClassDB::bind_method(D_METHOD("get_text"), &RichTextLabel::get_text); diff --git a/scene/gui/rich_text_label.h b/scene/gui/rich_text_label.h index 2351aff0a4..e3e457d1f2 100644 --- a/scene/gui/rich_text_label.h +++ b/scene/gui/rich_text_label.h @@ -81,7 +81,9 @@ public: }; protected: + void _notification(int p_what); static void _bind_methods(); + void _validate_property(PropertyInfo &property) const override; private: struct Item; @@ -441,9 +443,6 @@ private: bool fit_content_height = false; -protected: - void _notification(int p_what); - public: String get_text(); void add_text(const String &p_text); diff --git a/scene/main/canvas_layer.cpp b/scene/main/canvas_layer.cpp index d9b29daf26..85d7edd64b 100644 --- a/scene/main/canvas_layer.cpp +++ b/scene/main/canvas_layer.cpp @@ -258,13 +258,11 @@ void CanvasLayer::_update_follow_viewport(bool p_force_exit) { } } -#ifdef TOOLS_ENABLED void CanvasLayer::_validate_property(PropertyInfo &property) const { if (!follow_viewport && property.name == "follow_viewport_scale") { property.usage = PROPERTY_USAGE_NOEDITOR; } } -#endif void CanvasLayer::_bind_methods() { ClassDB::bind_method(D_METHOD("set_layer", "layer"), &CanvasLayer::set_layer); diff --git a/scene/main/canvas_layer.h b/scene/main/canvas_layer.h index b20b291367..899039340a 100644 --- a/scene/main/canvas_layer.h +++ b/scene/main/canvas_layer.h @@ -61,13 +61,10 @@ class CanvasLayer : public Node { void _update_locrotscale(); void _update_follow_viewport(bool p_force_exit = false); -#ifdef TOOLS_ENABLED - void _validate_property(PropertyInfo &property) const override; -#endif - protected: void _notification(int p_what); static void _bind_methods(); + void _validate_property(PropertyInfo &property) const override; public: void set_layer(int p_xform); diff --git a/scene/resources/camera_effects.cpp b/scene/resources/camera_effects.cpp index 00312fc7b2..34c6bc05bc 100644 --- a/scene/resources/camera_effects.cpp +++ b/scene/resources/camera_effects.cpp @@ -145,7 +145,6 @@ void CameraEffects::_update_override_exposure() { // Private methods, constructor and destructor -#ifdef TOOLS_ENABLED void CameraEffects::_validate_property(PropertyInfo &property) const { if ((!dof_blur_far_enabled && (property.name == "dof_blur_far_distance" || property.name == "dof_blur_far_transition")) || (!dof_blur_near_enabled && (property.name == "dof_blur_near_distance" || property.name == "dof_blur_near_transition")) || @@ -153,7 +152,6 @@ void CameraEffects::_validate_property(PropertyInfo &property) const { property.usage = PROPERTY_USAGE_NOEDITOR; } } -#endif void CameraEffects::_bind_methods() { // DOF blur diff --git a/scene/resources/camera_effects.h b/scene/resources/camera_effects.h index 51fb2b6cf7..b9338f4806 100644 --- a/scene/resources/camera_effects.h +++ b/scene/resources/camera_effects.h @@ -57,12 +57,9 @@ private: float override_exposure = 1.0; void _update_override_exposure(); -#ifdef TOOLS_ENABLED - void _validate_property(PropertyInfo &property) const override; -#endif - protected: static void _bind_methods(); + void _validate_property(PropertyInfo &property) const override; public: virtual RID get_rid() const override; diff --git a/scene/resources/style_box.cpp b/scene/resources/style_box.cpp index 9b80224c3f..2159f1bc97 100644 --- a/scene/resources/style_box.cpp +++ b/scene/resources/style_box.cpp @@ -460,6 +460,7 @@ Point2 StyleBoxFlat::get_shadow_offset() const { void StyleBoxFlat::set_anti_aliased(const bool &p_anti_aliased) { anti_aliased = p_anti_aliased; emit_changed(); + notify_property_list_changed(); } bool StyleBoxFlat::is_anti_aliased() const { @@ -781,6 +782,12 @@ float StyleBoxFlat::get_style_margin(Side p_side) const { return border_width[p_side]; } +void StyleBoxFlat::_validate_property(PropertyInfo &property) const { + if (!anti_aliased && property.name == "anti_aliasing_size") { + property.usage = PROPERTY_USAGE_NOEDITOR; + } +} + void StyleBoxFlat::_bind_methods() { ClassDB::bind_method(D_METHOD("set_bg_color", "color"), &StyleBoxFlat::set_bg_color); ClassDB::bind_method(D_METHOD("get_bg_color"), &StyleBoxFlat::get_bg_color); diff --git a/scene/resources/style_box.h b/scene/resources/style_box.h index 8a273afbfd..dd5c873a00 100644 --- a/scene/resources/style_box.h +++ b/scene/resources/style_box.h @@ -159,6 +159,7 @@ class StyleBoxFlat : public StyleBox { protected: virtual float get_style_margin(Side p_side) const override; static void _bind_methods(); + void _validate_property(PropertyInfo &property) const override; public: //Color