Commit Graph

58 Commits

Author SHA1 Message Date
64512d3e8e WIP PyAPI from winter camp discussions, make subtypes of the base RNA python type, eventually allowing us to have python defined RNA classes in
python - lux/pov/renderman materials, lamps etc as well as operators.

At the moment there are 2 ways to do this, The first is like subclassing from python, another (disabled) method copies the base PyTypeObject struct 
and makes some changes.

The PyType is stored in the RNA Struct for reuse, right now there are no access functions - needs to be improved.

Added a python script for printing all blend file data to the console which helps testing the api.

dir(rna) wont work for python 2.x now, use rna.__dir__() instead.
2009-03-11 17:28:37 +00:00
c2fdac64c4 * errors in bpyui draw scripts were segfaulting
* added PyLineSpit(), useful for debugging so you can easily find the 
line of the python script running.
2009-03-02 20:18:29 +00:00
bab4cd6991 Python experimental UI API
Can draw panels in the scripts space containing RNA and operator buttons.
* Added bpyui.register() so scripts can draw buttons and panels into the scripts space type.
* wrapped drawBlock, drawPanels and matchPanelsView2d
* Operator buttons take a python dictionary used to set the button defaults.
* BPY_getFileAndNum utility function to get the filename and line number python is currently running.
2009-02-28 13:27:45 +00:00
b49b02842a update to build with python 3.0.1 which removed Py_InitModule3, added richcompare functions to the operator api. 2009-02-26 05:50:19 +00:00
b1a001942a include Py_CmpToRich for python versions lower then 3 2009-01-29 10:22:03 +00:00
d8fa5f3db7 include order is important here :/ 2008-12-28 08:49:41 +00:00
f7f9d6a68d missing bpy_compat.h for <3.0 py 2008-12-28 08:46:38 +00:00
625f477554 PyOperator invoke function now receives the wmEvent and default properties as 2 python dictionary args.
the Python invoke function can then edit the properties based on the event, once its finished the properties are copied back to the operator.

python exec and invoke functions can now return RUNNING_MODAL, CANCELLED, FINISHED, PASS_THROUGH flags

Still need to look into how python operators can make use of invoke/exec for a practical case. (Need to bring back the popup menu's)
2008-12-28 08:41:49 +00:00