X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-autorecode.c;h=77376d6e6734150209a418c33a75585af6f182e3;hb=f1ae4ee2876bee191b1bf79672d4bf834750c227;hp=505ff30261c3ee12f19baeae6be6141e96546eef;hpb=7293c1a383d325c371bd708401e5a1d7586a4d90;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-autorecode.c b/src/ui/gui/psppire-dialog-action-autorecode.c index 505ff30261..77376d6e67 100644 --- a/src/ui/gui/psppire-dialog-action-autorecode.c +++ b/src/ui/gui/psppire-dialog-action-autorecode.c @@ -40,13 +40,13 @@ static gboolean dialog_state_valid (gpointer pda) { PsppireDialogActionAutorecode *rd = PSPPIRE_DIALOG_ACTION_AUTORECODE (pda); - + GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (rd->var_view)); const gint n_vars = gtk_tree_model_iter_n_children (model, NULL); if (n_vars == 0) return FALSE; - + if (g_hash_table_size (rd->varmap) != n_vars) return FALSE; @@ -68,12 +68,12 @@ refresh (PsppireDialogAction *pda) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rd->group), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rd->blank), FALSE); - if (rd->varmap ) + if (rd->varmap) g_hash_table_remove_all (rd->varmap); gtk_list_store_clear (GTK_LIST_STORE (target_list)); - + } /* Name-Label pair */ @@ -92,7 +92,7 @@ nlp_create (const char *name, const char *label) nlp->label = NULL; - if ( label != NULL && 0 != strcmp ("", label)) + if (label != NULL && 0 != strcmp ("", label)) nlp->label = g_strdup (label); return nlp; @@ -102,7 +102,7 @@ static void nlp_destroy (gpointer data) { struct nlp *nlp = data ; - if ( ! nlp ) + if (! nlp) return; g_free (nlp->name); @@ -115,7 +115,7 @@ static char * generate_syntax (const PsppireDialogAction *act) { PsppireDialogActionAutorecode *rd = PSPPIRE_DIALOG_ACTION_AUTORECODE (act); - + GHashTableIter iter; gpointer key, value; gchar *text; @@ -125,7 +125,7 @@ generate_syntax (const PsppireDialogAction *act) g_string_append (string, "\n\tVARIABLES ="); g_hash_table_iter_init (&iter, rd->varmap); - while (g_hash_table_iter_next (&iter, &key, &value)) + while (g_hash_table_iter_next (&iter, &key, &value)) { struct variable *var = key; g_string_append (string, " "); @@ -135,21 +135,21 @@ generate_syntax (const PsppireDialogAction *act) g_string_append (string, " INTO"); g_hash_table_iter_init (&iter, rd->varmap); - while (g_hash_table_iter_next (&iter, &key, &value)) + while (g_hash_table_iter_next (&iter, &key, &value)) { struct nlp *nlp = value; g_string_append (string, " "); g_string_append (string, nlp->name); } - if ( ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->ascending))) + if (! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->ascending))) g_string_append (string, "\n\t/DESCENDING"); - if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->group))) + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->group))) g_string_append (string, "\n\t/GROUP"); - if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->blank))) - g_string_append (string, "\n\t/BLANK"); + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->blank))) + g_string_append (string, "\n\t/BLANK = MISSING"); g_string_append (string, ".\n"); @@ -176,7 +176,7 @@ on_change_clicked (GObject *obj, gpointer data) const gchar *dest_var_name = gtk_entry_get_text (GTK_ENTRY (rd->new_name_entry)); - if ( NULL == rows || rows->next != NULL) + if (NULL == rows || rows->next != NULL) goto finish; gtk_tree_model_get_iter (model, &iter, rows->data); @@ -203,7 +203,7 @@ on_entry_change (PsppireDialogActionAutorecode *rd) gboolean valid = TRUE; const char *text = gtk_entry_get_text (GTK_ENTRY (rd->new_name_entry)); - if ( 0 == strcmp ("", text)) + if (0 == strcmp ("", text)) valid = FALSE; else if (psppire_dict_lookup_var (rd->dict, text)) valid = FALSE; @@ -213,11 +213,11 @@ on_entry_change (PsppireDialogActionAutorecode *rd) gpointer key, value; g_hash_table_iter_init (&iter, rd->varmap); - while (g_hash_table_iter_next (&iter, &key, &value)) + while (g_hash_table_iter_next (&iter, &key, &value)) { struct nlp *nlp = value; - - if ( 0 == strcmp (nlp->name, text)) + + if (0 == strcmp (nlp->name, text)) { valid = FALSE; break; @@ -243,7 +243,7 @@ on_selection_change (GtkTreeSelection *selection, gpointer data) GList *rows = gtk_tree_selection_get_selected_rows (selection, &model); - if ( rows && !rows->next) + if (rows && !rows->next) { /* Exactly one row is selected */ struct nlp *nlp; @@ -252,7 +252,7 @@ on_selection_change (GtkTreeSelection *selection, gpointer data) GtkTreeIter iter; gtk_widget_set_sensitive (rd->new_name_entry, TRUE); - gtk_widget_set_sensitive (rd->change_button, TRUE); + gtk_widget_set_sensitive (rd->change_button, TRUE); ok = gtk_tree_model_get_iter (model, &iter, (GtkTreePath*) rows->data); @@ -292,100 +292,91 @@ render_new_var_name (GtkTreeViewColumn *tree_column, PsppireDialogActionAutorecode *rd = PSPPIRE_DIALOG_ACTION_AUTORECODE (data); - + struct variable *var = NULL; - gtk_tree_model_get (tree_model, iter, + gtk_tree_model_get (tree_model, iter, 0, &var, -1); nlp = g_hash_table_lookup (rd->varmap, var); - if ( nlp ) + if (nlp) g_object_set (cell, "text", nlp->name, NULL); else g_object_set (cell, "text", "", NULL); } -static void -psppire_dialog_action_autorecode_activate (PsppireDialogAction *a) +static GtkBuilder * +psppire_dialog_action_autorecode_activate (PsppireDialogAction *a, GVariant *param) { PsppireDialogActionAutorecode *act = PSPPIRE_DIALOG_ACTION_AUTORECODE (a); PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a); - GHashTable *thing = psppire_dialog_action_get_hash_table (pda); - GtkBuilder *xml = g_hash_table_lookup (thing, a); - if (!xml) - { - xml = builder_new ("autorecode.ui"); - g_hash_table_insert (thing, a, xml); - - pda->dialog = get_widget_assert (xml, "autorecode-dialog"); - pda->source = get_widget_assert (xml, "dict-view"); - - + GtkBuilder *xml = builder_new ("autorecode.ui"); + pda->dialog = get_widget_assert (xml, "autorecode-dialog"); + pda->source = get_widget_assert (xml, "dict-view"); - act->var_view = get_widget_assert (xml, "var-view"); + act->var_view = get_widget_assert (xml, "var-view"); - act->new_name_entry = get_widget_assert (xml, "entry1"); - act->change_button = get_widget_assert (xml, "button1"); - act->ascending = get_widget_assert (xml, "radiobutton1"); - act->group = get_widget_assert (xml, "checkbutton1"); - act->blank = get_widget_assert (xml, "checkbutton2"); + act->new_name_entry = get_widget_assert (xml, "entry1"); + act->change_button = get_widget_assert (xml, "button1"); + act->ascending = get_widget_assert (xml, "radiobutton1"); + act->group = get_widget_assert (xml, "checkbutton1"); + act->blank = get_widget_assert (xml, "checkbutton2"); - { - GtkTreeSelection *sel; + { + GtkTreeSelection *sel; - GtkCellRenderer *renderer = gtk_cell_renderer_text_new (); + GtkCellRenderer *renderer = gtk_cell_renderer_text_new (); - GtkTreeViewColumn *col = gtk_tree_view_column_new_with_attributes (_("New"), - renderer, - "text", NULL, - NULL); + GtkTreeViewColumn *col = gtk_tree_view_column_new_with_attributes (_("New"), + renderer, + "text", NULL, + NULL); - gtk_tree_view_column_set_cell_data_func (col, renderer, - render_new_var_name, - act, NULL); + gtk_tree_view_column_set_cell_data_func (col, renderer, + render_new_var_name, + act, NULL); - gtk_tree_view_append_column (GTK_TREE_VIEW (act->var_view), col); + gtk_tree_view_append_column (GTK_TREE_VIEW (act->var_view), col); - col = gtk_tree_view_get_column (GTK_TREE_VIEW (act->var_view), 0); + col = gtk_tree_view_get_column (GTK_TREE_VIEW (act->var_view), 0); - g_object_set (col, "title", _("Old"), NULL); + g_object_set (col, "title", _("Old"), NULL); - g_object_set (act->var_view, "headers-visible", TRUE, NULL); + g_object_set (act->var_view, "headers-visible", TRUE, NULL); - act->varmap = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, nlp_destroy); + act->varmap = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, nlp_destroy); - sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (act->var_view)); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (act->var_view)); - g_signal_connect (sel, "changed", - G_CALLBACK (on_selection_change), act); + g_signal_connect (sel, "changed", + G_CALLBACK (on_selection_change), act); - g_signal_connect (act->change_button, "clicked", - G_CALLBACK (on_change_clicked), act); + g_signal_connect (act->change_button, "clicked", + G_CALLBACK (on_change_clicked), act); - g_signal_connect_swapped (act->new_name_entry, "changed", - G_CALLBACK (on_entry_change), act); + g_signal_connect_swapped (act->new_name_entry, "changed", + G_CALLBACK (on_entry_change), act); - } + } - } - psppire_dialog_action_set_refresh (pda, refresh); psppire_dialog_action_set_valid_predicate (pda, dialog_state_valid); + return xml; } static void psppire_dialog_action_autorecode_class_init (PsppireDialogActionAutorecodeClass *class) { - psppire_dialog_action_set_activation (class, psppire_dialog_action_autorecode_activate); + PSPPIRE_DIALOG_ACTION_CLASS (class)->initial_activate = psppire_dialog_action_autorecode_activate; PSPPIRE_DIALOG_ACTION_CLASS (class)->generate_syntax = generate_syntax; }