summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkbbox.c2
-rw-r--r--gtk/gtkenums.h3
-rw-r--r--gtk/gtkhbbox.c13
-rw-r--r--gtk/gtkvbbox.c13
4 files changed, 27 insertions, 4 deletions
diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c
index c546a344b4..657263c57e 100644
--- a/gtk/gtkbbox.c
+++ b/gtk/gtkbbox.c
@@ -253,7 +253,7 @@ gtk_button_box_set_layout (GtkButtonBox *widget,
{
g_return_if_fail (GTK_IS_BUTTON_BOX (widget));
g_return_if_fail (layout_style >= GTK_BUTTONBOX_DEFAULT_STYLE &&
- layout_style <= GTK_BUTTONBOX_END);
+ layout_style <= GTK_BUTTONBOX_CENTER);
if (widget->layout_style != layout_style)
{
diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h
index a3a5e068ce..6fabacf5b8 100644
--- a/gtk/gtkenums.h
+++ b/gtk/gtkenums.h
@@ -78,7 +78,8 @@ typedef enum
GTK_BUTTONBOX_SPREAD,
GTK_BUTTONBOX_EDGE,
GTK_BUTTONBOX_START,
- GTK_BUTTONBOX_END
+ GTK_BUTTONBOX_END,
+ GTK_BUTTONBOX_CENTER
} GtkButtonBoxStyle;
/* Curve types */
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;
diff --git a/gtk/gtkvbbox.c b/gtk/gtkvbbox.c
index 4f5957cd6c..c7b7256807 100644
--- a/gtk/gtkvbbox.c
+++ b/gtk/gtkvbbox.c
@@ -84,7 +84,7 @@ void
gtk_vbutton_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;
}
@@ -151,6 +151,7 @@ gtk_vbutton_box_size_request (GtkWidget *widget,
case GTK_BUTTONBOX_EDGE:
case GTK_BUTTONBOX_START:
case GTK_BUTTONBOX_END:
+ case GTK_BUTTONBOX_CENTER:
requisition->height =
nvis_children*child_height + ((nvis_children-1)*spacing);
break;
@@ -239,6 +240,16 @@ gtk_vbutton_box_size_allocate (GtkWidget *widget,
- GTK_CONTAINER (box)->border_width;
secondary_y = allocation->y + GTK_CONTAINER (box)->border_width;
break;
+ case GTK_BUTTONBOX_CENTER:
+ childspacing = spacing;
+ y = allocation->y +
+ (allocation->height
+ - (child_height * (nvis_children - n_secondaries)
+ + spacing * (nvis_children - n_secondaries - 1)))/2
+ + (n_secondaries * child_height + n_secondaries * spacing)/2
+ + GTK_CONTAINER (box)->border_width;
+ secondary_y = allocation->y + GTK_CONTAINER (box)->border_width;
+ break;
default:
g_assert_not_reached();
break;