G_DEFINE_TYPE(AspectBin, aspect_bin, GTK_TYPE_BIN)
-static void aspect_bin_init(AspectBin *ab)
+static void aspect_bin_init(AspectBin *abin)
{
- ab->child = NULL;
- ab->ratio = 1;
- ab->constrain = FALSE;
- ab->align = 0;
+ abin->body = NULL;
+ abin->ratio = 1;
+ abin->constrain = FALSE;
+ abin->align = 0;
}
-static void aspect_bin_class_init(AspectBinClass *abc)
+static void aspect_bin_class_init(AspectBinClass *class)
{
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(abc);
- GtkContainerClass *container_class = GTK_CONTAINER_CLASS(abc);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(class);
+ GtkContainerClass *container_class = GTK_CONTAINER_CLASS(class);
widget_class->size_request = aspect_bin_size_request;
widget_class->size_allocate = aspect_bin_size_allocate;
{
AspectBin *abin = ASPECT_BIN(container);
- if (abin->child == child) {
+ if (abin->body == child) {
aspect_bin_set_body_widget(abin, NULL, 1);
} else {
GTK_CONTAINER_CLASS(aspect_bin_parent_class)->remove
if (bin->child)
callback(bin->child, callback_data);
- if (abin->child)
- callback(abin->child, callback_data);
+ if (abin->body)
+ callback(abin->body, callback_data);
}
static void
gtk_widget_size_request(bin->child, &creq);
}
- if (abin->child && GTK_WIDGET_VISIBLE(abin->child)) {
+ if (abin->body && GTK_WIDGET_VISIBLE(abin->body)) {
int wtmp, htmp;
- gtk_widget_size_request(abin->child, &areq);
+ gtk_widget_size_request(abin->body, &areq);
wtmp = areq.height * abin->ratio + 0.5;
htmp = areq.width / abin->ratio + 0.5;
GtkAllocation csize = {0}, asize = {0};
/* First find the best fit for the constrained child. */
- if (abin->child && GTK_WIDGET_VISIBLE(abin->child)) {
+ if (abin->body && GTK_WIDGET_VISIBLE(abin->body)) {
asize.height = allocation->height;
asize.width = asize.height * abin->ratio + 0.5;
if (bin->child)
gtk_widget_size_allocate(bin->child, &csize);
- if (abin->child)
- gtk_widget_size_allocate(abin->child, &asize);
+ if (abin->body)
+ gtk_widget_size_allocate(abin->body, &asize);
}
void
-aspect_bin_set_body_widget(AspectBin *ab, GtkWidget *widget, gfloat ratio)
+aspect_bin_set_body_widget(AspectBin *abin, GtkWidget *widget, gfloat ratio)
{
gboolean need_resize = FALSE;
- g_return_if_fail(IS_ASPECT_BIN(ab));
+ g_return_if_fail(IS_ASPECT_BIN(abin));
g_return_if_fail(widget == NULL || GTK_IS_WIDGET(widget));
g_return_if_fail(widget == NULL || widget->parent == NULL);
- if (ab->child == widget)
+ if (abin->body == widget)
return;
- if (ab->child) {
- need_resize |= GTK_WIDGET_VISIBLE(ab->child);
- gtk_widget_unparent(ab->child);
+ if (abin->body) {
+ need_resize |= GTK_WIDGET_VISIBLE(abin->body);
+ gtk_widget_unparent(abin->body);
}
- ab->child = widget;
+ abin->body = widget;
if (widget) {
- gtk_widget_set_parent(widget, GTK_WIDGET(ab));
+ gtk_widget_set_parent(widget, GTK_WIDGET(abin));
need_resize |= GTK_WIDGET_VISIBLE(widget);
}
- if (GTK_WIDGET_VISIBLE(ab) && need_resize)
- gtk_widget_queue_resize(GTK_WIDGET(ab));
+ if (GTK_WIDGET_VISIBLE(abin) && need_resize)
+ gtk_widget_queue_resize(GTK_WIDGET(abin));
}