[maemo-commits] [maemo-commits] r9479 - in projects/haf/trunk/sapwood: . src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Jan 31 12:07:29 EET 2007
- Previous message: [maemo-commits] r9478 - in projects/haf/trunk/sapwood: . debian
- Next message: [maemo-commits] r9480 - in projects/haf/trunk/hildon-theme-layout-4: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: tko Date: 2007-01-31 12:07:25 +0200 (Wed, 31 Jan 2007) New Revision: 9479 Modified: projects/haf/trunk/sapwood/ChangeLog projects/haf/trunk/sapwood/src/sapwood-draw.c Log: Handle painting GtkExpander and treeview row expanders 2007-01-31 Tommi Komulainen <tommi.komulainen at nokia.com> * src/sapwood-draw.c (draw_expander): Added to handle painting GtkExpander and treeview row expanders. Reuses arrow theming rules for simplicity. Modified: projects/haf/trunk/sapwood/ChangeLog =================================================================== --- projects/haf/trunk/sapwood/ChangeLog 2007-01-31 10:07:14 UTC (rev 9478) +++ projects/haf/trunk/sapwood/ChangeLog 2007-01-31 10:07:25 UTC (rev 9479) @@ -1,3 +1,9 @@ +2007-01-31 Tommi Komulainen <tommi.komulainen at nokia.com> + + * src/sapwood-draw.c (draw_expander): Added to handle painting + GtkExpander and treeview row expanders. Reuses arrow theming rules for + simplicity. + 2007-01-29 Tommi Komulainen <tommi.komulainen at nokia.com> * === Release 2.91.1 === Modified: projects/haf/trunk/sapwood/src/sapwood-draw.c =================================================================== --- projects/haf/trunk/sapwood/src/sapwood-draw.c 2007-01-31 10:07:14 UTC (rev 9478) +++ projects/haf/trunk/sapwood/src/sapwood-draw.c 2007-01-31 10:07:25 UTC (rev 9479) @@ -991,6 +991,55 @@ } static void +draw_expander (GtkStyle *style, + GdkWindow *window, + GtkStateType state, + GdkRectangle *area, + GtkWidget *widget, + const gchar *detail, + gint center_x, + gint center_y, + GtkExpanderStyle expander_style) +{ + ThemeMatchData match_data; + gint expander_size; + + g_return_if_fail(style != NULL); + g_return_if_fail(window != NULL); + + /* Reusing the arrow theming here as it's flexible enough (almost, we do lose + * the intermediate states.) It also allows us to use existing gtkrc. + * XXX Might want to introduce proper keywords for expanders some day. + */ + + gtk_widget_style_get (widget, "expander-size", &expander_size, NULL); + + match_data.function = TOKEN_D_ARROW; + match_data.detail = (gchar *)detail; + match_data.flags = THEME_MATCH_STATE | THEME_MATCH_ARROW_DIRECTION; + match_data.state = state; + + switch (expander_style) + { + case GTK_EXPANDER_COLLAPSED: + case GTK_EXPANDER_SEMI_COLLAPSED: + match_data.arrow_direction = GTK_ARROW_RIGHT; + break; + case GTK_EXPANDER_EXPANDED: + case GTK_EXPANDER_SEMI_EXPANDED: + match_data.arrow_direction = GTK_ARROW_DOWN; + break; + default: + g_return_if_reached (); + } + + if (!draw_simple_image (style, window, area, widget, &match_data, TRUE, + center_x - expander_size/2, center_y - expander_size/2, expander_size, expander_size)) + parent_class->draw_expander (style, window, state, area, widget, detail, + center_x, center_y, expander_style); +} + +static void draw_extension (GtkStyle *style, GdkWindow *window, GtkStateType state, @@ -1242,4 +1291,5 @@ style_class->draw_slider = draw_slider; style_class->draw_handle = draw_handle; style_class->render_icon = render_icon; + style_class->draw_expander = draw_expander; }
- Previous message: [maemo-commits] r9478 - in projects/haf/trunk/sapwood: . debian
- Next message: [maemo-commits] r9480 - in projects/haf/trunk/hildon-theme-layout-4: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]