rem: model = gsb_account_get_store (gsb_transaction_data_get_account_number (gsb_transaction_data_get_transaction_number (transaction))); iter = cherche_iter_operation ( transaction, gsb_transaction_data_get_account_number (gsb_transaction_data_get_transaction_number (transaction)));
add: model = gsb_transactions_list_get_store(); iter = cherche_iter_operation ( transaction);
context: gboolean gsb_transactions_list_set_visibles_rows_on_transaction ( gpointer transaction ){    GtkListStore *model;    GtkTreeIter *iter;    gint r_shown;    gint nb_rows;    gint i;    if ( transaction == GINT_TO_POINTER (-1))	return FALSE;    model = gsb_account_get_store (gsb_transaction_data_get_account_number (gsb_transaction_data_get_transaction_number (transaction)));    iter = cherche_iter_operation ( transaction,				    gsb_transaction_data_get_account_number (gsb_transaction_data_get_transaction_number (transaction)));    if (!iter)	return FALSE;        /* begin to check with R */        r_shown = gsb_account_get_r ( gsb_transaction_data_get_account_number (gsb_transaction_data_get_transaction_number (transaction)));    if ( !r_shown	 &&	 gsb_transaction_data_get_marked_transaction ( gsb_transaction_data_get_transaction_number (transaction ))== OPERATION_RAPPROCHEE )    {	gtk_list_store_set ( GTK_LIST_STORE ( model ),			     iter,			     TRANSACTION_COL_NB_VISIBLE, FALSE,			     -1 );	gtk_tree_iter_free ( iter );	return FALSE;    }        /* if the transaction is a breakdown, we check with the mother     * if it sould be shown or not */    if ( gsb_transaction_data_get_mother_transaction_number ( gsb_transaction_data_get_transaction_number (transaction )))    {	GtkTreeIter *iter_2;	gboolean mother_is_expanded;	iter_2 = cherche_iter_operation ( operation_par_no ( gsb_transaction_data_get_mother_transaction_number ( gsb_transaction_data_get_transaction_number (transaction )),							     gsb_transaction_data_get_account_number (gsb_transaction_data_get_transaction_number (transaction))),					  gsb_transaction_data_get_account_number (gsb_transaction_data_get_transaction_number (transaction)));	gtk_tree_model_get ( GTK_TREE_MODEL ( model ),			     iter_2,			     TRANSACTION_COL_NB_IS_EXPANDED, &mother_is_expanded,			     -1 );	gtk_list_store_set ( GTK_LIST_STORE ( model ),			     iter,			     TRANSACTION_COL_NB_VISIBLE, mother_is_expanded,			     -1 );	gtk_tree_iter_free ( iter_2 );	gtk_tree_iter_free ( iter );	return FALSE;    }    /* now the transaction have to be shown completely or some     * lines */    nb_rows = gsb_account_get_nb_rows ( gsb_transaction_data_get_account_number (gsb_transaction_data_get_transaction_number (transaction)));    for ( i=0 ; i< TRANSACTION_LIST_ROWS_NB; i++ )    {	gint show;	/* FIXME: lors de l'affichage de plusieurs lignes, les lignes du dessous doivent forcemment être	 * plus bas que celles du desssus, par ex	 * sur 3 lignes, ligne 1 -> 1, ligne 2-> 2, ligne 3-> 4   => ok	 * mais ligne 1 -> 2 et ligne 2 -> 1  => pas bon ;	 * if faut l'interdire dans les paramètres */	show = FALSE;	switch ( nb_rows )	{	    case 1:		if ( i == ligne_affichage_une_ligne )		    show = TRUE;		break;	    case 2:		if ( i == GPOINTER_TO_INT ( lignes_affichage_deux_lignes -> next -> data )		     ||		     i == GPOINTER_TO_INT ( lignes_affichage_deux_lignes -> data ))		    show = TRUE;		break;	    case 3:		if ( i == GPOINTER_TO_INT ( lignes_affichage_trois_lignes -> data )		     ||		     i == GPOINTER_TO_INT ( lignes_affichage_trois_lignes -> next -> data )		     ||		     i == GPOINTER_TO_INT ( lignes_affichage_trois_lignes -> next -> next -> data ))		    show = TRUE;		break;	    default:		show = TRUE;	}	gtk_list_store_set ( GTK_LIST_STORE ( model ),			     iter,			     TRANSACTION_COL_NB_VISIBLE, show,			     -1 );	gtk_tree_model_iter_next ( GTK_TREE_MODEL ( model ),				   iter );    }    gtk_tree_iter_free ( iter );    return FALSE;}