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=325596307ee32c07870837f7842fff0febccaf6a;hpb=258cbd9cdf386687122b0854274923acafc786d4;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-descriptives.c b/src/ui/gui/psppire-dialog-action-descriptives.c index 325596307e..a2a554a471 100644 --- a/src/ui/gui/psppire-dialog-action-descriptives.c +++ b/src/ui/gui/psppire-dialog-action-descriptives.c @@ -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,7 +67,7 @@ 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 }; @@ -193,25 +193,19 @@ dialog_refresh (PsppireDialogAction *scd_) } -static void -psppire_dialog_action_descriptives_activate (PsppireDialogAction *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_hash_table (pda); - GtkBuilder *xml = g_hash_table_lookup (thing, a); - if (!xml) - { - xml = builder_new ("descriptives.ui"); - g_hash_table_insert (thing, a, xml); - - 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)); - } + 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"); @@ -221,7 +215,7 @@ psppire_dialog_action_descriptives_activate (PsppireDialogAction *a) "predicate", var_is_numeric, NULL); act->stat_vars = GTK_TREE_VIEW (act->variables); - + act->include_user_missing = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "include_user_missing")); act->exclude_missing_listwise = @@ -231,12 +225,14 @@ psppire_dialog_action_descriptives_activate (PsppireDialogAction *a) psppire_dialog_action_set_valid_predicate (pda, dialog_state_valid); psppire_dialog_action_set_refresh (pda, dialog_refresh); + + 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; }