Re: Applying a TextTag on newly-written Text
- From: "Krause" <andrew openldev org>
- To: <gtkmm-list gnome org>, <gtkmm-list gnome org>
- Subject: Re: Applying a TextTag on newly-written Text
- Date: Thu, 2 Jun 2005 13:32:19 -0700
>Hi Mailing List,
>
>I have got a problem with Gtk::TextTag and applying them right after
>text has been inserted: I handle the signal_insert event from the
>TextBuffer and apply my tag (simplified) like that:
>
>void Document::on_insert_after(const Gtk::TextBuffer::iterator& end,
> const Glib::ustring& text,
> int bytes)
>{
> Gtk::TextBuffer::iterator pos = end;
> pos.backward_chars(text.length() );
> buffer->apply_tag_by_name("my-tag", pos, end);
>}
>
>This works quite fine, but the new tag (which should set the background
>color of the text) is not drawn immediately on the TextView, but after
>the view has been redrawn: For example by waiting until the cursor
>blinks or by writing another character (the first character is tagged
>then, the second not). However, calling queue_draw() after applying the
>tag does not help.
>
>I searched a bit in GtkSourceView's source code because their tags to
>highlight source code show up immediately (even my tags do so if they
>are in a line that was already highlighted by GtkSourceView!) but I
>could not figure out how it works. They do something with an indle
>handler, but applying the tags in an idle handler instead of the
>signal_insert callback does not change anything :(
>
>Another problem is that I do remove any tags in the region I want to add
>the new one. This works fine, too, except if I paste text from a region
>that has a tag set: In this case this tag seems not to be removed and
>both tags (the old one got from the paste and the new one I apply when
>text is inserted) are applied.
>
>If this is the wrong mailing list for my problem and I should better use
>one of GTK+'s, just tell me :)
>
>Regards,
>Armin
Try using signal_key_press_event. That has always done it immediately for me.
---
Andrew Krause
andrew openldev org
www.openldev.org
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]