mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 06:39:13 +00:00
The button to remove an inherited pset is no longer enabled on instances
Previously it would fail silently if clicked
This commit is contained in:
@@ -90,7 +90,7 @@ def get_active_pset_obj_name(context, obj_type):
|
|||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
|
||||||
def draw_psetqto_ui(context, pset_id, pset, props, layout, obj_type):
|
def draw_psetqto_ui(context, pset_id, pset, props, layout, obj_type, allow_removing=True):
|
||||||
box = layout.box()
|
box = layout.box()
|
||||||
row = box.row(align=True)
|
row = box.row(align=True)
|
||||||
if "is_expanded" not in pset:
|
if "is_expanded" not in pset:
|
||||||
@@ -114,16 +114,20 @@ def draw_psetqto_ui(context, pset_id, pset, props, layout, obj_type):
|
|||||||
op.pset_id = pset_id
|
op.pset_id = pset_id
|
||||||
op.obj = obj_name
|
op.obj = obj_name
|
||||||
op.obj_type = obj_type
|
op.obj_type = obj_type
|
||||||
op = row.operator("bim.remove_pset", icon="X", text="")
|
remove_pset_row = row.row(align=True)
|
||||||
|
op = remove_pset_row.operator("bim.remove_pset", icon="X", text="")
|
||||||
op.pset_id = pset_id
|
op.pset_id = pset_id
|
||||||
op.obj = obj_name
|
op.obj = obj_name
|
||||||
op.obj_type = obj_type
|
op.obj_type = obj_type
|
||||||
|
remove_pset_row.enabled = allow_removing
|
||||||
elif props.active_pset_id != pset_id:
|
elif props.active_pset_id != pset_id:
|
||||||
row.label(text=pset["Name"], icon="COPY_ID")
|
row.label(text=pset["Name"], icon="COPY_ID")
|
||||||
op = row.operator("bim.remove_pset", icon="X", text="")
|
remove_pset_row = row.row(align=True)
|
||||||
|
op = remove_pset_row.operator("bim.remove_pset", icon="X", text="")
|
||||||
op.pset_id = pset_id
|
op.pset_id = pset_id
|
||||||
op.obj = obj_name
|
op.obj = obj_name
|
||||||
op.obj_type = obj_type
|
op.obj_type = obj_type
|
||||||
|
remove_pset_row.enabled = allow_removing
|
||||||
if pset["is_expanded"]:
|
if pset["is_expanded"]:
|
||||||
if props.active_pset_id == pset_id:
|
if props.active_pset_id == pset_id:
|
||||||
for prop in props.properties:
|
for prop in props.properties:
|
||||||
@@ -211,7 +215,7 @@ class BIM_PT_object_psets(Panel):
|
|||||||
if ObjectPsetsData.data["inherited_psets"]:
|
if ObjectPsetsData.data["inherited_psets"]:
|
||||||
self.layout.label(text="Type:")
|
self.layout.label(text="Type:")
|
||||||
for pset in ObjectPsetsData.data["inherited_psets"]:
|
for pset in ObjectPsetsData.data["inherited_psets"]:
|
||||||
draw_psetqto_ui(context, pset["id"], pset, props, self.layout, "Object")
|
draw_psetqto_ui(context, pset["id"], pset, props, self.layout, "Object", allow_removing=False)
|
||||||
|
|
||||||
|
|
||||||
class BIM_PT_object_qtos(Panel):
|
class BIM_PT_object_qtos(Panel):
|
||||||
@@ -246,7 +250,7 @@ class BIM_PT_object_qtos(Panel):
|
|||||||
|
|
||||||
if not props.active_pset_id and props.active_pset_name and props.active_pset_type == "QTO":
|
if not props.active_pset_id and props.active_pset_name and props.active_pset_type == "QTO":
|
||||||
draw_psetqto_ui(context, 0, {}, props, self.layout, "Object")
|
draw_psetqto_ui(context, 0, {}, props, self.layout, "Object")
|
||||||
|
|
||||||
if ObjectQtosData.data["qtos"]:
|
if ObjectQtosData.data["qtos"]:
|
||||||
self.layout.label(text="Instance:")
|
self.layout.label(text="Instance:")
|
||||||
for qto in ObjectQtosData.data["qtos"]:
|
for qto in ObjectQtosData.data["qtos"]:
|
||||||
@@ -255,7 +259,7 @@ class BIM_PT_object_qtos(Panel):
|
|||||||
if ObjectQtosData.data["inherited_qsets"]:
|
if ObjectQtosData.data["inherited_qsets"]:
|
||||||
self.layout.label(text="Type:")
|
self.layout.label(text="Type:")
|
||||||
for qset in ObjectQtosData.data["inherited_qsets"]:
|
for qset in ObjectQtosData.data["inherited_qsets"]:
|
||||||
draw_psetqto_ui(context, qset["id"], qset, props, self.layout, "Object")
|
draw_psetqto_ui(context, qset["id"], qset, props, self.layout, "Object", allow_removing=False)
|
||||||
|
|
||||||
|
|
||||||
class BIM_PT_material_psets(Panel):
|
class BIM_PT_material_psets(Panel):
|
||||||
|
|||||||
Reference in New Issue
Block a user