diff --git a/docs/reference/gtk/gtk4-docs.xml b/docs/reference/gtk/gtk4-docs.xml index 9c1a7cfdce..63cc7d7579 100644 --- a/docs/reference/gtk/gtk4-docs.xml +++ b/docs/reference/gtk/gtk4-docs.xml @@ -304,7 +304,6 @@ Abstract Base Classes - diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt index b87b73fff4..2123854971 100644 --- a/docs/reference/gtk/gtk4-sections.txt +++ b/docs/reference/gtk/gtk4-sections.txt @@ -211,24 +211,6 @@ GTK_ASPECT_FRAME_GET_CLASS gtk_aspect_frame_get_type -
-gtkbin -GtkBin -GtkBin -GtkBinClass -gtk_bin_get_child - -GTK_BIN -GTK_IS_BIN -GTK_TYPE_BIN -GTK_BIN_CLASS -GTK_IS_BIN_CLASS -GTK_BIN_GET_CLASS - -GtkBinPrivate -gtk_bin_get_type -
-
gtkbox GtkBox diff --git a/docs/reference/gtk/gtk4.types.in b/docs/reference/gtk/gtk4.types.in index 5ae7a4e3af..6fa275416c 100644 --- a/docs/reference/gtk/gtk4.types.in +++ b/docs/reference/gtk/gtk4.types.in @@ -16,7 +16,6 @@ gtk_application_window_get_type gtk_aspect_frame_get_type gtk_assistant_get_type gtk_assistant_page_get_type -gtk_bin_get_type gtk_bin_layout_get_type gtk_box_get_type gtk_box_layout_get_type diff --git a/gtk/gtk.h b/gtk/gtk.h index a51891e9bc..e9bf5e1cff 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -46,7 +46,6 @@ #include #include #include -#include #include #include #include diff --git a/gtk/gtkbin.c b/gtk/gtkbin.c deleted file mode 100644 index 62f2245a77..0000000000 --- a/gtk/gtkbin.c +++ /dev/null @@ -1,209 +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 . - */ - -/* - * 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:gtkbin - * @Short_description: A container with just one child - * @Title: GtkBin - * - * The #GtkBin widget is a container with just one child. - * It is not very useful itself, but it is useful for deriving subclasses, - * since it provides common code needed for handling a single child widget. - * - * Many GTK+ widgets are subclasses of #GtkBin, including #GtkWindow, - * #GtkButton, #GtkFrame or #GtkScrolledWindow. - */ - -#include "config.h" -#include "gtkwidgetprivate.h" -#include "gtkbin.h" - - -typedef struct -{ - GtkWidget *child; -} GtkBinPrivate; - -G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GtkBin, gtk_bin, GTK_TYPE_CONTAINER) - -static void -gtk_bin_size_allocate (GtkWidget *widget, - int width, - int height, - int baseline) -{ - GtkBin *bin = GTK_BIN (widget); - GtkBinPrivate *priv = gtk_bin_get_instance_private (bin); - - if (priv->child && _gtk_widget_get_visible (priv->child)) - gtk_widget_size_allocate (priv->child, - &(GtkAllocation) { - 0, 0, - width, height - }, baseline); -} - -static GType -gtk_bin_child_type (GtkContainer *container) -{ - GtkBinPrivate *priv = gtk_bin_get_instance_private (GTK_BIN (container)); - - if (!priv->child) - return GTK_TYPE_WIDGET; - else - return G_TYPE_NONE; -} - -static void -gtk_bin_add (GtkContainer *container, - GtkWidget *child) -{ - GtkBin *bin = GTK_BIN (container); - GtkBinPrivate *priv = gtk_bin_get_instance_private (bin); - - if (priv->child != NULL) - { - g_warning ("Attempting to add a widget with type %s to a %s, " - "but as a GtkBin subclass a %s can only contain one widget at a time; " - "it already contains a widget of type %s", - g_type_name (G_OBJECT_TYPE (child)), - g_type_name (G_OBJECT_TYPE (bin)), - g_type_name (G_OBJECT_TYPE (bin)), - g_type_name (G_OBJECT_TYPE (priv->child))); - return; - } - - gtk_widget_set_parent (child, GTK_WIDGET (bin)); - priv->child = child; -} - -static void -gtk_bin_remove (GtkContainer *container, - GtkWidget *child) -{ - GtkBin *bin = GTK_BIN (container); - GtkBinPrivate *priv = gtk_bin_get_instance_private (bin); - gboolean widget_was_visible; - - g_return_if_fail (priv->child == child); - - widget_was_visible = gtk_widget_get_visible (child); - - gtk_widget_unparent (child); - priv->child = NULL; - - /* queue resize regardless of gtk_widget_get_visible (container), - * since that's what is needed by toplevels, which derive from GtkBin. - */ - if (widget_was_visible) - gtk_widget_queue_resize (GTK_WIDGET (container)); -} - -static void -gtk_bin_forall (GtkContainer *container, - GtkCallback callback, - gpointer callback_data) -{ - GtkBin *bin = GTK_BIN (container); - GtkBinPrivate *priv = gtk_bin_get_instance_private (bin); - - if (priv->child) - (* callback) (priv->child, callback_data); -} - -static void -gtk_bin_measure (GtkWidget *widget, - GtkOrientation orientation, - int for_size, - int *minimum, - int *natural, - int *minimum_baseline, - int *natural_baseline) -{ - GtkBinPrivate *priv = gtk_bin_get_instance_private (GTK_BIN (widget)); - - if (priv->child != NULL && _gtk_widget_get_visible (priv->child)) - { - gtk_widget_measure (priv->child, - orientation, - for_size, - minimum, natural, - minimum_baseline, natural_baseline); - } - else - { - *minimum = 0; - *natural = 0; - } -} - -static void -gtk_bin_class_init (GtkBinClass *class) -{ - GtkWidgetClass *widget_class = (GtkWidgetClass*) class; - GtkContainerClass *container_class = (GtkContainerClass*) class; - - widget_class->measure = gtk_bin_measure; - widget_class->size_allocate = gtk_bin_size_allocate; - - container_class->add = gtk_bin_add; - container_class->remove = gtk_bin_remove; - container_class->forall = gtk_bin_forall; - container_class->child_type = gtk_bin_child_type; -} - -static void -gtk_bin_init (GtkBin *bin) -{ -} - -/** - * gtk_bin_get_child: - * @bin: a #GtkBin - * - * Gets the child of the #GtkBin, or %NULL if the bin contains - * no child widget. The returned widget does not have a reference - * added, so you do not need to unref it. - * - * Returns: (transfer none) (nullable): the child of @bin, or %NULL if it does - * not have a child. - **/ -GtkWidget* -gtk_bin_get_child (GtkBin *bin) -{ - GtkBinPrivate *priv = gtk_bin_get_instance_private (bin); - - g_return_val_if_fail (GTK_IS_BIN (bin), NULL); - - return priv->child; -} - -void -_gtk_bin_set_child (GtkBin *bin, - GtkWidget *widget) -{ - GtkBinPrivate *priv = gtk_bin_get_instance_private (bin); - - priv->child = widget; -} diff --git a/gtk/gtkbin.h b/gtk/gtkbin.h deleted file mode 100644 index 72010a06e1..0000000000 --- a/gtk/gtkbin.h +++ /dev/null @@ -1,80 +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 . - */ - -/* - * 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_BIN_H__ -#define __GTK_BIN_H__ - - -#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - -#include - -G_BEGIN_DECLS - -#define GTK_TYPE_BIN (gtk_bin_get_type ()) -#define GTK_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BIN, GtkBin)) -#define GTK_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BIN, GtkBinClass)) -#define GTK_IS_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BIN)) -#define GTK_IS_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BIN)) -#define GTK_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BIN, GtkBinClass)) - - -typedef struct _GtkBin GtkBin; -typedef struct _GtkBinClass GtkBinClass; - -struct _GtkBin -{ - GtkContainer parent_instance; -}; - -/** - * GtkBinClass: - * @parent_class: The parent class. - */ -struct _GtkBinClass -{ - GtkContainerClass parent_class; - - /*< private >*/ - - gpointer padding[8]; -}; - - -GDK_AVAILABLE_IN_ALL -GType gtk_bin_get_type (void) G_GNUC_CONST; - -GDK_AVAILABLE_IN_ALL -GtkWidget *gtk_bin_get_child (GtkBin *bin); - -void _gtk_bin_set_child (GtkBin *bin, - GtkWidget *widget); - -G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkBin, g_object_unref) - -G_END_DECLS - -#endif /* __GTK_BIN_H__ */ diff --git a/gtk/gtkcellrenderercombo.c b/gtk/gtkcellrenderercombo.c index 61de046f04..15c8b649f2 100644 --- a/gtk/gtkcellrenderercombo.c +++ b/gtk/gtkcellrenderercombo.c @@ -19,7 +19,6 @@ #include #include "gtkintl.h" -#include "gtkbin.h" #include "gtkentry.h" #include "gtkcelllayout.h" #include "gtkcellrenderercombo.h" diff --git a/gtk/gtkexpander.h b/gtk/gtkexpander.h index 0970ed74e7..e1e7afef3f 100644 --- a/gtk/gtkexpander.h +++ b/gtk/gtkexpander.h @@ -26,7 +26,7 @@ #error "Only can be included directly." #endif -#include +#include G_BEGIN_DECLS diff --git a/gtk/inspector/action-editor.c b/gtk/inspector/action-editor.c index b435fcee7f..ba8f227c92 100644 --- a/gtk/inspector/action-editor.c +++ b/gtk/inspector/action-editor.c @@ -23,7 +23,6 @@ #include "gtksizegroup.h" #include "gtktogglebutton.h" #include "gtkentry.h" -#include "gtkbin.h" #include "gtklabel.h" struct _GtkInspectorActionEditorPrivate diff --git a/gtk/meson.build b/gtk/meson.build index 108fa2826e..3307c1aac1 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -159,7 +159,6 @@ gtk_public_sources = files([ 'gtkapplicationwindow.c', 'gtkaspectframe.c', 'gtkassistant.c', - 'gtkbin.c', 'gtkbinlayout.c', 'gtkborder.c', 'gtkboxlayout.c', @@ -415,7 +414,6 @@ gtk_public_headers = files([ 'gtkapplicationwindow.h', 'gtkaspectframe.h', 'gtkassistant.h', - 'gtkbin.h', 'gtkbinlayout.h', 'gtkborder.h', 'gtkbox.h',