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)
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)
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)
{