diff options
author | Diptangshu Dey <Tha_Hobbist> | 2021-11-16 12:45:23 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2021-11-16 12:45:23 +0300 |
commit | da14a482f281e8d330ef5210ef22335a43eb726c (patch) | |
tree | cf13d60ef5ebb9fec81c02f54a427194c03e23b7 /release/scripts | |
parent | 7d985d6b69703d7eb515c776dd5911443cde59d3 (diff) |
Fix T90866: Python operator templates are not accessible from menus
Python Operator templates made accessible from respective menus
(required to also use F3 search for quick access)
Also fixed Modal Draw Operator id_name (had duplicate name from other template)
Maniphest Tasks: T90866
Differential Revision: https://developer.blender.org/D13182
Diffstat (limited to 'release/scripts')
11 files changed, 44 insertions, 5 deletions
diff --git a/release/scripts/templates_py/operator_file_export.py b/release/scripts/templates_py/operator_file_export.py index 45910772dc7..b4d0dc8b698 100644 --- a/release/scripts/templates_py/operator_file_export.py +++ b/release/scripts/templates_py/operator_file_export.py @@ -57,7 +57,7 @@ class ExportSomeData(Operator, ExportHelper): def menu_func_export(self, context): self.layout.operator(ExportSomeData.bl_idname, text="Text Export Operator") - +# Register and add to the "file selector" menu (required to use F3 search "Text Export Operator" for quick access) def register(): bpy.utils.register_class(ExportSomeData) bpy.types.TOPBAR_MT_file_export.append(menu_func_export) diff --git a/release/scripts/templates_py/operator_file_import.py b/release/scripts/templates_py/operator_file_import.py index 5438a7a6f9d..83496fbe17b 100644 --- a/release/scripts/templates_py/operator_file_import.py +++ b/release/scripts/templates_py/operator_file_import.py @@ -60,7 +60,7 @@ class ImportSomeData(Operator, ImportHelper): def menu_func_import(self, context): self.layout.operator(ImportSomeData.bl_idname, text="Text Import Operator") - +# Register and add to the "file selector" menu (required to use F3 search "Text Import Operator" for quick access) def register(): bpy.utils.register_class(ImportSomeData) bpy.types.TOPBAR_MT_file_import.append(menu_func_import) diff --git a/release/scripts/templates_py/operator_mesh_add.py b/release/scripts/templates_py/operator_mesh_add.py index 3fc7636459b..5a6bed92c93 100644 --- a/release/scripts/templates_py/operator_mesh_add.py +++ b/release/scripts/templates_py/operator_mesh_add.py @@ -97,7 +97,7 @@ class AddBox(bpy.types.Operator, AddObjectHelper): def menu_func(self, context): self.layout.operator(AddBox.bl_idname, icon='MESH_CUBE') - +# Register and add to the "add mesh" menu (required to use F3 search "Add Box" for quick access) def register(): bpy.utils.register_class(AddBox) bpy.types.VIEW3D_MT_mesh_add.append(menu_func) diff --git a/release/scripts/templates_py/operator_mesh_uv.py b/release/scripts/templates_py/operator_mesh_uv.py index bf893480f2f..2d4f5b17ba8 100644 --- a/release/scripts/templates_py/operator_mesh_uv.py +++ b/release/scripts/templates_py/operator_mesh_uv.py @@ -33,13 +33,18 @@ class UvOperator(bpy.types.Operator): main(context) return {'FINISHED'} +def menu_func(self, context): + self.layout.operator(UvOperator.bl_idname, text = "Simple UV Operator") +# Register and add to the "UV" menu (required to also use F3 search "Simple UV Operator" for quick access) def register(): bpy.utils.register_class(UvOperator) + bpy.types.IMAGE_MT_uvs.append(menu_func) def unregister(): bpy.utils.unregister_class(UvOperator) + bpy.types.IMAGE_MT_uvs.remove(menu_func) if __name__ == "__main__": diff --git a/release/scripts/templates_py/operator_modal.py b/release/scripts/templates_py/operator_modal.py index c242e3b67b9..41b01e22f78 100644 --- a/release/scripts/templates_py/operator_modal.py +++ b/release/scripts/templates_py/operator_modal.py @@ -35,13 +35,18 @@ class ModalOperator(bpy.types.Operator): self.report({'WARNING'}, "No active object, could not finish") return {'CANCELLED'} +def menu_func(self, context): + self.layout.operator(ModalOperator.bl_idname, text=ModalOperator.bl_label) +# Register and add to the "view" menu (required to also use F3 search "Simple Modal Operator" for quick access) def register(): bpy.utils.register_class(ModalOperator) + bpy.types.VIEW3D_MT_object.append(menu_func) def unregister(): bpy.utils.unregister_class(ModalOperator) + bpy.types.VIEW3D_MT_object.remove(menu_func) if __name__ == "__main__": diff --git a/release/scripts/templates_py/operator_modal_draw.py b/release/scripts/templates_py/operator_modal_draw.py index 16c6f6dbe22..a3f46586cf5 100644 --- a/release/scripts/templates_py/operator_modal_draw.py +++ b/release/scripts/templates_py/operator_modal_draw.py @@ -30,7 +30,7 @@ def draw_callback_px(self, context): class ModalDrawOperator(bpy.types.Operator): """Draw a line with the mouse""" - bl_idname = "view3d.modal_operator" + bl_idname = "view3d.modal_draw_operator" bl_label = "Simple Modal View3D Operator" def modal(self, context, event): @@ -65,13 +65,18 @@ class ModalDrawOperator(bpy.types.Operator): self.report({'WARNING'}, "View3D not found, cannot run operator") return {'CANCELLED'} +def menu_func(self, context): + self.layout.operator(ModalDrawOperator.bl_idname, text = "Modal Draw Operator") +# Register and add to the "view" menu (required to also use F3 search "Modal Draw Operator" for quick access) def register(): bpy.utils.register_class(ModalDrawOperator) + bpy.types.VIEW3D_MT_view.append(menu_func) def unregister(): bpy.utils.unregister_class(ModalDrawOperator) + bpy.types.VIEW3D_MT_view.remove(menu_func) if __name__ == "__main__": diff --git a/release/scripts/templates_py/operator_modal_timer.py b/release/scripts/templates_py/operator_modal_timer.py index 808f1a1299c..11530f18829 100644 --- a/release/scripts/templates_py/operator_modal_timer.py +++ b/release/scripts/templates_py/operator_modal_timer.py @@ -31,13 +31,17 @@ class ModalTimerOperator(bpy.types.Operator): wm = context.window_manager wm.event_timer_remove(self._timer) +def menu_func(self, context): + self.layout.operator(ModalTimerOperator.bl_idname, text=ModalTimerOperator.bl_label) def register(): bpy.utils.register_class(ModalTimerOperator) + bpy.types.VIEW3D_MT_view.append(menu_func) - +# Register and add to the "view" menu (required to also use F3 search "Modal Timer Operator" for quick access) def unregister(): bpy.utils.unregister_class(ModalTimerOperator) + bpy.types.VIEW3D_MT_view.remove(menu_func) if __name__ == "__main__": diff --git a/release/scripts/templates_py/operator_modal_view3d.py b/release/scripts/templates_py/operator_modal_view3d.py index 93c5ae84e2c..5fd47731d0b 100644 --- a/release/scripts/templates_py/operator_modal_view3d.py +++ b/release/scripts/templates_py/operator_modal_view3d.py @@ -57,13 +57,18 @@ class ViewOperator(bpy.types.Operator): self.report({'WARNING'}, "Active space must be a View3d") return {'CANCELLED'} +def menu_func(self, context): + self.layout.operator(ViewOperator.bl_idname, text = "Simple View Modal Operator") +# Register and add to the "view" menu (required to also use F3 search "Simple View Modal Operator" for quick access) def register(): bpy.utils.register_class(ViewOperator) + bpy.types.VIEW3D_MT_view.append(menu_func) def unregister(): bpy.utils.unregister_class(ViewOperator) + bpy.types.VIEW3D_MT_view.remove(menu_func) if __name__ == "__main__": diff --git a/release/scripts/templates_py/operator_modal_view3d_raycast.py b/release/scripts/templates_py/operator_modal_view3d_raycast.py index 9130f47843a..022acc25e14 100644 --- a/release/scripts/templates_py/operator_modal_view3d_raycast.py +++ b/release/scripts/templates_py/operator_modal_view3d_raycast.py @@ -95,13 +95,18 @@ class ViewOperatorRayCast(bpy.types.Operator): self.report({'WARNING'}, "Active space must be a View3d") return {'CANCELLED'} +def menu_func(self, context): + self.layout.operator(ViewOperatorRayCast.bl_idname, text="Raycast View Modal Operator") +# Register and add to the "view" menu (required to also use F3 search "Raycast View Modal Operator" for quick access) def register(): bpy.utils.register_class(ViewOperatorRayCast) + bpy.types.VIEW3D_MT_view.append(menu_func) def unregister(): bpy.utils.unregister_class(ViewOperatorRayCast) + bpy.types.VIEW3D_MT_view.remove(menu_func) if __name__ == "__main__": diff --git a/release/scripts/templates_py/operator_node.py b/release/scripts/templates_py/operator_node.py index 764e50d1697..b5ca491a0fe 100644 --- a/release/scripts/templates_py/operator_node.py +++ b/release/scripts/templates_py/operator_node.py @@ -46,13 +46,18 @@ class NodeOperator(bpy.types.Operator): main(self, context) return {'FINISHED'} +def menu_func(self, context): + self.layout.operator(NodeOperator.bl_idname, text=NodeOperator.bl_label) +# Register and add to the "Node" menu (required to also use F3 search "Simple Node Operator" for quick access) def register(): bpy.utils.register_class(NodeOperator) + bpy.types.NODE_MT_node.append(menu_func) def unregister(): bpy.utils.unregister_class(NodeOperator) + bpy.types.NODE_MT_node.remove(menu_func) if __name__ == "__main__": diff --git a/release/scripts/templates_py/operator_simple.py b/release/scripts/templates_py/operator_simple.py index 715daa3a8b4..9edb07996c0 100644 --- a/release/scripts/templates_py/operator_simple.py +++ b/release/scripts/templates_py/operator_simple.py @@ -19,13 +19,18 @@ class SimpleOperator(bpy.types.Operator): main(context) return {'FINISHED'} +def menu_func(self, context): + self.layout.operator(SimpleOperator.bl_idname, text=SimpleOperator.bl_label) +# Register and add to the "object" menu (required to also use F3 search "Simple Object Operator" for quick access) def register(): bpy.utils.register_class(SimpleOperator) + bpy.types.VIEW3D_MT_object.append(menu_func) def unregister(): bpy.utils.unregister_class(SimpleOperator) + bpy.types.VIEW3D_MT_object.remove(menu_func) if __name__ == "__main__": |