Change license from GPLv2+ to GPLv3+.
[pspp-builds.git] / src / ui / gui / var-sheet.c
index 7f14602b4159cf415ffa6feec1132cd0e0fae5e3..b6440e4d3caa32071dcaff366de85b65bb00bb31 100644 (file)
@@ -1,10 +1,9 @@
-/*
-   PSPPIRE --- A Graphical User Interface for PSPP
+/* PSPPIRE - a graphical user interface for PSPP.
    Copyright (C) 2004, 2005, 2006  Free Software Foundation
 
-   This program is free software; you can redistribute it and/or modify
+   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
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -13,9 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301, USA. */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
 
 /* This module creates the Variable Sheet used for inputing the
@@ -33,7 +30,6 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <langinfo.h>
 
 #include <data/value.h>
 
@@ -41,6 +37,7 @@
 #include <gtksheet/gsheet-hetero-column.h>
 #include <gtksheet/gsheet-uniform-row.h>
 
+#include "localcharset.h"
 #include "psppire-var-store.h"
 #include "helper.h"
 #include "psppire-dict.h"
@@ -152,13 +149,13 @@ traverse_cell_callback (GtkSheet * sheet,
                        gint *new_row, gint *new_column
                        )
 {
-  PsppireVarStore *var_store = PSPPIRE_VAR_STORE(gtk_sheet_get_model (sheet));
+  PsppireVarStore *var_store = PSPPIRE_VAR_STORE (gtk_sheet_get_model (sheet));
 
   gint n_vars = psppire_var_store_get_var_cnt (var_store);
 
   if ( row == n_vars && *new_row >= n_vars)
     {
-      GtkEntry *entry = GTK_ENTRY(gtk_sheet_get_entry (sheet));
+      GtkEntry *entry = GTK_ENTRY (gtk_sheet_get_entry (sheet));
 
       const gchar *name = gtk_entry_get_text (entry);
 
@@ -222,7 +219,7 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
   if ( row >= psppire_var_store_get_var_cnt (var_store))
     return TRUE;
 
-  xml = glade_xml_new (PKGDATADIR "/data-editor.glade", NULL, NULL);
+  xml = XML_NEW ("data-editor.glade");
 
   gtk_sheet_get_attributes (sheet, row, column, &attributes);
 
@@ -236,19 +233,19 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
        GtkComboBoxEntry *cbe;
        gtk_sheet_change_entry (sheet, GTK_TYPE_COMBO_BOX_ENTRY);
        cbe =
-         GTK_COMBO_BOX_ENTRY(gtk_sheet_get_entry (sheet)->parent);
+         GTK_COMBO_BOX_ENTRY (gtk_sheet_get_entry (sheet)->parent);
 
 
        if ( ! list_store) list_store = create_label_list (alignments);
 
-       gtk_combo_box_set_model (GTK_COMBO_BOX(cbe),
-                               GTK_TREE_MODEL(list_store));
+       gtk_combo_box_set_model (GTK_COMBO_BOX (cbe),
+                               GTK_TREE_MODEL (list_store));
 
        gtk_combo_box_entry_set_text_column (cbe, 0);
 
 
-       g_signal_connect (G_OBJECT(cbe),"changed",
-                        G_CALLBACK(change_alignment), pv);
+       g_signal_connect (G_OBJECT (cbe),"changed",
+                        G_CALLBACK (change_alignment), pv);
       }
       break;
     case COL_MEASURE:
@@ -257,17 +254,17 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
        GtkComboBoxEntry *cbe;
        gtk_sheet_change_entry (sheet, GTK_TYPE_COMBO_BOX_ENTRY);
        cbe =
-         GTK_COMBO_BOX_ENTRY(gtk_sheet_get_entry (sheet)->parent);
+         GTK_COMBO_BOX_ENTRY (gtk_sheet_get_entry (sheet)->parent);
 
 
        if ( ! list_store) list_store = create_label_list (measures);
 
-       gtk_combo_box_set_model (GTK_COMBO_BOX(cbe),
-                               GTK_TREE_MODEL(list_store));
+       gtk_combo_box_set_model (GTK_COMBO_BOX (cbe),
+                               GTK_TREE_MODEL (list_store));
 
        gtk_combo_box_entry_set_text_column (cbe, 0);
 
-       g_signal_connect (G_OBJECT(cbe),"changed",
+       g_signal_connect (G_OBJECT (cbe),"changed",
                          G_CALLBACK (change_measure), pv);
       }
       break;
@@ -281,17 +278,17 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
        gtk_sheet_change_entry (sheet, PSPPIRE_CUSTOM_ENTRY_TYPE);
 
        customEntry =
-         PSPPIRE_CUSTOM_ENTRY(gtk_sheet_get_entry (sheet));
+         PSPPIRE_CUSTOM_ENTRY (gtk_sheet_get_entry (sheet));
 
 
        if (!val_labs_dialog )
            val_labs_dialog = val_labs_dialog_create (xml);
 
-       val_labs_dialog->pv = pv;
+       val_labs_dialog_set_target_variable (val_labs_dialog, pv);
 
-       g_signal_connect_swapped (GTK_OBJECT(customEntry),
+       g_signal_connect_swapped (GTK_OBJECT (customEntry),
                                 "clicked",
-                                GTK_SIGNAL_FUNC(val_labs_dialog_show),
+                                GTK_SIGNAL_FUNC (val_labs_dialog_show),
                                 val_labs_dialog);
       }
       break;
@@ -303,16 +300,16 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
        gtk_sheet_change_entry (sheet, PSPPIRE_CUSTOM_ENTRY_TYPE);
 
        customEntry =
-         PSPPIRE_CUSTOM_ENTRY(gtk_sheet_get_entry (sheet));
+         PSPPIRE_CUSTOM_ENTRY (gtk_sheet_get_entry (sheet));
 
        if (!missing_val_dialog )
            missing_val_dialog = missing_val_dialog_create (xml);
 
        missing_val_dialog->pv = psppire_var_store_get_var (var_store, row);
 
-       g_signal_connect_swapped (GTK_OBJECT(customEntry),
+       g_signal_connect_swapped (GTK_OBJECT (customEntry),
                                 "clicked",
-                                GTK_SIGNAL_FUNC(missing_val_dialog_show),
+                                GTK_SIGNAL_FUNC (missing_val_dialog_show),
                                 missing_val_dialog);
       }
       break;
@@ -326,7 +323,7 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
        gtk_sheet_change_entry (sheet, PSPPIRE_CUSTOM_ENTRY_TYPE);
 
        customEntry =
-         PSPPIRE_CUSTOM_ENTRY(gtk_sheet_get_entry (sheet));
+         PSPPIRE_CUSTOM_ENTRY (gtk_sheet_get_entry (sheet));
 
 
        /* Popup the Variable Type dialog box */
