rem: texte = gsb_data_category_get_name ( echeance_selectionnnee -> categorie, echeance_selectionnnee -> sous_categorie,
add: texte = gsb_data_category_get_name ( gsb_data_scheduled_get_category_number (scheduled_number), gsb_data_scheduled_get_sub_category_number (scheduled_number),
context: void edition_echeance ( void ){    gchar *char_tmp;        /*   si le formulaire est caché, on le montre */    gtk_widget_show ( frame_formulaire_echeancier );    gtk_expander_set_expanded ( GTK_EXPANDER(frame_formulaire_echeancier), TRUE );    degrise_formulaire_echeancier ();    /* si c'est une nouvelle échéance, on met la date courante,       la sélectionne et lui donne le focus */    if ( echeance_selectionnnee == GINT_TO_POINTER ( -1 ))    {	entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] );	gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] ),			     gsb_today() );	gtk_entry_select_region ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] ),				  0,				  -1 );	gtk_widget_grab_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] );	return;    }    /* c'est une modif d'échéance ou une saisie */    entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] );    gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] ),			 gsb_format_date ( echeance_selectionnnee -> jour,					   echeance_selectionnnee -> mois,					   echeance_selectionnnee -> annee ) );    /* mise en place du tiers */    char_tmp = gsb_data_payee_get_name ( echeance_selectionnnee -> tiers, TRUE );    if ( char_tmp )    {	entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_PARTY] );	gtk_combofix_set_text ( GTK_COMBOFIX ( widget_formulaire_echeancier[SCHEDULER_FORM_PARTY] ),				char_tmp );    }    /* mise en place du compte */    gtk_option_menu_set_history ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_ACCOUNT] ),				  recherche_compte_dans_option_menu (  widget_formulaire_echeancier[SCHEDULER_FORM_ACCOUNT],								       echeance_selectionnnee -> compte ));    /* mise en place des montants et des types associés */    if ( echeance_selectionnnee -> montant < 0 )    {	GtkWidget *menu;	entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_DEBIT] );	gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_DEBIT] ),			     g_strdup_printf ( "%4.2f",					       -echeance_selectionnnee -> montant ));	/* met le menu des types débits */	if ( (menu = creation_menu_types ( 1,					   recupere_no_compte ( widget_formulaire_echeancier[SCHEDULER_FORM_ACCOUNT] ),					   1 )))	{	    gtk_option_menu_set_menu ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ),				       menu );	    gtk_widget_show ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] );	}	else	    gtk_widget_hide ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] );    }    else    {	GtkWidget *menu;	entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_CREDIT] );	gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_CREDIT] ),			     g_strdup_printf ( "%4.2f",					       echeance_selectionnnee -> montant ));	/* met le menu des types crédits */	if ( (menu = creation_menu_types ( 2,					   recupere_no_compte ( widget_formulaire_echeancier[SCHEDULER_FORM_ACCOUNT] ),					   1 )))	{	    gtk_option_menu_set_menu ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ),				       menu );	    gtk_widget_show ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] );	}	else	    gtk_widget_hide ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] );    }    /* mise en place des devises */    /* FIXME : me demande si yaurait pas un g_slist_index à mettre ici... */    gtk_option_menu_set_history ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_DEVISE] ),				  devise_par_no ( echeance_selectionnnee -> devise ) -> no_devise - 1 );    /* si le compte de virement est -1, c'est qu'il n'y a pas de categ, ni de virements, ni de ventil */    if ( echeance_selectionnnee -> compte_virement != -1 )    {	gchar *texte;	if ( echeance_selectionnnee -> categorie )	{	    /* 	    il y a donc des catégs/sous-catég */	    texte = gsb_data_category_get_name ( echeance_selectionnnee -> categorie,						 echeance_selectionnnee -> sous_categorie,						 NULL );	}	else	{	    /* 	    c'est soit un virement, soit une opé ventilée */	    if ( echeance_selectionnnee -> compte_virement )	    {		texte = g_strconcat ( COLON(_("Transfer")),				      gsb_data_account_get_name (echeance_selectionnnee -> compte_virement),				      NULL );	    }	    else	    {		if ( echeance_selectionnnee -> operation_ventilee )		{		    texte =  g_strdup (_("Breakdown of transaction"));/* 		    on n'affiche le bouton de ventilation que si on est dans l'onglet des échéances, pas *//* 			en formulaire flottant */		    if ( !etat.formulaire_echeance_dans_fenetre ) 			gtk_widget_show ( widget_formulaire_echeancier[SCHEDULER_FORM_BREAKDOWN] );		    gtk_widget_set_sensitive ( widget_formulaire_echeancier[SCHEDULER_FORM_EXERCICE],					       FALSE );		    gtk_widget_set_sensitive ( widget_formulaire_echeancier[SCHEDULER_FORM_BUDGETARY],					       FALSE );		    /* met la liste des opés de ventilation dans liste_adr_ventilation */		    gtk_object_set_data ( GTK_OBJECT ( formulaire_echeancier ),					  "liste_adr_ventilation",					  creation_liste_ope_de_ventil_echeances ( echeance_selectionnnee ));		}		else		{ 		    /* 		    normalement, on devrait pas arriver là... bon, on laisse comme ça */		    texte = NULL;		}	    }	}	if ( texte )	{	    entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_CATEGORY] );	    gtk_combofix_set_text ( GTK_COMBOFIX ( widget_formulaire_echeancier[SCHEDULER_FORM_CATEGORY] ),				    texte );	}    }    /* met l'option menu du type d'opé */    if ( GTK_WIDGET_VISIBLE ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ))	gtk_option_menu_set_history ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ),				      cherche_no_menu_type_echeancier ( echeance_selectionnnee -> type_ope ));    if ( echeance_selectionnnee -> contenu_type )    {	entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_CHEQUE] );	gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_CHEQUE] ),			     echeance_selectionnnee -> contenu_type );    }    /* met en place l'exercice */    gtk_option_menu_set_history (  GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_EXERCICE] ),				   cherche_no_menu_exercice ( echeance_selectionnnee -> no_exercice,							      widget_formulaire_echeancier[SCHEDULER_FORM_EXERCICE] ));    /* met en place l'imputation budgétaire */    char_tmp = gsb_data_budget_get_name ( echeance_selectionnnee -> imputation,					  echeance_selectionnnee -> sous_imputation,					  NULL );    if ( char_tmp )    {	entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_BUDGETARY]);	gtk_combofix_set_text ( GTK_COMBOFIX ( widget_formulaire_echeancier[SCHEDULER_FORM_BUDGETARY] ),				char_tmp );    }    /* mise en place de l'automatisme */    gtk_option_menu_set_history ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_MODE] ),				  echeance_selectionnnee -> auto_man );    /*   remplit les notes */    if ( echeance_selectionnnee -> notes )    {	entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_NOTES] );	gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_NOTES] ),			     echeance_selectionnnee -> notes );    }    /* mise en place de la périodicité */    gtk_option_menu_set_history ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_FREQUENCY] ),				  echeance_selectionnnee -> periodicite );    /* mise en place de la date limite */    if ( echeance_selectionnnee -> periodicite )    {	if ( echeance_selectionnnee ->  date_limite )	{	    entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_FINAL_DATE] );	    gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_FINAL_DATE] ),				 gsb_format_date ( echeance_selectionnnee ->  jour_limite,						   echeance_selectionnnee ->  mois_limite,						   echeance_selectionnnee ->  annee_limite ) );	}	gtk_widget_show ( widget_formulaire_echeancier[SCHEDULER_FORM_FINAL_DATE] );    }    /* mise en place de la périodicité perso si nécessaire */    if ( echeance_selectionnnee -> periodicite == 4 )    {	entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_FREQ_CUSTOM_NB] );	gtk_entry_set_text ( GTK_ENTRY (widget_formulaire_echeancier[SCHEDULER_FORM_FREQ_CUSTOM_NB] ),			     utils_str_itoa ( echeance_selectionnnee ->  periodicite_personnalisee) );	gtk_option_menu_set_history ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_FREQ_CUSTOM_MENU] ),				      echeance_selectionnnee -> intervalle_periodicite_personnalisee );	gtk_widget_show ( widget_formulaire_echeancier[SCHEDULER_FORM_FREQ_CUSTOM_NB] );	gtk_widget_show ( widget_formulaire_echeancier[SCHEDULER_FORM_FREQ_CUSTOM_MENU] );    }    /* sélectionne la date et lui donne le focus */    gtk_entry_select_region ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] ),			      0,			      -1 );    gtk_widget_grab_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] );    /* met l'adr de l'échéance courante dans l'entrée de la date */    gtk_object_set_data ( GTK_OBJECT ( formulaire_echeancier ),			  "adr_echeance",			  echeance_selectionnnee );}