How can I force a TextView to refresh itself after applying tags to a 
TextBuffer?  I have some test code that causes everything the user inserts to 
be made green, but it doesn't display correctly.


def bufferInsert(widget, event, *args):
    widget.stop_emission("insert-text")
    widget.handler_block(sig_insert)
    widget.insert_with_tags(widget.get_iter_at_mark(widget.get_insert()),
                            args[0],
                            green)
    widget.handler_unblock(sig_insert)
    view.queue_draw()   #these two lines seem like they should work,
    gtk.mainiteration() #but don't appear to do anything
    
sig_insert = buffer.connect("insert-text", bufferInsert)


A typed character will appear immediately, but it will not turn green until 
the next update/event -- for example, typing another character, clicking the 
mouse, or even a blink of the text cursor.  I'd like it to be green 
immediately :)  Any way to do this?

Thanks,

Jason

P.S. I'm working toward syntax highlighting.  No, I'm not actually planning to 
separately tag every character, but it was an easy test case.

_______________________________________________
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