axes marked properly
[pspp] / src / ui / gui / val-labs-dialog.c
index ab56135ccc637dbbf6448fc34eac0e3e7c49748f..226021507f45796632a945e37c3ff44bccc661a0 100644 (file)
@@ -1,5 +1,6 @@
 /* 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
@@ -125,6 +126,7 @@ psppire_val_labs_dialog_init (PsppireValLabsDialog *obj)
      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);
 }
 
@@ -142,10 +144,12 @@ psppire_val_labs_dialog_finalize (GObject *obj)
 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 *
@@ -160,9 +164,16 @@ psppire_val_labs_dialog_run (GtkWindow *parent_window,
   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));
 
@@ -232,14 +243,14 @@ select_treeview_from_value (GtkTreeView *treeview, union value *val)
 
       v.f = g_value_get_double (&gvalue);
 
-      if ( 0 == memcmp (&v, val, sizeof (union value)))
+      if (0 == memcmp (&v, val, sizeof (union value)))
        {
          break;
        }
     }
 
   path = gtk_tree_model_get_path (model, &iter);
-  if ( path )
+  if (path)
     {
       gtk_tree_view_set_cursor (treeview, path, 0, 0);
       gtk_tree_path_free (path);
@@ -268,7 +279,7 @@ on_value_entry_change (GtkEntry *entry, gpointer data)
   gtk_entry_set_text (GTK_ENTRY (dialog->label_entry),"");
 
 
-  if ( (s = val_labs_find (dialog->labs, &v)) )
+  if ((s = val_labs_find (dialog->labs, &v)))
     {
       gtk_entry_set_text (GTK_ENTRY (dialog->label_entry), s);
       gtk_widget_set_sensitive (dialog->add_button, FALSE);
@@ -376,7 +387,7 @@ on_add (GtkWidget *w, gpointer data)
     {
       if (val_labs_add (dialog->labs, &v,
                        gtk_entry_get_text
-                       ( GTK_ENTRY (dialog->label_entry)) ) )
+                       (GTK_ENTRY (dialog->label_entry))))
        {
          gtk_widget_set_sensitive (dialog->add_button, FALSE);
 
@@ -474,6 +485,9 @@ psppire_val_labs_dialog_constructor (GType                  type,
     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"));
@@ -527,7 +541,9 @@ psppire_val_labs_dialog_constructor (GType                  type,
   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);
 
@@ -590,7 +606,6 @@ repopulate_dialog (PsppireValLabsDialog *dialog)
                          GTK_TREE_MODEL (list_store));
 
   g_object_unref (list_store);
-
 }
 
 void