static void run_old_and_new_dialog (struct recode_dialog *rd) { gint response; GtkListStore *local_store = clone_list_store (rd->value_map); psppire_acr_set_model (rd->acr, local_store); psppire_acr_set_get_value_func (rd->acr, set_value, rd); gtk_window_set_title (GTK_WINDOW (rd->old_and_new_dialog), rd->different ? _("Recode into Different Variables: Old and New Values ") : _("Recode into Same Variables: Old and New Values") ); { /* Find the type of the first variable (it's invariant that all variables are of the same type) */ const struct variable *v; GtkTreeIter iter; GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (rd->variable_treeview)); gboolean not_empty = gtk_tree_model_get_iter_first (model, &iter); g_return_if_fail (not_empty); gtk_tree_model_get (model, &iter, 0, &v, -1); rd->input_var_is_string = var_is_alpha (v); g_object_set (rd->old_value_chooser, "is-string", rd->input_var_is_string, NULL); gtk_widget_set_sensitive (rd->toggle [BUTTON_NEW_SYSMIS], var_is_numeric (v)); gtk_widget_set_sensitive (rd->convert_button, var_is_alpha (v)); } response = psppire_dialog_run (rd->old_and_new_dialog); psppire_acr_set_model (rd->acr, NULL); if ( response == PSPPIRE_RESPONSE_CONTINUE ) { g_object_unref (rd->value_map); rd->value_map = clone_list_store (local_store); } else g_object_unref (local_store); psppire_dialog_notify_change (PSPPIRE_DIALOG (rd->dialog)); }
static void on_statistics_clicked (PsppireDialogActionCrosstabs *cd) { GtkListStore *liststore = clone_list_store (GTK_LIST_STORE (cd->stat)); gint ret = psppire_dialog_run (PSPPIRE_DIALOG (cd->stat_dialog)); if ( ret == PSPPIRE_RESPONSE_CONTINUE ) { g_object_unref (liststore); } else { gtk_tree_view_set_model (GTK_TREE_VIEW (cd->stat_view) , GTK_TREE_MODEL (liststore)); cd->stat = GTK_TREE_MODEL (liststore); } }
static void on_cell_clicked (struct crosstabs_dialog *cd) { GtkListStore *liststore; int ret; liststore = clone_list_store (GTK_LIST_STORE (cd->cell)); ret = psppire_dialog_run (PSPPIRE_DIALOG (cd->cell_dialog)); if ( ret == PSPPIRE_RESPONSE_CONTINUE ) { g_object_unref (liststore); } else { g_object_unref (cd->cell); gtk_tree_view_set_model (GTK_TREE_VIEW (cd->cell_view) , GTK_TREE_MODEL (liststore)); cd->cell = GTK_TREE_MODEL (liststore); } }