diff options
Diffstat (limited to 'source/blender/makesrna/RNA_types.h')
-rw-r--r-- | source/blender/makesrna/RNA_types.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h index 705d3914a52..77d9aabd661 100644 --- a/source/blender/makesrna/RNA_types.h +++ b/source/blender/makesrna/RNA_types.h @@ -108,6 +108,8 @@ typedef enum PropertyUnit { #define RNA_TRANSLATION_PREC_DEFAULT 5 +#define RNA_STACK_ARRAY 32 + /* also update enums in bpy_props.c when adding items here * watch it: these values are written to files as part of * node socket button subtypes! @@ -156,7 +158,7 @@ typedef enum PropertySubType { /* Make sure enums are updated with these */ /* HIGHEST FLAG IN USE: 1 << 31 - * FREE FLAGS: 2, 3, 7, 9, 11, 13, 14, 15, 30 */ + * FREE FLAGS: 9, 11, 13, 14, 15, 30 */ typedef enum PropertyFlag { /* editable means the property is editable in the user * interface, properties are editable by default except @@ -174,6 +176,13 @@ typedef enum PropertyFlag { * and collections */ PROP_ANIMATABLE = (1 << 1), + /* Means the property can be overriden by a local 'proxy' of some linked datablock. */ + PROP_OVERRIDABLE_STATIC = (1 << 2), + + /* Forbid usage of this property in comparison (& hence override) code. + * Useful e.g. for collections of data like mesh's geometry, particles, etc. */ + PROP_NO_COMPARISON = (1 << 3), + /* This flag means when the property's widget is in 'textedit' mode, it will be updated * after every typed char, instead of waiting final validation. Used e.g. for text searchbox. * It will also cause UI_BUT_VALUE_CLEAR to be set for text buttons. We could add an own flag @@ -208,6 +217,13 @@ typedef enum PropertyFlag { * but setting NULL on a mesh object is not possible. So, if its not NULL, setting NULL cant be done! */ PROP_NEVER_UNLINK = (1 << 25), + /* Pointers to data that is not owned by the struct. + * Typical example: Bone.parent, Bone.child, etc., and nearly all ID pointers. + * This is crucial information for processes that walk the whole data of an ID e.g. (like static override). + * Note that all ID pointers are enforced to this by default, this probably will need to be rechecked + * (see ugly infamous NodeTrees of mat/tex/scene/etc.). */ + PROP_PTR_NO_OWNERSHIP = (1 << 7), + /* flag contains multiple enums. * note: not to be confused with prop->enumbitflags * this exposes the flag as multiple options in python and the UI. @@ -232,7 +248,7 @@ typedef enum PropertyFlag { PROP_IDPROPERTY = (1 << 10), /* This is an IDProperty, not a DNA one. */ PROP_DYNAMIC = (1 << 17), /* for dynamic arrays, and retvals of type string */ PROP_ENUM_NO_CONTEXT = (1 << 24), /* for enum that shouldn't be contextual */ - PROP_ENUM_NO_TRANSLATE = (1 << 29), /* for enums not to be translated (e.g. renderlayers' names in nodes) */ + PROP_ENUM_NO_TRANSLATE = (1 << 29), /* for enums not to be translated (e.g. viewlayers' names in nodes) */ } PropertyFlag; /* Function parameters flags. @@ -282,6 +298,7 @@ typedef struct CollectionPropertyIterator { union { ArrayIterator array; ListBaseIterator listbase; + void *custom; } internal; int idprop; int level; @@ -492,7 +509,6 @@ typedef struct ExtensionRNA { StructRNA *srna; StructCallbackFunc call; StructFreeFunc free; - } ExtensionRNA; #ifdef __cplusplus |