diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-28 12:56:30 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-28 12:58:15 +0300 |
commit | fddfc416ef10fc71a28f20bc0cef0a9e522de985 (patch) | |
tree | 26d942d55deea68d710ff2355907904dd09d2f40 /source/blender/makesrna/RNA_access.h | |
parent | f827ab1d0c04bbd7328e96d762a1031948010be1 (diff) |
RNA path: add way to get both valid ptr/prop pair, and final item ptr.
This will be much useful in some cases, at least in override area it is
needed (avoids searching again for the overriden item in a collection).
Diffstat (limited to 'source/blender/makesrna/RNA_access.h')
-rw-r--r-- | source/blender/makesrna/RNA_access.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index f6ef3e9efcd..4ec6107d676 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -1007,6 +1007,16 @@ bool RNA_path_resolve_property(PointerRNA *ptr, const char *path, bool RNA_path_resolve_property_full(PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop, int *r_index); +/* path_resolve_property_and_item_pointer() variants ensure that pointer + property both exist, + * and resolve last Pointer value if possible (Pointer prop or item of a Collection prop). */ +bool RNA_path_resolve_property_and_item_pointer( + PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop, + PointerRNA *r_item_ptr); + +bool RNA_path_resolve_property_and_item_pointer_full( + PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop, int *r_index, + PointerRNA *r_item_ptr); + typedef struct PropertyElemRNA PropertyElemRNA; struct PropertyElemRNA { PropertyElemRNA *next, *prev; |