Changeset View
Changeset View
Standalone View
Standalone View
release/scripts/templates_py/operator_modal.py
| Show All 29 Lines | def invoke(self, context, event): | ||||
| self.first_value = context.object.location.x | self.first_value = context.object.location.x | ||||
| context.window_manager.modal_handler_add(self) | context.window_manager.modal_handler_add(self) | ||||
| return {'RUNNING_MODAL'} | return {'RUNNING_MODAL'} | ||||
| else: | else: | ||||
| self.report({'WARNING'}, "No active object, could not finish") | self.report({'WARNING'}, "No active object, could not finish") | ||||
| return {'CANCELLED'} | return {'CANCELLED'} | ||||
| def menu_func(self, context): | |||||
| self.layout.operator(ModalOperator.bl_idname, text=ModalOperator.bl_label) | |||||
| def register(): | def register(): | ||||
| bpy.utils.register_class(ModalOperator) | bpy.utils.register_class(ModalOperator) | ||||
| bpy.types.VIEW3D_MT_object.append(menu_func) | |||||
| def unregister(): | def unregister(): | ||||
| bpy.utils.unregister_class(ModalOperator) | bpy.utils.unregister_class(ModalOperator) | ||||
| bpy.types.VIEW3D_MT_object.remove(menu_func) | |||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||
| register() | register() | ||||
| # test call | # test call | ||||
| bpy.ops.object.modal_operator('INVOKE_DEFAULT') | bpy.ops.object.modal_operator('INVOKE_DEFAULT') | ||||