[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38723] trunk/blender/source/blender: include menu ID's in tooltips when python tips are enabled, there was no way to find the ID of a menu which become annoying if you wanted to reference it from a script .

Campbell Barton ideasman42 at gmail.com
Tue Jul 26 11:19:51 CEST 2011


Revision: 38723
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38723
Author:   campbellbarton
Date:     2011-07-26 09:19:51 +0000 (Tue, 26 Jul 2011)
Log Message:
-----------
include menu ID's in tooltips when python tips are enabled, there was no way to find the ID of a menu which become annoying if you wanted to reference it from a script.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_regions.c
    trunk/blender/source/blender/makesrna/intern/rna_wm.c
    trunk/blender/source/blender/windowmanager/WM_api.h
    trunk/blender/source/blender/windowmanager/intern/wm.c

Modified: trunk/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_regions.c	2011-07-26 08:13:27 UTC (rev 38722)
+++ trunk/blender/source/blender/editors/interface/interface_regions.c	2011-07-26 09:19:51 UTC (rev 38723)
@@ -484,7 +484,18 @@
 			}
 		}
 	}
+	else if (ELEM(but->type, MENU, PULLDOWN)) {
+		if ((U.flag & USER_TOOLTIPS_PYTHON) == 0) {
+			if(but->menu_create_func && WM_menutype_contains((MenuType *)but->poin)) {
+				MenuType *mt= (MenuType *)but->poin;
+				BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Python: %s", mt->idname);
+				data->color[data->totline]= 0x888888;
+				data->totline++;
+			}
+		}
 
+	}
+
 	assert(data->totline < MAX_TOOLTIP_LINES);
 	
 	if(data->totline == 0) {

Modified: trunk/blender/source/blender/makesrna/intern/rna_wm.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_wm.c	2011-07-26 08:13:27 UTC (rev 38722)
+++ trunk/blender/source/blender/makesrna/intern/rna_wm.c	2011-07-26 09:19:51 UTC (rev 38723)
@@ -940,7 +940,7 @@
 			rna_Operator_unregister(bmain, ot->ext.srna);
 	}
 
-	/* create a new menu type */
+	/* create a new operator type */
 	dummyot.ext.srna= RNA_def_struct(&BLENDER_RNA, dummyot.idname, "Operator");
 	RNA_def_struct_flag(dummyot.ext.srna, STRUCT_NO_IDPROPERTIES); /* operator properties are registered separately */
 	dummyot.ext.data= data;

Modified: trunk/blender/source/blender/windowmanager/WM_api.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_api.h	2011-07-26 08:13:27 UTC (rev 38722)
+++ trunk/blender/source/blender/windowmanager/WM_api.h	2011-07-26 09:19:51 UTC (rev 38723)
@@ -272,6 +272,7 @@
 /* *************** menu types ******************** */
 struct MenuType		*WM_menutype_find(const char *idname, int quiet);
 int					WM_menutype_add(struct MenuType* mt);
+int					WM_menutype_contains(struct MenuType* mt);
 void				WM_menutype_freelink(struct MenuType* mt);
 void				WM_menutype_free(void);
 

Modified: trunk/blender/source/blender/windowmanager/intern/wm.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm.c	2011-07-26 08:13:27 UTC (rev 38722)
+++ trunk/blender/source/blender/windowmanager/intern/wm.c	2011-07-26 09:19:51 UTC (rev 38723)
@@ -175,6 +175,12 @@
 	return 1;
 }
 
+/* inefficient but only used for tooltip code */
+int WM_menutype_contains(MenuType* mt)
+{
+	return (mt != NULL && BLI_findindex(&menutypes, mt) != -1);
+}
+
 void WM_menutype_freelink(MenuType* mt)
 {
 	BLI_freelinkN(&menutypes, mt);




More information about the Bf-blender-cvs mailing list