[Bf-committers] properties per datablock & python

Mathias Panzenböck grosser.meister.morti at gmx.net
Sat May 17 19:35:51 CEST 2008

Hi. I think the included ID Properties Editor is fairly limited. It has problems with 
big lists of properties (does not support scrolling, at least the last time I 
checked). Therefore I started to write my own quite some while ago. I wouldn't 
consider it finished (I am to stupid to implement a scrollbar! can you imagine that! 
I tried for days but the math behind that is to high for me. gah. therefore the code 
is not very clean right now).

Some GUI features I implemented:
rescaling of GUI when the width of the window changes, scrolling (with wheel), 
horizontal scrolling (wheel+shift), zooming (wheel+ctrl), panning (MMB), collapsible 
sublists (so some kind of treeview) etc.

I wrote a little abstraction layer for blenders GUI functionality. I think the python 
API to draw GUIs is very ugly. My abstraction layer makes it much more object 
oriented and declarative (you create a button and it will be displayed until you 
delete it, no need for something like a draw method). There where ugly things about 
memory leaks/unclean state after the script is closed in my script though. I 
circumvented them with weak refs (full python needed) and some other ugly hacks.

There sill is a problem about min/max values in numerical inputs, though. What 
min/max value should I choose? Blenders input widgets need them.



Campbell Barton schrieb:
> Hi Jonathan, Joeedh wrote a GUI property editor in python that can be
> accessed from the help menu.
> I hope to work on a property browser that includes an ID property
> editor, if nobody else gets in before me ;-)
> - Cam

More information about the Bf-committers mailing list