[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54314] trunk/blender/source/blender/ editors/interface/interface_layout.c: fix [#34113] operator_menu_enum() - Tooltip not showing descriptions

Campbell Barton ideasman42 at gmail.com
Tue Feb 5 06:39:18 CET 2013


Revision: 54314
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54314
Author:   campbellbarton
Date:     2013-02-05 05:39:18 +0000 (Tue, 05 Feb 2013)
Log Message:
-----------
fix [#34113] operator_menu_enum() - Tooltip not showing descriptions

second fix from this report which makes the menu show tips even when 'bl_property' isn't set.

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

Modified: trunk/blender/source/blender/editors/interface/interface_layout.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_layout.c	2013-02-05 05:09:19 UTC (rev 54313)
+++ trunk/blender/source/blender/editors/interface/interface_layout.c	2013-02-05 05:39:18 UTC (rev 54314)
@@ -624,6 +624,18 @@
 
 /********************* Button Items *************************/
 
+/**
+ * Update a buttons tip with an enum's description if possible.
+ */
+static void ui_but_tip_from_enum_item(uiBut *but, EnumPropertyItem *item)
+{
+	if (but->tip == NULL || but->tip[0] == '\0') {
+		if (item->description && item->description[0]) {
+			but->tip = item->description;
+		}
+	}
+}
+
 /* disabled item */
 static void ui_item_disabled(uiLayout *layout, const char *name)
 {
@@ -837,6 +849,7 @@
 				else {
 					uiItemEnumO_ptr__internal(column, ot, item[i].name, item[i].icon, prop, item[i].value);
 				}
+				ui_but_tip_from_enum_item(block->buttons.last, &item[i]);
 			}
 			else {
 				if (item[i].name) {
@@ -849,6 +862,8 @@
 					uiItemL(column, item[i].name, ICON_NONE);
 					bt = block->buttons.last;
 					bt->flag = UI_TEXT_LEFT;
+
+					ui_but_tip_from_enum_item(bt, &item[i]);
 				}
 				else {  /* XXX bug here, colums draw bottom item badly */
 					uiItemS(column);
@@ -1239,6 +1254,7 @@
 		for (i = 0; i < totitem; i++) {
 			if (item[i].identifier[0]) {
 				uiItemEnumR(column, item[i].name, ICON_NONE, ptr, propname, item[i].value);
+				ui_but_tip_from_enum_item(block->buttons.last, &item[i]);
 			}
 			else {
 				if (item[i].name) {
@@ -1251,6 +1267,8 @@
 					uiItemL(column, item[i].name, ICON_NONE);
 					bt = block->buttons.last;
 					bt->flag = UI_TEXT_LEFT;
+
+					ui_but_tip_from_enum_item(bt, &item[i]);
 				}
 				else
 					uiItemS(column);




More information about the Bf-blender-cvs mailing list