#define _(msgid) gettext (msgid)
#define N_(msgid) msgid
-static void psppire_val_chooser_base_finalize (PsppireValChooserClass *, gpointer);
-static void psppire_val_chooser_base_init (PsppireValChooserClass *class);
static void psppire_val_chooser_class_init (PsppireValChooserClass *class);
static void psppire_val_chooser_init (PsppireValChooser *vc);
static void psppire_val_chooser_realize (GtkWidget *w);
-
-
-GType
-psppire_val_chooser_get_type (void)
-{
- static GType psppire_val_chooser_type = 0;
-
- if (!psppire_val_chooser_type)
- {
- static const GTypeInfo psppire_val_chooser_info =
- {
- sizeof (PsppireValChooserClass),
- (GBaseInitFunc) psppire_val_chooser_base_init,
- (GBaseFinalizeFunc) psppire_val_chooser_base_finalize,
- (GClassInitFunc)psppire_val_chooser_class_init,
- (GClassFinalizeFunc) NULL,
- NULL,
- sizeof (PsppireValChooser),
- 0,
- (GInstanceInitFunc) psppire_val_chooser_init,
- };
-
- psppire_val_chooser_type =
- g_type_register_static (GTK_TYPE_FRAME, "PsppireValChooser",
- &psppire_val_chooser_info, 0);
- }
-
- return psppire_val_chooser_type;
-}
-
+G_DEFINE_TYPE (PsppireValChooser, psppire_val_chooser, GTK_TYPE_FRAME)
static void
psppire_val_chooser_finalize (GObject *object)
};
-enum
+enum
{
VC_VALUE,
VC_SYSMIS,
gtk_widget_set_sensitive (GTK_WIDGET (vr->rw[VC_SYSMIS].rb), !vr->input_var_is_string);
gtk_widget_set_sensitive (GTK_WIDGET (vr->rw[VC_MISSING].rb), !vr->input_var_is_string);
gtk_widget_set_sensitive (GTK_WIDGET (vr->rw[VC_RANGE].rb), !vr->input_var_is_string);
- gtk_widget_set_sensitive (GTK_WIDGET (vr->rw[VC_LOW_UP].rb), !vr->input_var_is_string);
+ gtk_widget_set_sensitive (GTK_WIDGET (vr->rw[VC_LOW_UP].rb), !vr->input_var_is_string);
gtk_widget_set_sensitive (GTK_WIDGET (vr->rw[VC_HIGH_DOWN].rb), !vr->input_var_is_string);
break;
default:
break;
case PROP_IS_STRING:
g_value_set_boolean (value, vr->input_var_is_string);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
psppire_val_chooser_class_init (PsppireValChooserClass *class)
{
GObjectClass *object_class = G_OBJECT_CLASS (class);
+
+ object_class->finalize = psppire_val_chooser_finalize;
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
GParamSpec *is_string_spec =
}
-static void
-psppire_val_chooser_base_init (PsppireValChooserClass *class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (class);
-
- object_class->finalize = psppire_val_chooser_finalize;
-}
-
-
-
-static void
-psppire_val_chooser_base_finalize (PsppireValChooserClass *class,
- gpointer class_data)
-{
-
-}
-
-
/* Set the focus of B to follow the sensitivity of A */
static void
focus_follows_sensitivity (GtkWidget *a, GParamSpec *pspec, GtkWidget *b)
{
const gchar *text = gtk_entry_get_text (rw->e1);
- if ( vr->input_var_is_string)
+ if (vr->input_var_is_string)
{
ov->type = OV_STRING;
ov->v.s = g_strdup (text);
static void lo_up_set (PsppireValChooser *vr, struct old_value *ov, const struct range_widgets *rw)
{
const gchar *text = gtk_entry_get_text (rw->e1);
-
+
ov->type = OV_LOW_UP;
ov->v.range[1] = g_strtod (text, 0);
}
static void hi_down_set (PsppireValChooser *vr, struct old_value *ov, const struct range_widgets *rw)
{
const gchar *text = gtk_entry_get_text (rw->e1);
-
+
ov->type = OV_HIGH_DOWN;
ov->v.range[0] = g_strtod (text, 0);
}
ov->type = OV_RANGE;
ov->v.range[0] = g_strtod (text, 0);
-
+
text = gtk_entry_get_text (rw->e2);
ov->v.range[1] = g_strtod (text, 0);
}
"valign", GTK_ALIGN_CENTER,
"halign", GTK_ALIGN_START,
NULL);
-
+
g_signal_connect (vbox, "notify::sensitive", G_CALLBACK (focus_follows_sensitivity), entrylo);
}
-static struct layout range_opt[n_VAL_CHOOSER_BUTTONS]=
+static struct layout range_opt[n_VAL_CHOOSER_BUTTONS]=
{
{N_("_Value:"), simple_entry, simple_set },
{N_("_System Missing"), NULL, sysmis_set },
"margin-start", 5,
"margin-end", 5,
NULL);
-
+
vr->input_var_is_string = FALSE;
for (i = 0; i < n_VAL_CHOOSER_BUTTONS; ++i)
0, row, 1, 1);
gtk_widget_set_hexpand (GTK_WIDGET (vr->rw[i].rb), FALSE);
-
+
/* Attach the labels */
gtk_grid_attach (GTK_GRID (grid), GTK_WIDGET (vr->rw[i].label),
1, row, 1, 1);
gtk_widget_set_hexpand (GTK_WIDGET (vr->rw[i].label), TRUE);
-
+
++row;
if (l->fill)
gtk_grid_attach (GTK_GRID (grid), fill, 1, row, 1, 1);
gtk_widget_set_hexpand (fill, TRUE);
-
+
++row;
g_signal_connect (vr->rw[i].rb, "toggled", G_CALLBACK (set_sensitivity_from_toggle), fill);
gtk_widget_show_all (grid);
}
-
-GtkWidget*
-psppire_val_chooser_new (void)
-{
- return GTK_WIDGET (g_object_new (psppire_val_chooser_get_type (), NULL));
-}
-
-
-
static void
psppire_val_chooser_realize (GtkWidget *w)
{
{
struct old_value *copy = g_memdup (ov, sizeof (*copy));
- if ( ov->type == OV_STRING )
+ if (ov->type == OV_STRING)
copy->v.s = g_strdup (ov->v.s);
return copy;
{
static GType t = 0;
- if (t == 0 )
+ if (t == 0)
{
t = g_boxed_type_register_static ("psppire-recode-old-values",
(GBoxedCopyFunc) old_value_copy,
for (i = 0; i < n_VAL_CHOOSER_BUTTONS; ++i)
{
- if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (vr->rw[i].rb)))
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (vr->rw[i].rb)))
{
range_opt[i].set (vr, ov, &vr->rw[i]);
break;
psppire_val_chooser_set_status (PsppireValChooser *vr, const struct old_value *ov)
{
gint i;
- if ( !ov )
+ if (!ov)
return;
for (i = 0; i < n_VAL_CHOOSER_BUTTONS; ++i)
gtk_toggle_button_set_active (vr->rw[0].rb, TRUE);
gtk_entry_set_text (vr->rw[0].e1, ov->v.s);
break;
-
+
case OV_NUMERIC:
{
gchar *str;
gtk_toggle_button_set_active (vr->rw[0].rb, TRUE);
-
+
str = num_to_string (ov->v.v);
-
+
gtk_entry_set_text (vr->rw[0].e1, str);
g_free (str);
}