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:
Gorgious56
2024-04-02 09:52:43 +02:00
parent 96302a5c07
commit e0df22ffec
@@ -90,7 +90,7 @@ def get_active_pset_obj_name(context, obj_type):
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()
row = box.row(align=True)
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.obj = obj_name
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.obj = obj_name
op.obj_type = obj_type
remove_pset_row.enabled = allow_removing
elif props.active_pset_id != pset_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.obj = obj_name
op.obj_type = obj_type
remove_pset_row.enabled = allow_removing
if pset["is_expanded"]:
if props.active_pset_id == pset_id:
for prop in props.properties:
@@ -211,7 +215,7 @@ class BIM_PT_object_psets(Panel):
if ObjectPsetsData.data["inherited_psets"]:
self.layout.label(text="Type:")
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):
@@ -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":
draw_psetqto_ui(context, 0, {}, props, self.layout, "Object")
if ObjectQtosData.data["qtos"]:
self.layout.label(text="Instance:")
for qto in ObjectQtosData.data["qtos"]:
@@ -255,7 +259,7 @@ class BIM_PT_object_qtos(Panel):
if ObjectQtosData.data["inherited_qsets"]:
self.layout.label(text="Type:")
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):