bim.load_product_related_tasks - show info message when finished

to make ui a bit more responsive
This commit is contained in:
Andrej730
2024-05-27 17:56:01 +05:00
parent 02fd78df14
commit 54978a9868
2 changed files with 10 additions and 3 deletions
@@ -1409,9 +1409,13 @@ class LoadProductTasks(bpy.types.Operator):
return True
def execute(self, context):
core.load_product_related_tasks(
result = core.load_product_related_tasks(
tool.Sequence, product=tool.Ifc.get().by_id(context.active_object.BIMObjectProperties.ifc_definition_id)
)
if isinstance(result, str):
self.report({"INFO"}, result)
else:
self.report({"INFO"}, f"{len(result)} product tasks loaded.")
return {"FINISHED"}
+5 -2
View File
@@ -593,17 +593,20 @@ def generate_gantt_chart(sequence: tool.Sequence, work_schedule: ifcopenshell.en
sequence.generate_gantt_browser_chart(json, work_schedule)
def load_product_related_tasks(sequence: tool.Sequence, product: ifcopenshell.entity_instance) -> Union[None, str]:
def load_product_related_tasks(
sequence: tool.Sequence, product: ifcopenshell.entity_instance
) -> Union[list[ifcopenshell.entity_instance], str]:
filter_by_schedule = sequence.is_filter_by_active_schedule()
if filter_by_schedule:
work_schedule = sequence.get_active_work_schedule()
if work_schedule:
task_inputs, task_ouputs = sequence.get_tasks_for_product(product, work_schedule)
else:
return "No active work schedule"
return "No active work schedule."
else:
task_inputs, task_ouputs = sequence.get_tasks_for_product(product)
sequence.load_product_related_tasks(task_inputs, task_ouputs)
return task_inputs + task_ouputs
def reorder_task_nesting(