[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45007] trunk/blender: patch [#30595] Wiki Quick Hacks: Make Tooltip Background Colour Themeable

Campbell Barton ideasman42 at gmail.com
Mon Mar 19 23:29:16 CET 2012


Revision: 45007
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45007
Author:   campbellbarton
Date:     2012-03-19 22:29:16 +0000 (Mon, 19 Mar 2012)
Log Message:
-----------
patch [#30595] Wiki Quick Hacks: Make Tooltip Background Colour Themeable
from luke frisken (lfrisken)

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
    trunk/blender/source/blender/editors/interface/interface_intern.h
    trunk/blender/source/blender/editors/interface/interface_regions.c
    trunk/blender/source/blender/editors/interface/interface_widgets.c
    trunk/blender/source/blender/editors/interface/resources.c
    trunk/blender/source/blender/makesdna/DNA_userdef_types.h
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_userpref.py	2012-03-19 22:21:40 UTC (rev 45006)
+++ trunk/blender/release/scripts/startup/bl_ui/space_userpref.py	2012-03-19 22:29:16 UTC (rev 45007)
@@ -628,6 +628,10 @@
             col.label(text="Menu Back:")
             ui_items_general(col, ui)
 
+            ui = theme.user_interface.wcol_tooltip
+            col.label(text="Tooltip:")
+            ui_items_general(col, ui)
+
             ui = theme.user_interface.wcol_menu_item
             col.label(text="Menu Item:")
             ui_items_general(col, ui)

Modified: trunk/blender/source/blender/editors/interface/interface_intern.h
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_intern.h	2012-03-19 22:21:40 UTC (rev 45006)
+++ trunk/blender/source/blender/editors/interface/interface_intern.h	2012-03-19 22:29:16 UTC (rev 45007)
@@ -68,6 +68,7 @@
 	UI_WTYPE_NUMBER,
 	UI_WTYPE_SLIDER,
 	UI_WTYPE_EXEC,
+	UI_WTYPE_TOOLTIP,
 	
 	/* strings */
 	UI_WTYPE_NAME,
@@ -84,7 +85,7 @@
 	UI_WTYPE_PULLDOWN,
 	UI_WTYPE_MENU_ITEM,
 	UI_WTYPE_MENU_BACK,
-	
+
 	/* specials */
 	UI_WTYPE_ICON,
 	UI_WTYPE_SWATCH,
@@ -465,6 +466,7 @@
 void ui_draw_anti_tria(float x1, float y1, float x2, float y2, float x3, float y3);
 void ui_draw_anti_roundbox(int mode, float minx, float miny, float maxx, float maxy, float rad);
 void ui_draw_menu_back(struct uiStyle *style, uiBlock *block, rcti *rect);
+void ui_draw_tooltip(uiStyle *UNUSED(style), uiBlock *block, rcti *rect);
 void ui_draw_search_back(struct uiStyle *style, uiBlock *block, rcti *rect);
 int ui_link_bezier_points(rcti *rect, float coord_array[][2], int resol);
 void ui_draw_link_bezier(rcti *rect);

Modified: trunk/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_regions.c	2012-03-19 22:21:40 UTC (rev 45006)
+++ trunk/blender/source/blender/editors/interface/interface_regions.c	2012-03-19 22:29:16 UTC (rev 45007)
@@ -325,7 +325,7 @@
 	rcti bbox= data->bbox;
 	int a;
 	
-	ui_draw_menu_back(UI_GetStyle(), NULL, &data->bbox);
+	ui_draw_tooltip(UI_GetStyle(), NULL, &data->bbox);
 	
 	/* draw text */
 	uiStyleFontSet(&data->fstyle);

Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c	2012-03-19 22:21:40 UTC (rev 45006)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c	2012-03-19 22:29:16 UTC (rev 45007)
@@ -1390,7 +1390,20 @@
 	25, -20
 };
 
+/* tooltip colour */
+static struct uiWidgetColors wcol_tooltip= {
+	{0, 0, 0, 255},
+	{25, 25, 25, 230},
+	{45, 45, 45, 230},
+	{100, 100, 100, 255},
 
+	{160, 160, 160, 255},
+	{255, 255, 255, 255},
+
+	0,
+	25, -20
+};
+
 static struct uiWidgetColors wcol_radio= {
 	{0, 0, 0, 255},
 	{70, 70, 70, 255},
@@ -1524,6 +1537,7 @@
 	tui->wcol_menu= wcol_menu;
 	tui->wcol_pulldown= wcol_pulldown;
 	tui->wcol_menu_back= wcol_menu_back;
+	tui->wcol_tooltip = wcol_tooltip;
 	tui->wcol_menu_item= wcol_menu_item;
 	tui->wcol_box= wcol_box;
 	tui->wcol_scroll= wcol_scroll;
@@ -2838,6 +2852,11 @@
 			wt.wcol_theme= &btheme->tui.wcol_tool;
 			wt.draw= widget_roundbut;
 			break;
+
+		case UI_WTYPE_TOOLTIP:
+			wt.wcol_theme = &btheme->tui.wcol_tooltip;
+			wt.draw = widget_menu_back;
+			break;
 			
 			
 			/* strings */
@@ -3207,6 +3226,14 @@
 	}	
 }
 
