rem: gtk_signal_connect_object ( GTK_OBJECT ( bouton_caracteristiques_lignes_par_compte ), "toggled", gnome_property_box_changed, GTK_OBJECT (fenetre_preferences));
context: GtkWidget *onglet_affichage_liste ( void ){  gchar *titres [] = { _("Col1"),		       _("Col2"),		       _("Col3"),		       _("Col4"),		       _("Col5"),		       _("Col6"),		       _("Col7") };  gint i, j;  GtkWidget *onglet, *table, *label, *hbox, *bouton, *paddingbox;  ligne_depart_drag = 0;  col_depart_drag = 0;  /*    la base, on met une vbox */  onglet = new_vbox_with_title_and_icon ( _("Transaction list"),					  "transaction-list.png" );  /* mise en place de la clist_affichage_liste */  /*   on lui met des titres redimensionnables */  /*   elle fait 7 colonnes et 4 lignes */  clist_affichage_liste = gtk_clist_new_with_titles ( 7,				      titres );  gtk_clist_column_titles_passive ( GTK_CLIST ( clist_affichage_liste ));  gtk_signal_connect ( GTK_OBJECT ( clist_affichage_liste ),		       "button_press_event",		       GTK_SIGNAL_FUNC ( pression_bouton_classement_liste ),		       NULL );  gtk_signal_connect ( GTK_OBJECT ( clist_affichage_liste ),		       "button_release_event",		       GTK_SIGNAL_FUNC ( lache_bouton_classement_liste ),		       NULL );  gtk_signal_connect_object ( GTK_OBJECT ( clist_affichage_liste ),			      "resize-column",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_signal_connect ( GTK_OBJECT ( clist_affichage_liste ),		       "size-allocate",		       GTK_SIGNAL_FUNC ( changement_taille_liste_affichage ),		       NULL );  gtk_box_pack_start ( GTK_BOX ( onglet ),		       clist_affichage_liste,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( clist_affichage_liste );  hbox = gtk_hbox_new ( FALSE,			5 );  gtk_box_pack_start ( GTK_BOX ( onglet ),		       hbox,		       FALSE,		       FALSE,		       5 );  gtk_widget_show ( hbox );  label = gtk_label_new ( _("Information displayed in list:"));  gtk_box_pack_start ( GTK_BOX ( hbox ),		       label,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( label );  bouton = gtk_button_new_with_label ( _("Revert to defaults"));  gtk_button_set_relief ( GTK_BUTTON ( bouton ),			  GTK_RELIEF_NONE );  gtk_signal_connect ( GTK_OBJECT ( bouton ),		       "clicked",		       GTK_SIGNAL_FUNC ( raz_affichage_ope ),		       NULL );  gtk_signal_connect_object ( GTK_OBJECT ( bouton ),			      "clicked",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_end ( GTK_BOX ( hbox ),		       bouton,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton );  /* on cre maintenant une table de 3x6 boutons */  table = gtk_table_new ( 3,			  6,			  FALSE );  gtk_box_pack_start ( GTK_BOX ( onglet ),		       table,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( table );  for ( i=0 ; i<3 ; i++ )    for ( j=0 ; j<6 ; j++ )      {	if ( labels_boutons[j+ i*6] )	  {	    boutons_affichage_liste[j + i*6] = gtk_toggle_button_new_with_label ( _(labels_boutons[j + i*6]) );	    gtk_signal_connect ( GTK_OBJECT ( boutons_affichage_liste[j + i*6] ),				 "toggled",				 GTK_SIGNAL_FUNC ( toggled_bouton_affichage_liste ),				 GINT_TO_POINTER ( j + i*6 ));	    gtk_signal_connect_object ( GTK_OBJECT ( boutons_affichage_liste[j + i*6] ),					"toggled",					gnome_property_box_changed,					GTK_OBJECT (fenetre_preferences));	    gtk_table_attach_defaults ( GTK_TABLE ( table ),					boutons_affichage_liste[j + i*6],					j, j+1,					i, i+1 );	    gtk_widget_show ( boutons_affichage_liste[j + i*6] );	  }      }  /* on permet maintenant de choisir soi mme la taille des colonnes */  bouton_choix_perso_colonnes = gtk_check_button_new_with_label ( _("Adjust column size according to this table"));  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_choix_perso_colonnes ),				 etat.largeur_auto_colonnes );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_choix_perso_colonnes ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( onglet ),		       bouton_choix_perso_colonnes,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_choix_perso_colonnes );  /* on permet maintenant de choisir soi mme la taille des colonnes */  bouton_caracteristiques_lignes_par_compte = gtk_check_button_new_with_label ( _("Remember display settings for each account separately"));    gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_caracteristiques_lignes_par_compte ),				 etat.retient_affichage_par_compte );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_caracteristiques_lignes_par_compte ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( onglet ),		       bouton_caracteristiques_lignes_par_compte,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_caracteristiques_lignes_par_compte );  /* on permet de choisir quelle ligne seront affiches en fonction des caractristiques de l'affichage */  /* pour op simplifie */  hbox = gtk_hbox_new ( FALSE,			5 );  gtk_box_pack_start ( GTK_BOX ( onglet ),		       hbox,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( hbox );  label = gtk_label_new ( POSTSPACIFY(_("Display for a line the")));  gtk_box_pack_start ( GTK_BOX ( hbox ),		       label,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( label );  bouton_affichage_lignes_une_ligne = gtk_option_menu_new ();  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( bouton_affichage_lignes_une_ligne ),			     cree_menu_quatres_lignes ());  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton_affichage_lignes_une_ligne,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_affichage_lignes_une_ligne );  /* pour 2 lignes */  hbox = gtk_hbox_new ( FALSE,			5 );  gtk_box_pack_start ( GTK_BOX ( onglet ),		       hbox,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( hbox );  label = gtk_label_new ( POSTSPACIFY(_("Display for two lines the")));  gtk_box_pack_start ( GTK_BOX ( hbox ),		       label,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( label );  bouton_affichage_lignes_deux_lignes_1 = gtk_option_menu_new ();  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( bouton_affichage_lignes_deux_lignes_1 ),			     cree_menu_quatres_lignes ());  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton_affichage_lignes_deux_lignes_1,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_affichage_lignes_deux_lignes_1 );  bouton_affichage_lignes_deux_lignes_2 = gtk_option_menu_new ();  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( bouton_affichage_lignes_deux_lignes_2 ),			     cree_menu_quatres_lignes ());  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton_affichage_lignes_deux_lignes_2,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_affichage_lignes_deux_lignes_2 );  /* pour 3 lignes */  hbox = gtk_hbox_new ( FALSE,			5 );  gtk_box_pack_start ( GTK_BOX ( onglet ),		       hbox,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( hbox );  label = gtk_label_new ( _("Display for three lines the"));  gtk_box_pack_start ( GTK_BOX ( hbox ),		       label,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( label );  bouton_affichage_lignes_trois_lignes_1 = gtk_option_menu_new ();  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( bouton_affichage_lignes_trois_lignes_1 ),			     cree_menu_quatres_lignes ());  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton_affichage_lignes_trois_lignes_1,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_affichage_lignes_trois_lignes_1 );  bouton_affichage_lignes_trois_lignes_2 = gtk_option_menu_new ();  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( bouton_affichage_lignes_trois_lignes_2 ),			     cree_menu_quatres_lignes ());  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton_affichage_lignes_trois_lignes_2,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_affichage_lignes_trois_lignes_2 );  bouton_affichage_lignes_trois_lignes_3 = gtk_option_menu_new ();  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( bouton_affichage_lignes_trois_lignes_3 ),			     cree_menu_quatres_lignes ());  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton_affichage_lignes_trois_lignes_3,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_affichage_lignes_trois_lignes_3 );  if ( nb_comptes )    {      /* on recopie le tab_affichage_ope */      for ( i = 0 ; i<4 ; i++ )	for ( j = 0 ; j<7 ; j++ )	  tab_affichage_ope_tmp[i][j] = tab_affichage_ope[i][j];      /* on remplit le tableau */      remplissage_tab_affichage_ope ( clist_affichage_liste );      gtk_signal_connect ( GTK_OBJECT ( clist_affichage_liste ),			   "size-allocate",			   GTK_SIGNAL_FUNC ( allocation_clist_affichage_liste ),			   NULL );      /* on place les lignes  afficher */      gtk_option_menu_set_history ( GTK_OPTION_MENU ( bouton_affichage_lignes_une_ligne ),				    ligne_affichage_une_ligne);      gtk_option_menu_set_history ( GTK_OPTION_MENU ( bouton_affichage_lignes_deux_lignes_1 ),				    GPOINTER_TO_INT (lignes_affichage_deux_lignes->data));      gtk_option_menu_set_history ( GTK_OPTION_MENU ( bouton_affichage_lignes_deux_lignes_2 ),				    GPOINTER_TO_INT (lignes_affichage_deux_lignes->next->data));      gtk_option_menu_set_history ( GTK_OPTION_MENU ( bouton_affichage_lignes_trois_lignes_1 ),				    GPOINTER_TO_INT (lignes_affichage_trois_lignes->data));      gtk_option_menu_set_history ( GTK_OPTION_MENU ( bouton_affichage_lignes_trois_lignes_2 ),				    GPOINTER_TO_INT (lignes_affichage_trois_lignes->next->data));      gtk_option_menu_set_history ( GTK_OPTION_MENU ( bouton_affichage_lignes_trois_lignes_3 ),				    GPOINTER_TO_INT (lignes_affichage_trois_lignes->next->next->data));    }  else    {      gtk_widget_set_sensitive ( table,				 FALSE );      gtk_widget_set_sensitive ( clist_affichage_liste,				 FALSE );      gtk_widget_set_sensitive ( bouton_affichage_lignes_une_ligne,				 FALSE );      gtk_widget_set_sensitive ( bouton_affichage_lignes_deux_lignes_1,				 FALSE );      gtk_widget_set_sensitive ( bouton_affichage_lignes_deux_lignes_2,				 FALSE );      gtk_widget_set_sensitive ( bouton_affichage_lignes_trois_lignes_1,				 FALSE );      gtk_widget_set_sensitive ( bouton_affichage_lignes_trois_lignes_2,				 FALSE );      gtk_widget_set_sensitive ( bouton_affichage_lignes_trois_lignes_3,				 FALSE );      gtk_widget_set_sensitive ( bouton,				 FALSE );    }  /* Then add the "sort by" buttons */  paddingbox = paddingbox_new_with_title (onglet, FALSE,					  _("Sort transaction list"));  gtk_box_pack_start ( GTK_BOX ( onglet ),		       paddingbox,		       FALSE,		       FALSE,		       0 );  bouton_classer_liste_par_date = gtk_radio_button_new_with_label ( NULL,								    _("by date") );  gtk_box_pack_start ( GTK_BOX ( paddingbox ),		       bouton_classer_liste_par_date,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_classer_liste_par_date );  bouton_classer_liste_par_date_bancaire = gtk_radio_button_new_with_label ( gtk_radio_button_group ( GTK_RADIO_BUTTON ( bouton_classer_liste_par_date)),									     _("by value date") );  gtk_box_pack_start ( GTK_BOX ( paddingbox ),		       bouton_classer_liste_par_date_bancaire,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_classer_liste_par_date_bancaire );  if ( etat.classement_par_date )    gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_classer_liste_par_date ),				   TRUE );  else    gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_classer_liste_par_date_bancaire ),				   TRUE );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_classer_liste_par_date ),			      "toggled",			      activer_bouton_appliquer,			      GTK_OBJECT (fenetre_preferences));  return ( onglet );}