rem: "adr_echeance" ))
add: "scheduled_number" ))
context: gboolean entree_perd_focus_echeancier ( GtkWidget *entree,					GdkEventFocus *ev,					gint *no_origine ){    gchar *texte;    texte = NULL;    /* !!!!!!!mettre p_tab... en fonction du compte sélectionné */    switch ( GPOINTER_TO_INT ( no_origine ))    {	/* on sort de la date, soit c'est vide, soit on la vérifie, la complète si nécessaire et met à jour l'exercice */	case SCHEDULER_FORM_DATE :	    if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))	    {		modifie_date ( entree );		/* on ne change l'exercice que si c'est une nouvelle échéance */		if ( !gtk_object_get_data ( GTK_OBJECT ( formulaire_echeancier ),					    "adr_echeance" ))		    affiche_exercice_par_date( widget_formulaire_echeancier[SCHEDULER_FORM_DATE],					       widget_formulaire_echeancier[SCHEDULER_FORM_EXERCICE] );	    }	    else		texte = _("Date");	    break;	    /* on sort du tiers : soit vide soit complète le reste de l'opé */	case SCHEDULER_FORM_PARTY :	    if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))		completion_operation_par_tiers_echeancier ();	    else		texte = _("Payee");	    break;	    /* on sort du débit : soit vide, soit change le menu des types	       s'il ne correspond pas */	case SCHEDULER_FORM_DEBIT :	    if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))	    {		/* on commence par virer ce qu'il y avait dans les crédits */		if ( gtk_widget_get_style ( widget_formulaire_echeancier[SCHEDULER_FORM_CREDIT] ) == style_entree_formulaire[ENCLAIR] )		{		    gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_CREDIT] ),					 "" );		    entree_perd_focus_echeancier ( widget_formulaire_echeancier[SCHEDULER_FORM_CREDIT],						   NULL,						   GINT_TO_POINTER ( SCHEDULER_FORM_CREDIT ));		}		if ( GTK_WIDGET_VISIBLE ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ) &&		     GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ) -> menu ),							     "signe_menu" )) == 2 )		{		    GtkWidget *menu;		    gint no_compte;		    no_compte = recupere_no_compte ( widget_formulaire_echeancier[SCHEDULER_FORM_ACCOUNT] );		    if ( ( menu = creation_menu_types ( 1,							no_compte,							1 )))		    {			gtk_option_menu_set_menu ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ),						   menu );			gtk_option_menu_set_history ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ),						      cherche_no_menu_type_echeancier ( gsb_data_account_get_default_debit (no_compte) ) );			gtk_widget_show ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] );		    }		    else			gtk_widget_hide ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] );		}	    }	    else		texte = _("Debit");	    break;	    /* on sort du crédit : soit vide, soit change le menu des types	       s'il n'y a aucun tiers ( <=> nouveau tiers ) */	case SCHEDULER_FORM_CREDIT :	    if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))	    {		/* on commence par virer ce qu'il y avait dans les débits */		if ( gtk_widget_get_style ( widget_formulaire_echeancier[SCHEDULER_FORM_DEBIT] ) == style_entree_formulaire[ENCLAIR] )		{		    gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_DEBIT] ),					 "" );		    entree_perd_focus_echeancier ( widget_formulaire_echeancier[SCHEDULER_FORM_DEBIT],						   NULL,						   GINT_TO_POINTER ( SCHEDULER_FORM_DEBIT ));		}		if ( GTK_WIDGET_VISIBLE ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ) &&		     GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ) -> menu ),							     "signe_menu" )) == 1 )		{		    GtkWidget *menu;		    gint no_compte;		    no_compte = recupere_no_compte ( widget_formulaire_echeancier[SCHEDULER_FORM_ACCOUNT] );		    if ( ( menu = creation_menu_types ( 2,							no_compte,							1  )))		    {			gtk_option_menu_set_menu ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ),						   menu );			gtk_option_menu_set_history ( GTK_OPTION_MENU ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] ),						      cherche_no_menu_type_echeancier ( gsb_data_account_get_default_credit (no_compte) ) );			gtk_widget_show ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] );		    }		    else			gtk_widget_hide ( widget_formulaire_echeancier[SCHEDULER_FORM_TYPE] );		}	    }	    else		texte = _("Credit");	    break;	    /*       sort des catégories */	case SCHEDULER_FORM_CATEGORY :	    if ( !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))		texte = _("Categories : Sub-categories");	    else		if ( !strcmp ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree ))),			       _("Breakdown of transaction") ))		{		    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 );		}	    break;	case SCHEDULER_FORM_CHEQUE :	    if ( !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))		texte = _("Transfer reference");	    break;	case SCHEDULER_FORM_BUDGETARY :	    if ( !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))		texte = _("Budgetary line");	    break;	case SCHEDULER_FORM_BREAKDOWN :	    break;	case SCHEDULER_FORM_VOUCHER :	    if ( !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))		texte = _("Voucher");	    break;	case SCHEDULER_FORM_NOTES :	    if ( !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))		texte = _("Notes");	    break;	    /* on sort de la date limite, soit c'est vide, soit on la vérifie,	       la complète si nécessaire */	case SCHEDULER_FORM_FINAL_DATE :	    if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree )))))		modifie_date ( entree );	    else		texte = _("Limit date");	    break;    }    /* l'entrée était vide, on remet le défaut       si l'origine était un combofix, il faut remettre le texte        avec le gtk_combofix (sinon risque de complétion), donc utiliser l'origine */    if ( texte )    {	switch ( GPOINTER_TO_INT ( no_origine ) )	{	    case SCHEDULER_FORM_PARTY :	    case SCHEDULER_FORM_CATEGORY :	    case SCHEDULER_FORM_BUDGETARY :		gtk_combofix_set_text ( GTK_COMBOFIX ( widget_formulaire_echeancier[GPOINTER_TO_INT ( no_origine )] ),					texte );		break;	    default:		gtk_entry_set_text ( GTK_ENTRY ( entree ), texte );		break;	}	gtk_widget_set_style ( entree, style_entree_formulaire[ENGRIS] );    }    return FALSE;}