+void ui_draw_tooltip(uiStyle *UNUSED(style), uiBlock *UNUSED(block), rcti *rect)
+{
+	uiWidgetType *wt = widget_type(UI_WTYPE_TOOLTIP);
+	wt->state(wt, 0);
+	/* wt->draw ends up using same function to draw the tooltip as menu_back */
+	wt->draw(&wt->wcol, rect, 0, 0);
+}
+
 void ui_draw_search_back(uiStyle *UNUSED(style), uiBlock *block, rcti *rect)
 {
 	uiWidgetType *wt= widget_type(UI_WTYPE_BOX);

Modified: trunk/blender/source/blender/editors/interface/resources.c
===================================================================
--- trunk/blender/source/blender/editors/interface/resources.c	2012-03-19 22:21:40 UTC (rev 45006)
+++ trunk/blender/source/blender/editors/interface/resources.c	2012-03-19 22:29:16 UTC (rev 45007)
@@ -1744,6 +1744,15 @@
 		}
 	}
 
+	if (bmain->versionfile < 262 || (bmain->versionfile == 262 && bmain->subversionfile < 3)) {
+		bTheme *btheme;
+		for(btheme= U.themes.first; btheme; btheme= btheme->next) {
+			if (btheme->tui.wcol_tooltip.inner[3] == 0) {
+				btheme->tui.wcol_tooltip = btheme->tui.wcol_menu_back;
+			}
+		}
+	}
+
 	/* GL Texture Garbage Collection (variable abused above!) */
 	if (U.textimeout == 0) {
 		U.texcollectrate = 60;

Modified: trunk/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2012-03-19 22:21:40 UTC (rev 45006)
+++ trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2012-03-19 22:29:16 UTC (rev 45007)
@@ -151,7 +151,7 @@
 	uiWidgetColors wcol_regular, wcol_tool, wcol_text;
 	uiWidgetColors wcol_radio, wcol_option, wcol_toggle;
 	uiWidgetColors wcol_num, wcol_numslider;
-	uiWidgetColors wcol_menu, wcol_pulldown, wcol_menu_back, wcol_menu_item;
+	uiWidgetColors wcol_menu, wcol_pulldown, wcol_menu_back, wcol_menu_item, wcol_tooltip;
 	uiWidgetColors wcol_box, wcol_scroll, wcol_progress, wcol_list_item;
 	
 	uiWidgetStateColors wcol_state;

Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2012-03-19 22:21:40 UTC (rev 45006)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2012-03-19 22:29:16 UTC (rev 45007)
@@ -698,6 +698,10 @@
 	RNA_def_property_flag(prop, PROP_NEVER_NULL);
 	RNA_def_property_ui_text(prop, "Menu Backdrop Colors", "");
 	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	prop = RNA_def_property(srna, "wcol_tooltip", PROP_POINTER, PROP_NONE);
+	RNA_def_property_flag(prop, PROP_NEVER_NULL);
+	RNA_def_property_ui_text(prop, "Tooltip Colors", "");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
 	
 	prop = RNA_def_property(srna, "wcol_menu_item", PROP_POINTER, PROP_NONE);
 	RNA_def_property_flag(prop, PROP_NEVER_NULL);




More information about the Bf-blender-cvs mailing list