pspp_sheet_view_class_init: Change size_request method to get_preferred_height/width
authorJohn Darrington <john@darrington.wattle.id.au>
Tue, 28 May 2013 08:42:00 +0000 (10:42 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Wed, 29 May 2013 04:58:20 +0000 (06:58 +0200)
src/ui/gui/pspp-sheet-view.c

index fa01b1860f14cb0fa20889e3d3e6863904257f29..c77dadb8f64b044cbb0ac2e7bfaf33626711259f 100644 (file)
@@ -453,6 +453,30 @@ G_DEFINE_TYPE_WITH_CODE (PsppSheetView, pspp_sheet_view, GTK_TYPE_CONTAINER,
                         G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                pspp_sheet_view_buildable_init))
 
+static void
+pspp_sheet_view_get_preferred_width (GtkWidget *widget,
+                               gint      *minimal_width,
+                               gint      *natural_width)
+{
+  GtkRequisition requisition;
+
+  pspp_sheet_view_size_request (widget, &requisition);
+
+  *minimal_width = *natural_width = requisition.width;
+}
+
+static void
+pspp_sheet_view_get_preferred_height (GtkWidget *widget,
+                                gint      *minimal_height,
+                                gint      *natural_height)
+{
+  GtkRequisition requisition;
+
+  pspp_sheet_view_size_request (widget, &requisition);
+
+  *minimal_height = *natural_height = requisition.height;
+}
+
 static void
 pspp_sheet_view_class_init (PsppSheetViewClass *class)
 {
@@ -481,7 +505,8 @@ pspp_sheet_view_class_init (PsppSheetViewClass *class)
   widget_class->map = pspp_sheet_view_map;
   widget_class->realize = pspp_sheet_view_realize;
   widget_class->unrealize = pspp_sheet_view_unrealize;
-  widget_class->size_request = pspp_sheet_view_size_request;
+  widget_class->get_preferred_width = pspp_sheet_view_get_preferred_width;
+  widget_class->get_preferred_height = pspp_sheet_view_get_preferred_height;
   widget_class->size_allocate = pspp_sheet_view_size_allocate;
   widget_class->button_press_event = pspp_sheet_view_button_press;
   widget_class->button_release_event = pspp_sheet_view_button_release;