mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-18 22:33:33 +00:00
auto refresh tasks assigned to products when filtering by active schedule
This commit is contained in:
@@ -286,6 +286,11 @@ def update_sort_reversed(self, context):
|
|||||||
work_schedule=tool.Ifc.get().by_id(context.scene.BIMWorkScheduleProperties.active_work_schedule_id),
|
work_schedule=tool.Ifc.get().by_id(context.scene.BIMWorkScheduleProperties.active_work_schedule_id),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def update_filter_by_active_schedule(self, context):
|
||||||
|
if context.active_object:
|
||||||
|
core.load_product_related_tasks(
|
||||||
|
tool.Sequence, product=tool.Ifc.get().by_id(context.active_object.BIMObjectProperties.ifc_definition_id)
|
||||||
|
)
|
||||||
|
|
||||||
class Task(PropertyGroup):
|
class Task(PropertyGroup):
|
||||||
name: StringProperty(name="Name", update=updateTaskName)
|
name: StringProperty(name="Name", update=updateTaskName)
|
||||||
@@ -420,7 +425,7 @@ class BIMWorkScheduleProperties(PropertyGroup):
|
|||||||
enable_reorder: BoolProperty(name="Enable Reorder", default=False)
|
enable_reorder: BoolProperty(name="Enable Reorder", default=False)
|
||||||
show_task_operators: BoolProperty(name="Show Task Options", default=True)
|
show_task_operators: BoolProperty(name="Show Task Options", default=True)
|
||||||
should_show_schedule_baseline_ui: BoolProperty(name="Baselines", default=False)
|
should_show_schedule_baseline_ui: BoolProperty(name="Baselines", default=False)
|
||||||
filter_by_active_schedule: BoolProperty(name="Filter By Active Schedule", default=False)
|
filter_by_active_schedule: BoolProperty(name="Filter By Active Schedule", default=False, update = update_filter_by_active_schedule)
|
||||||
|
|
||||||
|
|
||||||
class BIMTaskTreeProperties(PropertyGroup):
|
class BIMTaskTreeProperties(PropertyGroup):
|
||||||
|
|||||||
@@ -556,7 +556,10 @@ def load_product_related_tasks(sequence, product=None):
|
|||||||
filter_by_schedule = sequence.is_filter_by_active_schedule()
|
filter_by_schedule = sequence.is_filter_by_active_schedule()
|
||||||
if filter_by_schedule:
|
if filter_by_schedule:
|
||||||
work_schedule = sequence.get_active_work_schedule()
|
work_schedule = sequence.get_active_work_schedule()
|
||||||
task_inputs, task_ouputs = sequence.get_tasks_for_product(product, work_schedule)
|
if work_schedule:
|
||||||
|
task_inputs, task_ouputs = sequence.get_tasks_for_product(product, work_schedule)
|
||||||
|
else:
|
||||||
|
return "No active work schedule"
|
||||||
else:
|
else:
|
||||||
task_inputs, task_ouputs = sequence.get_tasks_for_product(product)
|
task_inputs, task_ouputs = sequence.get_tasks_for_product(product)
|
||||||
sequence.load_product_related_tasks(task_inputs, task_ouputs)
|
sequence.load_product_related_tasks(task_inputs, task_ouputs)
|
||||||
|
|||||||
Reference in New Issue
Block a user