[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41880] trunk/blender/source/blender/ editors/interface: show tooltips for menus, currently works for operators and enum properties which are can be accessed as menus from the UI (camera overlay enum for example)

Campbell Barton ideasman42 at gmail.com
Tue Nov 15 15:20:57 CET 2011


Revision: 41880
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41880
Author:   campbellbarton
Date:     2011-11-15 14:20:57 +0000 (Tue, 15 Nov 2011)
Log Message:
-----------
show tooltips for menus, currently works for operators and enum properties which are can be accessed as menus from the UI (camera overlay enum for example)

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_layout.c
    trunk/blender/source/blender/editors/interface/interface_regions.c

Modified: trunk/blender/source/blender/editors/interface/interface_layout.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_layout.c	2011-11-15 14:01:24 UTC (rev 41879)
+++ trunk/blender/source/blender/editors/interface/interface_layout.c	2011-11-15 14:20:57 UTC (rev 41880)
@@ -1370,7 +1370,7 @@
 	mt->draw(C, &menu);
 }
 
-static void ui_item_menu(uiLayout *layout, const char *name, int icon, uiMenuCreateFunc func, void *arg, void *argN)
+static void ui_item_menu(uiLayout *layout, const char *name, int icon, uiMenuCreateFunc func, void *arg, void *argN, const char *tip)
 {
 	uiBlock *block= layout->root->block;
 	uiBut *but;
@@ -1393,11 +1393,11 @@
 		w -= 10;
 
 	if(name[0] && icon)
-		but= uiDefIconTextMenuBut(block, func, arg, icon, name, 0, 0, w, h, "");
+		but= uiDefIconTextMenuBut(block, func, arg, icon, name, 0, 0, w, h, tip);
 	else if(icon)
-		but= uiDefIconMenuBut(block, func, arg, icon, 0, 0, w, h, "");
+		but= uiDefIconMenuBut(block, func, arg, icon, 0, 0, w, h, tip);
 	else
-		but= uiDefMenuBut(block, func, arg, name, 0, 0, w, h, "");
+		but= uiDefMenuBut(block, func, arg, name, 0, 0, w, h, tip);
 
 	if(argN) { /* ugly .. */
 		but->poin= (char*)but;
@@ -1430,7 +1430,7 @@
 	if(layout->root->type == UI_LAYOUT_MENU && !icon)
 		icon= ICON_BLANK1;
 
-	ui_item_menu(layout, name, icon, ui_item_menutype_func, mt, NULL);
+	ui_item_menu(layout, name, icon, ui_item_menutype_func, mt, NULL, ""); /* TODO, menu description */
 }
 
 /* label item */
@@ -1514,7 +1514,7 @@
 	if(!func)
 		return;
 
-	ui_item_menu(layout, name, icon, func, arg, NULL);
+	ui_item_menu(layout, name, icon, func, arg, NULL, "");
 }
 
 typedef struct MenuItemLevel {
@@ -1560,7 +1560,7 @@
 	BLI_strncpy(lvl->propname, propname, sizeof(lvl->propname));
 	lvl->opcontext= layout->root->opcontext;
 
-	ui_item_menu(layout, name, icon, menu_item_enum_opname_menu, NULL, lvl);
+	ui_item_menu(layout, name, icon, menu_item_enum_opname_menu, NULL, lvl, ot->description);
 }
 
 static void menu_item_enum_rna_menu(bContext *UNUSED(C), uiLayout *layout, void *arg)
@@ -1593,7 +1593,7 @@
 	BLI_strncpy(lvl->propname, propname, sizeof(lvl->propname));
 	lvl->opcontext= layout->root->opcontext;
 
-	ui_item_menu(layout, name, icon, menu_item_enum_rna_menu, NULL, lvl);
+	ui_item_menu(layout, name, icon, menu_item_enum_rna_menu, NULL, lvl, RNA_property_description(prop));
 }
 
 /**************************** Layout Items ***************************/

Modified: trunk/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_regions.c	2011-11-15 14:01:24 UTC (rev 41879)
+++ trunk/blender/source/blender/editors/interface/interface_regions.c	2011-11-15 14:20:57 UTC (rev 41880)
@@ -398,7 +398,7 @@
 		}
 	}
 	
-	if(but->tip && strlen(but->tip)) {
+	if(but->tip && but->tip[0] != '\0') {
 		BLI_strncpy(data->lines[data->totline], but->tip, sizeof(data->lines[0]));
 		data->color[data->totline]= 0xFFFFFF;
 		data->totline++;




More information about the Bf-blender-cvs mailing list