From: oxman Date: 2005-01-16T03:21:10+09:00 Subject: Re: ruby-gnome2 : problem with signal "insert-text" This : 2.times{ buffer.apply_tag(buffer.tag_table.lookup("blue"), iter, limit_iter) } Perfect. Thanks :) Joao Pedrosa wrote: > Hi, > > On Sat, 15 Jan 2005 14:05:16 -0300, Joao Pedrosa wrote: > >>Hi, >> >>On Sat, 15 Jan 2005 23:21:13 +0900, oxman wrote: >> >>>The code : > > > I think I have found a hack. Check this out: > > require 'gtk2' > Gtk.init > window = Gtk::Window.new > window.signal_connect("destroy") { Gtk.main_quit } > textviewer = Gtk::TextView.new > window.add(textviewer) > window.set_default_size(600,400) > window.show_all > buffer = textviewer.buffer > buffer.create_tag("blue", {"foreground" => "blue"}) > buffer.signal_connect('insert-text') do |a,iter,text,length| > offs = iter.offset > Gtk.timeout_add(10){ > iter = buffer.get_iter_at_offset(offs) > iter.forward_to_line_end > limit_iter = buffer.get_iter_at_offset(iter.offset) > iter.line_offset = 0 > if a = iter.forward_search('#', Gtk::TextIter::SEARCH_TEXT_ONLY, > limit_iter) or text == '#' > iter, = a if a > 2.times{ > buffer.apply_tag(buffer.tag_table.lookup("blue"), iter, limit_iter) > } > end > false > } > end > Gtk.main > > Cheers, > Joao > >