mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-21 14:23:53 +00:00
Fix #5529. Escape now switches back from item mode to object mode.
This commit is contained in:
@@ -296,6 +296,8 @@ def load_post(scene):
|
|||||||
else:
|
else:
|
||||||
bpy.ops.workspace.append_activate(idname="BIM", filepath=os.path.join(cwd, "data", "workspace.blend"))
|
bpy.ops.workspace.append_activate(idname="BIM", filepath=os.path.join(cwd, "data", "workspace.blend"))
|
||||||
|
|
||||||
|
bpy.ops.bim.override_escape("INVOKE_DEFAULT")
|
||||||
|
|
||||||
# To improve usability for new users, we hijack the scene properties
|
# To improve usability for new users, we hijack the scene properties
|
||||||
# tab. We override default scene properties panels with our own poll
|
# tab. We override default scene properties panels with our own poll
|
||||||
# to hide them unless the user has chosen to view Blender properties.
|
# to hide them unless the user has chosen to view Blender properties.
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ classes = (
|
|||||||
operator.OverrideDuplicateMoveLinked,
|
operator.OverrideDuplicateMoveLinked,
|
||||||
operator.OverrideDuplicateMoveLinkedMacro,
|
operator.OverrideDuplicateMoveLinkedMacro,
|
||||||
operator.OverrideDuplicateMoveMacro,
|
operator.OverrideDuplicateMoveMacro,
|
||||||
|
operator.OverrideEscape,
|
||||||
operator.OverrideJoin,
|
operator.OverrideJoin,
|
||||||
operator.OverrideMeshSeparate,
|
operator.OverrideMeshSeparate,
|
||||||
operator.OverrideModeSetEdit,
|
operator.OverrideModeSetEdit,
|
||||||
@@ -100,6 +101,7 @@ def register():
|
|||||||
bpy.types.VIEW3D_MT_object_context_menu.append(ui.object_menu)
|
bpy.types.VIEW3D_MT_object_context_menu.append(ui.object_menu)
|
||||||
bpy.types.VIEW3D_MT_edit_mesh.append(ui.edit_mesh_menu)
|
bpy.types.VIEW3D_MT_edit_mesh.append(ui.edit_mesh_menu)
|
||||||
bpy.types.VIEW3D_HT_header.append(ui.mode_menu)
|
bpy.types.VIEW3D_HT_header.append(ui.mode_menu)
|
||||||
|
|
||||||
wm = bpy.context.window_manager
|
wm = bpy.context.window_manager
|
||||||
if wm.keyconfigs.addon:
|
if wm.keyconfigs.addon:
|
||||||
km = wm.keyconfigs.addon.keymaps.new(name="Object Mode", space_type="EMPTY")
|
km = wm.keyconfigs.addon.keymaps.new(name="Object Mode", space_type="EMPTY")
|
||||||
|
|||||||
@@ -1711,6 +1711,24 @@ class OverridePasteBuffer(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
|
class OverrideEscape(bpy.types.Operator):
|
||||||
|
bl_idname = "bim.override_escape"
|
||||||
|
bl_label = "Override Escape"
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
self.report({"INFO"}, "Operator executed")
|
||||||
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
def modal(self, context, event):
|
||||||
|
if event.type == "ESC" and context.scene.BIMGeometryProperties.mode == "ITEM":
|
||||||
|
tool.Geometry.disable_item_mode()
|
||||||
|
return {"PASS_THROUGH"}
|
||||||
|
|
||||||
|
def invoke(self, context, event):
|
||||||
|
context.window_manager.modal_handler_add(self)
|
||||||
|
return {"RUNNING_MODAL"}
|
||||||
|
|
||||||
|
|
||||||
class OverrideModeSetEdit(bpy.types.Operator, tool.Ifc.Operator):
|
class OverrideModeSetEdit(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_description = "Switch from Object to Item to Edit mode"
|
bl_description = "Switch from Object to Item to Edit mode"
|
||||||
bl_idname = "bim.override_mode_set_edit"
|
bl_idname = "bim.override_mode_set_edit"
|
||||||
|
|||||||
Reference in New Issue
Block a user