- static guint bin_type = 0;
-
- if (!bin_type)
- {
- static const GtkTypeInfo bin_info =
- {
- "GtkBin",
- sizeof (GtkBin),
- sizeof (GtkBinClass),
- (GtkClassInitFunc) gtk_bin_class_init,
- (GtkObjectInitFunc) gtk_bin_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- bin_type = gtk_type_unique (GTK_TYPE_CONTAINER, &bin_info);
- }
-
- return bin_type;
-}
+ GtkWidget *child;
+};
+
+static void gtk_bin_add (GtkContainer *container,
+ GtkWidget *widget);
+static void gtk_bin_remove (GtkContainer *container,
+ GtkWidget *widget);
+static void gtk_bin_forall (GtkContainer *container,
+ gboolean include_internals,
+ GtkCallback callback,
+ gpointer callback_data);
+static GType gtk_bin_child_type (GtkContainer *container);
+
+static void gtk_bin_get_preferred_width (GtkWidget *widget,
+ gint *minimum_width,
+ gint *natural_width);
+static void gtk_bin_get_preferred_height (GtkWidget *widget,
+ gint *minimum_height,
+ gint *natural_height);
+static void gtk_bin_get_preferred_width_for_height (GtkWidget *widget,
+ gint height,
+ gint *minimum_width,
+ gint *natural_width);
+static void gtk_bin_get_preferred_height_for_width (GtkWidget *widget,
+ gint width,
+ gint *minimum_height,
+ gint *natural_height);
+static void gtk_bin_size_allocate (GtkWidget *widget,
+ GtkAllocation *allocation);
+
+G_DEFINE_ABSTRACT_TYPE (GtkBin, gtk_bin, GTK_TYPE_CONTAINER)