projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
psppire-dialog-action-varinfo: Make dialog use output engine.
[pspp]
/
src
/
ui
/
gui
/
psppire-val-chooser.c
diff --git
a/src/ui/gui/psppire-val-chooser.c
b/src/ui/gui/psppire-val-chooser.c
index 605cea3303766c36f7c70acfae20d33a36cbad54..c2c273542cbb7c7872dd3b67f92027d01cc30782 100644
(file)
--- a/
src/ui/gui/psppire-val-chooser.c
+++ b/
src/ui/gui/psppire-val-chooser.c
@@
-1,5
+1,5
@@
/* PSPPIRE - a graphical user interface for PSPP.
/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2011 Free Software Foundation
+ Copyright (C) 2011
, 2014
Free Software Foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-16,7
+16,9
@@
#include <config.h>
#include <config.h>
+#include <float.h>
#include <gtk/gtk.h>
#include <gtk/gtk.h>
+#include "dialog-common.h"
#include "psppire-val-chooser.h"
#include "libpspp/str.h"
#include "psppire-val-chooser.h"
#include "libpspp/str.h"
@@
-334,14
+336,6
@@
static struct layout range_opt[n_VAL_CHOOSER_BUTTONS]=
{N_("_All other values"), NULL, else_set }
};
{N_("_All other values"), NULL, else_set }
};
-static void
-set_sensitivity_from_toggle (GtkToggleButton *togglebutton, GtkWidget *w)
-{
- gboolean active = gtk_toggle_button_get_active (togglebutton);
-
- gtk_widget_set_sensitive (w, active);
-}
-
static void
psppire_val_chooser_init (PsppireValChooser *vr)
{
static void
psppire_val_chooser_init (PsppireValChooser *vr)
{
@@
-361,7
+355,7
@@
psppire_val_chooser_init (PsppireValChooser *vr)
vr->rw[i].label = GTK_LABEL (gtk_label_new (gettext (l->label)));
gtk_label_set_use_underline (vr->rw[i].label, TRUE);
vr->rw[i].rb = GTK_TOGGLE_BUTTON (gtk_radio_button_new (group));
vr->rw[i].label = GTK_LABEL (gtk_label_new (gettext (l->label)));
gtk_label_set_use_underline (vr->rw[i].label, TRUE);
vr->rw[i].rb = GTK_TOGGLE_BUTTON (gtk_radio_button_new (group));
- gtk_label_set_mnemonic_widget (vr->rw[i].label,
vr->rw[i].rb
);
+ gtk_label_set_mnemonic_widget (vr->rw[i].label,
GTK_WIDGET (vr->rw[i].rb)
);
gtk_misc_set_alignment (GTK_MISC (vr->rw[i].label), 0, 0.5);
gtk_misc_set_alignment (GTK_MISC (vr->rw[i].label), 0, 0.5);
@@
-459,7
+453,7
@@
old_value_to_string (const GValue *src, GValue *dest)
{
case OV_NUMERIC:
{
{
case OV_NUMERIC:
{
- gchar *text = g_strdup_printf ("%
g"
, ov->v.v);
+ gchar *text = g_strdup_printf ("%
.*g", DBL_DIG + 1
, ov->v.v);
g_value_set_string (dest, text);
g_free (text);
}
g_value_set_string (dest, text);
g_free (text);
}
@@
-483,10
+477,10
@@
old_value_to_string (const GValue *src, GValue *dest)
g_unichar_to_utf8 (0x2013, en_dash);
g_unichar_to_utf8 (0x2013, en_dash);
- text = g_strdup_printf ("%
g %s %
g",
-
ov->v.range[0],
-
en_dash,
-
ov->v.range[1]);
+ text = g_strdup_printf ("%
.*g %s %.*
g",
+
DBL_DIG + 1,
ov->v.range[0],
+ en_dash,
+
DBL_DIG + 1,
ov->v.range[1]);
g_value_set_string (dest, text);
g_free (text);
}
g_value_set_string (dest, text);
g_free (text);
}
@@
-498,9
+492,9
@@
old_value_to_string (const GValue *src, GValue *dest)
g_unichar_to_utf8 (0x2013, en_dash);
g_unichar_to_utf8 (0x2013, en_dash);
- text = g_strdup_printf ("LOWEST %s %g",
+ text = g_strdup_printf ("LOWEST %s %
.*
g",
en_dash,
en_dash,
- ov->v.range[1]);
+
DBL_DIG + 1,
ov->v.range[1]);
g_value_set_string (dest, text);
g_free (text);
g_value_set_string (dest, text);
g_free (text);
@@
-513,8
+507,8
@@
old_value_to_string (const GValue *src, GValue *dest)
g_unichar_to_utf8 (0x2013, en_dash);
g_unichar_to_utf8 (0x2013, en_dash);
- text = g_strdup_printf ("%g %s HIGHEST",
- ov->v.range[0],
+ text = g_strdup_printf ("%
.*
g %s HIGHEST",
+
DBL_DIG + 1,
ov->v.range[0],
en_dash);
g_value_set_string (dest, text);
en_dash);
g_value_set_string (dest, text);
@@
-550,46
+544,46
@@
old_value_get_type (void)
/* Generate a syntax fragment for NV and append it to STR */
void
/* Generate a syntax fragment for NV and append it to STR */
void
-old_value_append_syntax (
GS
tring *str, const struct old_value *ov)
+old_value_append_syntax (
struct s
tring *str, const struct old_value *ov)
{
switch (ov->type)
{
case OV_NUMERIC:
{
switch (ov->type)
{
case OV_NUMERIC:
-
g_string_append_printf (str, "%g"
, ov->v.v);
+
ds_put_c_format (str, "%.*g", DBL_DIG + 1
, ov->v.v);
break;
case OV_STRING:
{
struct string ds = DS_EMPTY_INITIALIZER;
syntax_gen_string (&ds, ss_cstr (ov->v.s));
break;
case OV_STRING:
{
struct string ds = DS_EMPTY_INITIALIZER;
syntax_gen_string (&ds, ss_cstr (ov->v.s));
-
g_string_append
(str, ds_cstr (&ds));
+
ds_put_cstr
(str, ds_cstr (&ds));
ds_destroy (&ds);
}
break;
case OV_MISSING:
ds_destroy (&ds);
}
break;
case OV_MISSING:
-
g_string_append
(str, "MISSING");
+
ds_put_cstr
(str, "MISSING");
break;
case OV_SYSMIS:
break;
case OV_SYSMIS:
-
g_string_append
(str, "SYSMIS");
+
ds_put_cstr
(str, "SYSMIS");
break;
case OV_ELSE:
break;
case OV_ELSE:
-
g_string_append
(str, "ELSE");
+
ds_put_cstr
(str, "ELSE");
break;
case OV_RANGE:
break;
case OV_RANGE:
-
g_string_append_printf (str, "%g THRU %
g",
-
ov->v.range[0],
-
ov->v.range[1]);
+
ds_put_c_format (str, "%.*g THRU %.*
g",
+
DBL_DIG + 1,
ov->v.range[0],
+
DBL_DIG + 1,
ov->v.range[1]);
break;
case OV_LOW_UP:
break;
case OV_LOW_UP:
-
g_string_append_printf (str, "LOWEST THRU %
g",
-
ov->v.range[1]);
+
ds_put_c_format (str, "LOWEST THRU %*g
g",
+
DBL_DIG + 1,
ov->v.range[1]);
break;
case OV_HIGH_DOWN:
break;
case OV_HIGH_DOWN:
-
g_string_append_printf (str, "%
g THRU HIGHEST",
-
ov->v.range[0]);
+
ds_put_c_format (str, "%.*
g THRU HIGHEST",
+
DBL_DIG + 1,
ov->v.range[0]);
break;
default:
g_warning ("Invalid type in old recode value");
break;
default:
g_warning ("Invalid type in old recode value");
-
g_string_append
(str, "???");
+
ds_put_cstr
(str, "???");
break;
};
}
break;
};
}
@@
-619,7
+613,7
@@
psppire_val_chooser_get_status (PsppireValChooser *vr, struct old_value *ov)
static gchar *
num_to_string (gdouble x)
{
static gchar *
num_to_string (gdouble x)
{
- return g_strdup_printf ("%
g"
, x);
+ return g_strdup_printf ("%
.*g", DBL_DIG + 1
, x);
}
}