X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-descriptives.c;h=a2a554a47168ed985b77d22a28ffb84af52e963f;hb=3990e1c55ccb6b246aff730309ae8efeaf7562da;hp=170604c9458b8a9f26655d79be16cc3ea4aa7890;hpb=53508ccb5785dfcad8080d9dcdacdf3b7af5be76;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-descriptives.c b/src/ui/gui/psppire-dialog-action-descriptives.c index 170604c945..a2a554a471 100644 --- a/src/ui/gui/psppire-dialog-action-descriptives.c +++ b/src/ui/gui/psppire-dialog-action-descriptives.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2012 Free Software Foundation + Copyright (C) 2015 Free Software Foundation 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 @@ -19,7 +19,7 @@ #include "psppire-dialog-action-descriptives.h" -#include "checkbox-treeview.h" +#include "psppire-checkbox-treeview.h" #include "psppire-var-view.h" #include "psppire-dict.h" @@ -35,21 +35,21 @@ static void psppire_dialog_action_descriptives_class_init (PsppireDialogAct G_DEFINE_TYPE (PsppireDialogActionDescriptives, psppire_dialog_action_descriptives, PSPPIRE_TYPE_DIALOG_ACTION); -#define DESCRIPTIVE_STATS \ - DS (MEAN, N_("Mean")) \ - DS (STDDEV, N_("Standard deviation")) \ - DS (MINIMUM, N_("Minimum")) \ - DS (MAXIMUM, N_("Maximum")) \ - DS (RANGE, N_("Range")) \ - DS (SUM, N_("Sum")) \ - DS (SEMEAN, N_("Standard error")) \ - DS (VARIANCE, N_("Variance")) \ - DS (KURTOSIS, N_("Kurtosis")) \ - DS (SKEWNESS, N_("Skewness")) +#define DESCRIPTIVE_STATS \ + DS (MEAN, N_("Mean"), NULL) \ + DS (STDDEV, N_("Standard deviation"), NULL) \ + DS (MINIMUM, N_("Minimum"), N_("Minimum value")) \ + DS (MAXIMUM, N_("Maximum"), N_("Maximum value")) \ + DS (RANGE, N_("Range"), NULL) \ + DS (SUM, N_("Sum"), NULL) \ + DS (SEMEAN, N_("Standard error"), N_("Standard error of mean")) \ + DS (VARIANCE, N_("Variance"), NULL) \ + DS (KURTOSIS, N_("Kurtosis"), N_("Kurtosis and standard error of kurtosis")) \ + DS (SKEWNESS, N_("Skewness"), N_("Skewness and standard error of skewness")) enum { -#define DS(NAME, LABEL) DS_##NAME, +#define DS(NAME, LABEL, TOOLTIP) DS_##NAME, DESCRIPTIVE_STATS #undef DS N_DESCRIPTIVE_STATS @@ -57,7 +57,7 @@ enum enum { -#define DS(NAME, LABEL) B_DS_##NAME = 1u << DS_##NAME, +#define DS(NAME, LABEL, TOOLTIP) B_DS_##NAME = 1u << DS_##NAME, DESCRIPTIVE_STATS #undef DS B_DS_ALL = (1u << N_DESCRIPTIVE_STATS) - 1, @@ -67,14 +67,14 @@ enum static const struct checkbox_entry_item stats[] = { -#define DS(NAME, LABEL) {#NAME, LABEL}, +#define DS(NAME, LABEL, TOOLTIP) {#NAME, LABEL, TOOLTIP}, DESCRIPTIVE_STATS #undef DS }; static char * -generate_syntax (PsppireDialogAction *act) +generate_syntax (const PsppireDialogAction *act) { PsppireDialogActionDescriptives *scd = PSPPIRE_DIALOG_ACTION_DESCRIPTIVES (act); gchar *text; @@ -169,8 +169,10 @@ dialog_state_valid (gpointer data) } static void -dialog_refresh (PsppireDialogActionDescriptives *scd) +dialog_refresh (PsppireDialogAction *scd_) { + PsppireDialogActionDescriptives *scd + = PSPPIRE_DIALOG_ACTION_DESCRIPTIVES (scd_); GtkTreeModel *liststore; GtkTreeIter iter; size_t i; @@ -190,30 +192,30 @@ dialog_refresh (PsppireDialogActionDescriptives *scd) gtk_toggle_button_set_active (scd->save_z_scores, false); } -static void -psppire_dialog_action_descriptives_activate (GtkAction *a) + +static GtkBuilder * +psppire_dialog_action_descriptives_activate (PsppireDialogAction *a, GVariant *param) { PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a); PsppireDialogActionDescriptives *act = PSPPIRE_DIALOG_ACTION_DESCRIPTIVES (a); GtkBuilder *xml = builder_new ("descriptives.ui"); - GtkWidget *stats_treeview = get_widget_assert (xml, "statistics"); + GtkWidget *stats_treeview = get_widget_assert (xml, "statistics"); + psppire_checkbox_treeview_populate (PSPPIRE_CHECKBOX_TREEVIEW (stats_treeview), + B_DS_DEFAULT, + N_DESCRIPTIVE_STATS, stats); + act->stats = gtk_tree_view_get_model (GTK_TREE_VIEW (stats_treeview)); pda->dialog = get_widget_assert (xml, "descriptives-dialog"); pda->source = get_widget_assert (xml, "all-variables"); act->variables = get_widget_assert (xml, "stat-variables"); - g_object_set (pda->source, "model", pda->dict, - "predicate", var_is_numeric, NULL); - - put_checkbox_items_in_treeview (GTK_TREE_VIEW (stats_treeview), - B_DS_DEFAULT, - N_DESCRIPTIVE_STATS, stats); + g_object_set (pda->source, + "predicate", var_is_numeric, NULL); act->stat_vars = GTK_TREE_VIEW (act->variables); - act->stats = gtk_tree_view_get_model (GTK_TREE_VIEW (stats_treeview)); - + act->include_user_missing = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "include_user_missing")); act->exclude_missing_listwise = @@ -224,13 +226,13 @@ psppire_dialog_action_descriptives_activate (GtkAction *a) psppire_dialog_action_set_valid_predicate (pda, dialog_state_valid); psppire_dialog_action_set_refresh (pda, dialog_refresh); - PSPPIRE_DIALOG_ACTION_CLASS (psppire_dialog_action_descriptives_parent_class)->activate (pda); + return xml; } static void psppire_dialog_action_descriptives_class_init (PsppireDialogActionDescriptivesClass *class) { - GTK_ACTION_CLASS (class)->activate = psppire_dialog_action_descriptives_activate; + PSPPIRE_DIALOG_ACTION_CLASS (class)->initial_activate = psppire_dialog_action_descriptives_activate; PSPPIRE_DIALOG_ACTION_CLASS (class)->generate_syntax = generate_syntax; }