@@ -336,9 +333,9 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
 
        var_type_dialog->pv = pv;
 
-       g_signal_connect_swapped (GTK_OBJECT(customEntry),
+       g_signal_connect_swapped (GTK_OBJECT (customEntry),
                                 "clicked",
-                                GTK_SIGNAL_FUNC(var_type_dialog_show),
+                                GTK_SIGNAL_FUNC (var_type_dialog_show),
                                 var_type_dialog);
       }
       break;
@@ -385,9 +382,9 @@ var_sheet_cell_entry_enter (GtkSheet * sheet, gint row, gint column,
                gtk_sheet_change_entry (sheet, GTK_TYPE_SPIN_BUTTON);
 
                spinButton =
-                 GTK_SPIN_BUTTON(gtk_sheet_get_entry (sheet));
+                 GTK_SPIN_BUTTON (gtk_sheet_get_entry (sheet));
 
-               gtk_spin_button_set_adjustment (spinButton, GTK_ADJUSTMENT(adj));
+               gtk_spin_button_set_adjustment (spinButton, GTK_ADJUSTMENT (adj));
                gtk_spin_button_set_digits (spinButton, 0);
              }
          }
@@ -410,7 +407,7 @@ extern PsppireVarStore *the_var_store;
 
 
 /* Create the var sheet */
-GtkWidget*
+G_MODULE_EXPORT GtkWidget*
 psppire_variable_sheet_create (gchar *widget_name,
                               gchar *string1,
                               gchar *string2,
@@ -424,8 +421,8 @@ psppire_variable_sheet_create (gchar *widget_name,
 
   g_assert (the_var_store);
 
-  sheet = gtk_sheet_new (G_SHEET_ROW(the_var_store),
-                       G_SHEET_COLUMN(geo),
+  sheet = gtk_sheet_new (G_SHEET_ROW (the_var_store),
+                       G_SHEET_COLUMN (geo),
                        "variable sheet", 0);
 
 
@@ -441,21 +438,23 @@ psppire_variable_sheet_create (gchar *widget_name,
                    GTK_SIGNAL_FUNC (traverse_cell_callback), 0);
 
 
-  gtk_sheet_set_model (GTK_SHEET (sheet), G_SHEET_MODEL(the_var_store));
+  gtk_sheet_set_model (GTK_SHEET (sheet), G_SHEET_MODEL (the_var_store));
 
 
   /* Since this happens inside glade_xml_new, we must prevent strings from
    * being re-encoded twice */
   codeset = bind_textdomain_codeset (PACKAGE, 0);
-  bind_textdomain_codeset (PACKAGE, nl_langinfo (CODESET));
+  bind_textdomain_codeset (PACKAGE, locale_charset ());
+
   for (i = 0 ; i < n_COLS ; ++i )
     {
-      g_sheet_hetero_column_set_button_label (G_SHEET_HETERO_COLUMN(geo), i,
+      g_sheet_hetero_column_set_button_label (G_SHEET_HETERO_COLUMN (geo), i,
                        gettext (column_def[i].label));
 
-      g_sheet_hetero_column_set_width (G_SHEET_HETERO_COLUMN(geo), i,
+      g_sheet_hetero_column_set_width (G_SHEET_HETERO_COLUMN (geo), i,
                                               column_def[i].width);
     }
+
   bind_textdomain_codeset (PACKAGE, codeset);
 
   gtk_widget_show (sheet);