2.5 PyAPI

Support for subclassing blenders operator, to be registered as a new operator.

Still need to... 
* add constants like Operator.FINISHED
* wrap context (with rna?)
* poll() cant work right now because there is no way to access the operatorType that holds the python class.
* Only float, int and bool properties can be added so far.

working example operator.
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/WinterCamp/TechnicalDesign#Operator_Example_Code
This commit is contained in:
2009-03-16 15:54:43 +00:00
parent 133e8827b7
commit 16fe92f868
6 changed files with 404 additions and 160 deletions

View File

@@ -57,6 +57,22 @@ static PyObject *CreateGlobalDictionary( bContext *C )
PyDict_SetItemString( dict, "__bpy_context__", item );
Py_DECREF(item);
// XXX - put somewhere more logical
{
PyMethodDef *ml;
static PyMethodDef bpy_prop_meths[] = {
{"FloatProperty", BPy_FloatProperty, METH_VARARGS|METH_KEYWORDS, ""},
{"IntProperty", BPy_IntProperty, METH_VARARGS|METH_KEYWORDS, ""},
{"BoolProperty", BPy_BoolProperty, METH_VARARGS|METH_KEYWORDS, ""},
{NULL, NULL, 0, NULL}
};
for(ml = &bpy_prop_meths; ml->ml_name; ml++) {
PyDict_SetItemString( dict, ml->ml_name, PyCFunction_New(ml, NULL));
}
}
return dict;
}