diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-03-20 20:09:45 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-03-20 20:12:45 +0300 |
commit | 410410f57ba3f1531f4786a824356a2de32db127 (patch) | |
tree | 7bf003e9952a1a99107d272e0917244b37fd7814 /source/blender/makesrna/intern/rna_ID.c | |
parent | 8a94a82934d812ceb41fe31a8c059f6df1e17a57 (diff) |
Add basic read-only RNA access to static override data.
Will make investigating issues much, much easier!
Diffstat (limited to 'source/blender/makesrna/intern/rna_ID.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_ID.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c index 549c1a8b30d..1bc3bf275cf 100644 --- a/source/blender/makesrna/intern/rna_ID.c +++ b/source/blender/makesrna/intern/rna_ID.c @@ -997,6 +997,34 @@ static void rna_def_image_preview(BlenderRNA *brna) RNA_def_function_ui_description(func, "Reload the preview from its source path"); } +static void rna_def_ID_override_static_property(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna = RNA_def_struct(brna, "IDOverrideStaticProperty", NULL); + RNA_def_struct_ui_text(srna, "ID Static Override Property", "Description of an overridden property"); + + prop = RNA_def_string(srna, "rna_path", NULL, INT_MAX, "RNA Path", "RNA path leading to that property, from owning ID"); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */ +} + + static void rna_def_ID_override_static(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna = RNA_def_struct(brna, "IDOverrideStatic", NULL); + RNA_def_struct_ui_text(srna, "ID Static Override", "Struct gathering all data needed by statically overridden IDs"); + + prop = RNA_def_pointer(srna, "reference", "ID", "Reference ID", "Linked ID used as reference by this override"); + + prop = RNA_def_collection(srna, "properties", "IDOverrideStaticProperty", "Properties", + "List of overridden properties"); + + rna_def_ID_override_static_property(brna); +} + static void rna_def_ID(BlenderRNA *brna) { StructRNA *srna; @@ -1069,6 +1097,9 @@ static void rna_def_ID(BlenderRNA *brna) RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_pointer_funcs(prop, "rna_ID_override_reference_get", NULL, NULL, NULL); + prop = RNA_def_pointer(srna, "override_static", "IDOverrideStatic", "Static Override", "Static override data"); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + prop = RNA_def_pointer(srna, "preview", "ImagePreview", "Preview", "Preview image and icon of this data-block (None if not supported for this type of data)"); RNA_def_property_clear_flag(prop, PROP_EDITABLE); @@ -1177,6 +1208,7 @@ void RNA_def_ID(BlenderRNA *brna) RNA_def_struct_ui_text(srna, "Any Type", "RNA type used for pointers to any possible data"); rna_def_ID(brna); + rna_def_ID_override_static(brna); rna_def_image_preview(brna); rna_def_ID_properties(brna); rna_def_ID_materials(brna); |