X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-k-independent.c;h=e959a093273db7b12c58330d4f71f2c6d49fee77;hb=53241f59ac766997bf67870639f70afb82396640;hp=0a578caa20160ed7d1432fc86bba817e6c2ef426;hpb=bc30bc5e0a4d8bdfc56e43ccd1403c070a71dec8;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-k-independent.c b/src/ui/gui/psppire-dialog-action-k-independent.c index 0a578caa20..e959a09327 100644 --- a/src/ui/gui/psppire-dialog-action-k-independent.c +++ b/src/ui/gui/psppire-dialog-action-k-independent.c @@ -39,7 +39,7 @@ static void psppire_dialog_action_k_independent_class_init (PsppireDialogAc G_DEFINE_TYPE (PsppireDialogActionKIndependent, psppire_dialog_action_k_independent, PSPPIRE_TYPE_DIALOG_ACTION); -const static char *keyword[n_KIDS] = +static const char *keyword[n_KIDS] = { "KRUSKAL-WALLIS", "MEDIAN" @@ -57,7 +57,7 @@ generate_syntax (const PsppireDialogAction *act) { g_string_append (string, "\n\t"); - if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (kid->checkbutton[i]))) + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (kid->checkbutton[i]))) { g_string_append_printf (string, "/%s = ", keyword[i]); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (kid->vars_treeview), @@ -74,7 +74,7 @@ generate_syntax (const PsppireDialogAction *act) kid->upper_limit_value.f); } } - + g_string_append (string, ".\n"); text = string->str; @@ -95,10 +95,10 @@ dialog_state_valid (gpointer data) GtkTreeIter notused; - if ( !gtk_tree_model_get_iter_first (vars, ¬used) ) + if (!gtk_tree_model_get_iter_first (vars, ¬used)) return FALSE; - if ( 0 == strcmp ("", gtk_entry_get_text (GTK_ENTRY (kid->groupvar_entry)))) + if (0 == strcmp ("", gtk_entry_get_text (GTK_ENTRY (kid->groupvar_entry)))) return FALSE; gboolean method_set = FALSE; @@ -143,7 +143,8 @@ run_define_groups_dialog (PsppireDialogActionKIndependent *kid) psppire_value_entry_set_value (PSPPIRE_VALUE_ENTRY (kid->upper_limit_entry), &kid->upper_limit_value, 0); - if (PSPPIRE_RESPONSE_CONTINUE == psppire_dialog_run (kid->subdialog)) + if (PSPPIRE_RESPONSE_CONTINUE == + psppire_dialog_run (PSPPIRE_DIALOG (kid->subdialog))) { psppire_value_entry_get_value (PSPPIRE_VALUE_ENTRY (kid->lower_limit_entry), &kid->lower_limit_value, 0); @@ -163,56 +164,52 @@ set_value_entry_variable (PsppireDialogActionKIndependent *kid, GtkEntry *entry) const struct variable *v = da->dict ? psppire_dict_lookup_var (da->dict, text) : NULL; - psppire_value_entry_set_variable (kid->lower_limit_entry, v); - psppire_value_entry_set_variable (kid->upper_limit_entry, v); + psppire_value_entry_set_variable (PSPPIRE_VALUE_ENTRY (kid->lower_limit_entry), v); + psppire_value_entry_set_variable (PSPPIRE_VALUE_ENTRY (kid->upper_limit_entry), v); } -static void -psppire_dialog_action_k_independent_activate (PsppireDialogAction *a) +static GtkBuilder * +psppire_dialog_action_k_independent_activate (PsppireDialogAction *a, GVariant *param) { PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a); PsppireDialogActionKIndependent *kid = PSPPIRE_DIALOG_ACTION_K_INDEPENDENT (a); - GHashTable *thing = psppire_dialog_action_get_hash_table (pda); - GtkBuilder *xml = g_hash_table_lookup (thing, a); - if (!xml) - { - xml = builder_new ("k-independent.ui"); - g_hash_table_insert (thing, a, xml); + GtkBuilder *xml = builder_new ("k-independent.ui"); - pda->dialog = get_widget_assert (xml, "k-independent-dialog"); - pda->source = get_widget_assert (xml, "k-independent-treeview1"); + pda->dialog = get_widget_assert (xml, "k-independent-dialog"); + pda->source = get_widget_assert (xml, "k-independent-treeview1"); - kid->vars_treeview = get_widget_assert (xml, "k-independent-treeview2"); - kid->groupvar_entry = get_widget_assert (xml, "k-independent-entry"); + kid->vars_treeview = get_widget_assert (xml, "k-independent-treeview2"); + kid->groupvar_entry = get_widget_assert (xml, "k-independent-entry"); - kid->subdialog = get_widget_assert (xml, "define-groups-dialog"); + kid->subdialog = get_widget_assert (xml, "define-groups-dialog"); - kid->lower_limit_entry = get_widget_assert (xml, "lower-limit-entry"); - kid->upper_limit_entry = get_widget_assert (xml, "upper-limit-entry"); + kid->lower_limit_entry = get_widget_assert (xml, "lower-limit-entry"); + kid->upper_limit_entry = get_widget_assert (xml, "upper-limit-entry"); - kid->checkbutton[KID_KRUSKAL_WALLIS] = get_widget_assert (xml, - "kruskal-wallis"); + kid->checkbutton[KID_KRUSKAL_WALLIS] = get_widget_assert (xml, + "kruskal-wallis"); - kid->checkbutton[KID_MEDIAN] = get_widget_assert (xml, "median"); + kid->checkbutton[KID_MEDIAN] = get_widget_assert (xml, "median"); - g_signal_connect_swapped (get_widget_assert (xml, "define-groups-button"), - "clicked", - G_CALLBACK (run_define_groups_dialog), kid); + g_signal_connect_swapped (get_widget_assert (xml, "define-groups-button"), + "clicked", + G_CALLBACK (run_define_groups_dialog), kid); - g_signal_connect_swapped (kid->groupvar_entry, "changed", - G_CALLBACK (set_value_entry_variable), kid); - } + g_signal_connect_swapped (kid->groupvar_entry, "changed", + G_CALLBACK (set_value_entry_variable), kid); psppire_dialog_action_set_valid_predicate (pda, dialog_state_valid); psppire_dialog_action_set_refresh (pda, refresh); + + return xml; } static void psppire_dialog_action_k_independent_class_init (PsppireDialogActionKIndependentClass *class) { - psppire_dialog_action_set_activation (class, psppire_dialog_action_k_independent_activate); + PSPPIRE_DIALOG_ACTION_CLASS (class)->initial_activate = psppire_dialog_action_k_independent_activate; PSPPIRE_DIALOG_ACTION_CLASS (class)->generate_syntax = generate_syntax; }