Drop GtkButtonBox
authorMatthias Clasen <mclasen@redhat.com>
Mon, 4 Feb 2019 17:44:55 +0000 (12:44 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 4 Feb 2019 17:44:55 +0000 (12:44 -0500)
This widget does not seem worth keeping,
and we want to get rid of child properties.

31 files changed:
demos/gtk-demo/button_box.c [deleted file]
demos/gtk-demo/demo.gresource.xml
demos/gtk-demo/meson.build
examples/hello-world.c
gtk/gtk-autocleanups.h
gtk/gtk.h
gtk/gtkaboutdialog.c
gtk/gtkappchooserdialog.c
gtk/gtkbbox.c [deleted file]
gtk/gtkbbox.h [deleted file]
gtk/gtkbuilder.c
gtk/gtkdialog.c
gtk/gtkenums.h
gtk/gtkinfobar.c
gtk/gtkmessagedialog.c
gtk/meson.build
gtk/ui/gtkappchooserdialog.ui
gtk/ui/gtkdialog.ui
gtk/ui/gtkfilechooserdialog.ui
gtk/ui/gtkinfobar.ui
tests/gdkgears.c
tests/meson.build
tests/testbaseline.c
tests/testbbox.c [deleted file]
tests/testcalendar.c
tests/testfilechooser.c
tests/testgtk.c
tests/testiconview.c
tests/testorientable.c
tests/testtreecolumns.c
testsuite/gtk/builder.c

diff --git a/demos/gtk-demo/button_box.c b/demos/gtk-demo/button_box.c
deleted file mode 100644 (file)
index 1dd1b9a..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Button Boxes
- *
- * The Button Box widgets are used to arrange buttons with padding.
- */
-
-#include <glib/gi18n.h>
-#include <gtk/gtk.h>
-
-static GtkWidget *
-create_bbox (gint  horizontal,
-             char *title,
-             gint  spacing,
-             gint  layout)
-{
-  GtkWidget *frame;
-  GtkWidget *bbox;
-  GtkWidget *button;
-
-  frame = gtk_frame_new (title);
-
-  if (horizontal)
-    bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
-  else
-    bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
-
-  g_object_set (bbox, "margin", 5, NULL);
-
-  gtk_container_add (GTK_CONTAINER (frame), bbox);
-
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout);
-  gtk_box_set_spacing (GTK_BOX (bbox), spacing);
-
-  button = gtk_button_new_with_label (_("OK"));
-  gtk_container_add (GTK_CONTAINER (bbox), button);
-
-  button = gtk_button_new_with_label (_("Cancel"));
-  gtk_container_add (GTK_CONTAINER (bbox), button);
-
-  button = gtk_button_new_with_label (_("Help"));
-  gtk_container_add (GTK_CONTAINER (bbox), button);
-
-  return frame;
-}
-
-GtkWidget *
-do_button_box (GtkWidget *do_widget)
-{
-  static GtkWidget *window = NULL;
-  GtkWidget *main_vbox;
-  GtkWidget *vbox;
-  GtkWidget *hbox;
-  GtkWidget *frame_horz;
-  GtkWidget *frame_vert;
-
-  if (!window)
-  {
-    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-    gtk_window_set_display (GTK_WINDOW (window),
-                            gtk_widget_get_display (do_widget));
-    gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
-
-    g_signal_connect (window, "destroy",
-                      G_CALLBACK (gtk_widget_destroyed),
-                      &window);
-
-    main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-    g_object_set (main_vbox, "margin", 10, NULL);
-    gtk_container_add (GTK_CONTAINER (window), main_vbox);
-
-    frame_horz = gtk_frame_new ("Horizontal Button Boxes");
-    gtk_widget_set_margin_top (frame_horz, 10);
-    gtk_widget_set_margin_bottom (frame_horz, 10);
-    gtk_container_add (GTK_CONTAINER (main_vbox), frame_horz);
-
-    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
-    g_object_set (vbox, "margin", 10, NULL);
-    gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "Spread", 40, GTK_BUTTONBOX_SPREAD));
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "Edge", 40, GTK_BUTTONBOX_EDGE));
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "Start", 40, GTK_BUTTONBOX_START));
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "End", 40, GTK_BUTTONBOX_END));
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "Center", 40, GTK_BUTTONBOX_CENTER));
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "Expand", 0, GTK_BUTTONBOX_EXPAND));
-
-    frame_vert = gtk_frame_new ("Vertical Button Boxes");
-    gtk_container_add (GTK_CONTAINER (main_vbox), frame_vert);
-
-    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
-    g_object_set (hbox, "margin", 10, NULL);
-    gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
-
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "Spread", 10, GTK_BUTTONBOX_SPREAD));
-
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "Edge", 10, GTK_BUTTONBOX_EDGE));
-
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "Start", 10, GTK_BUTTONBOX_START));
-
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "End", 10, GTK_BUTTONBOX_END));
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "Center", 10, GTK_BUTTONBOX_CENTER));
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "Expand", 0, GTK_BUTTONBOX_EXPAND));
-  }
-
-  if (!gtk_widget_get_visible (window))
-    gtk_widget_show (window);
-  else
-    gtk_widget_destroy (window);
-
-  return window;
-}
index bbf603e1ad635d608d50d4d20c65ca56bf4bb7a8..d686f02b21b3e80aa45d4171800b187d21a2734f 100644 (file)
     <file>application_demo.c</file>
     <file>assistant.c</file>
     <file>builder.c</file>
-    <file>button_box.c</file>
     <file>changedisplay.c</file>
     <file>clipboard.c</file>
     <file>colorsel.c</file>
index 93c2902575c92a352896caf969e4331edbf6115e..df8db174144ab2e208412b684e55f5d1b80f629c 100644 (file)
@@ -4,7 +4,6 @@ demos = files([
   'application_demo.c',
   'assistant.c',
   'builder.c',
-  'button_box.c',
   'changedisplay.c',
   'clipboard.c',
   'colorsel.c',
index f6cb55bc3ca68b04a88fce4ec692cf47d627b35a..4005d66ca9bb114d52953daff4a2da075c50e4b3 100644 (file)
@@ -13,19 +13,19 @@ activate (GtkApplication *app,
 {
   GtkWidget *window;
   GtkWidget *button;
-  GtkWidget *button_box;
+  GtkWidget *box;
 
   window = gtk_application_window_new (app);
   gtk_window_set_title (GTK_WINDOW (window), "Window");
   gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
 
-  button_box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
-  gtk_container_add (GTK_CONTAINER (window), button_box);
+  box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+  gtk_container_add (GTK_CONTAINER (window), box);
 
   button = gtk_button_new_with_label ("Hello World");
   g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);
   g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), window);
-  gtk_container_add (GTK_CONTAINER (button_box), button);
+  gtk_container_add (GTK_CONTAINER (box), button);
 
   gtk_widget_show (window);
 }
index 118779d1fadc524966f79c3a904f8dd5aaa4d9fc..8966a3dca1aecfc972311a53c93564bd6889c581 100644 (file)
@@ -36,7 +36,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkBox, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkBuildable, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkBuilder, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkButton, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkButtonBox, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCalendar, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellArea, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellAreaBox, g_object_unref)
index cf89eca9ab12002d1ac43eea9f62a1d2c591af29..4fb4fdec06b3894db72a65adfdd078c1d305d3d4 100644 (file)
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
@@ -44,7 +44,6 @@
 #include <gtk/gtkapplicationwindow.h>
 #include <gtk/gtkaspectframe.h>
 #include <gtk/gtkassistant.h>
-#include <gtk/gtkbbox.h>
 #include <gtk/gtkbin.h>
 #include <gtk/gtkbindings.h>
 #include <gtk/gtkborder.h>
index 6503f4ddaf2c90176200c4ce79a0af649200b68a..0fecd74e30e80ab5fad509723b7a5edace73ecf9 100644 (file)
@@ -34,7 +34,6 @@
 
 #include "gtkaboutdialog.h"
 #include "gtkbutton.h"
-#include "gtkbbox.h"
 #include "gtkdialog.h"
 #include "gtkgrid.h"
 #include "gtkbox.h"
index ab382e9d024b8d5bd639ab65951b4bb449c97526..80143686ec5d453164d2923d4e868e3eee8c4bc8 100644 (file)
@@ -48,7 +48,6 @@
 #include "gtkmessagedialog.h"
 #include "gtksettings.h"
 #include "gtklabel.h"
-#include "gtkbbox.h"
 #include "gtkbutton.h"
 #include "gtkentry.h"
 #include "gtktogglebutton.h"
diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c
deleted file mode 100644 (file)
index c9bccc0..0000000
+++ /dev/null
@@ -1,1090 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/**
- * SECTION:gtkbbox
- * @Short_description: A container for arranging buttons
- * @Title: GtkButtonBox
- *
- * A button box should be used to provide a consistent layout of buttons
- * throughout your application. The layout/spacing can be altered by the
- * programmer, or if desired, by the user to alter the “feel” of a
- * program to a small degree.
- *
- * gtk_button_box_get_layout() and gtk_button_box_set_layout() retrieve and
- * alter the method used to spread the buttons in a button box across the
- * container, respectively.
- *
- * The main purpose of GtkButtonBox is to make sure the children have all the
- * same size. GtkButtonBox gives all children the same size, but it does allow
- * 'outliers' to keep their own larger size.
- *
- * To exempt individual children from homogeneous sizing regardless of their
- * 'outlier' status, you can set the non-homogeneous child
- * property.
- *
- * # CSS nodes
- *
- * GtkButtonBox uses a single CSS node with name buttonbox.
- */
-
-#include "config.h"
-
-#include "gtkbbox.h"
-
-#include "gtkboxprivate.h"
-#include "gtkorientable.h"
-#include "gtktypebuiltins.h"
-#include "gtkprivate.h"
-#include "gtksizerequest.h"
-#include "gtkwidgetprivate.h"
-#include "gtkcontainerprivate.h"
-#include "gtkintl.h"
-
-
-struct _GtkButtonBoxPrivate
-{
-  GtkButtonBoxStyle layout_style;
-};
-
-enum {
-  PROP_0,
-  PROP_LAYOUT_STYLE
-};
-
-enum {
-  CHILD_PROP_0,
-  CHILD_PROP_SECONDARY,
-  CHILD_PROP_NONHOMOGENEOUS
-};
-
-#define GTK_BOX_SECONDARY_CHILD "gtk-box-secondary-child"
-#define GTK_BOX_NON_HOMOGENEOUS "gtk-box-non-homogeneous"
-
-static void gtk_button_box_set_property       (GObject           *object,
-                                               guint              prop_id,
-                                               const GValue      *value,
-                                               GParamSpec        *pspec);
-static void gtk_button_box_get_property       (GObject           *object,
-                                               guint              prop_id,
-                                               GValue            *value,
-                                               GParamSpec        *pspec);
-static void gtk_button_box_measure           (GtkWidget         *widget,
-                                              GtkOrientation     orientation,
-                                              int                for_size,
-                                              int               *minimum,
-                                              int               *natural,
-                                              int               *minimum_baseline,
-                                              int               *natural_baseline);
-static void gtk_button_box_size_allocate      (GtkWidget *widget,
-                                               int        width,
-                                               int        height,
-                                               int        baseline);
-static void gtk_button_box_remove             (GtkContainer      *container,
-                                               GtkWidget         *widget);
-static void gtk_button_box_set_child_property (GtkContainer      *container,
-                                               GtkWidget         *child,
-                                               guint              property_id,
-                                               const GValue      *value,
-                                               GParamSpec        *pspec);
-static void gtk_button_box_get_child_property (GtkContainer      *container,
-                                               GtkWidget         *child,
-                                               guint              property_id,
-                                               GValue            *value,
-                                               GParamSpec        *pspec);
-
-#define DEFAULT_LAYOUT_STYLE GTK_BUTTONBOX_EDGE
-
-G_DEFINE_TYPE_WITH_PRIVATE (GtkButtonBox, gtk_button_box, GTK_TYPE_BOX)
-
-static void
-gtk_button_box_class_init (GtkButtonBoxClass *class)
-{
-  GtkWidgetClass *widget_class;
-  GObjectClass *gobject_class;
-  GtkContainerClass *container_class;
-
-  gobject_class = G_OBJECT_CLASS (class);
-  widget_class = (GtkWidgetClass*) class;
-  container_class = (GtkContainerClass*) class;
-
-  gobject_class->set_property = gtk_button_box_set_property;
-  gobject_class->get_property = gtk_button_box_get_property;
-
-  widget_class->measure = gtk_button_box_measure;
-  widget_class->size_allocate = gtk_button_box_size_allocate;
-
-  container_class->remove = gtk_button_box_remove;
-  container_class->set_child_property = gtk_button_box_set_child_property;
-  container_class->get_child_property = gtk_button_box_get_child_property;
-
-  g_object_class_install_property (gobject_class,
-                                   PROP_LAYOUT_STYLE,
-                                   g_param_spec_enum ("layout-style",
-                                                      P_("Layout style"),
-                                                      P_("How to lay out the buttons in the box. Possible values are: spread, edge, start and end"),
-                                                      GTK_TYPE_BUTTON_BOX_STYLE,
-                                                      DEFAULT_LAYOUT_STYLE,
-                                                      GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
-  gtk_container_class_install_child_property (container_class,
-                                              CHILD_PROP_SECONDARY,
-                                              g_param_spec_boolean ("secondary", 
-                                                                    P_("Secondary"),
-                                                                    P_("If TRUE, the child appears in a secondary group of children, suitable for, e.g., help buttons"),
-                                                                    FALSE,
-                                                                    GTK_PARAM_READWRITE));
-
-  gtk_container_class_install_child_property (container_class,
-                                              CHILD_PROP_NONHOMOGENEOUS,
-                                              g_param_spec_boolean ("non-homogeneous",
-                                                                    P_("Non-Homogeneous"),
-                                                                    P_("If TRUE, the child will not be subject to homogeneous sizing"),
-                                                                    FALSE,
-                                                                    GTK_PARAM_READWRITE));
-
-  gtk_widget_class_set_css_name (widget_class, I_("buttonbox"));
-}
-
-static void
-gtk_button_box_init (GtkButtonBox *button_box)
-{
-  button_box->priv = gtk_button_box_get_instance_private (button_box);
-  button_box->priv->layout_style = DEFAULT_LAYOUT_STYLE;
-
-  gtk_box_set_spacing (GTK_BOX (button_box), 0);
-}
-
-static void
-gtk_button_box_set_property (GObject      *object,
-                             guint         prop_id,
-                             const GValue *value,
-                             GParamSpec   *pspec)
-{
-  switch (prop_id)
-    {
-    case PROP_LAYOUT_STYLE:
-      gtk_button_box_set_layout (GTK_BUTTON_BOX (object),
-                                 g_value_get_enum (value));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-gtk_button_box_get_property (GObject    *object,
-                             guint       prop_id,
-                             GValue     *value,
-                             GParamSpec *pspec)
-{
-  GtkButtonBoxPrivate *priv = GTK_BUTTON_BOX (object)->priv;
-
-  switch (prop_id)
-    {
-    case PROP_LAYOUT_STYLE:
-      g_value_set_enum (value, priv->layout_style);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-gtk_button_box_set_child_property (GtkContainer *container,
-                                   GtkWidget    *child,
-                                   guint         property_id,
-                                   const GValue *value,
-                                   GParamSpec   *pspec)
-{
-  switch (property_id)
-    {
-    case CHILD_PROP_SECONDARY:
-      gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (container), child,
-                                          g_value_get_boolean (value));
-      break;
-    case CHILD_PROP_NONHOMOGENEOUS:
-      gtk_button_box_set_child_non_homogeneous (GTK_BUTTON_BOX (container), child,
-                                                g_value_get_boolean (value));
-      break;
-    default:
-      GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec);
-      break;
-    }
-}
-
-static void
-gtk_button_box_get_child_property (GtkContainer *container,
-                                   GtkWidget    *child,
-                                   guint         property_id,
-                                   GValue       *value,
-                                   GParamSpec   *pspec)
-{
-  switch (property_id)
-    {
-    case CHILD_PROP_SECONDARY:
-      g_value_set_boolean (value,
-                           gtk_button_box_get_child_secondary (GTK_BUTTON_BOX (container),
-                                                               child));
-      break;
-    case CHILD_PROP_NONHOMOGENEOUS:
-      g_value_set_boolean (value,
-                           gtk_button_box_get_child_non_homogeneous (GTK_BUTTON_BOX (container),
-                                                                     child));
-      break;
-    default:
-      GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec);
-      break;
-    }
-}
-
-static void
-gtk_button_box_remove (GtkContainer *container,
-                       GtkWidget    *widget)
-{
-  /* clear is_secondary and nonhomogeneous flag in case the widget
-   * is added to another container
-   */
-  gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (container), widget, FALSE);
-  gtk_button_box_set_child_non_homogeneous (GTK_BUTTON_BOX (container), widget, FALSE);
-
-  GTK_CONTAINER_CLASS (gtk_button_box_parent_class)->remove (container, widget);
-}
-
-/**
- * gtk_button_box_set_layout:
- * @widget: a #GtkButtonBox
- * @layout_style: the new layout style
- *
- * Changes the way buttons are arranged in their container.
- */
-void
-gtk_button_box_set_layout (GtkButtonBox      *widget,
-                           GtkButtonBoxStyle  layout_style)
-{
-  GtkButtonBoxPrivate *priv;
-
-  g_return_if_fail (GTK_IS_BUTTON_BOX (widget));
-
-  priv = widget->priv;
-
-  if (priv->layout_style != layout_style)
-    {
-      priv->layout_style = layout_style;
-
-      if (priv->layout_style == GTK_BUTTONBOX_EXPAND)
-        {
-          gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (widget)), "linked");
-          gtk_box_set_spacing (GTK_BOX (widget), 0);
-          gtk_box_set_homogeneous (GTK_BOX (widget), TRUE);
-        }
-      else
-        {
-          gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (widget)), "linked");
-          gtk_box_set_homogeneous (GTK_BOX (widget), FALSE);
-        }
-
-      g_object_notify (G_OBJECT (widget), "layout-style");
-      gtk_widget_queue_resize (GTK_WIDGET (widget));
-    }
-}
-
-/**
- * gtk_button_box_get_layout:
- * @widget: a #GtkButtonBox
- *
- * Retrieves the method being used to arrange the buttons in a button box.
- *
- * Returns: the method used to lay out buttons in @widget.
- */
-GtkButtonBoxStyle
-gtk_button_box_get_layout (GtkButtonBox *widget)
-{
-  g_return_val_if_fail (GTK_IS_BUTTON_BOX (widget), DEFAULT_LAYOUT_STYLE);
-
-  return widget->priv->layout_style;
-}
-
-/**
- * gtk_button_box_get_child_secondary:
- * @widget: a #GtkButtonBox
- * @child: a child of @widget
- *
- * Returns whether @child should appear in a secondary group of children.
- *
- * Returns: whether @child should appear in a secondary group of children.
- **/
-gboolean
-gtk_button_box_get_child_secondary (GtkButtonBox *widget,
-                                    GtkWidget    *child)
-{
-  g_return_val_if_fail (GTK_IS_BUTTON_BOX (widget), FALSE);
-  g_return_val_if_fail (GTK_IS_WIDGET (child), FALSE);
-
-  return (g_object_get_data (G_OBJECT (child), GTK_BOX_SECONDARY_CHILD) != NULL);
-}
-
-/**
- * gtk_button_box_set_child_secondary:
- * @widget: a #GtkButtonBox
- * @child: a child of @widget
- * @is_secondary: if %TRUE, the @child appears in a secondary group of the
- *                button box.
- *
- * Sets whether @child should appear in a secondary group of children.
- * A typical use of a secondary child is the help button in a dialog.
- *
- * This group appears after the other children if the style
- * is %GTK_BUTTONBOX_START, %GTK_BUTTONBOX_SPREAD or
- * %GTK_BUTTONBOX_EDGE, and before the other children if the style
- * is %GTK_BUTTONBOX_END. For horizontal button boxes, the definition
- * of before/after depends on direction of the widget (see
- * gtk_widget_set_direction()). If the style is %GTK_BUTTONBOX_START
- * or %GTK_BUTTONBOX_END, then the secondary children are aligned at
- * the other end of the button box from the main children. For the
- * other styles, they appear immediately next to the main children.
- **/
-void
-gtk_button_box_set_child_secondary (GtkButtonBox *widget,
-                                    GtkWidget    *child,
-                                    gboolean      is_secondary)
-{
-  GtkButtonBox *bbox;
-
-  g_return_if_fail (GTK_IS_BUTTON_BOX (widget));
-  g_return_if_fail (GTK_IS_WIDGET (child));
-  g_return_if_fail (gtk_widget_get_parent (child) == GTK_WIDGET (widget));
-
-  bbox = GTK_BUTTON_BOX (widget);
-
-  g_object_set_data (G_OBJECT (child),
-                     GTK_BOX_SECONDARY_CHILD,
-                     is_secondary ? GINT_TO_POINTER (1) : NULL);
-  gtk_widget_child_notify (child, "secondary");
-
-  if (bbox->priv->layout_style == GTK_BUTTONBOX_EXPAND)
-    gtk_box_reorder_child_after (GTK_BOX (bbox), child, is_secondary ? NULL : gtk_widget_get_last_child (GTK_WIDGET (bbox)));
-
-  if (gtk_widget_get_visible (GTK_WIDGET (widget)) &&
-      gtk_widget_get_visible (child))
-    gtk_widget_queue_resize (child);
-}
-
-/* Ask children how much space they require and round up
- * to match minimum size and internal padding.
- * Returns the size each single child should have.
- */
-static void
-gtk_button_box_child_requisition (GtkWidget  *widget,
-                                  gint       *nvis_children,
-                                  gint       *nvis_secondaries,
-                                  gint      **widths,
-                                  gint      **heights,
-                                  gint      **baselines,
-                                 gint       *baseline,
-                                 gint       *baseline_height)
-{
-  GtkButtonBox *bbox;
-  GList *children, *list;
-  gint nchildren;
-  gint nsecondaries;
-  gint needed_width;
-  gint needed_height;
-  gint needed_above, needed_below;
-  gint avg_w, avg_h;
-  GtkRequisition child_requisition;
-  gint ipad_w;
-  gint ipad_h;
-  gboolean homogeneous;
-  gint i;
-  gint max_above, max_below, child_baseline;
-  GtkOrientation orientation;
-  gboolean have_baseline;
-
-  g_return_if_fail (GTK_IS_BUTTON_BOX (widget));
-
-  bbox = GTK_BUTTON_BOX (widget);
-
-  orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget));
-  homogeneous = gtk_box_get_homogeneous (GTK_BOX (widget));
-
-
-  nchildren = 0;
-  nsecondaries = 0;
-  list = children = _gtk_box_get_children (GTK_BOX (bbox));
-  needed_width = 0;
-  needed_height = 0;
-  needed_above = 0;
-  needed_below = 0;
-  ipad_w = 0;
-  ipad_h = 0;
-
-  have_baseline = FALSE;
-  max_above = max_below = 0;
-  avg_w = avg_h = 0;
-  for (children = list; children != NULL; children = children->next)
-    {
-      GtkWidget *child;
-
-      child = children->data;
-
-      if (gtk_widget_get_visible (child))
-        {
-          nchildren += 1;
-          _gtk_widget_get_preferred_size_and_baseline (child,
-                                                       &child_requisition, NULL, &child_baseline, NULL);
-         if (orientation == GTK_ORIENTATION_HORIZONTAL &&
-             gtk_widget_get_valign (child) == GTK_ALIGN_BASELINE &&
-             child_baseline != -1)
-           {
-             have_baseline = TRUE;
-             max_above = MAX (max_above, child_baseline);
-             max_below = MAX (max_below , child_requisition.height + ipad_h - (child_baseline));
-           }
-          avg_w += child_requisition.width + ipad_w;
-          avg_h += child_requisition.height + ipad_h;
-        }
-    }
-  avg_w /= MAX (nchildren, 1);
-  avg_h /= MAX (nchildren, 1);
-
-  if (baseline)
-    *baseline = have_baseline ? max_above : -1;
-  if (baseline_height)
-    *baseline_height = max_above + max_below;
-
-  *widths = g_new (gint, nchildren);
-  *heights = g_new (gint, nchildren);
-  *baselines = g_new (gint, nchildren);
-
-  i = 0;
-  children = list;
-  while (children)
-    {
-      GtkWidget *child;
-      gboolean is_secondary;
-      gboolean non_homogeneous;
-
-      child = children->data;
-      children = children->next;
-
-      if (gtk_widget_get_visible (child))
-        {
-          is_secondary = gtk_button_box_get_child_secondary (bbox, child);
-          non_homogeneous = gtk_button_box_get_child_non_homogeneous (bbox, child);
-
-          if (is_secondary)
-            nsecondaries++;
-
-          _gtk_widget_get_preferred_size_and_baseline (child,
-                                                       &child_requisition, NULL, &child_baseline, NULL);
-
-          if (homogeneous ||
-              (!non_homogeneous && (child_requisition.width + ipad_w < avg_w * 1.5)))
-            {
-              (*widths)[i] = -1;
-              if (child_requisition.width + ipad_w > needed_width)
-                needed_width = child_requisition.width + ipad_w;
-            }
-          else
-            {
-              (*widths)[i] = child_requisition.width + ipad_w;
-            }
-
-         (*baselines)[i] = -1;
-
-          if (homogeneous ||
-              (!non_homogeneous && (child_requisition.height + ipad_h < avg_h * 1.5)))
-            {
-              (*heights)[i] = -1;
-
-             if (orientation == GTK_ORIENTATION_HORIZONTAL &&
-                 gtk_widget_get_valign (child) == GTK_ALIGN_BASELINE &&
-                 child_baseline != -1)
-               {
-                 (*baselines)[i] = child_baseline;
-
-                 if (child_baseline > needed_above)
-                   needed_above = child_baseline;
-                 if (child_requisition.height - child_baseline > needed_below)
-                   needed_below = child_requisition.height - child_baseline;
-               }
-             else
-               {
-                 if (child_requisition.height + ipad_h > needed_height)
-                   needed_height = child_requisition.height + ipad_h;
-               }
-            }
-          else
-            {
-              (*heights)[i] = child_requisition.height + ipad_h;
-
-             if (orientation == GTK_ORIENTATION_HORIZONTAL &&
-                 gtk_widget_get_valign (child) == GTK_ALIGN_BASELINE &&
-                 child_baseline != -1)
-               (*baselines)[i] = child_baseline;
-            }
-
-          i++;
-        }
-    }
-
-  g_list_free (list);
-
-  needed_height = MAX (needed_height, needed_above + needed_below);
-
-  for (i = 0; i < nchildren; i++)
-    {
-      if ((*widths)[i] == -1)
-        (*widths)[i] = needed_width;
-      if ((*heights)[i] == -1)
-       {
-         (*heights)[i] = needed_height;
-         if ((*baselines)[i] != -1)
-           (*baselines)[i] = needed_above;
-       }
-    }
-
-  if (nvis_children)
-    *nvis_children = nchildren;
-
-  if (nvis_secondaries)
-    *nvis_secondaries = nsecondaries;
-}
-
-static void
-gtk_button_box_size_request (GtkWidget      *widget,
-                             GtkRequisition *requisition,
-                            gint           *baseline)
-{
-  GtkButtonBoxPrivate *priv;
-  GtkButtonBox *bbox;
-  gint nvis_children;
-  gint max_size, max_above, max_below;
-  gint total_size;
-  gint spacing;
-  GtkOrientation orientation;
-  gint *widths;
-  gint *heights;
-  gint *baselines;
-  gint i;
-
-  if (baseline)
-    *baseline = -1;
-
-  bbox = GTK_BUTTON_BOX (widget);
-  priv = bbox->priv;
-
-  orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget));
-  spacing = gtk_box_get_spacing (GTK_BOX (widget));
-
-  gtk_button_box_child_requisition (widget,
-                                    &nvis_children,
-                                    NULL,
-                                    &widths, &heights, &baselines, baseline, NULL);
-
-  max_size = max_above = max_below = 0;
-  total_size = 0;
-  for (i = 0; i < nvis_children; i++)
-    {
-      if (orientation == GTK_ORIENTATION_HORIZONTAL)
-        {
-          total_size += widths[i];
-         if (baselines[i] == -1)
-           max_size = MAX (max_size, heights[i]);
-         else
-           {
-             max_above = MAX (max_above, baselines[i]);
-             max_below = MAX (max_below, heights[i] - baselines[i]);
-           }
-        }
-      else
-        {
-          total_size += heights[i];
-          max_size = MAX (max_size, widths[i]);
-        }
-    }
-  g_free (widths);
-  g_free (heights);
-  g_free (baselines);
-
-  max_size = MAX (max_size, max_above + max_below);
-
-  switch (gtk_box_get_baseline_position (GTK_BOX (widget)))
-    {
-    default:
-    case GTK_BASELINE_POSITION_TOP:
-      break;
-    case GTK_BASELINE_POSITION_CENTER:
-      if (baseline != NULL && *baseline != -1)
-       *baseline += (max_size - (max_above + max_below)) / 2;
-      break;
-    case GTK_BASELINE_POSITION_BOTTOM:
-      if (baseline != NULL && *baseline != -1)
-       *baseline += max_size - (max_above + max_below);
-      break;
-    }
-
-  if (nvis_children == 0)
-    {
-      requisition->width = 0;
-      requisition->height = 0;
-    }
-  else
-    {
-      switch (priv->layout_style)
-        {
-          case GTK_BUTTONBOX_SPREAD:
-            if (orientation == GTK_ORIENTATION_HORIZONTAL)
-              requisition->width = total_size + ((nvis_children + 1)*spacing);
-            else
-              requisition->height = total_size + ((nvis_children + 1)*spacing);
-
-            break;
-          case GTK_BUTTONBOX_EDGE:
-          case GTK_BUTTONBOX_START:
-          case GTK_BUTTONBOX_END:
-          case GTK_BUTTONBOX_CENTER:
-          case GTK_BUTTONBOX_EXPAND:
-            if (orientation == GTK_ORIENTATION_HORIZONTAL)
-              requisition->width = total_size + ((nvis_children - 1)*spacing);
-            else
-              requisition->height = total_size + ((nvis_children - 1)*spacing);
-
-            break;
-          default:
-            g_assert_not_reached ();
-            break;
-        }
-
-      if (orientation == GTK_ORIENTATION_HORIZONTAL)
-        requisition->height = max_size;
-      else
-        requisition->width = max_size;
-    }
-}
-
-static void
-gtk_button_box_measure (GtkWidget      *widget,
-                        GtkOrientation  orientation,
-                        int             for_size,
-                        int            *minimum,
-                        int            *natural,
-                        int            *minimum_baseline,
-                        int            *natural_baseline)
-{
-  GtkButtonBoxPrivate *priv = gtk_button_box_get_instance_private (GTK_BUTTON_BOX (widget));
-
-  if (priv->layout_style == GTK_BUTTONBOX_EXPAND)
-    {
-      GTK_WIDGET_CLASS (gtk_button_box_parent_class)->measure (widget, orientation, for_size,
-                                                               minimum, natural,
-                                                               minimum_baseline, natural_baseline);
-    }
-  else
-    {
-      GtkRequisition requisition;
-      int baseline;
-      int *pb;
-
-      if (minimum_baseline || natural_baseline)
-        pb = &baseline;
-      else
-        pb = NULL;
-
-      gtk_button_box_size_request (widget, &requisition, pb);
-
-      if (orientation == GTK_ORIENTATION_HORIZONTAL)
-        *minimum = *natural = requisition.width;
-      else
-        *minimum = *natural = requisition.height;
-
-      if (orientation == GTK_ORIENTATION_VERTICAL)
-        {
-          if (minimum_baseline)
-            *minimum_baseline = baseline;
-          if (natural_baseline)
-            *natural_baseline = baseline;
-        }
-    }
-}
-
-static void
-gtk_button_box_size_allocate (GtkWidget *widget,
-                              int        width,
-                              int        height,
-                              int        baseline)
-{
-  GtkButtonBox *bbox = GTK_BUTTON_BOX (widget);
-  GtkButtonBoxPrivate *priv = bbox->priv;
-  GList *children, *list;
-  GtkAllocation child_allocation;
-  gint nvis_children;
-  gint n_primaries;
-  gint n_secondaries;
-  gint x = 0;
-  gint y = 0;
-  gint secondary_x = 0;
-  gint secondary_y = 0;
-  gint childspacing = 0;
-  gint spacing;
-  GtkOrientation orientation;
-  gint *widths;
-  gint *heights;
-  gint *baselines;
-  gint *sizes;
-  gint primary_size;
-  gint secondary_size;
-  gint total_size;
-  gint baseline_height;
-  gint child_baseline;
-  gint i;
-
-  if (priv->layout_style == GTK_BUTTONBOX_EXPAND)
-    {
-      GTK_WIDGET_CLASS (gtk_button_box_parent_class)->size_allocate (widget,
-                                                                     width, height,
-                                                                     baseline);
-      return;
-    }
-
-  orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget));
-  spacing = gtk_box_get_spacing (GTK_BOX (widget));
-
-  gtk_button_box_child_requisition (widget,
-                                    &nvis_children,
-                                    &n_secondaries,
-                                    &widths, &heights, &baselines, &baseline, &baseline_height);
-
-  if (baseline != -1)
-    {
-      /* TODO: modify baseline based on baseline_pos && allocated_baseline*/
-      switch (gtk_box_get_baseline_position (GTK_BOX (widget)))
-       {
-       case GTK_BASELINE_POSITION_TOP:
-        default:
-          /* keep baseline as is */
-         break;
-       case GTK_BASELINE_POSITION_CENTER:
-         baseline = baseline + (height - baseline_height) / 2;
-         break;
-       case GTK_BASELINE_POSITION_BOTTOM:
-         baseline = height - (baseline_height - baseline);
-         break;
-       }
-    }
-
-  n_primaries = nvis_children - n_secondaries;
-  primary_size = 0;
-  secondary_size = 0;
-  if (orientation == GTK_ORIENTATION_HORIZONTAL)
-    sizes = widths;
-  else
-    sizes = heights;
-
-  i = 0;
-  list = children = _gtk_box_get_children (GTK_BOX (widget));
-  while (children)
-    {
-      GtkWidget *child;
-
-      child = children->data;
-      children = children->next;
-
-      if (gtk_widget_get_visible (child))
-        {
-          if (gtk_button_box_get_child_secondary (bbox, child))
-            secondary_size += sizes[i];
-          else
-            primary_size += sizes[i];
-          i++;
-        }
-    }
-  total_size = primary_size + secondary_size;
-
-  switch (priv->layout_style)
-    {
-      case GTK_BUTTONBOX_SPREAD:
-
-        if (orientation == GTK_ORIENTATION_HORIZONTAL)
-          {
-            childspacing = (width - total_size) / (nvis_children + 1);
-            x = childspacing;
-            secondary_x = x + primary_size + n_primaries * childspacing;
-          }
-        else
-          {
-            childspacing = (height - total_size) / (nvis_children + 1);
-            y = childspacing;
-            secondary_y = y + primary_size + n_primaries * childspacing;
-          }
-
-        break;
-
-      case GTK_BUTTONBOX_EDGE:
-
-        if (orientation == GTK_ORIENTATION_HORIZONTAL)
-          {
-            if (nvis_children >= 2)
-              {
-                childspacing = (width - total_size) / (nvis_children - 1);
-                x = 0;
-                secondary_x = x + primary_size + n_primaries * childspacing;
-              }
-            else if (nvis_children == 1)
-              {
-                /* one child, just center */
-                childspacing = width;
-                x = secondary_x = (width - widths[0]) / 2;
-              }
-            else
-              {
-                /* zero children, meh */
-                childspacing = width;
-                x = secondary_x = width / 2;
-              }
-          }
-        else
-          {
-            if (nvis_children >= 2)
-              {
-                childspacing = (height - total_size) / (nvis_children - 1);
-                y = 0;
-                secondary_y = y + primary_size + n_primaries * childspacing;
-              }
-            else if (nvis_children == 1)
-              {
-                /* one child, just center */
-                childspacing = height;
-                y = secondary_y = 0
-                                     + (height - heights[0]) / 2;
-              }
-            else
-              {
-                /* zero children, meh */
-                childspacing = height;
-                y = secondary_y = 0 + height / 2;
-              }
-          }
-
-        break;
-
-      case GTK_BUTTONBOX_START:
-
-        if (orientation == GTK_ORIENTATION_HORIZONTAL)
-          {
-            childspacing = spacing;
-            x = 0;
-            secondary_x = 0 + width
-              - secondary_size - spacing * (n_secondaries - 1);
-          }
-        else
-          {
-            childspacing = spacing;
-            y = 0;
-            secondary_y = 0 + height
-              - secondary_size - spacing * (n_secondaries - 1);
-          }
-
-        break;
-
-      case GTK_BUTTONBOX_END:
-
-        if (orientation == GTK_ORIENTATION_HORIZONTAL)
-          {
-            childspacing = spacing;
-            x = 0 + width
-              - primary_size - spacing * (n_primaries - 1);
-            secondary_x = 0;
-          }
-        else
-          {
-            childspacing = spacing;
-            y = 0 + height
-              - primary_size - spacing * (n_primaries - 1);
-            secondary_y = 0;
-          }
-
-        break;
-
-      case GTK_BUTTONBOX_CENTER:
-
-        if (orientation == GTK_ORIENTATION_HORIZONTAL)
-          {
-            childspacing = spacing;
-            x = 0 +
-              (width
-               - (primary_size + spacing * (n_primaries - 1))) / 2
-              + (secondary_size + n_secondaries * spacing) / 2;
-            secondary_x = 0;
-          }
-        else
-          {
-            childspacing = spacing;
-            y = 0 +
-              (height
-               - (primary_size + spacing * (n_primaries - 1))) / 2
-              + (secondary_size + n_secondaries * spacing) / 2;
-            secondary_y = 0;
-          }
-
-        break;
-
-      case GTK_BUTTONBOX_EXPAND:
-      default:
-        g_assert_not_reached ();
-        break;
-    }
-
-  children = list;
-  i = 0;
-  while (children)
-    {
-      GtkWidget *child;
-
-      child = children->data;
-      children = children->next;
-
-      if (gtk_widget_get_visible (child))
-        {
-          child_allocation.width = widths[i];
-          child_allocation.height = heights[i];
-         child_baseline = -1;
-
-          if (orientation == GTK_ORIENTATION_HORIZONTAL)
-            {
-             if (baselines[i] != -1)
-               {
-                 child_allocation.y = 0 + baseline - baselines[i];
-                 child_baseline = baselines[i];
-               }
-             else
-               child_allocation.y = 0 + (height - child_allocation.height) / 2;
-
-              if (gtk_button_box_get_child_secondary (bbox, child))
-                {
-                  child_allocation.x = secondary_x;
-                  secondary_x += child_allocation.width + childspacing;
-                }
-              else
-                {
-                  child_allocation.x = x;
-                  x += child_allocation.width + childspacing;
-                }
-
-              if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
-                  child_allocation.x = (0 + width)
-                          - (child_allocation.x + child_allocation.width - 0);
-            }
-          else
-            {
-              child_allocation.x = 0 + (width - child_allocation.width) / 2;
-
-              if (gtk_button_box_get_child_secondary (bbox, child))
-                {
-                  child_allocation.y = secondary_y;
-                  secondary_y += child_allocation.height + childspacing;
-                }
-              else
-                {
-                  child_allocation.y = y;
-                  y += child_allocation.height + childspacing;
-                }
-            }
-
-          gtk_widget_size_allocate (child, &child_allocation, child_baseline);
-          i++;
-        }
-    }
-
-  g_list_free (list);
-  g_free (widths);
-  g_free (heights);
-  g_free (baselines);
-}
-
-/**
- * gtk_button_box_new:
- * @orientation: the box's orientation.
- *
- * Creates a new #GtkButtonBox.
- *
- * Returns: a new #GtkButtonBox.
- */
-GtkWidget *
-gtk_button_box_new (GtkOrientation orientation)
-{
-  return g_object_new (GTK_TYPE_BUTTON_BOX,
-                       "orientation", orientation,
-                       NULL);
-}
-
-/**
- * gtk_button_box_get_child_non_homogeneous:
- * @widget: a #GtkButtonBox
- * @child: a child of @widget
- *
- * Returns whether the child is exempted from homogeneous
- * sizing.
- *
- * Returns: %TRUE if the child is not subject to homogeneous sizing
- */
-gboolean
-gtk_button_box_get_child_non_homogeneous (GtkButtonBox *widget,
-                                          GtkWidget    *child)
-{
-  g_return_val_if_fail (GTK_IS_BUTTON_BOX (widget), FALSE);
-  g_return_val_if_fail (GTK_IS_WIDGET (child), FALSE);
-
-  return (g_object_get_data (G_OBJECT (child), GTK_BOX_NON_HOMOGENEOUS) != NULL);
-}
-
-/**
- * gtk_button_box_set_child_non_homogeneous:
- * @widget: a #GtkButtonBox
- * @child: a child of @widget
- * @non_homogeneous: the new value
- *
- * Sets whether the child is exempted from homogeneous sizing.
- */
-void
-gtk_button_box_set_child_non_homogeneous (GtkButtonBox *widget,
-                                          GtkWidget    *child,
-                                          gboolean      non_homogeneous)
-{
-  g_return_if_fail (GTK_IS_BUTTON_BOX (widget));
-  g_return_if_fail (GTK_IS_WIDGET (child));
-  g_return_if_fail (gtk_widget_get_parent (child) == GTK_WIDGET (widget));
-
-  g_object_set_data (G_OBJECT (child),
-                     GTK_BOX_NON_HOMOGENEOUS,
-                     non_homogeneous ? GINT_TO_POINTER (1) : NULL);
-  gtk_widget_child_notify (child, "non-homogeneous");
-
-  if (gtk_widget_get_visible (GTK_WIDGET (widget)) &&
-      gtk_widget_get_visible (child))
-    gtk_widget_queue_resize (child);
-}
diff --git a/gtk/gtkbbox.h b/gtk/gtkbbox.h
deleted file mode 100644 (file)
index 9b92665..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __GTK_BUTTON_BOX_H__
-#define __GTK_BUTTON_BOX_H__
-
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
-#include <gtk/gtkbox.h>
-
-
-G_BEGIN_DECLS  
-
-#define GTK_TYPE_BUTTON_BOX             (gtk_button_box_get_type ())
-#define GTK_BUTTON_BOX(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BUTTON_BOX, GtkButtonBox))
-#define GTK_BUTTON_BOX_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BUTTON_BOX, GtkButtonBoxClass))
-#define GTK_IS_BUTTON_BOX(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BUTTON_BOX))
-#define GTK_IS_BUTTON_BOX_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BUTTON_BOX))
-#define GTK_BUTTON_BOX_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BUTTON_BOX, GtkButtonBoxClass))
-
-
-typedef struct _GtkButtonBox              GtkButtonBox;
-typedef struct _GtkButtonBoxPrivate       GtkButtonBoxPrivate;
-typedef struct _GtkButtonBoxClass         GtkButtonBoxClass;
-
-struct _GtkButtonBox
-{
-  GtkBox box;
-
-  /*< private >*/
-  GtkButtonBoxPrivate *priv;
-};
-
-/**
- * GtkButtonBoxClass:
- * @parent_class: The parent class.
- */
-struct _GtkButtonBoxClass
-{
-  GtkBoxClass parent_class;
-
-  /*< private >*/
-
-  /* Padding for future expansion */
-  void (*_gtk_reserved1) (void);
-  void (*_gtk_reserved2) (void);
-  void (*_gtk_reserved3) (void);
-  void (*_gtk_reserved4) (void);
-};
-
-
-/**
- * GtkButtonBoxStyle:
- * @GTK_BUTTONBOX_SPREAD: Buttons are evenly spread across the box.
- * @GTK_BUTTONBOX_EDGE: Buttons are placed at the edges of the box.
- * @GTK_BUTTONBOX_START: Buttons are grouped towards the start of the box,
- *   (on the left for a HBox, or the top for a VBox).
- * @GTK_BUTTONBOX_END: Buttons are grouped towards the end of the box,
- *   (on the right for a HBox, or the bottom for a VBox).
- * @GTK_BUTTONBOX_CENTER: Buttons are centered in the box
- * @GTK_BUTTONBOX_EXPAND: Buttons expand to fill the box. This entails giving
- *   buttons a "linked" appearance, making button sizes homogeneous, and
- *   setting spacing to 0 (same as calling gtk_box_set_homogeneous() and
- *   gtk_box_set_spacing() manually)
- *
- * Used to dictate the style that a #GtkButtonBox uses to layout the buttons it
- * contains.
- */
-typedef enum
-{
-  GTK_BUTTONBOX_SPREAD = 1,
-  GTK_BUTTONBOX_EDGE,
-  GTK_BUTTONBOX_START,
-  GTK_BUTTONBOX_END,
-  GTK_BUTTONBOX_CENTER,
-  GTK_BUTTONBOX_EXPAND
-} GtkButtonBoxStyle;
-
-
-GDK_AVAILABLE_IN_ALL
-GType             gtk_button_box_get_type            (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
-GtkWidget       * gtk_button_box_new                 (GtkOrientation     orientation);
-GDK_AVAILABLE_IN_ALL
-GtkButtonBoxStyle gtk_button_box_get_layout          (GtkButtonBox      *widget);
-GDK_AVAILABLE_IN_ALL
-void              gtk_button_box_set_layout          (GtkButtonBox      *widget,
-                                                      GtkButtonBoxStyle  layout_style);
-GDK_AVAILABLE_IN_ALL
-gboolean          gtk_button_box_get_child_secondary (GtkButtonBox      *widget,
-                                                      GtkWidget         *child);
-GDK_AVAILABLE_IN_ALL
-void              gtk_button_box_set_child_secondary (GtkButtonBox      *widget,
-                                                      GtkWidget         *child,
-                                                      gboolean           is_secondary);
-GDK_AVAILABLE_IN_ALL
-gboolean          gtk_button_box_get_child_non_homogeneous (GtkButtonBox *widget,
-                                                            GtkWidget    *child);
-GDK_AVAILABLE_IN_ALL
-void              gtk_button_box_set_child_non_homogeneous (GtkButtonBox *widget,
-                                                            GtkWidget    *child,
-                                                            gboolean      non_homogeneous);
-
-
-G_END_DECLS
-
-#endif /* __GTK_BUTTON_BOX_H__ */
index 5e5ce9fd65217414b6e76ece8f43677d577bfa43..944e4d670461121e9b4962f104bf140bcd8d759d 100644 (file)
  *     <child internal-child="vbox">
  *       <object class="GtkBox" id="vbox1">
  *         <child internal-child="action_area">
- *           <object class="GtkButtonBox" id="hbuttonbox1">
+ *           <object class="GtkBox" id="hbuttonbox1">
  *             <child>
  *               <object class="GtkButton" id="ok_button">
  *                 <property name="label">gtk-ok</property>
index 3604c592c9b869c26a842082af42e2ae678eb244..b183f37718946c0dbbc2a6c4f29ad74e5e284e25 100644 (file)
@@ -31,7 +31,6 @@
 #include "gtkdialog.h"
 #include "gtkdialogprivate.h"
 #include "gtkheaderbar.h"
-#include "gtkbbox.h"
 #include "gtklabel.h"
 #include "gtkmarshalers.h"
 #include "gtkbox.h"
@@ -389,9 +388,6 @@ apply_response_for_action_area (GtkDialog *dialog,
   GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
 
   g_assert (gtk_widget_get_parent (child) == priv->action_area);
-
-  if (response_id == GTK_RESPONSE_HELP)
-    gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (priv->action_area), child, TRUE);
 }
 
 static void
