[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46511] trunk/blender/source/blender/ makesrna: Add an RNA access function to get an enum item name from its value.

Nicholas Bishop nicholasbishop at gmail.com
Thu May 10 22:32:21 CEST 2012


Revision: 46511
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46511
Author:   nicholasbishop
Date:     2012-05-10 20:32:21 +0000 (Thu, 10 May 2012)
Log Message:
-----------
Add an RNA access function to get an enum item name from its value.

New function is RNA_enum_name_from_value.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/RNA_access.h
    trunk/blender/source/blender/makesrna/intern/rna_access.c

Modified: trunk/blender/source/blender/makesrna/RNA_access.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_access.h	2012-05-10 20:32:09 UTC (rev 46510)
+++ trunk/blender/source/blender/makesrna/RNA_access.h	2012-05-10 20:32:21 UTC (rev 46511)
@@ -881,6 +881,7 @@
 int RNA_enum_value_from_id(EnumPropertyItem *item, const char *identifier, int *value);
 int RNA_enum_id_from_value(EnumPropertyItem *item, int value, const char **identifier);
 int RNA_enum_icon_from_value(EnumPropertyItem *item, int value, int *icon);
+int RNA_enum_name_from_value(EnumPropertyItem *item, int value, const char **name);
 
 void RNA_string_get(PointerRNA *ptr, const char *name, char *value);
 char *RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen);

Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_access.c	2012-05-10 20:32:09 UTC (rev 46510)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c	2012-05-10 20:32:21 UTC (rev 46511)
@@ -4332,6 +4332,18 @@
 	return 0;
 }
 
+int RNA_enum_name_from_value(EnumPropertyItem *item, int value, const char **name)
+{
+	for( ; item->identifier; item++) {
+		if(item->value==value) {
+			*name = item->name;
+			return 1;
+		}
+	}
+	
+	return 0;
+}
+
 void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
 {
 	PropertyRNA *prop = RNA_struct_find_property(ptr, name);




More information about the Bf-blender-cvs mailing list