From 82adf4d18cba6c798904014aba365885b234d463 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 15 Mar 2026 07:03:39 +1100 Subject: [PATCH] Fix #7782: Don't allow assigning styles if no styles available. Co-Authored-By: Claude Opus 4.6 --- src/bonsai/bonsai/bim/module/material/data.py | 1 - src/bonsai/bonsai/bim/module/material/ui.py | 17 +++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/material/data.py b/src/bonsai/bonsai/bim/module/material/data.py index 543a44824b..6d9e568087 100644 --- a/src/bonsai/bonsai/bim/module/material/data.py +++ b/src/bonsai/bonsai/bim/module/material/data.py @@ -102,7 +102,6 @@ class MaterialsData: if (style_name := s.Name) is not None ] results = natsorted(results, key=lambda i: i[1]) - results.insert(0, ("-", "No Surface Style", "")) return results @classmethod diff --git a/src/bonsai/bonsai/bim/module/material/ui.py b/src/bonsai/bonsai/bim/module/material/ui.py index f743306767..db16755aad 100644 --- a/src/bonsai/bonsai/bim/module/material/ui.py +++ b/src/bonsai/bonsai/bim/module/material/ui.py @@ -118,12 +118,17 @@ class BIM_PT_materials(Panel): row.operator("bim.edit_material", text="Save Material", icon="CHECKMARK").material = ifc_definition_id row.operator("bim.disable_editing_material", text="", icon="CANCEL") elif self.props.editing_material_type == "STYLE": - row = self.layout.row(align=True) - row.prop(self.props, "contexts", text="") - prop_with_search(row, self.props, "styles", text="") - row = self.layout.row(align=True) - row.operator("bim.edit_material_style", text="Assign Style", icon="CHECKMARK") - row.operator("bim.disable_editing_material", text="", icon="CANCEL") + if MaterialsData.data["styles"]: + row = self.layout.row(align=True) + row.prop(self.props, "contexts", text="") + prop_with_search(row, self.props, "styles", text="") + row = self.layout.row(align=True) + row.operator("bim.edit_material_style", text="Assign Style", icon="CHECKMARK") + row.operator("bim.disable_editing_material", text="", icon="CANCEL") + else: + row = self.layout.row(align=True) + row.label(text="No Styles Found") + row.operator("bim.disable_editing_material", text="", icon="CANCEL") class BIM_PT_object_material(Panel):