diff options
author | Bastien Montagne <mont29> | 2020-06-03 11:37:46 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-06-03 12:18:11 +0300 |
commit | 3384bb2c663fda4e8b2f63f37ffce7152436f0a5 (patch) | |
tree | a14d87f20d123e5fe1f079b949ece025cc05f6b9 /source/blender/makesrna/intern/rna_define.c | |
parent | 0e14eb7b31a8f55bd754c020dd542a6ac007caa3 (diff) |
RNA: add option to enable by default lib overridale flag of defined properties.
Similar to the one allowing to deactivate DNA check, etc.
Will helps reduce verbosity when making many new properties overridable.
Note that pointer properties always remain non-overridable by default,
since basically only ID pointers should be.
Reviewed By: brecht
Maniphest Tasks: T77083
Differential Revision: https://developer.blender.org/D7906
Diffstat (limited to 'source/blender/makesrna/intern/rna_define.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_define.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index 9bcc8cc63b5..f59a1790e7b 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -71,6 +71,7 @@ BlenderDefRNA DefRNA = { .preprocess = false, .verify = true, .animate = true, + .make_overridable = false, }; #ifndef RNA_RUNTIME @@ -755,6 +756,15 @@ void RNA_define_verify_sdna(bool verify) DefRNA.verify = verify; } +/** + * Properties defined when this is enabled are lib-overridable by default (except for Pointer + * ones). + */ +void RNA_define_lib_overridable(const bool make_overridable) +{ + DefRNA.make_overridable = make_overridable; +} + #ifndef RNA_RUNTIME void RNA_define_animate_sdna(bool animate) { @@ -1414,6 +1424,14 @@ PropertyRNA *RNA_def_property(StructOrFunctionRNA *cont_, } } +#ifndef RNA_RUNTIME + if (type != PROP_POINTER) { + if (DefRNA.make_overridable) { + prop->flag_override |= PROPOVERRIDE_OVERRIDABLE_LIBRARY; + } + } +#endif + if (type == PROP_STRING) { /* used so generated 'get/length/set' functions skip a NULL check * in some cases we want it */ |