From fcb512f4080197be331d26eca4d2384e20b18e3f Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Sat, 14 Mar 2009 20:29:01 -0400 Subject: [PATCH] Implement container's child_type method. --- aspectbin.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/aspectbin.c b/aspectbin.c index 1b2af29..7e9095f 100644 --- a/aspectbin.c +++ b/aspectbin.c @@ -5,6 +5,7 @@ static void aspect_bin_size_request(GtkWidget *, GtkRequisition *); static void aspect_bin_size_allocate(GtkWidget *, GtkAllocation *); static void aspect_bin_remove(GtkContainer *, GtkWidget *); static void aspect_bin_forall(GtkContainer *, gboolean, GtkCallback, gpointer); +static GType aspect_bin_child_type(GtkContainer *); G_DEFINE_TYPE(AspectBin, aspect_bin, GTK_TYPE_CONTAINER) @@ -27,8 +28,9 @@ static void aspect_bin_class_init(AspectBinClass *class) widget_class->size_request = aspect_bin_size_request; widget_class->size_allocate = aspect_bin_size_allocate; - container_class->remove = aspect_bin_remove; - container_class->forall = aspect_bin_forall; + container_class->remove = aspect_bin_remove; + container_class->forall = aspect_bin_forall; + container_class->child_type = aspect_bin_child_type; } GtkWidget *aspect_bin_new(void) @@ -61,6 +63,13 @@ static void aspect_bin_forall(GtkContainer *container, callback(abin->side, callback_data); } +static GType aspect_bin_child_type(GtkContainer *container) +{ + if (!ASPECT_BIN(container)->body || !ASPECT_BIN(container)->side) + return GTK_TYPE_WIDGET; + return G_TYPE_NONE; +} + static void aspect_bin_size_request(GtkWidget *widget, GtkRequisition *requisition) { -- 2.43.0