diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-02-04 12:44:55 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-02-04 12:44:55 -0500 |
commit | 51207489813ebef7f143dcded70fab4a3edff612 (patch) | |
tree | e45da36bd09946f2dc21d44ab78510bf28c6c6c4 | |
parent | 25e199e7b789894f020ec740ff4a9419207f6a61 (diff) | |
download | gtk+-51207489813ebef7f143dcded70fab4a3edff612.tar.gz |
Drop GtkButtonBox
This widget does not seem worth keeping,
and we want to get rid of child properties.
31 files changed, 29 insertions, 1702 deletions
diff --git a/demos/gtk-demo/button_box.c b/demos/gtk-demo/button_box.c deleted file mode 100644 index 1dd1b9a65b..0000000000 --- a/demos/gtk-demo/button_box.c +++ /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; -} diff --git a/demos/gtk-demo/demo.gresource.xml b/demos/gtk-demo/demo.gresource.xml index bbf603e1ad..d686f02b21 100644 --- a/demos/gtk-demo/demo.gresource.xml +++ b/demos/gtk-demo/demo.gresource.xml @@ -143,7 +143,6 @@ <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> diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build index 93c2902575..df8db17414 100644 --- a/demos/gtk-demo/meson.build +++ b/demos/gtk-demo/meson.build @@ -4,7 +4,6 @@ demos = files([ 'application_demo.c', 'assistant.c', 'builder.c', - 'button_box.c', 'changedisplay.c', 'clipboard.c', 'colorsel.c', diff --git a/examples/hello-world.c b/examples/hello-world.c index f6cb55bc3c..4005d66ca9 100644 --- a/examples/hello-world.c +++ b/examples/hello-world.c @@ -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); } diff --git a/gtk/gtk-autocleanups.h b/gtk/gtk-autocleanups.h index 118779d1fa..8966a3dca1 100644 --- a/gtk/gtk-autocleanups.h +++ b/gtk/gtk-autocleanups.h @@ -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) @@ -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> diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index 6503f4ddaf..0fecd74e30 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -34,7 +34,6 @@ #include "gtkaboutdialog.h" #include "gtkbutton.h" -#include "gtkbbox.h" #include "gtkdialog.h" #include "gtkgrid.h" #include "gtkbox.h" diff --git a/gtk/gtkappchooserdialog.c b/gtk/gtkappchooserdialog.c index ab382e9d02..80143686ec 100644 --- a/gtk/gtkappchooserdialog.c +++ b/gtk/gtkappchooserdialog.c @@ -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 index c9bccc0c6a..0000000000 --- a/gtk/gtkbbox.c +++ /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 index 9b92665bf2..0000000000 --- a/gtk/gtkbbox.h +++ /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__ */ diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c index 5e5ce9fd65..944e4d6704 100644 --- a/gtk/gtkbuilder.c +++ b/gtk/gtkbuilder.c @@ -171,7 +171,7 @@ * <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> diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index 3604c592c9..b183f37718 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -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 diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 0dd737e418..e6ea7b3bb4 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -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 { diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c index faf1e6af4d..2b469fbfcb 100644 --- a/gtk/gtkinfobar.c +++ b/gtk/gtkinfobar.c @@ -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); diff --git a/gtk/gtkmessagedialog.c b/gtk/gtkmessagedialog.c index 19ebd784ba..e98a0ffb99 100644 --- a/gtk/gtkmessagedialog.c +++ b/gtk/gtkmessagedialog.c @@ -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); diff --git a/gtk/meson.build b/gtk/meson.build index e45b18bf8e..f11ce957c3 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -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', diff --git a/gtk/ui/gtkappchooserdialog.ui b/gtk/ui/gtkappchooserdialog.ui index 27a0a62114..6a3e0461a2 100644 --- a/gtk/ui/gtkappchooserdialog.ui +++ b/gtk/ui/gtkappchooserdialog.ui @@ -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> diff --git a/gtk/ui/gtkdialog.ui b/gtk/ui/gtkdialog.ui index 1bd869b6c5..6780d241c7 100644 --- a/gtk/ui/gtkdialog.ui +++ b/gtk/ui/gtkdialog.ui @@ -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> diff --git a/gtk/ui/gtkfilechooserdialog.ui b/gtk/ui/gtkfilechooserdialog.ui index 22a0f3bfce..6ae9756c4f 100644 --- a/gtk/ui/gtkfilechooserdialog.ui +++ b/gtk/ui/gtkfilechooserdialog.ui @@ -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> diff --git a/gtk/ui/gtkinfobar.ui b/gtk/ui/gtkinfobar.ui index aa0b2a05c8..5e2f42f50c 100644 --- a/gtk/ui/gtkinfobar.ui +++ b/gtk/ui/gtkinfobar.ui @@ -15,10 +15,10 @@ </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> diff --git a/tests/gdkgears.c b/tests/gdkgears.c index 5c25350e28..2df86a98e2 100644 --- a/tests/gdkgears.c +++ b/tests/gdkgears.c @@ -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); diff --git a/tests/meson.build b/tests/meson.build index 1b32ce7c81..9e33e46912 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -18,7 +18,6 @@ gtk_tests = [ ['testappchooserbutton'], ['testassistant'], ['testbaseline'], - ['testbbox'], ['testbox'], ['testboxcss'], ['testbuttons'], diff --git a/tests/testbaseline.c b/tests/testbaseline.c index e61b649852..806914399d 100644 --- a/tests/testbaseline.c +++ b/tests/testbaseline.c @@ -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 index f550b759fe..0000000000 --- a/tests/testbbox.c +++ /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; -} diff --git a/tests/testcalendar.c b/tests/testcalendar.c index 499d101389..b89951e8cd 100644 --- a/tests/testcalendar.c +++ b/tests/testcalendar.c @@ -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); diff --git a/tests/testfilechooser.c b/tests/testfilechooser.c index e18419994b..ef0ffc6197 100644 --- a/tests/testfilechooser.c +++ b/tests/testfilechooser.c @@ -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"); diff --git a/tests/testgtk.c b/tests/testgtk.c index bef02a00be..37f403c3a9 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -598,122 +598,6 @@ create_radio_buttons (GtkWidget *widget) } /* - * 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 }, diff --git a/tests/testiconview.c b/tests/testiconview.c index 576133ad33..87250d57a0 100644 --- a/tests/testiconview.c +++ b/tests/testiconview.c @@ -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"); diff --git a/tests/testorientable.c b/tests/testorientable.c index f997c9209a..c002eebd96 100644 --- a/tests/testorientable.c +++ b/tests/testorientable.c @@ -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); diff --git a/tests/testtreecolumns.c b/tests/testtreecolumns.c index ad58c97833..b22f5fbf95 100644 --- a/tests/testtreecolumns.c +++ b/tests/testtreecolumns.c @@ -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)"); diff --git a/testsuite/gtk/builder.c b/testsuite/gtk/builder.c index 73c2518a6d..2837c4a4ce 100644 --- a/testsuite/gtk/builder.c +++ b/testsuite/gtk/builder.c @@ -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); |