[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22515] branches/blender2.5/blender/source /blender: 2.5/RNA:

Nicholas Bishop nicholasbishop at gmail.com
Sun Aug 16 16:43:08 CEST 2009


Revision: 22515
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22515
Author:   nicholasbishop
Date:     2009-08-16 16:43:08 +0200 (Sun, 16 Aug 2009)

Log Message:
-----------
2.5/RNA:

* Added Context access to RNA_property_as_string. This is needed for doing a Python call to the object mode set operator, which has a dynamic enum property that needs context.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
    branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
    branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
    branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c	2009-08-16 14:38:59 UTC (rev 22514)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c	2009-08-16 14:43:08 UTC (rev 22515)
@@ -974,7 +974,7 @@
 			char *str;
 			opptr= uiButGetOperatorPtrRNA(but); /* allocated when needed, the button owns it */
 
-			str= WM_operator_pystring(but->optype, opptr, 0);
+			str= WM_operator_pystring(C, but->optype, opptr, 0);
 
 			WM_clipboard_text_set(str, 0);
 

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c	2009-08-16 14:38:59 UTC (rev 22514)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c	2009-08-16 14:43:08 UTC (rev 22515)
@@ -396,7 +396,7 @@
 		char *str;
 		opptr= uiButGetOperatorPtrRNA(but); /* allocated when needed, the button owns it */
 
-		str= WM_operator_pystring(but->optype, opptr, 0);
+		str= WM_operator_pystring(C, but->optype, opptr, 0);
 
 		/* operator info */
 		BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Python: %s", str);

Modified: branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-08-16 14:38:59 UTC (rev 22514)
+++ branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-08-16 14:43:08 UTC (rev 22515)
@@ -767,7 +767,7 @@
 int RNA_property_is_set(PointerRNA *ptr, const char *name);
 
 /* python compatible string representation of this property, (must be freed!) */
-char *RNA_property_as_string(PointerRNA *ptr, PropertyRNA *prop);
+char *RNA_property_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop);
 char *RNA_pointer_as_string(PointerRNA *ptr);
 
 /* Function */

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c	2009-08-16 14:38:59 UTC (rev 22514)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c	2009-08-16 14:43:08 UTC (rev 22515)
@@ -2647,7 +2647,7 @@
 			BLI_dynstr_append(dynstr, ", ");
 		first_time= 0;
 		
-		cstring = RNA_property_as_string(ptr, prop);
+		cstring = RNA_property_as_string(NULL, ptr, prop);
 		BLI_dynstr_appendf(dynstr, "\"%s\":%s", propname, cstring);
 		MEM_freeN(cstring);
 	}
@@ -2661,7 +2661,7 @@
 	return cstring;
 }
 
-char *RNA_property_as_string(PointerRNA *ptr, PropertyRNA *prop)
+char *RNA_property_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
 {
 	int type = RNA_property_type(prop);
 	int len = RNA_property_array_length(prop);
@@ -2730,7 +2730,7 @@
 		const char *identifier;
 		int val = RNA_property_enum_get(ptr, prop);
 
-		if(RNA_property_enum_identifier(NULL, ptr, prop, val, &identifier)) {
+		if(RNA_property_enum_identifier(C, ptr, prop, val, &identifier)) {
 			BLI_dynstr_appendf(dynstr, "'%s'", identifier);
 		}
 		else {

Modified: branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/WM_api.h	2009-08-16 14:38:59 UTC (rev 22514)
+++ branches/blender2.5/blender/source/blender/windowmanager/WM_api.h	2009-08-16 14:43:08 UTC (rev 22515)
@@ -172,7 +172,7 @@
 void		WM_operator_properties_filesel(struct wmOperatorType *ot, int filter);
 
 		/* operator as a python command (resultuing string must be free'd) */
-char		*WM_operator_pystring(struct wmOperatorType *ot, struct PointerRNA *opptr, int all_args);
+char		*WM_operator_pystring(struct bContext *C, struct wmOperatorType *ot, struct PointerRNA *opptr, int all_args);
 void		WM_operator_bl_idname(char *to, const char *from);
 void		WM_operator_py_idname(char *to, const char *from);
 

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c	2009-08-16 14:38:59 UTC (rev 22514)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c	2009-08-16 14:43:08 UTC (rev 22515)
@@ -103,7 +103,7 @@
 	
 	
 	/* Report the string representation of the operator */
-	buf = WM_operator_pystring(op->type, op->ptr, 1);
+	buf = WM_operator_pystring(C, op->type, op->ptr, 1);
 	BKE_report(CTX_wm_reports(C), RPT_OPERATOR, buf);
 	MEM_freeN(buf);
 	

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-08-16 14:38:59 UTC (rev 22514)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-08-16 14:43:08 UTC (rev 22515)
@@ -370,7 +370,7 @@
 
 static void wm_operator_print(wmOperator *op)
 {
-	char *buf = WM_operator_pystring(op->type, op->ptr, 1);
+	char *buf = WM_operator_pystring(NULL, op->type, op->ptr, 1);
 	printf("%s\n", buf);
 	MEM_freeN(buf);
 }

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-08-16 14:38:59 UTC (rev 22514)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-08-16 14:43:08 UTC (rev 22515)
@@ -345,7 +345,7 @@
  * When calling from an existing wmOperator do.
  * WM_operator_pystring(op->type, op->ptr);
  */
-char *WM_operator_pystring(wmOperatorType *ot, PointerRNA *opptr, int all_args)
+char *WM_operator_pystring(bContext *C, wmOperatorType *ot, PointerRNA *opptr, int all_args)
 {
 	const char *arg_name= NULL;
 	char idname_py[OP_MAX_TYPENAME];
@@ -378,7 +378,7 @@
 
 		if (strcmp(arg_name, "rna_type")==0) continue;
 
-		buf= RNA_property_as_string(opptr, prop);
+		buf= RNA_property_as_string(C, opptr, prop);
 		
 		ok= 1;
 
@@ -388,7 +388,7 @@
 			prop_default= RNA_struct_find_property(&opptr_default, arg_name);
 
 			if(prop_default) {
-				buf_default= RNA_property_as_string(&opptr_default, prop_default);
+				buf_default= RNA_property_as_string(C, &opptr_default, prop_default);
 
 				if(strcmp(buf, buf_default)==0)
 					ok= 0; /* values match, dont bother printing */





More information about the Bf-blender-cvs mailing list