add: if ( !nb_comptes ) { gtk_widget_set_sensitive ( vbox_pref, FALSE ); }
context: GtkWidget *onglet_types_operations ( void ){  GtkWidget *vbox_pref, *hbox, *scrolled_window, *paddingbox;  GtkWidget *vbox, *table, *menu, *item, *label, *bouton;  GtkTreeViewColumn *column;  GtkCellRenderer *cell;  vbox_pref = new_vbox_with_title_and_icon ( _("Reconciliation"),					     "reconciliation.png" );  /* Now we have a model, create view */  vbox_pref = new_vbox_with_title_and_icon ( _("Payment methods"),					     "payment-methods.png" );  /* Known payment methods */  paddingbox = new_paddingbox_with_title (vbox_pref, TRUE,					  _("Known payment methods"));  hbox = gtk_hbox_new ( FALSE, 6 );  gtk_box_pack_start ( GTK_BOX ( paddingbox ), hbox,		       TRUE, TRUE, 0 );  /* Create tree */  scrolled_window = gtk_scrolled_window_new ( NULL, NULL );  gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled_window ),				   GTK_POLICY_AUTOMATIC,				   GTK_POLICY_AUTOMATIC );  gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW ( scrolled_window ),					GTK_SHADOW_IN);  gtk_box_pack_start ( GTK_BOX ( hbox ), scrolled_window,		       TRUE, TRUE, 0 );  /* Create tree view */  model = gtk_tree_store_new (NUM_PAYMENT_METHODS_COLUMNS,			      G_TYPE_STRING,			      G_TYPE_STRING,			      G_TYPE_BOOLEAN,			      G_TYPE_INT,			      G_TYPE_BOOLEAN,			      G_TYPE_BOOLEAN,			      G_TYPE_POINTER);  treeview = gtk_tree_view_new_with_model ( GTK_TREE_MODEL (model) );  gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);  g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)), 		    "changed", 		    G_CALLBACK (select_payment_method),		    model);  /* Account */  cell = gtk_cell_renderer_text_new ();  column = gtk_tree_view_column_new ( );  gtk_tree_view_column_pack_end ( column, cell, TRUE );  gtk_tree_view_column_set_title ( column, _("Account") );  gtk_tree_view_column_set_attributes (column, cell,				       "text", PAYMENT_METHODS_NAME_COLUMN,				       NULL);  gtk_tree_view_append_column ( GTK_TREE_VIEW(treeview), column);  /* Defaults */  cell = gtk_cell_renderer_toggle_new ();  g_signal_connect (cell, "toggled", G_CALLBACK (payment_method_toggled), model);  gtk_cell_renderer_toggle_set_radio ( GTK_CELL_RENDERER_TOGGLE(cell), TRUE );  g_object_set (cell, "xalign", 0.5, NULL);  column = gtk_tree_view_column_new ( );  gtk_tree_view_column_set_alignment ( column, 0.5 );  gtk_tree_view_column_pack_end ( column, cell, TRUE );  gtk_tree_view_column_set_title ( column, _("Default") );  gtk_tree_view_column_set_attributes (column, cell,				       "active", PAYMENT_METHODS_DEFAULT_COLUMN,				       "activatable", PAYMENT_METHODS_ACTIVABLE_COLUMN,				       "visible", PAYMENT_METHODS_VISIBLE_COLUMN,				       NULL);  gtk_tree_view_append_column ( GTK_TREE_VIEW(treeview), column);  /* Numbering */  cell = gtk_cell_renderer_text_new ();  column = gtk_tree_view_column_new ( );  gtk_tree_view_column_pack_end ( column, cell, TRUE );  gtk_tree_view_column_set_title ( column, _("Numbering") );  gtk_tree_view_column_set_attributes (column, cell,				       "text", PAYMENT_METHODS_NUMBERING_COLUMN,				       NULL);  gtk_tree_view_append_column ( GTK_TREE_VIEW(treeview), column);  /* expand all rows after the treeview widget has been realized */  g_signal_connect (treeview, "realize",		    G_CALLBACK (gtk_tree_view_expand_all), NULL);  gtk_container_add ( GTK_CONTAINER ( scrolled_window ),		      treeview );  fill_payment_method_tree ();  /* Create "Add" & "Remove" buttons */  vbox = gtk_vbox_new ( FALSE, 6 );  gtk_box_pack_start ( GTK_BOX ( hbox ), vbox,		       FALSE, FALSE, 0 );  /* "Add payment method" button */  bouton_ajouter_type = gtk_button_new_from_stock (GTK_STOCK_ADD);  gtk_button_set_relief ( GTK_BUTTON ( bouton_ajouter_type ),			  GTK_RELIEF_NONE );  gtk_signal_connect ( GTK_OBJECT ( bouton_ajouter_type ),		       "clicked",		       (GtkSignalFunc ) ajouter_type_operation,		       NULL );  gtk_box_pack_start ( GTK_BOX ( vbox ), bouton_ajouter_type,		       TRUE, FALSE, 5 );  /* "Remove payment method" button */  bouton_retirer_type = gtk_button_new_from_stock (GTK_STOCK_REMOVE);  gtk_button_set_relief ( GTK_BUTTON ( bouton_retirer_type ),			  GTK_RELIEF_NONE );  gtk_widget_set_sensitive ( bouton_retirer_type, FALSE );  gtk_signal_connect ( GTK_OBJECT ( bouton_retirer_type ),		       "clicked",		       (GtkSignalFunc ) supprimer_type_operation,		       NULL );  gtk_box_pack_start ( GTK_BOX ( vbox ), bouton_retirer_type,		       TRUE, FALSE, 5 );  /* Payment method details */  details_paddingbox = new_paddingbox_with_title (vbox_pref, FALSE,						  _("Payment method details"));  gtk_widget_set_sensitive ( details_paddingbox, FALSE );  /* Payment method name */  table = gtk_table_new ( 2, 2, FALSE );  gtk_table_set_col_spacings ( GTK_TABLE ( table ), 6 );  gtk_table_set_row_spacings ( GTK_TABLE ( table ), 6 );  gtk_box_pack_start ( GTK_BOX ( details_paddingbox ), table,		       TRUE, TRUE, 6 );  label = gtk_label_new ( COLON(_("Name")) );  gtk_misc_set_alignment (GTK_MISC (label), 0, 1);  gtk_label_set_justify ( GTK_LABEL(label), GTK_JUSTIFY_RIGHT );  gtk_table_attach ( GTK_TABLE ( table ),		     label, 0, 1, 0, 1,		     GTK_SHRINK | GTK_FILL, 0,		     0, 0 );  entree_type_nom = new_text_entry ( NULL, modification_entree_nom_type );  gtk_table_attach ( GTK_TABLE ( table ),		     entree_type_nom, 1, 3, 0, 1,		     GTK_EXPAND | GTK_FILL, 0,		     0, 0 );  /* Automatic numbering */  label = gtk_label_new ( COLON(_("Automatic numbering")) );  gtk_misc_set_alignment (GTK_MISC (label), 0, 1);  gtk_label_set_justify ( GTK_LABEL(label), GTK_JUSTIFY_RIGHT );  gtk_table_attach ( GTK_TABLE ( table ),		     label, 0, 1, 1, 2,		     GTK_SHRINK | GTK_FILL, 0,		     0, 0 );  entree_type_dernier_no = new_spin_button (NULL,					    0, G_MAXDOUBLE, 					    1, 5, 5, 					    2, 0, (GCallback) modification_entree_type_dernier_no );  gtk_table_attach ( GTK_TABLE ( table ),		     entree_type_dernier_no, 1, 2, 1, 2,		     GTK_EXPAND | GTK_FILL, 0,		     0, 0 );  entree_automatic_numbering =     new_checkbox_with_title (_("Activate"),			     NULL, modification_type_numerotation_auto);  gtk_table_attach ( GTK_TABLE ( table ),		     entree_automatic_numbering, 2, 3, 1, 2,		     GTK_SHRINK, 0,		     0, 0 );  /* Payment method type */  label = gtk_label_new ( COLON(_("Type")) );  gtk_misc_set_alignment (GTK_MISC (label), 0, 1);  gtk_label_set_justify ( GTK_LABEL(label), GTK_JUSTIFY_RIGHT );  gtk_table_attach ( GTK_TABLE ( table ),		     label, 0, 1, 2, 3,		     GTK_SHRINK | GTK_FILL, 0,		     0, 0 );  /* Create menu */  bouton_signe_type = gtk_option_menu_new ();  menu = gtk_menu_new();  /* Neutral type */  item = gtk_menu_item_new_with_label ( _("Neutral") );  gtk_signal_connect_object ( GTK_OBJECT ( item ),			      "activate",			      GTK_SIGNAL_FUNC ( modification_type_signe ),			      NULL );  gtk_menu_append ( GTK_MENU ( menu ), item );  /* Debit type */  item = gtk_menu_item_new_with_label ( _("Debit") );  gtk_signal_connect_object ( GTK_OBJECT ( item ),			      "activate",			      GTK_SIGNAL_FUNC ( modification_type_signe ),			      GINT_TO_POINTER (1) );  gtk_menu_append ( GTK_MENU ( menu ), item );  /* Credit type */  item = gtk_menu_item_new_with_label ( _("Credit") );  gtk_signal_connect_object ( GTK_OBJECT ( item ),			      "activate",			      GTK_SIGNAL_FUNC ( modification_type_signe ),			      GINT_TO_POINTER (2) );  gtk_menu_append ( GTK_MENU ( menu ), item );  /* Set menu */  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( bouton_signe_type ), menu );  gtk_table_attach ( GTK_TABLE ( table ),		     bouton_signe_type, 1, 3, 2, 3,		     GTK_EXPAND | GTK_FILL, 0,		     0, 0 );  return ( vbox_pref );}