X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fvar-display.c;h=db0020f4f426729160a6ab665e408b7da677239c;hb=92c474055d5af5557c5f9341018f4e1642586af2;hp=114156d7476a09e098f8ba9d34be4713bdc232a8;hpb=a1fa03b1638263a959df0b2943478a0a4ca4b11a;p=pspp-builds.git diff --git a/src/ui/gui/var-display.c b/src/ui/gui/var-display.c index 114156d7..db0020f4 100644 --- a/src/ui/gui/var-display.c +++ b/src/ui/gui/var-display.c @@ -2,56 +2,27 @@ #include "var-display.h" #include +#include #include +#include "psppire-dict.h" -#include "var-sheet.h" #include #define _(msgid) gettext (msgid) #define N_(msgid) msgid #include "helper.h" +#include -const static gchar none[] = N_("None"); - -gchar * -name_to_string (const struct variable *var, GError **err) -{ - const char *name = var_get_name (var); - g_assert (name); - - return pspp_locale_to_utf8 (name, -1, err); -} - - -gchar * -label_to_string (const struct variable *var, GError **err) -{ - const char *label = var_get_label (var); - - if ( ! label ) return g_strdup (none); - - return pspp_locale_to_utf8 (label, -1, err); -} - -gchar * -measure_to_string (const struct variable *var, GError **err) -{ - const gint measure = var_get_measure (var); - - g_assert (measure < n_MEASURES); - return g_locale_to_utf8 (gettext (measures[measure]), - -1, 0, 0, err); -} +static const gchar none[] = N_("None"); gchar * -missing_values_to_string (const struct variable *pv, GError **err) +missing_values_to_string (const PsppireDict *dict, const struct variable *pv, GError **err) { - const struct fmt_spec *fmt = var_get_print_format (pv); gchar *s; const struct missing_values *miss = var_get_missing_values (pv); if ( mv_is_empty (miss)) - return g_locale_to_utf8 (gettext (none), -1, 0, 0, err); + return xstrdup (gettext (none)); else { if ( ! mv_has_range (miss)) @@ -62,26 +33,24 @@ missing_values_to_string (const struct variable *pv, GError **err) gint i; for (i = 0 ; i < n; ++i ) { - union value v; - mv_peek_value (miss, &v, i); - mv[i] = value_to_text (v, *fmt); + mv[i] = value_to_text (*mv_get_value (miss, i), pv); if ( i > 0 ) g_string_append (gstr, ", "); g_string_append (gstr, mv[i]); g_free (mv[i]); } - s = pspp_locale_to_utf8 (gstr->str, gstr->len, err); - g_string_free (gstr, TRUE); + s = gstr->str; + g_string_free (gstr, FALSE); } else { GString *gstr = g_string_sized_new (10); gchar *l, *h; union value low, high; - mv_peek_range (miss, &low.f, &high.f); + mv_get_range (miss, &low.f, &high.f); - l = value_to_text (low, *fmt); - h = value_to_text (high, *fmt); + l = value_to_text (low, pv); + h = value_to_text (high, pv); g_string_printf (gstr, "%s - %s", l, h); g_free (l); @@ -89,18 +58,16 @@ missing_values_to_string (const struct variable *pv, GError **err) if ( mv_has_value (miss)) { - gchar *ss = 0; - union value v; - mv_peek_value (miss, &v, 0); + gchar *ss = NULL; - ss = value_to_text (v, *fmt); + ss = value_to_text (*mv_get_value (miss, 0), pv); g_string_append (gstr, ", "); g_string_append (gstr, ss); free (ss); } - s = pspp_locale_to_utf8 (gstr->str, gstr->len, err); - g_string_free (gstr, TRUE); + s = gstr->str; + g_string_free (gstr, FALSE); } return s;