diff options
author | Hans Goudey <h.goudey@me.com> | 2020-06-02 21:09:01 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2020-06-02 21:09:01 +0300 |
commit | 071cc71fb066dd39569e9c8c90ab7aed8d7b0eda (patch) | |
tree | f82dddfea984f8022dd2c0cc885213a1464629a4 /source/blender/makesrna/intern/rna_ui_api.c | |
parent | dcdbcf1ec1f537de0984da018c7da50211a3f81c (diff) |
Cleanup: Use const context for some UI templates
- uiTemplateID: Straightforward, just const for the template
and the functions it calls
- uiTemplateCacheFile: Create a function in rna_ui.c because
the generated RNA callback doesn't have const context.
Differential Revision: https://developer.blender.org/D7895
Diffstat (limited to 'source/blender/makesrna/intern/rna_ui_api.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_ui_api.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c index 2a64ffa73cd..8d0e403aa2d 100644 --- a/source/blender/makesrna/intern/rna_ui_api.c +++ b/source/blender/makesrna/intern/rna_ui_api.c @@ -485,6 +485,21 @@ static void rna_uiTemplateAnyID(uiLayout *layout, uiTemplateAnyID(layout, ptr, propname, proptypename, name); } +static void rna_uiTemplateCacheFile(uiLayout *layout, + bContext *C, + PointerRNA *ptr, + const char *propname) +{ + PropertyRNA *prop = RNA_struct_find_property(ptr, propname); + + if (!prop) { + RNA_warning("property not found: %s.%s", RNA_struct_identifier(ptr->type), propname); + return; + } + + uiTemplateCacheFile(layout, C, ptr, propname); +} + static void rna_uiTemplatePathBuilder(uiLayout *layout, PointerRNA *ptr, const char *propname, @@ -1577,7 +1592,7 @@ void RNA_api_ui_layout(StructRNA *srna) RNA_def_float_array( func, "color", 4, node_socket_color_default, 0.0f, 1.0f, "Color", "", 0.0f, 1.0f); - func = RNA_def_function(srna, "template_cache_file", "uiTemplateCacheFile"); + func = RNA_def_function(srna, "template_cache_file", "rna_uiTemplateCacheFile"); RNA_def_function_ui_description( func, "Item(s). User interface for selecting cache files and their source paths"); RNA_def_function_flag(func, FUNC_USE_CONTEXT); |