/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2005, 2009, 2010, 2011, 2012, 2015, 2016 Free Software Foundation
+ Copyright (C) 2005, 2009, 2010, 2011, 2012, 2015, 2016,
+ 2020 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
runs after the construction properties have been set. Otherwise
PsppireDialog's "orientation" property hasn't been set and therefore we
have no box to populate. */
+
obj->labs = val_labs_create (0);
}
PsppireValLabsDialog *
psppire_val_labs_dialog_new (const struct variable *var)
{
- return PSPPIRE_VAL_LABS_DIALOG (
- g_object_new (PSPPIRE_TYPE_VAL_LABS_DIALOG,
- "variable", var,
- NULL));
+ PsppireValLabsDialog *obj
+ = PSPPIRE_VAL_LABS_DIALOG (g_object_new (PSPPIRE_TYPE_VAL_LABS_DIALOG,
+ "variable", var,
+ NULL));
+
+ return obj;
}
struct val_labs *
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_widget_show (GTK_WIDGET (dialog));
- labs = (psppire_dialog_run (PSPPIRE_DIALOG (dialog)) == GTK_RESPONSE_OK
- ? val_labs_clone (psppire_val_labs_dialog_get_value_labels (dialog))
- : NULL);
+ gint response = psppire_dialog_run (PSPPIRE_DIALOG (dialog));
+ switch (response)
+ {
+ case GTK_RESPONSE_OK:
+ labs = val_labs_clone (psppire_val_labs_dialog_get_value_labels (dialog));
+ break;
+ default:
+ labs = NULL;
+ break;
+ }
gtk_widget_destroy (GTK_WIDGET (dialog));
type, n_properties, properties);
dialog = PSPPIRE_VAL_LABS_DIALOG (obj);
+ g_object_set (dialog, "help-page", "VALUE-LABELS",
+ "title", _("Value Labels"), NULL);
+
content_area = GTK_CONTAINER (PSPPIRE_DIALOG (dialog));
gtk_container_add (GTK_CONTAINER (content_area),
get_widget_assert (xml, "val-labs-dialog"));
g_signal_connect (dialog->add_button, "clicked",
G_CALLBACK (on_add), dialog);
- dialog->labs = NULL;
+ /* dialog->labs must not be set here, because as a member of a singleton
+ class its value persists "between" objects. */
+ /* dialog->labs = NULL; */
g_object_unref (xml);
GTK_TREE_MODEL (list_store));
g_object_unref (list_store);
-
}
void