1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| stdout_to_list (gchar *list)
{
gchar *ID;
gchar *NameObj;
gchar *Separ = "\t\n"; /* les 2 séparateurs, tab et retour de ligne */
gchar *Ligne;
gint i = 1;
GtkTreeIter pIter;
gtk_list_store_clear (ListStore1); /* on efface la liste avant de la remplir */
Ligne = strtok (list, Separ); /* initialisation de l'extraction des mots (1er mot) */
while(Ligne != NULL)
{
if (i > 1) /* le 1er mot étant déjà extrait, l'instruction est uniquement exécutée aux mots suivants */
{
Ligne = strtok (NULL, Separ);
}
ID = Ligne; /* récupération de l'id de l'objet */
Ligne = strtok (NULL, Separ); /* on passe à l'extraction du nom de l'objet */
NameObj = Ligne; /* récupération du nom de l'objet */
if (ID != NULL && NameObj !=NULL) /* test pour savoir si la ligne est vide, si non, alors on ajoute à la liste ListStore1 */
{
gtk_list_store_append (ListStore1, &pIter);
gtk_list_store_set (ListStore1, &pIter, 0, ID, 1, NameObj, -1);
i++;
}
else /* si la ligne est vide, c'est qu'on arrive à la fin ; on quitte alors la boucle, inutile de continuer */
{
break;
}
}
return 0;
} |
Partager