Prepare for size_request removal in GTK3

https://bugzilla.gnome.org/show_bug.cgi?id=633321
This commit is contained in:
Matthias Clasen 2010-11-08 14:07:47 +01:00 committed by Rodrigo Moya
parent 55a02383f2
commit f5f5aac5c0
3 changed files with 61 additions and 39 deletions

View file

@ -189,17 +189,26 @@ cc_timezone_map_finalize (GObject *object)
/* GtkWidget functions */
static void
cc_timezone_map_size_request (GtkWidget *widget,
GtkRequisition *req)
cc_timezone_map_get_preferred_width (GtkWidget *widget,
gint *minimum,
gint *natural)
{
CcTimezoneMapPrivate *priv = CC_TIMEZONE_MAP (widget)->priv;
GTK_WIDGET_CLASS (cc_timezone_map_parent_class)->size_request (widget, req);
req->width = gdk_pixbuf_get_width (priv->orig_background) * 0.6;
req->height = gdk_pixbuf_get_height (priv->orig_background) * 0.6;
/* FIXME: should natural == full pixmap size ? */
*minimum = *natural = gdk_pixbuf_get_width (priv->orig_background) * 0.6;
}
static void
cc_timezone_map_get_preferred_height (GtkWidget *widget,
gint *minimum,
gint *natural)
{
CcTimezoneMapPrivate *priv = CC_TIMEZONE_MAP (widget)->priv;
/* FIXME: should natural == full pixmap size ? */
*minimum = *natural = gdk_pixbuf_get_height (priv->orig_background) * 0.6;
}
static void
cc_timezone_map_size_allocate (GtkWidget *widget,
GtkAllocation *allocation)
@ -392,7 +401,8 @@ cc_timezone_map_class_init (CcTimezoneMapClass *klass)
object_class->dispose = cc_timezone_map_dispose;
object_class->finalize = cc_timezone_map_finalize;
widget_class->size_request = cc_timezone_map_size_request;
widget_class->get_preferred_width = cc_timezone_map_get_preferred_width;
widget_class->get_preferred_height = cc_timezone_map_get_preferred_height;
widget_class->size_allocate = cc_timezone_map_size_allocate;
widget_class->realize = cc_timezone_map_realize;
widget_class->draw = cc_timezone_map_draw;

View file

@ -117,10 +117,14 @@ enum {
static guint signals [LAST_SIGNAL] = { 0 };
static void foo_scroll_area_size_request (GtkWidget *widget,
GtkRequisition *requisition);
static gboolean foo_scroll_area_draw (GtkWidget *widget,
cairo_t *cr);
static void foo_scroll_area_get_preferred_width (GtkWidget *widget,
gint *minimum,
gint *natural);
static void foo_scroll_area_get_preferred_height (GtkWidget *widget,
gint *minimum,
gint *natural);
static void foo_scroll_area_size_allocate (GtkWidget *widget,
GtkAllocation *allocation);
static void foo_scroll_area_set_hadjustment (FooScrollArea *scroll_area,
@ -224,7 +228,8 @@ foo_scroll_area_class_init (FooScrollAreaClass *class)
object_class->set_property = foo_scroll_area_set_property;
object_class->get_property = foo_scroll_area_get_property;
widget_class->size_request = foo_scroll_area_size_request;
widget_class->get_preferred_width = foo_scroll_area_get_preferred_width;
widget_class->get_preferred_height = foo_scroll_area_get_preferred_height;
widget_class->draw = foo_scroll_area_draw;
widget_class->size_allocate = foo_scroll_area_size_allocate;
widget_class->realize = foo_scroll_area_realize;
@ -944,17 +949,23 @@ foo_scroll_area_set_size (FooScrollArea *scroll_area,
}
static void
foo_scroll_area_size_request (GtkWidget *widget,
GtkRequisition *requisition)
foo_scroll_area_get_preferred_width (GtkWidget *widget,
gint *minimum,
gint *natural)
{
FooScrollArea *scroll_area = FOO_SCROLL_AREA (widget);
requisition->width = scroll_area->priv->min_width;
requisition->height = scroll_area->priv->min_height;
#if 0
g_print ("request %d %d\n", requisition->width, requisition->height);
#endif
*minimum = *natural = scroll_area->priv->min_width;
}
static void
foo_scroll_area_get_preferred_height (GtkWidget *widget,
gint *minimum,
gint *natural)
{
FooScrollArea *scroll_area = FOO_SCROLL_AREA (widget);
*minimum = *natural = scroll_area->priv->min_height;
}
static void