- case PSPPIRE_DATA_EDITOR_VARIABLE_VIEW:
- gtk_widget_hide (view_variables);
- gtk_widget_show (view_data);
- gtk_action_set_sensitive (de->insert_variable, TRUE);
- gtk_action_set_sensitive (de->insert_case, FALSE);
- gtk_action_set_sensitive (de->invoke_goto_dialog, FALSE);
- break;
- case PSPPIRE_DATA_EDITOR_DATA_VIEW:
- gtk_widget_show (view_variables);
- gtk_widget_hide (view_data);
- gtk_action_set_sensitive (de->invoke_goto_dialog, TRUE);
- gtk_action_set_sensitive (de->insert_case, TRUE);
- break;
- default:
- g_assert_not_reached ();
- break;
- }
-
-#if 0
- update_paste_menuitem (de, page_num);
-#endif
-}
-
-
-static GtkAction *
-resolve_action (GtkBuilder *builder, const gchar *action, const gchar *proxy)
-{
- GtkWidget *pr = NULL;
- GtkAction *act = get_action_assert (builder, action);
- g_assert (GTK_IS_ACTION (act));
-
- if ( proxy )
- pr = get_widget_assert (builder, proxy);
-
- if ( pr )
- gtk_action_connect_proxy (act, pr);
-
- return act;
-}
-
-
-static void
-set_unsaved (gpointer w)
-{
- psppire_window_set_unsaved (PSPPIRE_WINDOW (w));
-}
-
-static void
-psppire_data_window_init (PsppireDataWindow *de)
-{
- PsppireVarStore *vs;
- PsppireDict *dict = NULL;
-
- GtkWidget *menubar;
- GtkWidget *hb ;
- GtkWidget *sb ;
-
- GtkWidget *box = gtk_vbox_new (FALSE, 0);
- de->builder = builder_new ("data-editor.ui");
-
- menubar = get_widget_assert (de->builder, "menubar");
- hb = get_widget_assert (de->builder, "handlebox1");
- sb = get_widget_assert (de->builder, "status-bar");
-
- de->data_editor =
- PSPPIRE_DATA_EDITOR (psppire_data_editor_new (the_var_store, the_data_store));
-
- g_signal_connect_swapped (the_data_store, "case-changed",
- G_CALLBACK (set_unsaved), de);
-
- g_signal_connect_swapped (the_data_store, "case-inserted",
- G_CALLBACK (set_unsaved), de);
-
- g_signal_connect_swapped (the_data_store, "cases-deleted",
- G_CALLBACK (set_unsaved), de);
-
- dataset_set_callback (the_dataset, set_unsaved, de);
-
- connect_help (de->builder);
-
- gtk_box_pack_start (GTK_BOX (box), menubar, FALSE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (box), hb, FALSE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (box), GTK_WIDGET (de->data_editor), TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (box), sb, FALSE, TRUE, 0);
-
- gtk_container_add (GTK_CONTAINER (de), box);
-
- set_cut_copy_menuitem_sensitivity (de, FALSE);
-
- g_signal_connect_swapped (de->data_editor, "data-selection-changed",
- G_CALLBACK (set_cut_copy_menuitem_sensitivity), de);
-
-
- set_paste_menuitem_sensitivity (de, FALSE);
-
- g_signal_connect_swapped (de->data_editor, "data-available-changed",
- G_CALLBACK (set_paste_menuitem_sensitivity), de);
-
- dataset_add_transform_change_callback (the_dataset,
- transformation_change_callback,
- de);
-
-
- vs = the_var_store;
-
- g_assert(vs); /* Traps a possible bug in w32 build */
-
- g_object_get (vs, "dictionary", &dict, NULL);
-
- g_signal_connect (dict, "weight-changed",
- G_CALLBACK (on_weight_change),
- de);
-
- g_signal_connect (dict, "filter-changed",
- G_CALLBACK (on_filter_change),
- de);
-
- g_signal_connect (dict, "split-changed",
- G_CALLBACK (on_split_change),
- de);
-
-
- g_signal_connect (get_action_assert (de->builder, "edit_copy"),
- "activate",
- G_CALLBACK (on_edit_copy), de);
-
- g_signal_connect (get_action_assert (de->builder, "edit_cut"),
- "activate",
- G_CALLBACK (on_edit_cut), de);
-
-
-
- {
- GtkWidget *toolbarbutton = get_widget_assert (de->builder, "button-open");
-
- GtkAction *action_data_open =
- resolve_action (de->builder, "file_open", NULL);
-
- g_object_set (action_data_open,
- "tooltip", _("Open a data or syntax file"),
- "stock-id", "gtk-open",
- NULL);
-
- g_signal_connect (action_data_open, "activate",
- G_CALLBACK (open_window), de);
-
- g_signal_connect_swapped (toolbarbutton, "clicked",
- G_CALLBACK (gtk_action_activate), action_data_open);
- }
-
-
-
- {
- GtkAction *action_data_new =
- resolve_action (de->builder, "file_new_data", NULL);
-
- g_object_set (action_data_new,
- "tooltip", _("New data file"),
- "stock-id", "gtk-new",
- NULL);
-
- g_signal_connect (action_data_new, "activate",
- G_CALLBACK (new_file), de);
- }
-
-
-
- {
- GtkAction *invoke_text_import_assistant =
- resolve_action (de->builder, "file_import-text", NULL);
-
- g_object_set (invoke_text_import_assistant,
- "tooltip", _("Import text data file"),
- "stock-id", "gtk-convert",
- NULL);
-
- g_signal_connect (invoke_text_import_assistant, "activate",
- G_CALLBACK (text_data_import_assistant), de);
- }
-
-
-
- {
- GtkAction *action_data_save =
- resolve_action (de->builder, "file_save", "button-save");
-
-
- g_object_set (action_data_save,
- "tooltip", _("Save data to file"),
- "stock-id", "gtk-save",
- NULL);
-
- g_signal_connect_swapped (action_data_save, "activate",
- G_CALLBACK (data_save), de);
- }
-
-
-
-
- {
- GtkAction *action_data_save_as =
- resolve_action (de->builder, "file_save_as", NULL);
-
- g_object_set (action_data_save_as,
- "tooltip", _("Save data to file"),
- "stock-id", "gtk-save-as",
- NULL);
-
- g_signal_connect_swapped (action_data_save_as, "activate",
- G_CALLBACK (data_save_as_dialog), de);
- }
-
-
- {
- GtkAction *action_info_working_file =
- resolve_action (de->builder,
- "file_information_working-file", NULL);
-
-
- g_signal_connect_swapped (action_info_working_file, "activate",
- G_CALLBACK (display_dict), de);
- }
-
-
- {
- GtkAction *action_info_external_file =
- resolve_action (de->builder,
- "file_information_external-file", NULL);
-
-
- g_signal_connect_swapped (action_info_external_file, "activate",
- G_CALLBACK (sysfile_info), de);
- }
-
-
-
- {
- GtkAction *value_labels_action =
- resolve_action (de->builder,
- "view_value-labels", "togglebutton-value-labels");
-
- g_object_set (value_labels_action,
- "tooltip", _("Show/hide value labels"),
- "stock-id", "pspp-value-labels",
- NULL);
-
- g_signal_connect (value_labels_action, "toggled",
- G_CALLBACK (toggle_value_labels), de);
- }
-
-
- g_signal_connect (get_action_assert (de->builder, "edit_paste"), "activate",
- G_CALLBACK (on_edit_paste),
- de);
-
- {
- de->delete_cases =
- resolve_action (de->builder, "edit_clear-cases", NULL);
-
-
- g_object_set (de->delete_cases,
- "label", _("Clear"),
- "tooltip", _("Delete the cases at the selected position(s)"),
- "stock-id", "gtk-clear",
- NULL);
-
- g_signal_connect_swapped (de->delete_cases, "activate",
- G_CALLBACK (psppire_data_editor_delete_cases),
- de->data_editor);
-
- gtk_action_set_visible (de->delete_cases, FALSE);
- }
-
-
- {
- de->delete_variables =
- resolve_action (de->builder, "edit_clear-variables", NULL);
-
- g_object_set (de->delete_variables,
- "label", _("Clear"),
- "tooltip", _("Delete the variables at the selected position(s)"),
- "stock-id", "gtk-clear",
- NULL);
-
-
- g_signal_connect_swapped (de->delete_variables, "activate",
- G_CALLBACK (psppire_data_editor_delete_variables),
- de->data_editor);
-
- gtk_action_set_visible (de->delete_variables, FALSE);
- }
-
-
- de->insert_variable =
- resolve_action (de->builder, "edit_insert-variable",
- "button-insert-variable");
-
- g_object_set (de->insert_variable,
- "tooltip", _("Create a new variable at the current position"),
- "stock-id", "pspp-insert-variable",
- NULL);
-
- g_signal_connect (de->insert_variable, "activate",
- G_CALLBACK (on_insert_variable), de->data_editor);
-
-
-
-
-
- de->insert_case =
- resolve_action (de->builder, "edit_insert-case", "button-insert-case");
-
- g_object_set (de->insert_case,
- "tooltip", _("Create a new case at the current position"),
- "stock-id", "pspp-insert-case",
- NULL);
-
- g_signal_connect (de->insert_case, "activate",
- G_CALLBACK (insert_case), de);
-
-
-
-
-
- de->invoke_goto_dialog =
- resolve_action (de->builder, "edit_goto-case", "button-goto-case");
-
-
- g_object_set (de->invoke_goto_dialog,
- "tooltip", _("Jump to a Case in the Data Sheet"),
- "stock-id", "gtk-jump-to",
- NULL);
-
- g_signal_connect (de->invoke_goto_dialog, "activate",
- G_CALLBACK (goto_case_dialog), de);
-
-
-
- {
- GtkAction *invoke_weight_cases_dialog =
- resolve_action (de->builder, "data_weight-cases", "button-weight-cases");
-
-
- g_object_set (invoke_weight_cases_dialog,
- "stock-id", "pspp-weight-cases",
- "tooltip", _("Weight cases by variable"),
- NULL);
-
- g_signal_connect (invoke_weight_cases_dialog, "activate",
- G_CALLBACK (weight_cases_dialog), de);
- }
-
-
- {
- GtkAction *invoke_transpose_dialog =
- resolve_action (de->builder, "data_transpose", NULL);
-
-
- g_object_set (invoke_transpose_dialog,
- "tooltip", _("Transpose the cases with the variables"),
- "stock-id", "pspp-transpose",
- NULL);
-
- g_signal_connect (invoke_transpose_dialog, "activate",
- G_CALLBACK (transpose_dialog), de);
- }
-
-
- {
- GtkAction *invoke_split_file_dialog =
- resolve_action (de->builder, "data_split-file", "button-split-file");
-
- g_object_set (invoke_split_file_dialog,
- "tooltip", _("Split the active file"),
- "stock-id", "pspp-split-file",
- NULL);
-
- g_signal_connect (invoke_split_file_dialog, "activate",
- G_CALLBACK (split_file_dialog), de);
- }
-
-
- {
- GtkAction *invoke_sort_cases_dialog =
- resolve_action (de->builder, "data_sort-cases", NULL);
-
-
- g_object_set (invoke_sort_cases_dialog,
- "tooltip", _("Sort cases in the active file"),
- "stock-id", "gtk-sort-ascending",
- NULL);
-
- g_signal_connect (invoke_sort_cases_dialog, "activate",
- G_CALLBACK (sort_cases_dialog), de);
- }
-
-
- {
- GtkAction *invoke_select_cases_dialog =
- resolve_action (de->builder, "data_select-cases", "button-select-cases");
-
- g_object_set (invoke_select_cases_dialog,
- "tooltip", _("Select cases from the active file"),
- "stock-id", "pspp-select-cases",
- NULL);
-
- g_signal_connect (invoke_select_cases_dialog, "activate",
- G_CALLBACK (select_cases_dialog), de);
- }
-
-
- {
- GtkAction *invoke_compute_dialog =
- resolve_action (de->builder, "transform_compute", NULL);
-
- g_object_set (invoke_compute_dialog,
- "tooltip", _("Compute new values for a variable"),
- "stock-id", "pspp-compute",
- NULL);
-
- g_signal_connect (invoke_compute_dialog, "activate",
- G_CALLBACK (compute_dialog), de);
- }
-
-
- {
- GtkAction *invoke_oneway_anova_dialog =
- resolve_action (de->builder, "oneway-anova", NULL);
-
- g_object_set (invoke_oneway_anova_dialog,
- "tooltip", _("Perform one way analysis of variance"),
- NULL);
-
- g_signal_connect (invoke_oneway_anova_dialog, "activate",
- G_CALLBACK (oneway_anova_dialog), de);
- }
-
-
- {
- GtkAction *invoke_t_test_independent_samples_dialog =
- resolve_action (de->builder, "indep-t-test", NULL);
-
-
- g_object_set (invoke_t_test_independent_samples_dialog,
- "tooltip",
- _("Calculate T Test for samples from independent groups"),
- NULL);
-
- g_signal_connect (invoke_t_test_independent_samples_dialog, "activate",
- G_CALLBACK (t_test_independent_samples_dialog), de);
- }
-
-
- {
- GtkAction *invoke_t_test_paired_samples_dialog =
- resolve_action (de->builder, "paired-t-test", NULL);
-
- g_object_set (invoke_t_test_paired_samples_dialog,
- "tooltip",
- _("Calculate T Test for paired samples"),
- NULL);
-
- g_signal_connect (invoke_t_test_paired_samples_dialog, "activate",
- G_CALLBACK (t_test_paired_samples_dialog), de);
- }
-
-
- {
- GtkAction *invoke_t_test_one_sample_dialog =
- resolve_action (de->builder, "one-sample-t-test", NULL);
-
- g_object_set (invoke_t_test_one_sample_dialog,
- "tooltip",
- _("Calculate T Test for sample from a single distribution"),
- NULL);
-
- g_signal_connect (invoke_t_test_one_sample_dialog, "activate",
- G_CALLBACK (t_test_one_sample_dialog), de);
- }
-
-
- {
- GtkAction *invoke_comments_dialog =
- resolve_action (de->builder, "utilities_comments", NULL);
-
-
- g_object_set (invoke_comments_dialog,
- "tooltip",
- _("Commentary text for the data file"),
- NULL);
-
- g_signal_connect (invoke_comments_dialog, "activate",
- G_CALLBACK (comments_dialog), de);
- }
-
-
-
- {
- GtkAction *invoke_find_dialog =
- resolve_action (de->builder, "edit_find", "button-find");
-
- g_object_set (invoke_find_dialog, "stock-id", "gtk-find", NULL);
-
- g_signal_connect (invoke_find_dialog, "activate",
- G_CALLBACK (find_dialog), de);
- }
-
-
- {
- GtkAction *invoke_rank_dialog =
- resolve_action (de->builder, "transform_rank", NULL);
-
- g_object_set (invoke_rank_dialog,
- "stock-id", "pspp-rank-cases",
- "tooltip", _("Rank Cases"),
- NULL);
-
- g_signal_connect (invoke_rank_dialog, "activate",
- G_CALLBACK (rank_dialog), de);
- }
-
-
- {
- GtkAction *invoke_recode_same_dialog =
- resolve_action (de->builder, "transform_recode-same", NULL);
-
- g_object_set (invoke_recode_same_dialog,
- "stock-id", "pspp-recode-same",
- "tooltip", _("Recode values into the same variables"),
- NULL);
-
- g_signal_connect (invoke_recode_same_dialog, "activate",
- G_CALLBACK (recode_same_dialog), de);
- }
-
-
- {
- GtkAction *invoke_recode_different_dialog =
- resolve_action (de->builder, "transform_recode-different", NULL);
-
- g_object_set (invoke_recode_different_dialog,
- "stock-id", "pspp-recode-different",
- "tooltip", _("Recode values into different variables"),
- NULL);
-
- g_signal_connect (invoke_recode_different_dialog, "activate",
- G_CALLBACK (recode_different_dialog), de);
- }
-
-
- {
- GtkAction *invoke_variable_info_dialog =
- resolve_action (de->builder, "utilities_variables", "button-goto-variable");
-
- g_object_set (invoke_variable_info_dialog,
- "stock-id", "pspp-goto-variable",
- "tooltip", _("Jump to variable"),
- NULL);
-
- g_signal_connect (invoke_variable_info_dialog, "activate",
- G_CALLBACK (variable_info_dialog), de);
- }
-
-
- {
- GtkAction *invoke_descriptives_dialog =
- resolve_action (de->builder, "analyze_descriptives", NULL);
-
- g_object_set (invoke_descriptives_dialog,
- "tooltip", _("Calculate descriptive statistics (mean, variance, ...)"),
- "stock-id", "pspp-descriptives",
- NULL);
-
- g_signal_connect (invoke_descriptives_dialog, "activate",
- G_CALLBACK (descriptives_dialog), de);
- }
-
-
- {
- GtkAction *invoke_frequencies_dialog =
- resolve_action (de->builder, "analyze_frequencies", NULL);
-
- g_object_set (invoke_frequencies_dialog,
- "tooltip", _("Generate frequency statistics"),
- "stock-id", "pspp-frequencies",
- NULL);
-
- g_signal_connect (invoke_frequencies_dialog, "activate",
- G_CALLBACK (frequencies_dialog), de);
- }