X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-recode.c;h=221e90f2301cfe4a6a4a6fbbbef9b89f1f3eb927;hb=ccaf88efae9f6f4d93d7812834c412e8fd511bb2;hp=6e8b222b47812273fdf77c6e5734777ec1680ebc;hpb=ff50bab74c735b9e48b851080edcd1d466a83371;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-recode.c b/src/ui/gui/psppire-dialog-action-recode.c index 6e8b222b47..221e90f230 100644 --- a/src/ui/gui/psppire-dialog-action-recode.c +++ b/src/ui/gui/psppire-dialog-action-recode.c @@ -440,131 +440,119 @@ psppire_dialog_action_recode_refresh (PsppireDialogAction *rd_) } -static void -psppire_dialog_action_recode_activate (PsppireDialogAction *act) -{ - if (PSPPIRE_DIALOG_ACTION_CLASS (psppire_dialog_action_recode_parent_class)->activate) - PSPPIRE_DIALOG_ACTION_CLASS (psppire_dialog_action_recode_parent_class)->activate (act); -} - - -void -psppire_dialog_action_recode_pre_activate (PsppireDialogActionRecode *act, void (*populate_treeview) (PsppireDialogActionRecode *)) +GtkBuilder * +psppire_dialog_action_recode_pre_activate (PsppireDialogActionRecode *act, + void (*populate_treeview) (PsppireDialogActionRecode *)) { PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (act); - GHashTable *thing = psppire_dialog_action_get_hash_table (pda); - GtkBuilder *xml = g_hash_table_lookup (thing, act); - if (!xml) - { - xml = builder_new ("recode.ui"); - g_hash_table_insert (thing, act, xml); + GtkBuilder *xml = builder_new ("recode.ui"); + + pda->dialog = get_widget_assert (xml, "recode-dialog"); + pda->source = get_widget_assert (xml, "treeview1"); - pda->dialog = get_widget_assert (xml, "recode-dialog"); - pda->source = get_widget_assert (xml, "treeview1"); - - GtkWidget *selector = get_widget_assert (xml, "psppire-selector1"); - GtkWidget *oldandnew = get_widget_assert (xml, "button1"); + GtkWidget *selector = get_widget_assert (xml, "psppire-selector1"); + GtkWidget *oldandnew = get_widget_assert (xml, "button1"); - act->output_variable_box = get_widget_assert (xml,"frame4"); + act->output_variable_box = get_widget_assert (xml,"frame4"); - act->change_button = get_widget_assert (xml, "change-button"); - act->variable_treeview = get_widget_assert (xml, "treeview2"); - act->new_name_entry = get_widget_assert (xml, "dest-name-entry"); - act->new_label_entry = get_widget_assert (xml, "dest-label-entry"); + act->change_button = get_widget_assert (xml, "change-button"); + act->variable_treeview = get_widget_assert (xml, "treeview2"); + act->new_name_entry = get_widget_assert (xml, "dest-name-entry"); + act->new_label_entry = get_widget_assert (xml, "dest-label-entry"); - act->value_map = gtk_list_store_new (2, - old_value_get_type (), - new_value_get_type ()); + act->value_map = gtk_list_store_new (2, + old_value_get_type (), + new_value_get_type ()); - if (populate_treeview) - populate_treeview (act); - - psppire_selector_set_allow (PSPPIRE_SELECTOR (selector), homogeneous_types); + if (populate_treeview) + populate_treeview (act); - /* Set up the Old & New Values subdialog */ - { - act->string_button = get_widget_assert (xml, "checkbutton1"); - act->width_entry = get_widget_assert (xml, "spinbutton1"); + psppire_selector_set_allow (PSPPIRE_SELECTOR (selector), homogeneous_types); - act->convert_button = get_widget_assert (xml, "checkbutton2"); + /* Set up the Old & New Values subdialog */ + { + act->string_button = get_widget_assert (xml, "checkbutton1"); + act->width_entry = get_widget_assert (xml, "spinbutton1"); - act->old_value_chooser = get_widget_assert (xml, "val-chooser"); + act->convert_button = get_widget_assert (xml, "checkbutton2"); - act->new_value_entry = get_widget_assert (xml, "entry1"); + act->old_value_chooser = get_widget_assert (xml, "val-chooser"); + act->new_value_entry = get_widget_assert (xml, "entry1"); - act->toggle[BUTTON_NEW_VALUE] = get_widget_assert (xml, "radiobutton1"); - act->toggle[BUTTON_NEW_SYSMIS] = get_widget_assert (xml, "radiobutton2"); - act->toggle[BUTTON_NEW_COPY] = get_widget_assert (xml, "radiobutton3"); - act->new_copy_label = get_widget_assert (xml, "label3"); - act->strings_box = get_widget_assert (xml, "table3"); + act->toggle[BUTTON_NEW_VALUE] = get_widget_assert (xml, "radiobutton1"); + act->toggle[BUTTON_NEW_SYSMIS] = get_widget_assert (xml, "radiobutton2"); + act->toggle[BUTTON_NEW_COPY] = get_widget_assert (xml, "radiobutton3"); - act->old_and_new_dialog = - PSPPIRE_DIALOG (get_widget_assert (xml, "old-new-values-dialog")); + act->new_copy_label = get_widget_assert (xml, "label3"); + act->strings_box = get_widget_assert (xml, "table3"); - act->acr = get_widget_assert (xml, "psppire-acr1"); + act->old_and_new_dialog = + PSPPIRE_DIALOG (get_widget_assert (xml, "old-new-values-dialog")); - g_signal_connect_swapped (act->toggle[BUTTON_NEW_VALUE], "toggled", - G_CALLBACK (set_acr), act); + act->acr = get_widget_assert (xml, "psppire-acr1"); - g_signal_connect_after (act->toggle[BUTTON_NEW_VALUE], "toggled", - G_CALLBACK (focus_value_entry), act); + g_signal_connect_swapped (act->toggle[BUTTON_NEW_VALUE], "toggled", + G_CALLBACK (set_acr), act); - g_signal_connect_swapped (act->new_value_entry, "changed", - G_CALLBACK (set_acr), act); + g_signal_connect_after (act->toggle[BUTTON_NEW_VALUE], "toggled", + G_CALLBACK (focus_value_entry), act); - { - GtkTreeSelection *sel; - /* Remove the ACR's default column. We don't like it */ - GtkTreeViewColumn *column = gtk_tree_view_get_column (PSPPIRE_ACR(act->acr)->tv, 0); - gtk_tree_view_remove_column (PSPPIRE_ACR (act->acr)->tv, column); + g_signal_connect_swapped (act->new_value_entry, "changed", + G_CALLBACK (set_acr), act); + { + GtkTreeSelection *sel; + /* Remove the ACR's default column. We don't like it */ + GtkTreeViewColumn *column = gtk_tree_view_get_column (PSPPIRE_ACR(act->acr)->tv, 0); + gtk_tree_view_remove_column (PSPPIRE_ACR (act->acr)->tv, column); - column = - gtk_tree_view_column_new_with_attributes (_("Old"), - gtk_cell_renderer_text_new (), - "text", 0, - NULL); - gtk_tree_view_append_column (PSPPIRE_ACR (act->acr)->tv, column); + column = + gtk_tree_view_column_new_with_attributes (_("Old"), + gtk_cell_renderer_text_new (), + "text", 0, + NULL); - column = - gtk_tree_view_column_new_with_attributes (_("New"), - gtk_cell_renderer_text_new (), - "text", 1, - NULL); + gtk_tree_view_append_column (PSPPIRE_ACR (act->acr)->tv, column); - gtk_tree_view_append_column (PSPPIRE_ACR(act->acr)->tv, column); - g_object_set (PSPPIRE_ACR (act->acr)->tv, "headers-visible", TRUE, NULL); + column = + gtk_tree_view_column_new_with_attributes (_("New"), + gtk_cell_renderer_text_new (), + "text", 1, + NULL); + gtk_tree_view_append_column (PSPPIRE_ACR(act->acr)->tv, column); + g_object_set (PSPPIRE_ACR (act->acr)->tv, "headers-visible", TRUE, NULL); - sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (PSPPIRE_ACR(act->acr)->tv)); - g_signal_connect (sel, "changed", - G_CALLBACK (on_acr_selection_change), act); - } + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (PSPPIRE_ACR(act->acr)->tv)); + g_signal_connect (sel, "changed", + G_CALLBACK (on_acr_selection_change), act); + } - g_signal_connect_swapped (oldandnew, "clicked", - G_CALLBACK (run_old_and_new_dialog), act); + g_signal_connect_swapped (oldandnew, "clicked", + G_CALLBACK (run_old_and_new_dialog), act); - g_signal_connect (act->toggle[BUTTON_NEW_VALUE], "toggled", - G_CALLBACK (toggle_sensitivity), act->new_value_entry); - g_signal_connect (act->string_button, "toggled", - G_CALLBACK (toggle_sensitivity), act->width_entry); + g_signal_connect (act->toggle[BUTTON_NEW_VALUE], "toggled", + G_CALLBACK (toggle_sensitivity), act->new_value_entry); - g_signal_connect (act->string_button, "toggled", - G_CALLBACK (on_string_toggled), act); + g_signal_connect (act->string_button, "toggled", + G_CALLBACK (toggle_sensitivity), act->width_entry); - g_signal_connect (act->convert_button, "toggled", - G_CALLBACK (on_convert_toggled), act); - } + g_signal_connect (act->string_button, "toggled", + G_CALLBACK (on_string_toggled), act); + + g_signal_connect (act->convert_button, "toggled", + G_CALLBACK (on_convert_toggled), act); } + return xml; } /* Generate a syntax fragment for NV and append it to STR */ @@ -609,7 +597,7 @@ psppire_dialog_action_recode_generate_syntax (const PsppireDialogAction *act, ds_init_empty (&dds); append_string_decls (rd, &dds); - + ds_put_cstr (&dds, "\nRECODE "); psppire_var_view_append_names_str (PSPPIRE_VAR_VIEW (rd->variable_treeview), 0, &dds); @@ -655,7 +643,7 @@ psppire_dialog_action_recode_generate_syntax (const PsppireDialogAction *act, ds_put_cstr (&dds, "."); append_new_value_labels (rd, &dds); - + ds_put_cstr (&dds, "\nEXECUTE.\n"); @@ -670,7 +658,6 @@ psppire_dialog_action_recode_generate_syntax (const PsppireDialogAction *act, static void psppire_dialog_action_recode_class_init (PsppireDialogActionRecodeClass *class) { - psppire_dialog_action_set_activation (class, psppire_dialog_action_recode_activate); }