RNA: Allow structs to define tags for their properties
authorJulian Eisel <eiseljulian@gmail.com>
Wed, 29 Nov 2017 02:52:06 +0000 (13:52 +1100)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 29 Nov 2017 02:53:34 +0000 (13:53 +1100)
commitad625acda82281461267a3379c57ce76d54325a1
tree22b2b7c583ba35c33cfec4aac7608f5f62e6e2c8
parent0b325ba201269b3c8aab6e61c70f15c1758737d8
RNA: Allow structs to define tags for their properties

Adds support for defining a number of tags as part of the rna-struct
definition, which its properties can set similar to property-flags.
BPY supports setting these tags when defining custom properties too.

* To define tags for a struct (which its properties can use then), define the tags in an `EnumPropertyItem` array, and assign them to the struct using `RNA_def_struct_property_tags(...)`.
* To set tags for an RNA-property in C, use the new `RNA_def_property_tags(...)`.
* To set tags for an RNA-property in Python, use the newly added tags parameter. E.g. `bpy.props.FloatProperty(name="Some Float", tags={'SOME_TAG', 'ANOTHER_TAG'})`.
source/blender/makesrna/RNA_access.h
source/blender/makesrna/RNA_define.h
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_define.c
source/blender/makesrna/intern/rna_internal_types.h
source/blender/makesrna/intern/rna_rna.c
source/blender/python/intern/bpy_props.c