X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fhelper.c;h=9b40c08ab5b741f819f416c81d7a34f66a2a849e;hb=033449d465fb54526d3984d55772e6a38e7d922c;hp=cde9d92b8f186a29525a00b24fb55e09b3707771;hpb=f9f8fdb02ec2d1721a3529a42d57415ea55e049b;p=pspp diff --git a/src/ui/gui/helper.c b/src/ui/gui/helper.c index cde9d92b8f..9b40c08ab5 100644 --- a/src/ui/gui/helper.c +++ b/src/ui/gui/helper.c @@ -75,7 +75,8 @@ value_to_text__ (union value v, { gchar *s; - s = data_out_stretchy (&v, encoding, format, NULL); + s = data_out_stretchy (&v, encoding, format, settings_get_fmt_settings (), + NULL); if (fmt_is_numeric (format->type)) g_strchug (s); else @@ -135,7 +136,8 @@ text_to_value__ (const gchar *text, } value_init (val, width); - char *err = data_in (ss_cstr (text), UTF8, format->type, val, width, encoding); + char *err = data_in (ss_cstr (text), UTF8, format->type, + settings_get_fmt_settings (), val, width, encoding); if (err) { @@ -161,7 +163,6 @@ clone_list_store (const GtkListStore *src) const gint n_cols = gtk_tree_model_get_n_columns (GTK_TREE_MODEL (src)); GType *types = g_malloc (sizeof (*types) * n_cols); - int row = 0; GtkListStore *dest; for (i = 0 ; i < n_cols; ++i) @@ -186,7 +187,6 @@ clone_list_store (const GtkListStore *src) g_value_unset (&val); } - row++; } g_free (types); @@ -230,3 +230,23 @@ paste_syntax_to_window (gchar *syntax) return syntax; } + + +/* Return the width of an upper case M (in pixels) when rendered onto + WIDGET with its current style. */ +gdouble +width_of_m (GtkWidget *widget) +{ + PangoContext *context = gtk_widget_create_pango_context (widget); + PangoLayout *layout = pango_layout_new (context); + PangoRectangle rect; + + pango_layout_set_text (layout, "M", 1); + pango_layout_get_extents (layout, NULL, &rect); + + g_object_unref (G_OBJECT (layout)); + g_object_unref (G_OBJECT (context)); + + return rect.width / (gdouble) PANGO_SCALE; +} +