Hi,

On Wed, Dec 8, 2010 at 9:49 AM, bartius crouch <bartius.cro...@gmail.com> wrote:
> What might be helpful is to have an example of recommended practice.
> Speaking for myself: right now it's often a matter of experimentation to get
> things to work and this might result in solutions that depend on bad
> practice.

We do need documentation on this, and there's still some hooks
missing, it may be useful to collect feedback from add-on developers
on this topic.

> For example, if you wish your add-on to display a panel with a custom value
> depending on what scene you are in, it would seem logical to add a custom
> property to the Scene ID class.
> Initialising this property from within the panel draw code is bad practice,
> but what to do? Initialising upon registration fails when the add-on is
> enabled and saved to the default .blend (context doesn't exist yet when
> add-on is run at startup). And not initialising of course results in an
> error when the panel (displaying the custom property) is drawn.

It depends on the situation. Typically, you would just set a suitable
default property value on registration. If the value of that property
somehow is based on other data in the scene, that's more complicated.
Then it also depends if it's a user editable property (this case is
rare internally), or some kind of internal add-on data or cache that
doesn't need to be saved to file.

Generally I think context is not something you should need to
initialize a property, it indicates the location where you are in the
user interface and the data that is relevant to it.

Brecht.
_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to