-/* Name-Label pair */
-struct nlp
-{
- char *name;
- char *label;
-};
-
-static struct nlp *
-nlp_create (const char *name, const char *label)
-{
- struct nlp *nlp = xmalloc (sizeof *nlp);
-
- nlp->name = g_strdup (name);
-
- nlp->label = NULL;
-
- if ( 0 != strcmp ("", label))
- nlp->label = g_strdup (label);
-
- return nlp;
-}
-
-static void
-nlp_destroy (gpointer data)
-{
- struct nlp *nlp = data ;
- if ( ! nlp )
- return;
-
- g_free (nlp->name);
- g_free (nlp->label);
- g_free (nlp);
-}
-
-
-/* Callback which gets called when a new row is selected
- in the variable treeview.
- It sets the name and label entry widgets to reflect the
- currently selected row.
- */
-static void
-on_selection_change (GtkTreeSelection *selection, gpointer data)
-{
- PsppireDialogActionRecode *rd = data;
-
- GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (rd->variable_treeview));
-
- GList *rows = gtk_tree_selection_get_selected_rows (selection, &model);
-
- if ( rows && !rows->next)
- {
- /* Exactly one row is selected */
- struct nlp *nlp;
- struct variable *var;
- gboolean ok;
- GtkTreeIter iter;
-
- gtk_widget_set_sensitive (rd->change_button, TRUE);
- gtk_widget_set_sensitive (rd->new_name_entry, TRUE);
- gtk_widget_set_sensitive (rd->new_label_entry, TRUE);
-
- ok = gtk_tree_model_get_iter (model, &iter, (GtkTreePath*) rows->data);
- g_return_if_fail (ok);
-
- gtk_tree_model_get (model, &iter,
- 0, &var,
- -1);
-
- nlp = g_hash_table_lookup (rd->varmap, var);
-
- if (nlp)
- {
- gtk_entry_set_text (GTK_ENTRY (rd->new_name_entry), nlp->name ? nlp->name : "");
- gtk_entry_set_text (GTK_ENTRY (rd->new_label_entry), nlp->label ? nlp->label : "");
- }
- else
- {
- gtk_entry_set_text (GTK_ENTRY (rd->new_name_entry), "");
- gtk_entry_set_text (GTK_ENTRY (rd->new_label_entry), "");
- }
- }
- else
- {
- gtk_widget_set_sensitive (rd->change_button, FALSE);
- gtk_widget_set_sensitive (rd->new_name_entry, FALSE);
- gtk_widget_set_sensitive (rd->new_label_entry, FALSE);
-
- gtk_entry_set_text (GTK_ENTRY (rd->new_name_entry), "");
- gtk_entry_set_text (GTK_ENTRY (rd->new_label_entry), "");
- }
-
-
- g_list_foreach (rows, (GFunc) gtk_tree_path_free, NULL);
- g_list_free (rows);
-}
-