From e0df22ffec601ce1a29c8bad1982c3e91845058a Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Tue, 2 Apr 2024 09:52:43 +0200 Subject: [PATCH] The button to remove an inherited pset is no longer enabled on instances Previously it would fail silently if clicked --- src/blenderbim/blenderbim/bim/module/pset/ui.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/pset/ui.py b/src/blenderbim/blenderbim/bim/module/pset/ui.py index 51f1a78e93..445016ba50 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/ui.py +++ b/src/blenderbim/blenderbim/bim/module/pset/ui.py @@ -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):