Blender Git Commit Log

Git Commits -> Revision adff6ae

Revision adff6ae by Brecht Van Lommel (master)
April 19, 2009, 13:37 (GMT)
RNA: Generic Type Registration

The Python API to define Panels and Operators is based on subclassing,
this makes that system more generic, and based on RNA. Hopefully that
will make it easy to make various parts of Blender more extensible.

* The system simply uses RNA properties and functions and marks them
with REGISTER to make them part of the type registration process.
Additionally, the struct must provide a register/unregister callback
to create/free the PanelType or similar.
* From the python side there were some small changes, mainly that
registration now goes trough bpy.types.register instead of
bpy.ui.addPanel.

* Only Panels have been wrapped this way now. Check rna_ui.c to see
how this code works. There's still some rough edges and possibilities
to make it cleaner, though it works without any manual python code.
* Started some docs here:

http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNATypeRegistration

* Also changed some RNA_property and RNA_struct functions to not
require a PointerRNA anymore, where they were not required (which
is actually the cause of most changed files).

Commit Details:

Full Hash: adff6aeb1c749183921c0facd373972bbeb874b4
SVN Revision: 19789
Parent Commit: d880257
Lines Changed: +1220, -756

2 Deleted Paths:

/source/blender/python/intern/bpy_panel_wrap.c (+0, -252)
/source/blender/python/intern/bpy_panel_wrap.h (+0, -36)

37 Modified Paths:

/release/ui/buttons_objects.py (+21, -15) (Diff)
/release/ui/buttons_scene.py (+13, -9) (Diff)
/source/blender/blenkernel/BKE_screen.h (+12, -5) (Diff)
/source/blender/blenkernel/intern/anim_sys.c (+4, -4) (Diff)
/source/blender/blenkernel/intern/fcurve.c (+4, -4) (Diff)
/source/blender/blenkernel/intern/screen.c (+6, -15) (Diff)
/source/blender/blenlib/intern/util.c (+6, -10) (Diff)
/source/blender/editors/animation/anim_ipo_utils.c (+6, -6) (Diff)
/source/blender/editors/animation/drivers.c (+2, -2) (Diff)
/source/blender/editors/animation/keyframing.c (+11, -11) (Diff)
/source/blender/editors/animation/keyingsets.c (+2, -2) (Diff)
/source/blender/editors/interface/interface.c (+31, -31) (Diff)
/source/blender/editors/interface/interface_anim.c (+2, -2) (Diff)
/source/blender/editors/interface/interface_layout.c (+12, -12) (Diff)
/source/blender/editors/interface/interface_panel.c (+2, -2) (Diff)
/source/blender/editors/interface/interface_regions.c (+5, -5) (Diff)
/source/blender/editors/interface/interface_utils.c (+11, -11) (Diff)
/source/blender/editors/space_outliner/outliner.c (+17, -17) (Diff)
/source/blender/editors/space_text/text_header.c (+4, -4) (Diff)
/source/blender/makesrna/intern/makesrna.c (+14, -1) (Diff)
/source/blender/makesrna/intern/rna_access.c (+170, -151) (Diff)
/source/blender/makesrna/intern/rna_define.c (+46, -34) (Diff)
/source/blender/makesrna/intern/rna_internal_types.h (+7, -0) (Diff)
/source/blender/makesrna/intern/rna_rna.c (+44, -0) (Diff)
/source/blender/makesrna/intern/rna_screen.c (+0, -14) (Diff)
/source/blender/makesrna/intern/rna_ui.c (+261, -0) (Diff)
/source/blender/makesrna/RNA_access.h (+31, -22) (Diff)
/source/blender/makesrna/RNA_define.h (+1, -0) (Diff)
/source/blender/makesrna/RNA_types.h (+18, -0) (Diff)
/source/blender/python/intern/bpy_operator.c (+5, -11) (Diff)
/source/blender/python/intern/bpy_operator_wrap.c (+2, -2) (Diff)
/source/blender/python/intern/bpy_rna.c (+422, -57) (Diff)
/source/blender/python/intern/bpy_rna.h (+3, -0) (Diff)
/source/blender/python/intern/bpy_ui.c (+0, -4) (Diff)
/source/blender/python/intern/bpy_util.c (+18, -2) (Diff)
/source/blender/python/intern/bpy_util.h (+4, -0) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+3, -3) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021