index 0dd737e4184fdce3960012c6bf398aee8c82b81a..e6ea7b3bb4afec3b2d6d99b041bfec407a575960 100644 (file)
@@ -346,8 +346,7 @@ typedef enum
  * @GTK_PACK_START: The child is packed into the start of the box
  * @GTK_PACK_END: The child is packed into the end of the box
  *
- * Represents the packing location #GtkBox children. (See: #GtkVBox,
- * #GtkHBox, and #GtkButtonBox).
+ * Represents the packing location #GtkBox children
  */
 typedef enum
 {
index faf1e6af4d8b844126ec35ac36457bb84a51150a..2b469fbfcb750081ce162aa96550642aa0ee65a3 100644 (file)
@@ -35,7 +35,6 @@
 #include "gtkaccessible.h"
 #include "gtkbuildable.h"
 #include "gtkbuilderprivate.h"
-#include "gtkbbox.h"
 #include "gtkbox.h"
 #include "gtklabel.h"
 #include "gtkbutton.h"
@@ -510,9 +509,6 @@ gtk_info_bar_add_action_widget (GtkInfoBar *info_bar,
     g_warning ("Only 'activatable' widgets can be packed into the action area of a GtkInfoBar");
 
   gtk_container_add (GTK_CONTAINER (priv->action_area), child);
-  if (response_id == GTK_RESPONSE_HELP)
-    gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (priv->action_area),
-                                        child, TRUE);
 }
 
 /**
@@ -975,10 +971,6 @@ gtk_info_bar_buildable_custom_finished (GtkBuildable *buildable,
                                            G_OBJECT (info_bar));
           g_signal_connect_closure_by_id (object, signal_id, 0, closure, FALSE);
         }
-
-      if (ad->response_id == GTK_RESPONSE_HELP)
-        gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (priv->action_area),
-                                            GTK_WIDGET (object), TRUE);
     }
 
   g_slist_free_full (data->items, action_widget_info_free);
index 19ebd784bafd741e53c746e4ef72f1d329725241..e98a0ffb99ef6ed94d73cb961972545ae32d7fec 100644 (file)
@@ -33,7 +33,6 @@
 #include "gtkbuildable.h"
 #include "gtklabel.h"
 #include "gtkbox.h"
-#include "gtkbbox.h"
 #include "gtkintl.h"
 #include "gtkprivate.h"
 #include "gtktypebuiltins.h"
@@ -281,7 +280,8 @@ gtk_message_dialog_init (GtkMessageDialog *dialog)
 
   gtk_widget_init_template (GTK_WIDGET (dialog));
   action_area = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (action_area), GTK_BUTTONBOX_EXPAND);
+  gtk_widget_set_halign (action_area, GTK_ALIGN_FILL);
+  gtk_box_set_homogeneous (GTK_BOX (action_area), TRUE);
 
   settings = gtk_widget_get_settings (GTK_WIDGET (dialog));
   g_object_get (settings, "gtk-keynav-use-caret", &use_caret, NULL);
index e45b18bf8e8eae940a73b44730b8efb611569879..f11ce957c34704bc28acd39699ea0e1368651995 100644 (file)
@@ -167,7 +167,6 @@ gtk_public_sources = files([
   'gtkapplicationwindow.c',
   'gtkaspectframe.c',
   'gtkassistant.c',
-  'gtkbbox.c',
   'gtkbin.c',
   'gtkbindings.c',
   'gtkborder.c',
@@ -417,7 +416,6 @@ gtk_public_headers = files([
   'gtkapplicationwindow.h',
   'gtkaspectframe.h',
   'gtkassistant.h',
-  'gtkbbox.h',
   'gtkbin.h',
   'gtkbindings.h',
   'gtkborder.h',
index 27a0a6211492367c54d6b53ba52d6e44dbba5745..6a3e0461a221dacfb124b53f16d68bbbfecd82ae 100644 (file)
@@ -19,8 +19,7 @@
           </object>
         </child>
         <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area1">
-            <property name="layout-style">end</property>
+          <object class="GtkBox" id="dialog-action_area1">
             <property name="hexpand">1</property>
             <property name="halign">end</property>
           </object>
index 1bd869b6c5afbe320f382150cba1a6185651f2cd..6780d241c7a8d5458ab9650ed3ddec50d387c938 100644 (file)
@@ -29,9 +29,9 @@
               <class name="dialog-action-box"/>
             </style>
             <child>
-              <object class="GtkButtonBox" id="action_area">
-                <property name="layout-style">end</property>
+              <object class="GtkBox" id="action_area">
                 <property name="hexpand">1</property>
+                <property name="halign">end</property>
                 <style>
                   <class name="dialog-action-area"/>
                 </style>
index 22a0f3bfcede4372cae830a90dd82e4afd43afff..6ae9756c4f761ec11b66bd3a2dab7884934c4225 100644 (file)
@@ -10,9 +10,8 @@
       <object class="GtkBox">
         <property name="orientation">vertical</property>
         <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area1">
+          <object class="GtkBox" id="dialog-action_area1">
             <property name="margin">6</property>
-            <property name="layout-style">end</property>
             <property name="hexpand">1</property>
             <property name="halign">end</property>
           </object>
index aa0b2a05c81096ff0e13f6f3c4041daa7ffb4a74..5e2f42f50c31e5cf24e17d2034ef6c4b480bf941 100644 (file)
               </object>
             </child>
             <child>
-              <object class="GtkButtonBox" id="action_area">
+              <object class="GtkBox" id="action_area">
                 <property name="spacing">6</property>
                 <property name="margin">6</property>
-                <property name="layout-style">end</property>
+                <property name="halign">end</property>
               </object>
             </child>
             <child>
index 5c25350e2873257ed21ca6d066bfa5f0ca75d028..2df86a98e26eaa16d7d62b5805c82c48c2a8a110 100644 (file)
@@ -221,7 +221,7 @@ main (int argc, char *argv[])
   gtk_container_add (GTK_CONTAINER (scrolled), extra_hbox);
   gtk_widget_show (extra_hbox);
 
-  bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
+  bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
   gtk_box_set_spacing (GTK_BOX (bbox), 6);
   gtk_container_add (GTK_CONTAINER (box), bbox);
   gtk_widget_show (bbox);
index 1b32ce7c81fb0046f3a8f84c8f636dbf6c023279..9e33e469121c05a8e984575dd6c36a22e6794573 100644 (file)
@@ -18,7 +18,6 @@ gtk_tests = [
   ['testappchooserbutton'],
   ['testassistant'],
   ['testbaseline'],
-  ['testbbox'],
   ['testbox'],
   ['testboxcss'],
   ['testbuttons'],
index e61b649852080244514b534a0ffe3e066eb95623..806914399d58ee1dd4ca7e3438e51af88d462a87 100644 (file)
@@ -329,7 +329,7 @@ main (int    argc,
 
   for (j = 0; j < 3; j++)
     {
-      hbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
+      hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
       gtk_container_add (GTK_CONTAINER (vbox), hbox);
 
       gtk_box_set_baseline_position (GTK_BOX (hbox), j);
diff --git a/tests/testbbox.c b/tests/testbbox.c
deleted file mode 100644 (file)
index f550b75..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (C) 2006 Nokia Corporation.
- * Author: Xan Lopez <xan.lopez@nokia.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include <gtk/gtk.h>
-
-#define N_BUTTONS 3
-
-GtkWidget *bbox = NULL;
-GtkWidget *hbbox = NULL, *vbbox = NULL;
-
-static const char* styles[] = { "GTK_BUTTONBOX_SPREAD",
-                               "GTK_BUTTONBOX_EDGE",
-                               "GTK_BUTTONBOX_START",
-                               "GTK_BUTTONBOX_END",
-                               "GTK_BUTTONBOX_CENTER",
-                               "GTK_BUTTONBOX_EXPAND",
-                               NULL};
-
-static const char* types[] = { "GtkHButtonBox",
-                              "GtkVButtonBox",
-                              NULL};
-
-static void
-populate_combo_with (GtkComboBoxText *combo, const char** elements)
-{
-  int i;
-  
-  for (i = 0; elements[i] != NULL; i++) {
-    gtk_combo_box_text_append_text (combo, elements[i]);
-  }
-  
-  gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
-}
-
-static void
-combo_changed_cb (GtkComboBoxText *combo,
-                 gpointer user_data)
-{
-  gint active = gtk_combo_box_get_active (GTK_COMBO_BOX (combo));
-
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox),
-                            (GtkButtonBoxStyle) (active + 1));
-}
-
-static void
-reparent_widget (GtkWidget *widget,
-                GtkWidget *old_parent,
-                GtkWidget *new_parent)
-{
-  g_object_ref (widget);
-  gtk_container_remove (GTK_CONTAINER (old_parent), widget);
-  gtk_container_add (GTK_CONTAINER (new_parent), widget);
-  g_object_unref (widget);
-}
-
-static void
-combo_types_changed_cb (GtkComboBoxText *combo,
-                       GtkWidget **buttons)
-{
-  int i;
-  GtkWidget *old_parent, *new_parent;
-  GtkButtonBoxStyle style;
-
-  gint active = gtk_combo_box_get_active (GTK_COMBO_BOX (combo));
-
-  if (active == GTK_ORIENTATION_HORIZONTAL) {
-    old_parent = vbbox;
-    new_parent = hbbox;
-  } else {
-    old_parent = hbbox;
-    new_parent = vbbox;
-  }
-
-  bbox = new_parent;
-
-  for (i = 0; i < N_BUTTONS; i++) {
-    reparent_widget (buttons[i], old_parent, new_parent);
-  }
-  
-  gtk_widget_hide (old_parent);
-  style = gtk_button_box_get_layout (GTK_BUTTON_BOX (old_parent));
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (new_parent), style);
-  gtk_widget_show (new_parent);
-}
-
-static void
-option_cb (GtkToggleButton *option,
-          GtkWidget *button)
-{
-  gboolean active = gtk_toggle_button_get_active (option);
-  
-  gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (bbox),
-                                     button, active);
-}
-
-static const char* strings[] = { "Ok", "Cancel", "Help" };
-
-int
-main (int    argc,
-      char **argv)
-{
-  GtkWidget *window, *buttons[N_BUTTONS];
-  GtkWidget *vbox, *hbox, *combo_styles, *combo_types, *option;
-  int i;
-
-  gtk_init ();
-
-  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL);
-
-  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
-  gtk_container_add (GTK_CONTAINER (window), vbox);
-
-  /* GtkHButtonBox */
-
-  hbbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
-  gtk_container_add (GTK_CONTAINER (vbox), hbbox);
-
-  for (i = 0; i < N_BUTTONS; i++) {
-    buttons[i] = gtk_button_new_with_label (strings[i]);
-    gtk_container_add (GTK_CONTAINER (hbbox), buttons[i]);
-  }
-
-  bbox = hbbox;
-
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbbox), GTK_BUTTONBOX_SPREAD);
-
-  /* GtkVButtonBox */
-  vbbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
-  gtk_container_add (GTK_CONTAINER (vbox), vbbox);
-
-  /* Options */
-
-  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-  gtk_container_add (GTK_CONTAINER (vbox), hbox);
-
-  combo_types = gtk_combo_box_text_new ();
-  populate_combo_with (GTK_COMBO_BOX_TEXT (combo_types), types);
-  g_signal_connect (G_OBJECT (combo_types), "changed", G_CALLBACK (combo_types_changed_cb), buttons);
-  gtk_container_add (GTK_CONTAINER (hbox), combo_types);
-
-  combo_styles = gtk_combo_box_text_new ();
-  populate_combo_with (GTK_COMBO_BOX_TEXT (combo_styles), styles);
-  g_signal_connect (G_OBJECT (combo_styles), "changed", G_CALLBACK (combo_changed_cb), NULL);
-  gtk_container_add (GTK_CONTAINER (hbox), combo_styles);
-
-  option = gtk_check_button_new_with_label ("Help is secondary");
-  g_signal_connect (G_OBJECT (option), "toggled", G_CALLBACK (option_cb), buttons[N_BUTTONS - 1]);
-
-  gtk_container_add (GTK_CONTAINER (hbox), option);
-
-  gtk_widget_show (window);
-  gtk_widget_hide (vbbox);
-
-  gtk_main ();
-
-  return 0;
-}
index 499d101389c2f577e579d6d2ecca789eeede78a9..b89951e8cdb292169eb4067da8b128c8bf8af1dc 100644 (file)
@@ -663,8 +663,8 @@ create_calendar(void)
    *  Glue everything together
    */
 
