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++;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to