From 2baa6fa8645a8ca4de70f152c273db27995f8a66 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 29 Feb 2016 11:02:08 +1100 Subject: RNA: add is_array property Needed since dynamic arrays would have zero length. --- source/blender/makesrna/intern/rna_rna.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source/blender/makesrna/intern/rna_rna.c') diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c index f04aa3caf4d..727bdac087b 100644 --- a/source/blender/makesrna/intern/rna_rna.c +++ b/source/blender/makesrna/intern/rna_rna.c @@ -652,6 +652,13 @@ static int rna_NumberProperty_default_array_get_length(PointerRNA *ptr, int leng return length[0]; } +static int rna_NumberProperty_is_array_get(PointerRNA *ptr) +{ + PropertyRNA *prop = (PropertyRNA *)ptr->data; + + return RNA_property_array_check(prop); +} + static void rna_IntProperty_default_array_get(PointerRNA *ptr, int *values) { PropertyRNA *prop = (PropertyRNA *)ptr->data; @@ -1337,6 +1344,11 @@ static void rna_def_number_property(StructRNA *srna, PropertyType type) RNA_def_property_int_funcs(prop, "rna_Property_array_length_get", NULL, NULL); RNA_def_property_ui_text(prop, "Array Length", "Maximum length of the array, 0 means unlimited"); + prop = RNA_def_property(srna, "is_array", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_NumberProperty_is_array_get", NULL); + RNA_def_property_ui_text(prop, "Is Array", ""); + if (type == PROP_BOOLEAN) return; -- cgit v1.2.3