From 1c78495f3dd05febf84085cb665fc83d338ec2c3 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Mon, 23 Jul 2012 17:19:50 +0100 Subject: Drop use of size-request in button and sp-widget (GTK3) (bzr r11564) --- src/widgets/sp-widget.cpp | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) (limited to 'src/widgets/sp-widget.cpp') diff --git a/src/widgets/sp-widget.cpp b/src/widgets/sp-widget.cpp index 58b33a489..8d840da25 100644 --- a/src/widgets/sp-widget.cpp +++ b/src/widgets/sp-widget.cpp @@ -41,7 +41,7 @@ public: static void dispose(GObject *object); static void show(GtkWidget *widget); static void hide(GtkWidget *widget); - static void sizeRequest(GtkWidget *widget, GtkRequisition *requisition); + #if GTK_CHECK_VERSION(3,0,0) static void getPreferredWidth(GtkWidget *widget, gint *minimal_width, @@ -52,8 +52,10 @@ public: gint *natural_height); static gboolean draw(GtkWidget *widget, cairo_t *cr); #else + static void sizeRequest(GtkWidget *widget, GtkRequisition *requisition); static gboolean expose(GtkWidget *widget, GdkEventExpose *event); #endif + static void sizeAllocate(GtkWidget *widget, GtkAllocation *allocation); static void modifySelectionCB(Application *inkscape, Selection *selection, guint flags, SPWidget *spw); static void changeSelectionCB(Application *inkscape, Selection *selection, SPWidget *spw); @@ -247,31 +249,35 @@ gboolean SPWidgetImpl::expose(GtkWidget *widget, GdkEventExpose *event) return FALSE; } -void SPWidgetImpl::sizeRequest(GtkWidget *widget, GtkRequisition *requisition) +#if GTK_CHECK_VERSION(3,0,0) +void SPWidgetImpl::getPreferredWidth(GtkWidget *widget, gint *minimal_width, gint *natural_width) { GtkBin *bin = GTK_BIN(widget); GtkWidget *child = gtk_bin_get_child(bin); - if (child) { - gtk_widget_size_request(child, requisition); + if(child) { + gtk_widget_get_preferred_width(child, minimal_width, natural_width); } } -#if GTK_CHECK_VERSION(3,0,0) -void SPWidgetImpl::getPreferredWidth(GtkWidget *widget, gint *minimal_width, gint *natural_width) +void SPWidgetImpl::getPreferredHeight(GtkWidget *widget, gint *minimal_height, gint *natural_height) { - GtkRequisition requisition; - sizeRequest(widget, &requisition); - *minimal_width = requisition.width; - *natural_width = requisition.width; -} + GtkBin *bin = GTK_BIN(widget); + GtkWidget *child = gtk_bin_get_child(bin); -void SPWidgetImpl::getPreferredHeight(GtkWidget *widget, gint *minimal_height, gint *natural_height) + if(child) { + gtk_widget_get_preferred_height(child, minimal_height, natural_height); + } +} +#else +void SPWidgetImpl::sizeRequest(GtkWidget *widget, GtkRequisition *requisition) { - GtkRequisition requisition; - sizeRequest(widget, &requisition); - *minimal_height = requisition.height; - *natural_height = requisition.height; + GtkBin *bin = GTK_BIN(widget); + GtkWidget *child = gtk_bin_get_child(bin); + + if (child) { + gtk_widget_size_request(child, requisition); + } } #endif -- cgit v1.2.3