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=9140e19c3c21100f6e86863b5e3a445909cbe5bf;hpb=fc6620099bbc53762095569d5356b67a81a85402;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-descriptives.c b/src/ui/gui/psppire-dialog-action-descriptives.c index 9140e19c3c..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 @@ -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; @@ -193,21 +193,19 @@ dialog_refresh (PsppireDialogAction *scd_) } -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); - GHashTable *thing = psppire_dialog_action_get_pointer (pda); - GtkBuilder *xml = g_hash_table_lookup (thing, a); - if (!xml) - { - xml = builder_new ("descriptives.ui"); - g_hash_table_insert (thing, a, xml); - } + GtkBuilder *xml = builder_new ("descriptives.ui"); 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"); @@ -216,13 +214,8 @@ psppire_dialog_action_descriptives_activate (GtkAction *a) g_object_set (pda->source, "predicate", var_is_numeric, NULL); - psppire_checkbox_treeview_populate (PSPPIRE_CHECKBOX_TREEVIEW (stats_treeview), - B_DS_DEFAULT, - N_DESCRIPTIVE_STATS, stats); - 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 = @@ -233,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) { - psppire_dialog_action_set_activation (class, 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; }