Hi all,
the attached example issues once the following warning:
./completion-list.py:52: GtkWarning: gtk_entry_set_text: assertion `text
!= NULL' failed
apart from this it works. What is wrong with it? If I uncomment
set_column_text I get of course 2 CellRenderers (that I don't want) but
the warning is not raised...
beside that set_inline_completions segfaults on gtk2.6 (debian sarge)...
is this a known bug?
TIA
sandro
*:-)
--
Sandro Dentella *:-)
e-mail: [EMAIL PROTECTED]
http://www.tksql.org TkSQL Home page - My GPL work
#!/usr/bin/env python
import gtk
import re
class Lay(object):
def __init__(self):
w = gtk.Window()
entry = gtk.Entry()
w.add(entry)
w.show_all()
self.add_completion(entry)
def add_completion(self, entry):
completion = gtk.EntryCompletion()
completion.connect('match-selected', self.match_selected_cb)
renderer_descr = gtk.CellRendererText()
completion.pack_start(renderer_descr)
completion.add_attribute(renderer_descr, "text", 0)
completion.set_match_func(self.match_func, 0)
self.liststore = gtk.ListStore(str, str)
for i in range(0,10):
self.liststore.append(["word %s" % i, str(i)])
completion.set_model(self.liststore)
completion.set_property('minimum-key-length', 0)
#completion.set_inline_completion(True)
entry.set_completion(completion)
#completion.set_text_column(0)
return True
def match_func(self, completion, key, iter, column):
model = completion.get_model()
text = model.get_value(iter, column)
if re.search(key, text):
return True
return False
def match_selected_cb(self, wdg, model, iter):
print "text: ", model.get(iter, 0)
return
if __name__ == "__main__":
ee = Lay()
gtk.main()
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/