New file: builder-wrapper.h and builder-wrapper.c
[pspp-builds.git] / src / ui / gui / variable-info-dialog.c
index 178a834c7a0d8357c642997c649f81f9612488b6..1cd9b1d7d1eb9ee37fe1c5d8afec4fcd8dd269fc 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007, 2009  Free Software Foundation
+   Copyright (C) 2007, 2009, 2010, 2011, 2012  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
 #include <config.h>
 #include <gtk/gtk.h>
 
-#include "var-display.h"
 #include <data/variable.h>
 #include <data/format.h>
 #include <data/value-labels.h>
+#include <libpspp/i18n.h>
+
+#include "variable-info-dialog.h"
+#include "var-display.h"
+
 #include "psppire-data-window.h"
 #include "psppire-dialog.h"
-#include "psppire-var-store.h"
 #include "psppire-dictview.h"
+#include "psppire-var-store.h"
+#include "builder-wrapper.h"
 #include "helper.h"
 
-#include <language/syntax-string-source.h>
-#include <libpspp/i18n.h>
-#include "helper.h"
 
 
 #include <gettext.h>
@@ -54,7 +56,7 @@ label_to_string (const struct variable *var)
 static void
 populate_text (PsppireDictView *treeview, gpointer data)
 {
-  gchar *text = 0;
+  gchar *text = NULL;
   GString *gstring;
   PsppireDict *dict;
 
@@ -65,8 +67,7 @@ populate_text (PsppireDictView *treeview, gpointer data)
   if ( var == NULL)
     return;
 
-  g_object_get (treeview,
-               "dictionary", &dict,
+  g_object_get (treeview, "model", &dict,
                NULL);
 
   gstring = g_string_sized_new (200);
@@ -89,11 +90,8 @@ populate_text (PsppireDictView *treeview, gpointer data)
                          text);
   g_free (text);
 
-  text = measure_to_string (var, NULL);
   g_string_append_printf (gstring, _("Measurement Level: %s\n"),
-                         text);
-  g_free (text);
-
+                         measure_to_string (var_get_measure (var)));
 
 
   /* Value Labels */
@@ -112,10 +110,10 @@ populate_text (PsppireDictView *treeview, gpointer data)
       for (i = 0; i < n_labels; i++)
         {
           const struct val_lab *vl = labels[i];
-         gchar *const vstr  =
-           value_to_text (vl->value,  dict, *var_get_print_format (var));
+         gchar *const vstr  = value_to_text (vl->value,  var);
 
-         g_string_append_printf (gstring, _("%s %s\n"), vstr, val_lab_get_label (vl));
+         g_string_append_printf (gstring, _("%s %s\n"),
+                                  vstr, val_lab_get_escaped_label (vl));
 
          g_free (vstr);
        }
@@ -146,26 +144,25 @@ static gchar * generate_syntax (PsppireDictView *treeview);
 
 
 void
-variable_info_dialog (GObject *o, gpointer data)
+variable_info_dialog (PsppireDataWindow *de)
 {
-  PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
-
   gint response ;
 
-  GtkBuilder *xml = builder_new ("variable-info-dialog.ui");
+  GtkBuilder *xml = builder_new ("variable-info.ui");
 
   GtkWidget *dialog = get_widget_assert (xml, "variable-info-dialog");
   GtkWidget *treeview = get_widget_assert (xml, "treeview2");
   GtkWidget *textview = get_widget_assert (xml, "textview1");
 
   PsppireVarStore *vs = NULL;
+  PsppireDict *dict = NULL;
 
   g_object_get (de->data_editor, "var-store", &vs, NULL);
 
   gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
 
-  g_object_set (treeview,
-               "dictionary", vs->dict,
+  g_object_get (vs, "dictionary", &dict, NULL);
+  g_object_set (treeview, "model", dict,
                "selection-mode", GTK_SELECTION_SINGLE,
                NULL);
 
@@ -199,7 +196,7 @@ variable_info_dialog (GObject *o, gpointer data)
     case PSPPIRE_RESPONSE_PASTE:
       {
        gchar *syntax = generate_syntax (PSPPIRE_DICT_VIEW (treeview));
-        paste_syntax_in_new_window (syntax);
+        paste_syntax_to_window (syntax);
 
        g_free (syntax);
       }