diff --git a/src/blenderbim/blenderbim/bim/module/geometry/__init__.py b/src/blenderbim/blenderbim/bim/module/geometry/__init__.py index 0bf808c2ef..364ea3d83a 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/__init__.py @@ -22,14 +22,20 @@ from . import ui, prop, operator classes = ( operator.AddRepresentation, operator.CopyRepresentation, + operator.DisableEditingRepresentationItemShapeAspect, + operator.DisableEditingRepresentationItemStyle, operator.DisableEditingRepresentationItems, + operator.DuplicateLinkedAggregateTo3dCursor, + operator.DuplicateMoveLinkedAggregate, + operator.DuplicateMoveLinkedAggregateMacro, operator.EditObjectPlacement, + operator.EditRepresentationItemShapeAspect, + operator.EditRepresentationItemStyle, + operator.EnableEditingRepresentationItemShapeAspect, + operator.EnableEditingRepresentationItemStyle, operator.EnableEditingRepresentationItems, operator.FlipObject, operator.GetRepresentationIfcParameters, - operator.DuplicateMoveLinkedAggregate, - operator.DuplicateMoveLinkedAggregateMacro, - operator.DuplicateLinkedAggregateTo3dCursor, operator.OverrideDelete, operator.OverrideDuplicateMove, operator.OverrideDuplicateMoveLinked, @@ -46,19 +52,13 @@ classes = ( operator.RefreshLinkedAggregate, operator.RemoveConnection, operator.RemoveRepresentation, + operator.RemoveRepresentationItem, + operator.RemoveRepresentationItemFromShapeAspect, operator.SelectConnection, operator.SwitchRepresentation, + operator.UnassignRepresentationItemStyle, operator.UpdateParametricRepresentation, operator.UpdateRepresentation, - operator.RemoveRepresentationItem, - operator.EnableEditingRepresentationItemStyle, - operator.EditRepresentationItemStyle, - operator.DisableEditingRepresentationItemStyle, - operator.UnassignRepresentationItemStyle, - operator.EnableEditingRepresentationItemShapeAspect, - operator.EditRepresentationItemShapeAspect, - operator.DisableEditingRepresentationItemShapeAspect, - operator.RemoveRepresentationItemFromShapeAspect, prop.RepresentationItem, prop.ShapeAspect, prop.BIMObjectGeometryProperties, @@ -120,6 +120,7 @@ def register(): km = wm.keyconfigs.addon.keymaps.new(name="Mesh", space_type="EMPTY") kmi = km.keymap_items.new("bim.override_mode_set_object", "TAB", "PRESS") + kmi.properties.should_save = True addon_keymaps.append((km, kmi)) kmi = km.keymap_items.new("wm.call_menu", "P", "PRESS") kmi.properties.name = ui.BIM_MT_hotkey_separate.bl_idname diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index a4a9ae5abe..a26831bff1 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -1683,20 +1683,11 @@ class OverrideModeSetObject(bpy.types.Operator): apply_openings=True, ) - def draw(self, context): - if self.is_valid: - row = self.layout.row() - row.prop(self, "should_save") - else: - row = self.layout.row() - row.label(text="No Geometry Found: Object will revert to previous state.") - def invoke(self, context, event): return IfcStore.execute_ifc_operator(self, context, is_invoke=True) def _invoke(self, context, event): self.is_valid = True - self.should_save = True bpy.ops.object.mode_set(mode="EDIT", toggle=True) @@ -1758,8 +1749,6 @@ class OverrideModeSetObject(bpy.types.Operator): else: tool.Ifc.finish_edit(obj) - if self.edited_objs: - return context.window_manager.invoke_props_dialog(self) return self.execute(context) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/ui.py b/src/blenderbim/blenderbim/bim/module/geometry/ui.py index b2a52315ec..3896335c2e 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/ui.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/ui.py @@ -34,6 +34,8 @@ from blenderbim.bim.module.layer.data import LayersData def mode_menu(self, context): row = self.layout.row(align=True) + if context.scene.BIMGeometryProperties.mode == "EDIT": + row.operator("bim.override_mode_set_object", icon="CANCEL", text="Discard Changes").should_save = False row.prop(context.scene.BIMGeometryProperties, "mode", text="", icon_value=blenderbim.bim.icons["IFC"].icon_id)