-  bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
-  gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
+  bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+  gtk_widget_set_halign (bbox, GTK_ALIGN_END);
 
   button = gtk_button_new_with_label ("Close");
   g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
index e18419994bedb5eddd659361e15e3e10144211c1..ef0ffc619718092a03fc1438067006fc4a56c1d5 100644 (file)
@@ -706,7 +706,7 @@ main (int argc, char **argv)
 
   control_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 
-  vbbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
+  vbbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_container_add (GTK_CONTAINER (control_window), vbbox);
 
   button = gtk_button_new_with_mnemonic ("_Select all");
index bef02a00be07994a34cdbdaa6ce2f8d0fd2d29f0..37f403c3a92b22a1f23132da8f740bfd92c170a5 100644 (file)
@@ -597,122 +597,6 @@ create_radio_buttons (GtkWidget *widget)
     gtk_widget_destroy (window);
 }
 
-/*
- * GtkButtonBox
- */
-
-static GtkWidget *
-create_bbox (gint  horizontal,
-            char* title, 
-            gint  spacing,
-            gint  child_w,
-            gint  child_h,
-            gint  layout)
-{
-  GtkWidget *frame;
-  GtkWidget *bbox;
-  GtkWidget *button;
-       
-  frame = gtk_frame_new (title);
-
-  if (horizontal)
-    bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
-  else
-    bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
-
-  gtk_container_add (GTK_CONTAINER (frame), bbox);
-
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout);
-  gtk_box_set_spacing (GTK_BOX (bbox), spacing);
-  
-  button = gtk_button_new_with_label ("OK");
-  gtk_container_add (GTK_CONTAINER (bbox), button);
-  
-  button = gtk_button_new_with_label ("Cancel");
-  gtk_container_add (GTK_CONTAINER (bbox), button);
-  
-  button = gtk_button_new_with_label ("Help");
-  gtk_container_add (GTK_CONTAINER (bbox), button);
-
-  return frame;
-}
-
-static void
-create_button_box (GtkWidget *widget)
-{
-  static GtkWidget* window = NULL;
-  GtkWidget *main_vbox;
-  GtkWidget *vbox;
-  GtkWidget *hbox;
-  GtkWidget *frame_horz;
-  GtkWidget *frame_vert;
-
-  if (!window)
-  {
-    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-    gtk_window_set_display (GTK_WINDOW (window), gtk_widget_get_display (widget));
-    gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
-    
-    g_signal_connect (window, "destroy",
-                     G_CALLBACK (gtk_widget_destroyed),
-                     &window);
-
-    main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-    gtk_container_add (GTK_CONTAINER (window), main_vbox);
-
-    frame_horz = gtk_frame_new ("Horizontal Button Boxes");
-    gtk_widget_set_margin_top (frame_horz, 10);
-    gtk_widget_set_margin_bottom (frame_horz, 10);
-    gtk_container_add (GTK_CONTAINER (main_vbox), frame_horz);
-
-    vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-    gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "Spread", 40, 85, 20, GTK_BUTTONBOX_SPREAD));
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "Edge", 40, 85, 20, GTK_BUTTONBOX_EDGE));
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "Start", 40, 85, 20, GTK_BUTTONBOX_START));
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "End", 40, 85, 20, GTK_BUTTONBOX_END));
-
-    gtk_container_add (GTK_CONTAINER (vbox),
-                        create_bbox (TRUE, "Center", 40, 85, 20, GTK_BUTTONBOX_CENTER));
-
-    frame_vert = gtk_frame_new ("Vertical Button Boxes");
-    gtk_widget_set_margin_top (frame_vert, 10);
-    gtk_widget_set_margin_bottom (frame_vert, 10);
-    gtk_container_add (GTK_CONTAINER (main_vbox), frame_vert);
-
-    hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-    gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
-
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "Spread", 30, 85, 20, GTK_BUTTONBOX_SPREAD));
-
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "Edge", 30, 85, 20, GTK_BUTTONBOX_EDGE));
-
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "Start", 30, 85, 20, GTK_BUTTONBOX_START));
-
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "End", 30, 85, 20, GTK_BUTTONBOX_END));
-
-    gtk_container_add (GTK_CONTAINER (hbox),
-                        create_bbox (FALSE, "Center", 30, 85, 20, GTK_BUTTONBOX_CENTER));
-  }
-
-  if (!gtk_widget_get_visible (window))
-    gtk_widget_show (window);
-  else
-    gtk_widget_destroy (window);
-}
-
 /*
  * GtkToolBar
  */
