X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-data-window.c;h=c7631c9da42440beed850a6991fe6e62104eb76c;hb=9529d1a99cc7c288d94e5bbdb9f4263bd524da6c;hp=02b9cc344392859eec2ffdcb63163485eaa4ebf5;hpb=7585d6b0837a2864bfc33c5752c9c4b50a50ea37;p=pspp-builds.git diff --git a/src/ui/gui/psppire-data-window.c b/src/ui/gui/psppire-data-window.c index 02b9cc34..c7631c9d 100644 --- a/src/ui/gui/psppire-data-window.c +++ b/src/ui/gui/psppire-data-window.c @@ -18,6 +18,7 @@ #include #include +#include "executor.h" #include "helper.h" #include "text-data-import-dialog.h" @@ -55,6 +56,9 @@ #include "examine-dialog.h" #include "regression-dialog.h" #include "reliability-dialog.h" +#include "roc-dialog.h" +#include "correlation-dialog.h" +#include "factor-dialog.h" #include "oneway-anova-dialog.h" #include "t-test-independent-samples-dialog.h" #include "t-test-one-sample.h" @@ -230,12 +234,14 @@ on_filter_change (GObject *o, gint filter_index, gpointer data) else { PsppireVarStore *vs = NULL; + PsppireDict *dict = NULL; struct variable *var ; gchar *text ; g_object_get (de->data_editor, "var-store", &vs, NULL); + g_object_get (vs, "dictionary", &dict, NULL); - var = psppire_dict_get_variable (vs->dict, filter_index); + var = psppire_dict_get_variable (dict, filter_index); text = g_strdup_printf (_("Filter by %s"), var_get_name (var)); @@ -301,11 +307,13 @@ on_weight_change (GObject *o, gint weight_index, gpointer data) { struct variable *var ; PsppireVarStore *vs = NULL; + PsppireDict *dict = NULL; gchar *text; g_object_get (de->data_editor, "var-store", &vs, NULL); - - var = psppire_dict_get_variable (vs->dict, weight_index); + g_object_get (vs, "dictionary", &dict, NULL); + + var = psppire_dict_get_variable (dict, weight_index); text = g_strdup_printf (_("Weight by %s"), var_get_name (var)); @@ -520,7 +528,6 @@ static void insert_case (GtkAction *action, gpointer data) { PsppireDataWindow *dw = PSPPIRE_DATA_WINDOW (data); - psppire_data_editor_insert_case (dw->data_editor); } @@ -613,8 +620,8 @@ data_save_as_dialog (PsppireDataWindow *de) (gtk_radio_button_get_group (GTK_RADIO_BUTTON(button_sys)), _("Portable File")); - gtk_box_pack_start_defaults (GTK_BOX (vbox), button_sys); - gtk_box_pack_start_defaults (GTK_BOX (vbox), button_por); + psppire_box_pack_start_defaults (GTK_BOX (vbox), button_sys); + psppire_box_pack_start_defaults (GTK_BOX (vbox), button_por); gtk_widget_show_all (vbox); @@ -1090,6 +1097,7 @@ static void psppire_data_window_init (PsppireDataWindow *de) { PsppireVarStore *vs; + PsppireDict *dict = NULL; GtkWidget *menubar; GtkWidget *hb ; @@ -1145,15 +1153,17 @@ psppire_data_window_init (PsppireDataWindow *de) g_assert(vs); /* Traps a possible bug in w32 build */ - g_signal_connect (vs->dict, "weight-changed", + g_object_get (vs, "dictionary", &dict, NULL); + + g_signal_connect (dict, "weight-changed", G_CALLBACK (on_weight_change), de); - g_signal_connect (vs->dict, "filter-changed", + g_signal_connect (dict, "filter-changed", G_CALLBACK (on_filter_change), de); - g_signal_connect (vs->dict, "split-changed", + g_signal_connect (dict, "split-changed", G_CALLBACK (on_split_change), de); @@ -1240,7 +1250,6 @@ psppire_data_window_init (PsppireDataWindow *de) resolve_action (de->builder, "file_save_as", NULL); g_object_set (action_data_save_as, - "label", _("Save As"), "tooltip", _("Save data to file"), "stock-id", "gtk-save-as", NULL); @@ -1686,6 +1695,48 @@ psppire_data_window_init (PsppireDataWindow *de) G_CALLBACK (reliability_dialog), de); } + { + GtkAction *invoke_roc_dialog = + resolve_action (de->builder, "roc-curve", NULL); + + g_object_set (invoke_roc_dialog, + "tooltip", _("ROC Curve"), + "stock-id", "pspp-roc", + NULL + ); + + g_signal_connect (invoke_roc_dialog, "activate", + G_CALLBACK (roc_dialog), de); + } + + { + GtkAction *invoke_correlation_dialog = + resolve_action (de->builder, "correlation", NULL); + + g_object_set (invoke_correlation_dialog, + "tooltip", _("Bivariate Correlation"), + "stock-id", "pspp-correlation", + NULL + ); + + g_signal_connect (invoke_correlation_dialog, "activate", + G_CALLBACK (correlation_dialog), de); + } + + { + GtkAction *invoke_factor_dialog = + resolve_action (de->builder, "factor-analysis", NULL); + + g_object_set (invoke_factor_dialog, + "tooltip", _("Principal Axis Factoring and Principal Components Analysis"), + "stock-id", "pspp-factor", + NULL + ); + + g_signal_connect (invoke_factor_dialog, "activate", + G_CALLBACK (factor_dialog), de); + } + { GtkUIManager *uim = GTK_UI_MANAGER (get_object_assert (de->builder, "uimanager1", GTK_TYPE_UI_MANAGER)); @@ -1849,28 +1900,29 @@ psppire_data_window_init (PsppireDataWindow *de) de); } - de->data_sheet_variable_popup_menu = - GTK_MENU (create_data_sheet_variable_popup_menu (de)); - - de->var_sheet_variable_popup_menu = - GTK_MENU (create_var_sheet_variable_popup_menu (de)); + { + GtkUIManager *uim = GTK_UI_MANAGER (get_object_assert (de->builder, "uimanager1", GTK_TYPE_UI_MANAGER)); - de->data_sheet_cases_popup_menu = - GTK_MENU (create_data_sheet_cases_popup_menu (de)); + PSPPIRE_WINDOW (de)->menu = + GTK_MENU_SHELL (gtk_ui_manager_get_widget (uim,"/ui/menubar/windows/windows_minimise_all")->parent); + } { - GtkUIManager *uim = GTK_UI_MANAGER (get_object_assert (de->builder, "uimanager1", GTK_TYPE_UI_MANAGER)); + GtkMenu *data_sheet_variable_popup_menu = + GTK_MENU (create_data_sheet_variable_popup_menu (de)); - PSPPIRE_WINDOW (de)->menu = - GTK_MENU_SHELL (gtk_ui_manager_get_widget (uim,"/ui/menubar/windows/windows_minimise_all")->parent); - } + GtkMenu *var_sheet_variable_popup_menu = + GTK_MENU (create_var_sheet_variable_popup_menu (de)); + GtkMenu *data_sheet_cases_popup_menu = + GTK_MENU (create_data_sheet_cases_popup_menu (de)); - g_object_set (de->data_editor, - "datasheet-column-menu", de->data_sheet_variable_popup_menu, - "datasheet-row-menu", de->data_sheet_cases_popup_menu, - "varsheet-row-menu", de->var_sheet_variable_popup_menu, - NULL); + g_object_set (de->data_editor, + "datasheet-column-menu", data_sheet_variable_popup_menu, + "datasheet-row-menu", data_sheet_cases_popup_menu, + "varsheet-row-menu", var_sheet_variable_popup_menu, + NULL); + } gtk_widget_show (GTK_WIDGET (de->data_editor)); gtk_widget_show (box);