applied patch from Xan Lopez which adds GTK_BUTTONBOX_CENTER to

Thu Feb  8 13:07:08 2007  Tim Janik  <timj@imendio.com>

        * applied patch from Xan Lopez which adds GTK_BUTTONBOX_CENTER to
        GtkButtonBox (bug #336159).

        * gtk/gtkenums.h:
        * gtk/gtkvbbox.c, gtk/gtkhbbox.c, gtk/gtkbbox.c:
        support GTK_BUTTONBOX_CENTER.

        * tests/testbbox.c: new button box test, which allows testing of 
        the various button box properties.

        * tests/testgtk.c: added GTK_BUTTONBOX_CENTER. to button box test.



svn path=/trunk/; revision=17276
This commit is contained in:
Tim Janik
2007-02-08 12:11:02 +00:00
committed by Tim Janik
parent bd151b02f6
commit 8a8202ce13
8 changed files with 252 additions and 21 deletions

View File

@ -83,7 +83,7 @@ void
gtk_hbutton_box_set_layout_default (GtkButtonBoxStyle layout)
{
g_return_if_fail (layout >= GTK_BUTTONBOX_DEFAULT_STYLE &&
layout <= GTK_BUTTONBOX_END);
layout <= GTK_BUTTONBOX_CENTER);
default_layout_style = layout;
}
@ -148,6 +148,7 @@ gtk_hbutton_box_size_request (GtkWidget *widget,
case GTK_BUTTONBOX_EDGE:
case GTK_BUTTONBOX_START:
case GTK_BUTTONBOX_END:
case GTK_BUTTONBOX_CENTER:
requisition->width = nvis_children*child_width + ((nvis_children-1)*spacing);
break;
default:
@ -235,6 +236,16 @@ gtk_hbutton_box_size_allocate (GtkWidget *widget,
- GTK_CONTAINER (box)->border_width;
secondary_x = allocation->x + GTK_CONTAINER (box)->border_width;
break;
case GTK_BUTTONBOX_CENTER:
childspacing = spacing;
x = allocation->x +
(allocation->width
- (child_width * (nvis_children - n_secondaries)
+ spacing * (nvis_children - n_secondaries - 1)))/2
+ (n_secondaries * child_width + n_secondaries * spacing)/2
+ GTK_CONTAINER (box)->border_width;
secondary_x = allocation->x + GTK_CONTAINER (box)->border_width;
break;
default:
g_assert_not_reached();
break;