@@ -3602,7 +3486,7 @@ create_forward_back (const char       *title,
                     GtkTextDirection  text_dir)
 {
   GtkWidget *frame = gtk_frame_new (title);
-  GtkWidget *bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
+  GtkWidget *bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
   GtkWidget *back_button = gtk_button_new_with_label ("Back");
   GtkWidget *forward_button = gtk_button_new_with_label ("Forward");
 
@@ -3902,7 +3786,8 @@ create_display_screen (GtkWidget *widget)
   gtk_grid_attach (GTK_GRID (grid), label_dpy, 0, 0, 1, 1);
   gtk_grid_attach (GTK_GRID (grid), combo_dpy, 0, 1, 1, 1);
 
-  bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
+  bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+  gtk_widget_set_halign (bbox, GTK_ALIGN_END);
   applyb = gtk_button_new_with_label ("_Apply");
   cancelb = gtk_button_new_with_label ("_Cancel");
   
@@ -6674,7 +6559,6 @@ struct {
 } buttons[] =
 {
   { "alpha window", create_alpha_window },
-  { "button box", create_button_box },
   { "buttons", create_buttons },
   { "check buttons", create_check_buttons },
   { "color selection", create_color_selection },
index 576133ad33aed9677e076fc5d07fe544d30f0f75..87250d57a0d3baf78155c1fe8a4544073914d62d 100644 (file)
@@ -539,8 +539,8 @@ main (gint argc, gchar **argv)
 
   gtk_paned_add2 (GTK_PANED (paned), scrolled_window);
 
-  bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_START);
+  bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+  gtk_widget_set_halign (bbox, GTK_ALIGN_START);
   gtk_container_add (GTK_CONTAINER (vbox), bbox);
 
   button = gtk_button_new_with_label ("Add some");
@@ -563,8 +563,8 @@ main (gint argc, gchar **argv)
   g_signal_connect (button, "clicked", G_CALLBACK (swap_rows), icon_list);
   gtk_container_add (GTK_CONTAINER (bbox), button);
 
-  bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_START);
+  bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+  gtk_widget_set_halign (bbox, GTK_ALIGN_START);
   gtk_container_add (GTK_CONTAINER (vbox), bbox);
 
   button = gtk_button_new_with_label ("Select all");
