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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?