- GtkEntryCompletion* completion = gtk_entry_completion_new();
- gtk_entry_set_completion(entry, completion);
- gtk_entry_completion_set_model(completion, GTK_TREE_MODEL(m_store));
- gtk_entry_completion_set_text_column(completion, 0);
- }
-
- void append(const char* string)
- {
- GtkTreeIter iter;
- gtk_list_store_append(m_store, &iter);
- gtk_list_store_set(m_store, &iter, 0, string, -1);
- }
- typedef MemberCaller1<EntryCompletion, const char*, &EntryCompletion::append> AppendCaller;
-
- void fill()
- {
- StringList().forEach(AppendCaller(*this));
- }
-
- void clear()
- {
- gtk_list_store_clear(m_store);
- }
-
- void update()
- {
- clear();
- fill();
- }
- typedef MemberCaller<EntryCompletion, &EntryCompletion::update> UpdateCaller;