From bcd1ab54cd1ebeda433f1c1999f5a9807c808e8e Mon Sep 17 00:00:00 2001 From: Martin Poirier Date: Sat, 5 Dec 2009 19:27:26 +0000 Subject: Support for the C Macro system in Python. Basic definition works like a python operator but you derive from "bpy.types.Macro" instead. Operators are added to the macro after it has been added with "bpy.ops.add_macro" through the class method "define" which takes an operator id and returns an OperatorMacroType (new RNA type) for which properties can then be defined to be passed to the operator when run. Example: http://blenderartists.org/~theeth/bf/macro.py Using this system, it should be easy to add an operator to the console that converts selected lines into a macro or even a more generic record macro system. --- release/scripts/modules/bpy/ops.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'release/scripts/modules/bpy/ops.py') diff --git a/release/scripts/modules/bpy/ops.py b/release/scripts/modules/bpy/ops.py index 5b3009db2bf..c8218d6703c 100644 --- a/release/scripts/modules/bpy/ops.py +++ b/release/scripts/modules/bpy/ops.py @@ -23,6 +23,7 @@ from _bpy import ops as ops_module op_add = ops_module.add op_remove = ops_module.remove +op_add_macro = ops_module.add_macro op_dir = ops_module.dir op_call = ops_module.call op_as_string = ops_module.as_string @@ -58,6 +59,9 @@ class bpy_ops(object): def add(self, pyop): op_add(pyop) + + def add_macro(self, pyop): + op_add_macro(pyop) def remove(self, pyop): op_remove(pyop) -- cgit v1.2.3