Fix cost values for resources not updating properly

This commit is contained in:
Andrej730
2024-11-11 16:56:22 +05:00
parent 0f421da6e3
commit de414313d3
+12
View File
@@ -97,6 +97,7 @@ class Resource(bonsai.core.tool.Resource):
props.active_resource_id = resource.id()
props.resource_attributes.clear()
props.editing_resource_type = "ATTRIBUTES"
cls.update_cost_values_ui_data()
@classmethod
def get_resource_attributes(cls) -> dict[str, Any]:
@@ -109,6 +110,7 @@ class Resource(bonsai.core.tool.Resource):
props.active_resource_time_id = resource.Usage.id()
props.active_resource_id = resource.id()
props.editing_resource_type = "USAGE"
cls.update_cost_values_ui_data()
@classmethod
def get_resource_time(cls, resource: ifcopenshell.entity_instance) -> Union[ifcopenshell.entity_instance, None]:
@@ -153,6 +155,7 @@ class Resource(bonsai.core.tool.Resource):
props = bpy.context.scene.BIMResourceProperties
props.active_resource_id = resource.id()
props.editing_resource_type = "COSTS"
cls.update_cost_values_ui_data()
@classmethod
def disable_editing_resource_cost_value(cls) -> None:
@@ -263,6 +266,7 @@ class Resource(bonsai.core.tool.Resource):
props.active_resource_id = resource.id()
props.editing_resource_type = "QUANTITY"
props.active_resource_class = resource.is_a()
cls.update_cost_values_ui_data()
@classmethod
def enable_editing_resource_quantity(cls, resource_quantity: ifcopenshell.entity_instance) -> None:
@@ -450,3 +454,11 @@ class Resource(bonsai.core.tool.Resource):
@classmethod
def is_attribute_locked(cls, resource: ifcopenshell.entity_instance, attribute) -> bool:
return ifcopenshell.util.constraint.is_attribute_locked(resource, attribute)
@classmethod
def update_cost_values_ui_data(cls) -> None:
from bonsai.bim.module.resource.data import ResourceData
if not ResourceData.is_loaded:
return
ResourceData.data["cost_values"] = ResourceData.cost_values()