Enable displaying assigned nested tasks for Cost Items

This commit is contained in:
Sigma Dimensions
2023-03-28 23:05:26 +00:00
parent 16c4b212fd
commit 9b3b29a91c
5 changed files with 25 additions and 2 deletions
@@ -67,6 +67,8 @@ classes = (
operator.ExpandCostItemRate, operator.ExpandCostItemRate,
operator.ContractCostItemRate, operator.ContractCostItemRate,
operator.CalculateCostItemResourceValue, operator.CalculateCostItemResourceValue,
operator.LoadCostItemElementQuantities,
operator.LoadCostItemTaskQuantities,
prop.CostItem, prop.CostItem,
prop.CostItemQuantity, prop.CostItemQuantity,
prop.CostItemType, prop.CostItemType,
@@ -528,6 +528,17 @@ class LoadCostItemElementQuantities(bpy.types.Operator):
core.load_cost_item_element_quantities(tool.Cost) core.load_cost_item_element_quantities(tool.Cost)
return {"FINISHED"} return {"FINISHED"}
class LoadCostItemTaskQuantities(bpy.types.Operator):
bl_idname = "bim.load_cost_item_task_quantities"
bl_label = "Load Cost Item Task Quantities"
bl_options = {"REGISTER", "UNDO"}
def execute(self, context):
core.load_cost_item_task_quantities(tool.Cost)
return {"FINISHED"}
class LoadCostItemTypes(bpy.types.Operator): class LoadCostItemTypes(bpy.types.Operator):
bl_idname = "bim.load_cost_item_types" bl_idname = "bim.load_cost_item_types"
bl_label = "Load Cost Item Types" bl_label = "Load Cost Item Types"
@@ -138,6 +138,10 @@ def update_active_cost_item_elements(self, context):
bpy.ops.bim.load_cost_item_element_quantities() bpy.ops.bim.load_cost_item_element_quantities()
def update_active_cost_item_tasks(self, context):
bpy.ops.bim.load_cost_item_task_quantities()
class BIMCostProperties(PropertyGroup): class BIMCostProperties(PropertyGroup):
cost_schedule_predefined_types: EnumProperty( cost_schedule_predefined_types: EnumProperty(
items=get_schedule_predefined_types, name="Predefined Type", default=None items=get_schedule_predefined_types, name="Predefined Type", default=None
@@ -189,6 +193,6 @@ class BIMCostProperties(PropertyGroup):
cost_item_rates: CollectionProperty(name="Cost Item Rates", type=CostItem) cost_item_rates: CollectionProperty(name="Cost Item Rates", type=CostItem)
active_cost_item_rate_index: IntProperty(name="Active Cost Rate Index") active_cost_item_rate_index: IntProperty(name="Active Cost Rate Index")
contracted_cost_item_rates: StringProperty(name="Contracted Cost Item Rates", default="[]") contracted_cost_item_rates: StringProperty(name="Contracted Cost Item Rates", default="[]")
show_nested_elements: BoolProperty( show_nested_elements: BoolProperty(name="Show Nested Tasks", default=False, update=update_active_cost_item_elements)
name="Show Nested Tasks", default=False, update=update_active_cost_item_elements show_nested_tasks: BoolProperty(name="Show Nested Tasks", default=False, update=update_active_cost_item_tasks)
) )
@@ -399,6 +399,9 @@ class BIM_PT_cost_item_quantities(Panel):
op.cost_item = cost_item.ifc_definition_id op.cost_item = cost_item.ifc_definition_id
op.prop_name = "" op.prop_name = ""
row2 = col.row()
row2.prop(self.props, "show_nested_tasks", text="Show nested")
row2 = col.row() row2 = col.row()
row2.template_list( row2.template_list(
"BIM_UL_cost_item_quantities", "BIM_UL_cost_item_quantities",
+3
View File
@@ -118,6 +118,9 @@ def load_cost_item_element_quantities(cost):
cost_item = cost.get_highlighted_cost_item() cost_item = cost.get_highlighted_cost_item()
cost.load_cost_item_quantity_assignments(cost_item, related_object_type="PRODUCT") cost.load_cost_item_quantity_assignments(cost_item, related_object_type="PRODUCT")
def load_cost_item_task_quantities(cost):
cost_item = cost.get_highlighted_cost_item()
cost.load_cost_item_quantity_assignments(cost_item, related_object_type="PROCESS")
def assign_cost_value(ifc, cost_item, cost_rate): def assign_cost_value(ifc, cost_item, cost_rate):