index f997c9209a87282672693f80a5f05bd543edc76a..c002eebd9636e872911646bcfd5b3da82c8aed0c 100644 (file)
@@ -69,17 +69,6 @@ main (int argc, char **argv)
   gtk_container_add (GTK_CONTAINER (box),
                   gtk_button_new_with_label ("GtkBox 3"));
 
-  /* GtkButtonBox */
-  box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
-  orientables = g_list_prepend (orientables, box);
-  gtk_grid_attach (GTK_GRID (grid), box, 1, 1, 1, 1);
-  gtk_container_add (GTK_CONTAINER (box),
-                  gtk_button_new_with_label ("GtkButtonBox 1"));
-  gtk_container_add (GTK_CONTAINER (box),
-                  gtk_button_new_with_label ("GtkButtonBox 2"));
-  gtk_container_add (GTK_CONTAINER (box),
-                  gtk_button_new_with_label ("GtkButtonBox 3"));
-
   /* GtkSeparator */
   box = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
   orientables = g_list_prepend (orientables, box);
index ad58c97833c4d5832e529a8886c884d7fb42fcef..b22f5fbf95e9cadd543bf888743c1c0ba16a3b2f 100644 (file)
@@ -792,8 +792,7 @@ main (int argc, char *argv[])
   vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
   gtk_container_add (GTK_CONTAINER (hbox), vbox2);
 
