[Bf-blender-cvs] [2baa6fa] master: RNA: add is_array property

Campbell Barton noreply at git.blender.org
Mon Feb 29 02:05:56 CET 2016


Commit: 2baa6fa8645a8ca4de70f152c273db27995f8a66
Author: Campbell Barton
Date:   Mon Feb 29 11:02:08 2016 +1100
Branches: master
https://developer.blender.org/rB2baa6fa8645a8ca4de70f152c273db27995f8a66

RNA: add is_array property

Needed since dynamic arrays would have zero length.

===================================================================

M	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 f04aa3c..727bdac 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;




More information about the Bf-blender-cvs mailing list