diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-05 12:10:05 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-05 12:11:43 +0300 |
commit | 0be9d8db6582e32d7f7f3b097be12b2763524157 (patch) | |
tree | a8a410799ffb2d8954754299816c97e343177986 /source/blender/makesrna/RNA_types.h | |
parent | 99dd3b01567d2cdbb664bd466d69cb5b3d097432 (diff) |
RNA/Override: Move override-related property flags to own variable.
We are already running out of available flags in main, generic int, and
everytime I work on static override I find new special cases that will
need new specific propflag, so...
Diffstat (limited to 'source/blender/makesrna/RNA_types.h')
-rw-r--r-- | source/blender/makesrna/RNA_types.h | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h index 5d6f309ad65..1e7b8605c76 100644 --- a/source/blender/makesrna/RNA_types.h +++ b/source/blender/makesrna/RNA_types.h @@ -158,7 +158,7 @@ typedef enum PropertySubType { /* Make sure enums are updated with these */ /* HIGHEST FLAG IN USE: 1 << 31 - * FREE FLAGS: 11, 13, 14, 15, 30 */ + * FREE FLAGS: 2, 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 @@ -176,15 +176,6 @@ 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), - /* The property supports insertion (collections only). */ - PROP_OVERRIDABLE_STATIC_INSERTION = (1 << 9), - - /* 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 @@ -253,6 +244,27 @@ typedef enum PropertyFlag { PROP_ENUM_NO_TRANSLATE = (1 << 29), /* for enums not to be translated (e.g. viewlayers' names in nodes) */ } PropertyFlag; +/* Flags related to comparing and overriding RNA properties. Make sure enums are updated with these */ +/* FREE FLAGS: 2, 3, 4, 5, 6, 7, 8, 9, 12 and above. */ +typedef enum PropertyOverrideFlag { + /* Means the property can be overriden by a local 'proxy' of some linked datablock. */ + PROPOVERRIDE_OVERRIDABLE_STATIC = (1 << 0), + + /* Forbid usage of this property in comparison (& hence override) code. + * Useful e.g. for collections of data like mesh's geometry, particles, etc. */ + PROPOVERRIDE_NO_COMPARISON = (1 << 1), + + /*** Collections-related ***/ + + /* The property supports insertion (collections only). */ + PROPOVERRIDE_STATIC_INSERTION = (1 << 10), + + /* Only use indices to compare items in the property, never names (collections only). */ + /* Useful when nameprop of the items is generated from other data + * (e.g. name of material slots is actually name of assigned material). */ + PROPOVERRIDE_INDEX_ONLY = (1 << 11), +} PropertyOverrideFlag; + /* Function parameters flags. * WARNING: 16bits only. */ typedef enum ParameterFlag { |