rem: case TRANSACTION_FORM_CATEGORY:  no_second_element = TRANSACTION_FORM_BREAKDOWN; break;  case TRANSACTION_FORM_BREAKDOWN:  no_second_element = TRANSACTION_FORM_CATEGORY; break;
context: gboolean toggled_signal_configuration_formulaire ( GtkWidget *toggle_button ){    gint no_element;    gint no_second_element;    gint i, j;    gint no_compte;    /*     on commence par rechercher le no de l'Ã©lÃ©ment */    no_element = GPOINTER_TO_INT ( g_object_get_data ( G_OBJECT ( toggle_button ),						       "no_element" ));    /*     on met ici le 2nd elt si nÃ©cessaire */    switch ( no_element )    {	case TRANSACTION_FORM_CATEGORY:	    /* 	    c'est une catÃ©g, on met le bouton de ventil */	    no_second_element = TRANSACTION_FORM_BREAKDOWN;	    break;	case TRANSACTION_FORM_BREAKDOWN:	    /* 	    c'est le bouton de ventil, on met la catÃ©g */	    no_second_element = TRANSACTION_FORM_CATEGORY;	    break;	case TRANSACTION_FORM_TYPE:	    /* 	    c'est le mode de paiement, on met le chq */	    no_second_element = TRANSACTION_FORM_CHEQUE;	    break;	case TRANSACTION_FORM_CHEQUE:	    /* 	    c'est le chq, on met mode de paiement */	    no_second_element = TRANSACTION_FORM_TYPE;	    break;	case TRANSACTION_FORM_DEVISE:	    /* 	    c'est la devise, on met le bouton de change */	    no_second_element = TRANSACTION_FORM_CHANGE;	    break;	case TRANSACTION_FORM_CHANGE:	    /* 	    c'est le bouton de change, on met la devise */	    no_second_element = TRANSACTION_FORM_DEVISE;	    break;	default:	    no_second_element = -1;    }    no_compte = recupere_no_compte ( option_menu_comptes_choix_formulaire );    /*     on met Ã  jour le tableau */    if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( toggle_button )))    {	/* 	on l'a enclenchÃ©, on rajoute l'Ã©lÃ©ment */	gint place_trouvee = 0;	gint ligne_premier_elt = -1;	gint colonne_premier_elt = -1;	for ( i=0 ; i < gsb_account_get_form_organization (no_compte) -> nb_lignes ; i++)	    for ( j=0 ; j < gsb_account_get_form_organization (no_compte) -> nb_colonnes ; j++ )		if ( !gsb_account_get_form_organization (no_compte) -> tab_remplissage_formulaire[i][j] )		{		    /* 		    s'il n'y a qu'un elt, on le met et on termine, sinon on continue Ã  chercher */		    /* 			pour le 2Ãšme */		    if ( no_second_element == -1 )		    {			/* 			il n'y a qu'un elt */						gsb_account_get_form_organization (no_compte) -> tab_remplissage_formulaire[i][j] = no_element;			place_trouvee = 1;			i = gsb_account_get_form_organization (no_compte) -> nb_lignes;			j = gsb_account_get_form_organization (no_compte) -> nb_colonnes;		    }		    else		    {			/* 			il y a 2 elts */			if ( ligne_premier_elt == -1 )			{			    /* 			    on vient de trouver la place pour le 1er */			    ligne_premier_elt = i;			    colonne_premier_elt = j;			}			else			{			    /* 			    on vient de trouver la place pour le 2Ãšme */			    gsb_account_get_form_organization (no_compte) -> tab_remplissage_formulaire[ligne_premier_elt][colonne_premier_elt] = no_element;			    gsb_account_get_form_organization (no_compte) -> tab_remplissage_formulaire[i][j] = no_second_element;			    place_trouvee = 1;			    i = gsb_account_get_form_organization (no_compte) -> nb_lignes;			    j = gsb_account_get_form_organization (no_compte) -> nb_colonnes;			}		    }		}	if ( place_trouvee )	{	    /* 	    on a trouvÃ© une place pour le/les Ã©lements */	    /* 		s'il y a plusieurs Ã©lÃ©ments en jeu, il faut le rendre actif aussi */	    if ( no_second_element != -1 )	    {		g_signal_handlers_block_by_func ( G_OBJECT ( boutons_organisation_formulaire[no_second_element-4] ),						  G_CALLBACK ( toggled_signal_configuration_formulaire ),						  NULL );		gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( boutons_organisation_formulaire[no_second_element-4] ),					       TRUE );		g_signal_handlers_unblock_by_func ( G_OBJECT ( boutons_organisation_formulaire[no_second_element-4] ),						    G_CALLBACK ( toggled_signal_configuration_formulaire ),						    NULL );	    }	}	else	{	    /* 	    le tableau est trop petit pour rajouter un Ã©lÃ©ment */		    g_signal_handlers_block_by_func ( G_OBJECT ( toggle_button ),					      G_CALLBACK ( toggled_signal_configuration_formulaire ),					      NULL );	    gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( toggle_button ),					   FALSE );	    g_signal_handlers_unblock_by_func ( G_OBJECT ( toggle_button ),						G_CALLBACK ( toggled_signal_configuration_formulaire ),						NULL );	    if ( no_second_element == -1 )		dialogue_hint ( _("There is no place enough to put the element. You need to increase the number of rows or columns to add an element."),				_("The table is full"));	    else		dialogue_hint ( _("There is no place enough to put the two elements (you have clicked on an element which contains two). You need to increase the number of rows or columns to add the elements."),				_("The table is full"));	    return TRUE;	}    }    else    {	/* 	on a dÃ©senclenchÃ© le bouton */	if ( no_second_element != -1 )	{	    g_signal_handlers_block_by_func ( G_OBJECT ( boutons_organisation_formulaire[no_second_element-4] ),					      G_CALLBACK ( toggled_signal_configuration_formulaire ),					      NULL );	    gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( boutons_organisation_formulaire[no_second_element-4] ),					   FALSE );	    g_signal_handlers_unblock_by_func ( G_OBJECT ( boutons_organisation_formulaire[no_second_element-4] ),						G_CALLBACK ( toggled_signal_configuration_formulaire ),						NULL );	}	for ( i=0 ; i < gsb_account_get_form_organization (no_compte) -> nb_lignes ; i++ )	    for ( j=0 ; j < gsb_account_get_form_organization (no_compte) -> nb_colonnes ; j++ )		if ( gsb_account_get_form_organization (no_compte) -> tab_remplissage_formulaire[i][j] == no_element )		{		    gsb_account_get_form_organization (no_compte) -> tab_remplissage_formulaire[i][j] = 0;		    if ( no_second_element == -1 )		    {			i = gsb_account_get_form_organization (no_compte) -> nb_lignes;			j = gsb_account_get_form_organization (no_compte) -> nb_colonnes;		    }		    else		    {			no_element = no_second_element;			no_second_element = -1;			i = 0;			j = 0;		    }		}    }    /*     on rÃ©affiche la liste */    remplissage_liste_organisation_formulaire ( GTK_LIST_STORE ( gtk_tree_view_get_model ( GTK_TREE_VIEW ( tree_view_organisation_formulaire ))),						gsb_account_get_form_organization (no_compte) );    modification_fichier (TRUE);    return FALSE;}