diff options
author | Soeren Sandmann <sandmann@daimi.au.dk> | 2003-07-06 13:14:28 +0000 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@src.gnome.org> | 2003-07-06 13:14:28 +0000 |
commit | c8515b2f8d22c9856fc58f71398eea9e13695fb1 (patch) | |
tree | 717fed71a7377b7729c73a610f1eb16463bd130d /gtk/gtkcheckmenuitem.c | |
parent | ba999da1d8528afdb7cf810e626bd1ab3946ff17 (diff) | |
download | gtk+-c8515b2f8d22c9856fc58f71398eea9e13695fb1.tar.gz |
add vertical_padding style property.
Sat Jul 5 10:34:00 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c: add vertical_padding style property.
* gtk/gtkmenuitem.c: add style properties toggle_spacing,
arrow_spacing and horizontal_padding. Also center separators and
make them a bit taller.
* gtk/*menuitem.c: use new style properties.
* docs/widget_geometry.txt: Add note about GtkMenuItem
* gtk/gtkstyle.c
(gtk_default_draw_vline, gtk_default_draw_hline):
fix +/-1 errors.
(gtk_default_draw_shadow): draw a black border around menus.
* gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix
calls to gtk_paint_hline() and gtk_paint_vline() (they take x1,
x2 and y1, y2 respectively, not x, width and y, height).
Diffstat (limited to 'gtk/gtkcheckmenuitem.c')
-rw-r--r-- | gtk/gtkcheckmenuitem.c | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/gtk/gtkcheckmenuitem.c b/gtk/gtkcheckmenuitem.c index 269b1efe88..26f1b2a46b 100644 --- a/gtk/gtkcheckmenuitem.c +++ b/gtk/gtkcheckmenuitem.c @@ -231,9 +231,15 @@ static void gtk_check_menu_item_toggle_size_request (GtkMenuItem *menu_item, gint *requisition) { + guint toggle_spacing; + g_return_if_fail (GTK_IS_CHECK_MENU_ITEM (menu_item)); - - *requisition = CHECK_TOGGLE_SIZE; + + gtk_widget_style_get (GTK_WIDGET (menu_item), + "toggle_spacing", &toggle_spacing, + NULL); + + *requisition = CHECK_TOGGLE_SIZE + toggle_spacing; } void @@ -348,20 +354,42 @@ gtk_real_check_menu_item_draw_indicator (GtkCheckMenuItem *check_menu_item, GtkShadowType shadow_type; gint width, height; gint x, y; - gint offset; if (GTK_WIDGET_DRAWABLE (check_menu_item)) { + guint offset; + guint toggle_size; + guint toggle_spacing; + guint horizontal_padding; + widget = GTK_WIDGET (check_menu_item); + gtk_widget_style_get (GTK_WIDGET (check_menu_item), + "toggle_spacing", &toggle_spacing, + "horizontal_padding", &horizontal_padding, + NULL); + width = 8; height = 8; + + toggle_size = GTK_MENU_ITEM (check_menu_item)->toggle_size; + offset = GTK_CONTAINER (check_menu_item)->border_width + widget->style->xthickness; + offset = GTK_CONTAINER (check_menu_item)->border_width + - widget->style->xthickness + 2; - if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) - x = widget->allocation.x + offset; + widget->style->xthickness + 2; + + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) + { + x = widget->allocation.x + offset + horizontal_padding + + (toggle_size - toggle_spacing - width) / 2; + } else - x = widget->allocation.x + widget->allocation.width - width - offset; + { + x = widget->allocation.x + widget->allocation.width - + offset - horizontal_padding - toggle_size + toggle_spacing + + (toggle_size - toggle_spacing - width) / 2; + } + y = widget->allocation.y + (widget->allocation.height - height) / 2; if (check_menu_item->active || |