//Completion sans GUI #include <gtk/gtk.h> #include <string.h> // montre un élement résultat de la recherche void afficher(gchar *c) { g_print("%s\n", c); } int main (int argc, char *argv[]) { GCompletion *cmp; GList *items, *trouve; gchar *prefix; gtk_init(&argc, &argv); // Crée un objet Completion cmp = g_completion_new (NULL); // Remplit la liste items = NULL; items = g_list_append (items, "bb"); items = g_list_append (items, "bertie"); items = g_list_append (items, "bertier"); items = g_list_append (items, "botanique"); items = g_list_append (items, "joe"); items = g_list_append (items, "john"); items = g_list_append (items, "johnny"); // Associe la liste à l' objet Completion g_completion_add_items (cmp, items); // Remplit une nouvelle liste en complétant "be". Cette étape devrait // survenir quand l' utilisateur saisit quelque chose. trouve = g_completion_complete (cmp, "be", &prefix); //g_print("%s -> %s\n", prefix, (gchar*)trouve->data); // Dresse le contenu de la liste complétée avec la fonction afficher, // qui devrait servir à remplir une liste au niveau du curseur. g_list_foreach (trouve, (void*)afficher, (gchar*)trouve->data); // libère l' espace alloué g_completion_free (cmp); return 0; } /* Le programme affiche sur le sortie standard: bertie bertier */