rem: gtk_signal_handler_block_by_func ( GTK_OBJECT ( entree_type_nom ), modification_entree_nom_type, NULL ); gtk_signal_handler_block_by_func ( GTK_OBJECT ( bouton_type_apparaitre_entree ), modification_type_affichage_entree, NULL ); gtk_signal_handler_block_by_func ( GTK_OBJECT ( bouton_type_numerotation_automatique ), modification_type_numerotation_auto, NULL ); gtk_signal_handler_block_by_func ( GTK_OBJECT ( entree_type_dernier_no ), modification_entree_type_dernier_no, NULL ); gtk_signal_handler_block_by_func ( GTK_OBJECT ( bouton_type_choix_defaut ), modification_type_par_defaut, NULL );
context: void selection_ligne_arbre_types ( GtkWidget *arbre,				   GtkCTreeNode *node,				   gint col,				   GtkWidget *vbox ){  struct struct_type_ope *type_ope;  GtkCTreeNode *node_banque;  gint no_compte;  gtk_widget_set_sensitive ( bouton_ajouter_type,			     TRUE );  type_ope = gtk_ctree_node_get_row_data ( GTK_CTREE ( arbre_types_operations ),					   node );  /* on resensitive les boutons du tri */  gtk_widget_set_sensitive ( bouton_type_tri_date,			     TRUE );  gtk_widget_set_sensitive ( bouton_type_tri_type,			     TRUE );  /* on va remonter jusqu'au nom de la banque pour afficher les tris correspondant */  node_banque = node;  while ( GTK_CTREE_ROW ( node_banque ) -> level != 1 )    node_banque = GTK_CTREE_ROW ( node_banque ) -> parent;  no_compte = GPOINTER_TO_INT ( gtk_ctree_node_get_row_data ( GTK_CTREE ( arbre_types_operations ),							      node_banque ));  /* on associe le no de la banque au bouton bouton_type_tri_date */  gtk_object_set_data ( GTK_OBJECT ( bouton_type_tri_date ),			"no_compte",			GINT_TO_POINTER ( no_compte ));  /* on affiche les caractristiques du tri de la banque */  /*   on commence par remplir la liste */  remplit_liste_tri_par_type(no_compte);  gtk_signal_handler_block_by_func ( GTK_OBJECT ( bouton_type_neutre_inclut ),				     inclut_exclut_les_neutres,				     NULL );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_type_tri_type ),				 tri_tmp[no_compte] );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_type_neutre_inclut ),				 neutres_inclus_tmp[no_compte] );  gtk_signal_handler_unblock_by_func ( GTK_OBJECT ( bouton_type_neutre_inclut ),				       inclut_exclut_les_neutres,				       NULL );  /*   si on est sur dbit ou crdit ou sur un nom de banque on se barre */  if ( !type_ope || GTK_CTREE_ROW ( node ) -> level == 1 )    return;  /*   une structure est associe  la ligne slectionne : */  /* on commence par annuler toutes les connection des widgets qu'on va changer ici */  gtk_signal_handler_block_by_func ( GTK_OBJECT ( entree_type_nom ),				     modification_entree_nom_type,				     NULL );  gtk_signal_handler_block_by_func ( GTK_OBJECT ( bouton_type_apparaitre_entree ),				     modification_type_affichage_entree,				     NULL );  gtk_signal_handler_block_by_func ( GTK_OBJECT ( bouton_type_numerotation_automatique ),				     modification_type_numerotation_auto,				     NULL );  gtk_signal_handler_block_by_func ( GTK_OBJECT ( entree_type_dernier_no ),				     modification_entree_type_dernier_no,				     NULL );  gtk_signal_handler_block_by_func ( GTK_OBJECT ( bouton_type_choix_defaut ),				     modification_type_par_defaut,				     NULL );  gtk_widget_set_sensitive ( bouton_retirer_type,			     TRUE );  gtk_widget_set_sensitive ( vbox,			     TRUE );  gtk_entry_set_text ( GTK_ENTRY ( entree_type_nom ),		       type_ope -> nom_type );  if ( type_ope -> affiche_entree )    {      gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_type_apparaitre_entree ),				     TRUE );      gtk_widget_set_sensitive ( bouton_type_numerotation_automatique,				 TRUE );      if ( type_ope -> numerotation_auto )	{	  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_type_numerotation_automatique ),					 TRUE );	  gtk_widget_set_sensitive ( entree_type_dernier_no,				     TRUE );	  gtk_entry_set_text ( GTK_ENTRY ( entree_type_dernier_no ),			       itoa ( type_ope -> no_en_cours ));	}      else	{	  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_type_numerotation_automatique ),					 FALSE );	  gtk_widget_set_sensitive ( entree_type_dernier_no,				     FALSE );	}    }  else    {      gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_type_apparaitre_entree ),				     FALSE );      gtk_widget_set_sensitive ( bouton_type_numerotation_automatique,				 FALSE );      gtk_widget_set_sensitive ( entree_type_dernier_no,				 FALSE );    }  gtk_option_menu_set_history ( GTK_OPTION_MENU ( bouton_signe_type ),				type_ope -> signe_type );  if ( type_ope -> signe_type )    {      gtk_widget_set_sensitive ( bouton_type_choix_defaut,				 TRUE );      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + type_ope -> no_compte;      if ( type_ope -> no_type == type_defaut_debit[type_ope -> no_compte]	   ||	   type_ope -> no_type == type_defaut_credit[type_ope -> no_compte] )	gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_type_choix_defaut ),				       TRUE );      else	gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_type_choix_defaut ),				       FALSE );    }  else    gtk_widget_set_sensitive ( bouton_type_choix_defaut,			       FALSE );    /* on associe le node  l'entre du nom */  gtk_object_set_data ( GTK_OBJECT ( entree_type_nom ),			"adr_node",			node );  /* on remet les connections */  gtk_signal_handler_unblock_by_func ( GTK_OBJECT ( entree_type_nom ),				       modification_entree_nom_type,				       NULL );  gtk_signal_handler_unblock_by_func ( GTK_OBJECT ( bouton_type_apparaitre_entree ),				       modification_type_affichage_entree,				       NULL );  gtk_signal_handler_unblock_by_func ( GTK_OBJECT ( bouton_type_numerotation_automatique ),				       modification_type_numerotation_auto,				       NULL );  gtk_signal_handler_unblock_by_func ( GTK_OBJECT ( entree_type_dernier_no ),				       modification_entree_type_dernier_no,				       NULL );  gtk_signal_handler_unblock_by_func ( GTK_OBJECT ( bouton_type_choix_defaut ),				       modification_type_par_defaut,				       NULL );}