From ebfc8ef619a02b04aadcac41a9d394fe90bf9d5c Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 8 Nov 2023 15:09:17 +0500 Subject: [PATCH] remove BIMGroupProperties.is_adding attribute to avoid confusion The problem with that attribute was that object's and project's group ui section were both using groups loaded to BIMGroupProperties.groups. So you could run into situation when you try to load object's groups ui and it would show empty list because user never loaded the groups from the project's ui... So it was either caching groups twice or just using same `is_editing` flag to check whether groups were previously loaded and I went with the single flag. --- src/blenderbim/blenderbim/bim/module/group/__init__.py | 1 - src/blenderbim/blenderbim/bim/module/group/operator.py | 10 ---------- src/blenderbim/blenderbim/bim/module/group/prop.py | 1 - src/blenderbim/blenderbim/bim/module/group/ui.py | 6 +++--- 4 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/group/__init__.py b/src/blenderbim/blenderbim/bim/module/group/__init__.py index 3f51d01082..4650cb1833 100644 --- a/src/blenderbim/blenderbim/bim/module/group/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/group/__init__.py @@ -29,7 +29,6 @@ classes = ( operator.LoadGroups, operator.RemoveGroup, operator.SelectGroupProducts, - operator.ToggleAssigningGroup, operator.ToggleGroup, operator.UnassignGroup, operator.UpdateGroup, diff --git a/src/blenderbim/blenderbim/bim/module/group/operator.py b/src/blenderbim/blenderbim/bim/module/group/operator.py index eefcd97e8f..c7dbdd6c8b 100644 --- a/src/blenderbim/blenderbim/bim/module/group/operator.py +++ b/src/blenderbim/blenderbim/bim/module/group/operator.py @@ -173,16 +173,6 @@ class DisableEditingGroup(bpy.types.Operator, tool.Ifc.Operator): return {"FINISHED"} -class ToggleAssigningGroup(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.toggle_assigning_group" - bl_label = "Toggle Assigning Group" - bl_options = {"REGISTER", "UNDO"} - - def _execute(self, context): - context.scene.BIMGroupProperties.is_adding = not context.scene.BIMGroupProperties.is_adding - return {"FINISHED"} - - class AssignGroup(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.assign_group" bl_label = "Assign Group" diff --git a/src/blenderbim/blenderbim/bim/module/group/prop.py b/src/blenderbim/blenderbim/bim/module/group/prop.py index 1ac4d85738..c64c77814a 100644 --- a/src/blenderbim/blenderbim/bim/module/group/prop.py +++ b/src/blenderbim/blenderbim/bim/module/group/prop.py @@ -49,7 +49,6 @@ class Group(PropertyGroup): class BIMGroupProperties(PropertyGroup): group_attributes: CollectionProperty(name="Group Attributes", type=Attribute) is_editing: BoolProperty(name="Is Editing", default=False) - is_adding: BoolProperty(name="Is Adding", default=False) groups: CollectionProperty(name="Groups", type=Group) active_group_index: IntProperty(name="Active Group Index") active_group_id: IntProperty(name="Active Group Id") diff --git a/src/blenderbim/blenderbim/bim/module/group/ui.py b/src/blenderbim/blenderbim/bim/module/group/ui.py index 1582b1fdd7..5762d8f705 100644 --- a/src/blenderbim/blenderbim/bim/module/group/ui.py +++ b/src/blenderbim/blenderbim/bim/module/group/ui.py @@ -89,9 +89,9 @@ class BIM_PT_object_groups(Panel): ObjectGroupsData.load() self.props = context.scene.BIMGroupProperties row = self.layout.row(align=True) - if self.props.is_adding: + if self.props.is_editing: row.label(text="Adding Groups", icon="OUTLINER") - row.operator("bim.toggle_assigning_group", text="", icon="CANCEL") + row.operator("bim.disable_group_editing_ui", text="", icon="CANCEL") self.layout.template_list( "BIM_UL_object_groups", "", @@ -102,7 +102,7 @@ class BIM_PT_object_groups(Panel): ) else: row.label(text=f"{ObjectGroupsData.data['total_groups']} Groups in IFC Project", icon="OUTLINER") - row.operator("bim.toggle_assigning_group", text="", icon="ADD") + row.operator("bim.load_groups", text="", icon="GREASEPENCIL") for group in ObjectGroupsData.data["groups"]: row = self.layout.row(align=True)