[Bf-blender-cvs] [30d72d6] gooseberry: Always display full data paths in tooltips

Julian Eisel noreply at git.blender.org
Wed Apr 1 15:58:55 CEST 2015


Commit: 30d72d682a81792902fa0a9db6da200dd6be4b32
Author: Julian Eisel
Date:   Wed Apr 1 15:57:21 2015 +0200
Branches: gooseberry
https://developer.blender.org/rB30d72d682a81792902fa0a9db6da200dd6be4b32

Always display full data paths in tooltips

Another experiment for gooseberry. We should make Blender smarter
here in general, but it's a start.

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

M	source/blender/editors/interface/interface_regions.c

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

diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index 7cb9dca..218e9fd 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -494,35 +494,10 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
 		data->format[data->totline].color_id = UI_TIP_LC_PYTHON;
 		data->totline++;
 
-		if (but->rnapoin.id.data) {
+		if (but->rnapoin.id.data && but->rnapoin.data && but->rnaprop) {
 			/* this could get its own 'BUT_GET_...' type */
-			PointerRNA *ptr = &but->rnapoin;
-			PropertyRNA *prop = but->rnaprop;
-			ID *id = ptr->id.data;
-
-			char *id_path;
-			char *data_path = NULL;
-
-			/* never fails */
-			id_path = RNA_path_full_ID_py(id);
-
-			if (ptr->data && prop) {
-				data_path = RNA_path_from_ID_to_property(ptr, prop);
-			}
-
-			if (data_path) {
-				BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]),
-				             "%s.%s",  /* no need to translate */
-				             id_path, data_path);
-				MEM_freeN(data_path);
-			}
-			else if (prop) {
-				/* can't find the path. be explicit in our ignorance "..." */
-				BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]),
-				             "%s ... %s",  /* no need to translate */
-				             id_path, rna_prop.strinfo ? rna_prop.strinfo : RNA_property_identifier(prop));
-			}
-			MEM_freeN(id_path);
+			BLI_strncpy(data->lines[data->totline], RNA_path_full_property_py(&but->rnapoin, but->rnaprop, -1),
+			            sizeof(data->lines[0]));
 
 			data->format[data->totline].style = UI_TIP_STYLE_MONO;
 			data->format[data->totline].color_id = UI_TIP_LC_PYTHON;




More information about the Bf-blender-cvs mailing list