//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
*/