diff options
author | Tim Janik <timj@imendio.com> | 2007-02-08 12:11:02 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2007-02-08 12:11:02 +0000 |
commit | 8a8202ce13a8355b90e92d53dcc29b4b1e9d9189 (patch) | |
tree | 43fca773b0b99eaa448a3597886a0816d1edb6c6 /gtk/gtkhbbox.c | |
parent | bd151b02f6466870c8d220faf6dbeb2cfb1c1299 (diff) | |
download | gtk+-8a8202ce13a8355b90e92d53dcc29b4b1e9d9189.tar.gz |
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
Diffstat (limited to 'gtk/gtkhbbox.c')
-rw-r--r-- | gtk/gtkhbbox.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gtk/gtkhbbox.c b/gtk/gtkhbbox.c index 694ea02a8d..399ae19c04 100644 --- a/gtk/gtkhbbox.c +++ b/gtk/gtkhbbox.c @@ -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; |