Bonjour
J'ai un gtk_combo_text pour lequel je peux modifier la liste. Il se peut que la iste devienne vide.
Dans mon programme, je vide la liste :
gtk_combo_box_text_remove_all (GTK_COMBO_BOX_TEXT(combo));
Puis je reconstruis la liste à partir d'un tableau et je récupère le nombre d'item de cette liste. Je sélectionne par défaut le premier de la liste
gtk_combo_box_set_active (GTK_COMBO_BOX (combo),0);
Le problème, c'est que lorsque cette liste est vide, je garde l'ancien affichage. J'ai trouvé une astuce, mais ça ressemble plus à du bricolage qu'autre chose pour vider la case :
1 2 3 4 5 6 7 8 9 10
| if ( liste vide)
{ /* il n'y a pas d'item dans cette liste */
gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT(combo),"", "");
gtk_combo_box_set_active (GTK_COMBO_BOX (combo),0);
gtk_combo_box_text_remove_all (GTK_COMBO_BOX_TEXT(combo));
}
else
{
gtk_combo_box_set_active (GTK_COMBO_BOX (combo),0);
} |
Existerait-il une méthode plus propre ?
Partager