From b6e24559e5844b9f9f144b296eaae96dd71aff69 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 1 Nov 2023 18:04:32 +1100 Subject: [PATCH] Fix #3961. Improve UI so setting null now clears the value. --- src/blenderbim/blenderbim/bim/prop.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/prop.py b/src/blenderbim/blenderbim/bim/prop.py index d1dbc3445c..c9bb9c7a98 100644 --- a/src/blenderbim/blenderbim/bim/prop.py +++ b/src/blenderbim/blenderbim/bim/prop.py @@ -174,6 +174,18 @@ def update_attribute_value(self, context): self.is_null = False +def update_is_null(self, context): + if not self.is_null: + return + self.string_value = "" + self.int_value = 0 + self.float_value = 0 + self.length_value = 0 + self.bool_value = False + if self.is_null is not True: + self.is_null = True + + def set_int_value(self, new_value): set_numerical_value(self, "int_value", new_value) @@ -240,7 +252,7 @@ class Attribute(PropertyGroup): enum_items: StringProperty(name="Value") enum_descriptions: CollectionProperty(type=StrProperty) enum_value: EnumProperty(items=get_attribute_enum_values, name="Value", update=update_attribute_value) - is_null: BoolProperty(name="Is Null") + is_null: BoolProperty(name="Is Null", update=update_is_null) is_optional: BoolProperty(name="Is Optional") is_uri: BoolProperty(name="Is Uri", default=False) is_selected: BoolProperty(name="Is Selected", default=False)