rem: gsb_account_set_tree_view ( no_compte,
add: gsb_account_set_tree_view ( no_account,
context: GtkWidget *creation_tree_view_operations_par_compte ( gint no_compte ){    GtkListStore *store;    GtkTreeModel *sortable;    GtkTreeModel *filter;    GtkWidget *tree_view;    GtkWidget *scrolled_window;    scrolled_window = gtk_scrolled_window_new ( NULL,						NULL );    gsb_account_set_scrolled_window ( no_compte,				      scrolled_window );    gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled_window ),				     GTK_POLICY_AUTOMATIC,				     GTK_POLICY_AUTOMATIC );    /*     création proprement dite du treeview */    tree_view = gtk_tree_view_new ();    gtk_container_add ( GTK_CONTAINER ( scrolled_window ),			tree_view );    gtk_widget_show ( tree_view );    gsb_account_set_tree_view ( no_compte,  				tree_view );    /*     on peut sélectionner plusieurs lignes */    gtk_tree_selection_set_mode ( GTK_TREE_SELECTION ( gtk_tree_view_get_selection ( GTK_TREE_VIEW( tree_view ))),				  GTK_SELECTION_NONE );    /* 	met en place la grille */    if ( etat.affichage_grille )	g_signal_connect_after ( G_OBJECT ( tree_view ),				 "expose-event",				 G_CALLBACK ( affichage_traits_liste_operation ),				 NULL );    /* vérifie le simple ou double click */    g_signal_connect ( G_OBJECT ( tree_view ),		       "button_press_event",		       G_CALLBACK ( gsb_transactions_list_button_press ),		       NULL );    /* vérifie la touche entrée, haut et bas */    g_signal_connect ( G_OBJECT ( tree_view ),		       "key_press_event",		       G_CALLBACK ( gsb_transactions_list_key_press ),		       NULL );    /*     ajuste les colonnes si modification de la taille */    g_signal_connect ( G_OBJECT ( tree_view ),		       "size-allocate",		       G_CALLBACK ( changement_taille_liste_ope ),		       NULL );    /*     normalement les colonnes sont déjà créés */    /* mais bon, on teste, sait on jamais... */    if ( gsb_account_get_column ( no_compte, TRANSACTION_COL_NB_CHECK) )    {	gint j;	for ( j = 0 ; j < TRANSACTION_LIST_COL_NB ; j++ )	{	    gtk_tree_view_append_column ( GTK_TREE_VIEW ( tree_view ),					  GTK_TREE_VIEW_COLUMN ( gsb_account_get_column ( no_compte, j)));	    g_signal_connect ( G_OBJECT ( GTK_TREE_VIEW_COLUMN ( gsb_account_get_column ( no_compte, j))-> button),			       "button-press-event",			       G_CALLBACK ( gsb_transactions_list_title_column_button_press ),			       GINT_TO_POINTER (j));	    /* 	    after changing the sort of the list, we update the background color */	    g_signal_connect_after ( G_OBJECT ( GTK_TREE_VIEW_COLUMN ( gsb_account_get_column ( no_compte, j))-> button),				     "clicked",				     G_CALLBACK ( gsb_transactions_list_sort_column_changed ),				     GINT_TO_POINTER ( no_compte ));	}    }    else	printf ( "bizarre, les colonnes d'opérations n'ont pas encore été créés (operation_liste.c)...\n" );    /*     on crée le list_store maintenant et on l'associe vide au tree_view */    /* 	structure de la liste : */    /* 	    col 0 à 6 -> les données */    /* 	    col 7 -> la couleur du background */    /* 	    col 8 -> la couleur du solde */    /*	    col 9 -> adr de l'opération */    /*	    col 10 -> sauvegarde background quand ligne sélectionnée */    /*	    col 11 -> contient NULL ou l'adr de la PangoFontDescription utilisée */    /* 	    col 12 -> contient le no de ligne affichée (par le choix de l'ordre d'affichage des lignes) */    /*      col 13 -> TRUE/FALSE the row is or not visible */    store = gtk_list_store_new ( 14,				 G_TYPE_STRING,				 G_TYPE_STRING,				 G_TYPE_STRING,				 G_TYPE_STRING,				 G_TYPE_STRING,				 G_TYPE_STRING,				 G_TYPE_STRING,				 GDK_TYPE_COLOR,				 G_TYPE_STRING,				 G_TYPE_POINTER,				 GDK_TYPE_COLOR,				 PANGO_TYPE_FONT_DESCRIPTION,				 G_TYPE_INT,				 G_TYPE_BOOLEAN );    /*     save the store */    gsb_account_set_store ( no_compte,			    store );    /*     make the model_filter, on the store */    filter = gtk_tree_model_filter_new ( GTK_TREE_MODEL ( store ),					 NULL );    gtk_tree_model_filter_set_visible_column ( GTK_TREE_MODEL_FILTER ( filter ),					       13 );    /* make the model_sort, on the model_filter */    sortable = gtk_tree_model_sort_new_with_model ( filter );    gtk_tree_sortable_set_sort_column_id ( GTK_TREE_SORTABLE ( sortable ),					   1,					   GTK_SORT_ASCENDING );    /*     set the compare functions by click on the column */    gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( sortable ),				      0,				      (GtkTreeIterCompareFunc) gsb_transactions_list_sort_column_0,				      GINT_TO_POINTER ( no_compte ),				      NULL );    gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( sortable ),				      1,				      (GtkTreeIterCompareFunc) gsb_transactions_list_sort_column_1,				      GINT_TO_POINTER ( no_compte ),				      NULL );    gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( sortable ),				      2,				      (GtkTreeIterCompareFunc) gsb_transactions_list_sort_column_2,				      GINT_TO_POINTER ( no_compte ),				      NULL );    gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( sortable ),				      3,				      (GtkTreeIterCompareFunc) gsb_transactions_list_sort_column_3,				      GINT_TO_POINTER ( no_compte ),				      NULL );    gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( sortable ),				      4,				      (GtkTreeIterCompareFunc) gsb_transactions_list_sort_column_4,				      GINT_TO_POINTER ( no_compte ),				      NULL );    gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( sortable ),				      5,				      (GtkTreeIterCompareFunc) gsb_transactions_list_sort_column_5,				      GINT_TO_POINTER ( no_compte ),				      NULL );    gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE ( sortable ),				      6,				      (GtkTreeIterCompareFunc) gsb_transactions_list_sort_column_6,				      GINT_TO_POINTER ( no_compte ),				      NULL );    /*     put the top in the tree_view */    gtk_tree_view_set_model ( GTK_TREE_VIEW (tree_view),			      GTK_TREE_MODEL ( sortable ));    gsb_account_set_last_transaction ( no_compte,				       NULL );    return scrolled_window;}