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/

Reply via email to