-  bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD);
+  bbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_container_add (GTK_CONTAINER (vbox2), bbox);
 
   button = gtk_button_new_with_mnemonic ("<< (_Q)");
@@ -810,8 +809,7 @@ main (int argc, char *argv[])
                     "changed", G_CALLBACK (selection_changed), button);
   gtk_container_add (GTK_CONTAINER (bbox), button);
 
-  bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD);
+  bbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_container_add (GTK_CONTAINER (vbox2), bbox);
 
   button = gtk_button_new_with_mnemonic ("<< (_E)");
index 73c2518a6d48cf5737efe8fdb0c1b8ee192ad759..2837c4a4ce73e4129daebce1c0829b9d9d13e006 100644 (file)
@@ -965,7 +965,7 @@ test_children (void)
 
   action_area = gtk_builder_get_object (builder, "dialog1-action_area");
   g_assert (action_area != NULL);
-  g_assert (GTK_IS_BUTTON_BOX (action_area));
+  g_assert (GTK_IS_BOX (action_area));
   g_assert (gtk_orientable_get_orientation (GTK_ORIENTABLE (action_area)) == GTK_ORIENTATION_HORIZONTAL);
   g_assert (gtk_widget_get_parent (GTK_WIDGET (action_area)) != NULL);
   g_assert (gtk_buildable_get_name (GTK_BUILDABLE (action_area)) != NULL);