diff options
Diffstat (limited to 'src/widgets/ruler.cpp')
| -rw-r--r-- | src/widgets/ruler.cpp | 77 |
1 files changed, 70 insertions, 7 deletions
diff --git a/src/widgets/ruler.cpp b/src/widgets/ruler.cpp index a76bf3081..b4fbb13c5 100644 --- a/src/widgets/ruler.cpp +++ b/src/widgets/ruler.cpp @@ -61,6 +61,17 @@ static void gtk_deprecated_ruler_realize (GtkWidget *widget); static void gtk_deprecated_ruler_unrealize (GtkWidget *widget); static void gtk_deprecated_ruler_size_request (GtkWidget *widget, GtkRequisition *requisition); + +#if GTK_CHECK_VERSION(3,0,0) +static void gtk_deprecated_ruler_get_preferred_width(GtkWidget *widget, + gint *minimal_width, + gint *natural_width); + +static void gtk_deprecated_ruler_get_preferred_height(GtkWidget *widget, + gint *minimal_height, + gint *natural_height); +#endif + static void gtk_deprecated_ruler_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gboolean gtk_deprecated_ruler_motion_notify (GtkWidget *widget, @@ -96,7 +107,12 @@ gtk_deprecated_ruler_class_init (GtkDeprecatedRulerClass *klass) widget_class->realize = gtk_deprecated_ruler_realize; widget_class->unrealize = gtk_deprecated_ruler_unrealize; +#if GTK_CHECK_VERSION(3,0,0) + widget_class->get_preferred_width = gtk_deprecated_ruler_get_preferred_width; + widget_class->get_preferred_height = gtk_deprecated_ruler_get_preferred_height; +#else widget_class->size_request = gtk_deprecated_ruler_size_request; +#endif widget_class->size_allocate = gtk_deprecated_ruler_size_allocate; widget_class->motion_notify_event = gtk_deprecated_ruler_motion_notify; widget_class->expose_event = gtk_deprecated_ruler_expose; @@ -359,16 +375,15 @@ gtk_deprecated_ruler_set_metric (GtkDeprecatedRuler *ruler, * * Return value: the units currently used for @ruler **/ -GtkMetricType -gtk_deprecated_ruler_get_metric (GtkDeprecatedRuler *ruler) +GtkMetricType gtk_deprecated_ruler_get_metric (GtkDeprecatedRuler *ruler) { - gint i; + g_return_val_if_fail(GTK_DEPRECATED_IS_RULER(ruler), static_cast<GtkMetricType>(0)); - g_return_val_if_fail (GTK_DEPRECATED_IS_RULER (ruler), static_cast<GtkMetricType>(0)); - - for (i = 0; i < G_N_ELEMENTS (ruler_metrics); i++) - if (ruler->metric == &ruler_metrics[i]) + for (size_t i = 0; i < G_N_ELEMENTS(ruler_metrics); i++) { + if (ruler->metric == &ruler_metrics[i]) { return static_cast<GtkMetricType>(i); + } + } g_assert_not_reached (); @@ -470,6 +485,22 @@ gtk_deprecated_ruler_size_request (GtkWidget *widget, } } +#if GTK_CHECK_VERSION(3,0,0) +static void gtk_deprecated_ruler_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width) +{ + GtkRequisition requisition; + gtk_deprecated_ruler_size_request(widget, &requisition); + *minimal_width = *natural_width = requisition.width; +} + +static void gtk_deprecated_ruler_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height) +{ + GtkRequisition requisition; + gtk_deprecated_ruler_size_request(widget, &requisition); + *minimal_height = *natural_height = requisition.height; +} +#endif + static void gtk_deprecated_ruler_size_allocate (GtkWidget *widget, GtkAllocation *allocation) @@ -995,6 +1026,16 @@ static gint sp_vruler_motion_notify (GtkWidget *widget, GdkEventMotion *event); static void sp_vruler_size_request (GtkWidget *widget, GtkRequisition *requisition); +#if GTK_CHECK_VERSION(3,0,0) +static void sp_vruler_get_preferred_width(GtkWidget *widget, + gint *minimal_width, + gint *natural_width); + +static void sp_vruler_get_preferred_height(GtkWidget *widget, + gint *minimal_height, + gint *natural_height); +#endif + static GtkWidgetClass *vruler_parent_class; GType @@ -1033,7 +1074,13 @@ sp_vruler_class_init (SPVRulerClass *klass) ruler_class = (GtkDeprecatedRulerClass*) klass; widget_class->motion_notify_event = sp_vruler_motion_notify; + +#if GTK_CHECK_VERSION(3,0,0) + widget_class->get_preferred_width = sp_vruler_get_preferred_width; + widget_class->get_preferred_height = sp_vruler_get_preferred_height; +#else widget_class->size_request = sp_vruler_size_request; +#endif ruler_class->draw_ticks = sp_ruler_common_draw_ticks; } @@ -1091,6 +1138,22 @@ sp_vruler_size_request (GtkWidget *widget, GtkRequisition *requisition) requisition->width = style->xthickness * 2 + RULER_WIDTH; } +#if GTK_CHECK_VERSION(3,0,0) +static void sp_vruler_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width) +{ + GtkRequisition requisition; + sp_vruler_size_request(widget, &requisition); + *minimal_width = *natural_width = requisition.width; +} + +static void sp_vruler_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height) +{ + GtkRequisition requisition; + sp_vruler_size_request(widget, &requisition); + *minimal_height = *natural_height = requisition.height; +} +#endif + static void sp_ruler_common_draw_ticks(GtkDeprecatedRuler *ruler) { |
