rem: "button_press_event",
add: "button-press-event",
context: void update_liste_comptes_accueil ( void ){  GtkWidget *pTable,	    *pEventBox,	    *pLabel;    GdkColor CouleurSoldeAlarmeVerteNormal,	   CouleurSoldeAlarmeVertePrelight,	   CouleurSoldeAlarmeOrangeNormal,	   CouleurSoldeAlarmeOrangePrelight,	   CouleurSoldeAlarmeRougeNormal,	   CouleurSoldeAlarmeRougePrelight,	   CouleurNomCompteNormal,	   CouleurNomComptePrelight;    GtkStyle *pStyleLabelNomCompte,	   *pStyleLabelSoldeCourant,	   *pStyleLabelSoldePointe;    GSList *ordre_comptes_variable,	 *liste_operations_tmp;    gdouble montant,	  solde_global_courant,	  solde_global_pointe;    gint i;      if ( !nb_comptes )    return;  /* Initialisation des couleurs des diffrents labels */  /* Pourra tre intgr  la configuration gnrale */  CouleurSoldeAlarmeVerteNormal.red =     0.00 * 65535 ;  CouleurSoldeAlarmeVerteNormal.green =   0.50 * 65535 ;  CouleurSoldeAlarmeVerteNormal.blue =    0.00 * 65535 ;  CouleurSoldeAlarmeVertePrelight.red =   0.00 * 65535 ;  CouleurSoldeAlarmeVertePrelight.green = 0.90 * 65535 ;  CouleurSoldeAlarmeVertePrelight.blue =  0.00 * 65535 ;  CouleurSoldeAlarmeOrangeNormal.red =     0.90 * 65535 ;  CouleurSoldeAlarmeOrangeNormal.green =   0.60 * 65535 ;  CouleurSoldeAlarmeOrangeNormal.blue =    0.00 * 65535 ;  CouleurSoldeAlarmeOrangePrelight.red =   1.00 * 65535 ;  CouleurSoldeAlarmeOrangePrelight.green = 0.80 * 65535 ;  CouleurSoldeAlarmeOrangePrelight.blue =  0.00 * 65535 ;  CouleurSoldeAlarmeRougeNormal.red =     0.60 * 65535 ;  CouleurSoldeAlarmeRougeNormal.green =   0.00 * 65535 ;  CouleurSoldeAlarmeRougeNormal.blue =    0.00 * 65535 ;  CouleurSoldeAlarmeRougePrelight.red =   1.00 * 65535 ;  CouleurSoldeAlarmeRougePrelight.green = 0.00 * 65535 ;  CouleurSoldeAlarmeRougePrelight.blue =  0.00 * 65535 ;  CouleurNomCompteNormal.red =     0.00 * 65535 ;  CouleurNomCompteNormal.green =   0.00 * 65535 ;  CouleurNomCompteNormal.blue =    0.00 * 65535 ;  CouleurNomComptePrelight.red =   0.61 * 65535 ;  CouleurNomComptePrelight.green = 0.61 * 65535 ;  CouleurNomComptePrelight.blue =  0.61 * 65535 ;  /* Cration d'un label juste pour en rcuprer le style */  pLabel = gtk_label_new ("");    /* Initialisation du style  Nom du compte  */  pStyleLabelNomCompte = gtk_style_copy ( gtk_widget_get_style (pLabel));  pStyleLabelNomCompte->fg[GTK_STATE_NORMAL] = CouleurNomCompteNormal;  pStyleLabelNomCompte->fg[GTK_STATE_PRELIGHT] = CouleurNomComptePrelight;  /* Cration du cadre principal */  if ( GTK_BIN ( frame_etat_comptes_accueil ) -> child )    gtk_widget_destroy ( GTK_BIN ( frame_etat_comptes_accueil ) -> child );  /* Cration du tableau dans lequel seront stocks les comptes avec leur     */  /* solde.                                                                   */  /* ATTENTION : ce tableau est cr de faon  pouvoir afficher la somme des */  /* soldes de tous les comptes.                                              */  /* Il faut donc TOUS les comptes soient dans la MME DEVISE !!!!!!!         */  /* Il serait donc utile d'effectuer un test sur les devises utilises,      */  /* et si les comptes utilisaient des devises diffrentes, il faudrait alors */  /* soit renoncer  afficher le solde global ;                               */  /* soit effectuer une conversion des soldes des tous les comptes vers une   */  /* mme devise qu'il faudrait galement dfinir.                            */  /* Bref, pas simple.                                                        */  pTable = gtk_table_new ( nb_comptes + 4,			   8,			   FALSE );  gtk_container_add ( GTK_CONTAINER ( frame_etat_comptes_accueil ),		      pTable );  gtk_widget_show ( pTable );  /* Cration et remplissage de la premire ligne du tableau */  pLabel = gtk_label_new (_("Curent balance"));  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),			   0.5,			   0.5);  gtk_table_attach_defaults ( GTK_TABLE ( pTable ),			      pLabel,			      2, 4,			      0, 1 );  gtk_widget_show ( pLabel );  pLabel = gtk_label_new (_("Reconciled balance"));  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),			   0.5,			   0.5);  gtk_table_attach_defaults ( GTK_TABLE ( pTable ),			      pLabel,			      5, 7,			      0, 1 );  gtk_widget_show ( pLabel );  /* Affichage des comptes et de leur solde */  ordre_comptes_variable = ordre_comptes;  i = 1;  solde_global_courant = 0 ;  solde_global_pointe = 0 ;  /* Pour chaque compte non clotur (pour chaque ligne), */  /* crer toutes les colonnes et les remplir            */  do    {      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + GPOINTER_TO_INT ( ordre_comptes_variable->data );      if ( !COMPTE_CLOTURE )	{	  /* Premire colonne : vide */	  pLabel = gtk_label_new ( g_strconcat ( (gchar *) NOM_DU_COMPTE, " : ", NULL ));	  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),				   0,				   0.5);	  gtk_widget_set_style ( pLabel,				 pStyleLabelNomCompte );	  /* Est-il rellement ncessaire de crer des labels vides pour */	  /* remplir des colonnes vides d'un tableau ?                   */	  pLabel = gtk_label_new ( "" );	  gtk_table_attach_defaults ( GTK_TABLE ( pTable ),				      pLabel,				      0, 1,				      i, i+1 );	  gtk_widget_show ( pLabel );	  /* Deuxime colonne : elle contient le nom du compte */	  pLabel = gtk_label_new ( g_strconcat ( (gchar *) NOM_DU_COMPTE, " : ", NULL ));	  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),				   0,				   0.5);	  gtk_widget_set_style ( pLabel,				 pStyleLabelNomCompte );	  /* Cration d'une boite  vnement qui sera rattache au nom du compte */	  pEventBox = gtk_event_box_new ();	  gtk_signal_connect ( GTK_OBJECT ( pEventBox ),			       "enter_notify_event",			       GTK_SIGNAL_FUNC ( met_en_prelight ),			       NULL );	  gtk_signal_connect ( GTK_OBJECT ( pEventBox ),			       "leave_notify_event",			       GTK_SIGNAL_FUNC ( met_en_normal ),			       NULL );	  gtk_signal_connect_object ( GTK_OBJECT ( pEventBox ),				      "button_press_event",				      GTK_SIGNAL_FUNC ( changement_compte ),				      GINT_TO_POINTER ( ordre_comptes_variable->data ) );	  gtk_table_attach ( GTK_TABLE ( pTable ),			     pEventBox,			     1, 2,			     i, i+1,			     GTK_FILL |GTK_SHRINK,			     GTK_FILL| GTK_SHRINK,			     20, 0 );	  gtk_widget_show ( pEventBox );	  gtk_container_add ( GTK_CONTAINER ( pEventBox ),			      pLabel );	  gtk_widget_show ( pLabel );	  /* Troisime colonne : elle contient le solde courant du compte */	  pLabel = gtk_label_new ( g_strdup_printf ( "%4.2f",						    SOLDE_COURANT ));	  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),				   1,				   0.5);	  	  /* Mise en place du style du label en fonction du solde courant */	  pStyleLabelSoldeCourant = gtk_style_copy ( gtk_widget_get_style (pLabel));	  if ( SOLDE_COURANT > SOLDE_MINI_VOULU )	    {	     pStyleLabelSoldeCourant->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeVerteNormal;	     pStyleLabelSoldeCourant->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeVertePrelight;	    }	  else	    {	     if ( SOLDE_COURANT > SOLDE_MINI )	       {		pStyleLabelSoldeCourant->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeOrangeNormal;		pStyleLabelSoldeCourant->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeOrangePrelight;	       }	     else	       {		pStyleLabelSoldeCourant->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeRougeNormal;		pStyleLabelSoldeCourant->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeRougePrelight;	       }	    }	  gtk_widget_set_style ( pLabel,				 pStyleLabelSoldeCourant );	  /* Cration d'une boite  vnement qui sera rattache au solde courant du compte */	  pEventBox = gtk_event_box_new ();	  gtk_signal_connect ( GTK_OBJECT ( pEventBox ),			       "enter_notify_event",			       GTK_SIGNAL_FUNC ( met_en_prelight ),			       NULL );	  gtk_signal_connect ( GTK_OBJECT ( pEventBox ),			       "leave_notify_event",			       GTK_SIGNAL_FUNC ( met_en_normal ),			       NULL );	  gtk_signal_connect_object ( GTK_OBJECT ( pEventBox ),				      "button_press_event",				      GTK_SIGNAL_FUNC ( changement_compte ),				      GINT_TO_POINTER ( ordre_comptes_variable->data ));	  gtk_table_attach ( GTK_TABLE ( pTable ),			     pEventBox,			     2, 3,			     i, i+1,			     GTK_FILL| GTK_SHRINK,			     GTK_FILL| GTK_SHRINK,			     0, 0 );	  gtk_widget_show ( pEventBox );	  gtk_container_add ( GTK_CONTAINER ( pEventBox ),			      pLabel );	  gtk_widget_show ( pLabel );	  /* Quatrime colonne : elle contient le symbole de la devise du compte */	  pLabel = gtk_label_new ( ((struct struct_devise *)(g_slist_find_custom ( liste_struct_devises,										  GINT_TO_POINTER ( DEVISE ),										  (GCompareFunc) recherche_devise_par_no )-> data )) -> code_devise);	  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),				   0,				   0.5);	  gtk_table_attach ( GTK_TABLE ( pTable ),			     pLabel,			     3, 4,			     i, i+1,			     GTK_FILL | GTK_SHRINK,			     GTK_FILL | GTK_SHRINK,			     5, 0 );	  gtk_widget_show ( pLabel );	  /* Cinquime colonne : vide */	  pLabel = gtk_label_new ("");	  gtk_table_attach_defaults ( GTK_TABLE ( pTable ),				      pLabel,				      4, 5,				      i, i+1 );	  gtk_widget_show ( pLabel );	  /* Calcul du solde point */	  /* Je ne sais plus pourquoi on fait ce calcul, sans doute le solde point */	  /* n'est-il pas disponible en tant que variable globale */	  solde_pointe_affichage_liste = SOLDE_INIT;	  /* on commence la boucle : fait le tour de toutes les oprations */	  /* met  jour les solde_courant_affichage_liste et solde_pointe_affichage_liste */	  /* affiche l'opration  l'cran en fonction de l'affichage de R */	  liste_operations_tmp = LISTE_OPERATIONS;	  while ( liste_operations_tmp )	    {	      struct structure_operation *operation;	      operation = liste_operations_tmp -> data;	      /* si c'est une op de ventilation, on la saute */	      if ( !operation -> no_operation_ventilee_associee )		{		  /* quelle que soit l'opration (releve ou non), on calcule les soldes courant */		  montant = calcule_montant_devise_renvoi ( operation -> montant,							    DEVISE,							    operation -> devise,							    operation -> une_devise_compte_egale_x_devise_ope,							    operation -> taux_change,							    operation -> frais_change );	  	  /* si l'op est pointe ou releve, on ajoute ce montant au solde point */		  if ( operation -> pointe )		    solde_pointe_affichage_liste = solde_pointe_affichage_liste + montant;		}	      liste_operations_tmp = liste_operations_tmp -> next;	    }	  /* on enregistre le solde final */	  SOLDE_POINTE = solde_pointe_affichage_liste;	  /* Sixime colonne : elle contient le solde point du compte */	  pLabel = gtk_label_new ( g_strdup_printf ( "%4.2f",						    SOLDE_POINTE ));	  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),				   1,				   0.5);	  	  /* Mise en place du style du label en fonction du solde point */	  pStyleLabelSoldePointe = gtk_style_copy ( gtk_widget_get_style (pLabel));	  if ( SOLDE_POINTE > SOLDE_MINI_VOULU )	    {	     pStyleLabelSoldePointe->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeVerteNormal;	     pStyleLabelSoldePointe->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeVertePrelight;	    }	  else	    {	     if ( SOLDE_POINTE > SOLDE_MINI )	       {		pStyleLabelSoldePointe->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeOrangeNormal;		pStyleLabelSoldePointe->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeOrangePrelight;	       }	     else	       {		pStyleLabelSoldePointe->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeRougeNormal;		pStyleLabelSoldePointe->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeRougePrelight;	       }	    }	  gtk_widget_set_style ( pLabel,				 pStyleLabelSoldePointe );	  /* Cration d'une boite  vnement qui sera rattache au solde point du compte */	  pEventBox = gtk_event_box_new ();	  gtk_signal_connect ( GTK_OBJECT ( pEventBox ),			       "enter_notify_event",			       GTK_SIGNAL_FUNC ( met_en_prelight ),			       NULL );	  gtk_signal_connect ( GTK_OBJECT ( pEventBox ),			       "leave_notify_event",			       GTK_SIGNAL_FUNC ( met_en_normal ),			       NULL );	  gtk_signal_connect_object ( GTK_OBJECT ( pEventBox ),				      "button_press_event",				      GTK_SIGNAL_FUNC ( changement_compte ),				      GINT_TO_POINTER ( ordre_comptes_variable->data ));	  gtk_table_attach ( GTK_TABLE ( pTable ),			     pEventBox,			     5, 6,			     i, i+1,			     GTK_FILL| GTK_SHRINK,			     GTK_FILL| GTK_SHRINK,			     0, 0 );	  gtk_widget_show ( pEventBox );	  gtk_container_add ( GTK_CONTAINER ( pEventBox ),			      pLabel );	  gtk_widget_show ( pLabel );	  /* Septime colonne : elle contient le symbole de la devise du compte */	  pLabel = gtk_label_new ( ((struct struct_devise *)(g_slist_find_custom ( liste_struct_devises,									  GINT_TO_POINTER ( DEVISE ),									  (GCompareFunc) recherche_devise_par_no )-> data )) -> code_devise);	  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),				   0,				   0.5);	  gtk_table_attach ( GTK_TABLE ( pTable ),			     pLabel,			     6, 7,			     i, i+1,			     GTK_FILL | GTK_SHRINK,			     GTK_FILL | GTK_SHRINK,			     5, 0 );	  gtk_widget_show ( pLabel );	  /* Huitime colonne : vide */	  pLabel = gtk_label_new ("");	  gtk_table_attach_defaults ( GTK_TABLE ( pTable ),				      pLabel,				      7, 8,				      i, i+1 );	  gtk_widget_show ( pLabel );	}      i++;            /* ATTENTION : les sommes effectues ici prsupposent que */      /* TOUS les comptes sont dans la MME DEVISE !!!!!        */      solde_global_courant += SOLDE_COURANT ;      solde_global_pointe += SOLDE_POINTE ;    }  while ( ( ordre_comptes_variable = ordre_comptes_variable->next ) );  /* Cration de la (nb_comptes + 2)ime ligne du tableau : vide */  pLabel = gtk_label_new ( "" );  gtk_table_attach_defaults ( GTK_TABLE ( pTable ),			      pLabel,			      0, 1,			      i, i+1 );  gtk_widget_show ( pLabel );  /* Cration et remplissage de la (nb_comptes + 3)ime ligne du tableau : */  /* elle contient la somme des soldes de chaque compte */  /* Deuxime colonne */  pLabel = gtk_label_new (COLON(_("Global balances")));  gtk_table_attach_defaults ( GTK_TABLE ( pTable ),			      pLabel,			      1, 2,			      i+1, i+2 );  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),			   0,			   0.5);  gtk_widget_show ( pLabel );  /* Troisime colonne : elle contient le solde total courant des comptes */  pLabel = gtk_label_new ( g_strdup_printf ( "%4.2f",					    solde_global_courant ));  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),			   1,			   0.5);  gtk_table_attach ( GTK_TABLE ( pTable ),		     pLabel,		     2, 3,		     i+1, i+2,		     GTK_FILL | GTK_SHRINK,		     GTK_FILL | GTK_SHRINK,		     5, 0 );  gtk_widget_show ( pLabel );  /* Quatrime colonne : elle contient le symbole de la devise du compte */  pLabel = gtk_label_new ( ((struct struct_devise *)(g_slist_find_custom ( liste_struct_devises,									  GINT_TO_POINTER ( DEVISE ),									  (GCompareFunc) recherche_devise_par_no )-> data )) -> code_devise);  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),			   0,			   0.5);  gtk_table_attach ( GTK_TABLE ( pTable ),		     pLabel,		     3, 4,		     i+1, i+2,		     GTK_FILL | GTK_SHRINK,		     GTK_FILL | GTK_SHRINK,		     5, 0 );  gtk_widget_show ( pLabel );  /* Sixime colonne : elle contient le solde total point des comptes */  pLabel = gtk_label_new ( g_strdup_printf ( "%4.2f",					    solde_global_pointe ));  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),			   1,			   0.5);  gtk_table_attach ( GTK_TABLE ( pTable ),		     pLabel,		     5, 6,		     i+1, i+2,		     GTK_FILL | GTK_SHRINK,		     GTK_FILL | GTK_SHRINK,		     5, 0 );  gtk_widget_show ( pLabel );  /* Septime colonne : elle contient le symbole de la devise du compte */  pLabel = gtk_label_new ( ((struct struct_devise *)(g_slist_find_custom ( liste_struct_devises,									  GINT_TO_POINTER ( DEVISE ),									  (GCompareFunc) recherche_devise_par_no )-> data )) -> code_devise);  gtk_misc_set_alignment ( GTK_MISC ( pLabel ),			   0,			   0.5);  gtk_table_attach ( GTK_TABLE ( pTable ),		     pLabel,		     6, 7,		     i+1, i+2,		     GTK_FILL | GTK_SHRINK,		     GTK_FILL | GTK_SHRINK,		     5, 0 );  gtk_widget_show ( pLabel );  /* Cration de la (nb_comptes + 4)ime (et dernire) ligne du tableau : vide */  pLabel = gtk_label_new ( "" );  gtk_table_attach_defaults ( GTK_TABLE ( pTable ),			      pLabel,			      0, 1,			      i+2, i+3 );  gtk_widget_show ( pLabel );}