I guess you should set up a watch on stdout using Glib::IOChannel. I'm not
sure how to do this for C++ streams since the IOChannel API, while wrapped
into C++, still operates on C FDs only, but this would solve the problem.

2008/5/10 Søren Hauberg <[EMAIL PROTECTED]>:

> Hi all,
>  I'm using gtksourceviewmm as terminal-like widget, and I want to
> redirect std::cout to this widget. Currently I'm doing something like
> this in my constructor:
>
>    std::ostringstream outs;
>    std::cout.rdbuf (outs.rdbuf ());
>
> and then I have a function 'update' that looks something like this
>
>    bool update (int timer_number)
>     {
>       // Update text output
>       buffer->insert (buffer->end(), outs.str ());
>       outs.str (""); // Empty stream
>
>       return true;
>     }
>
> this function is then called on a reglar basis using a
> 'Glib::signal_timeout'. This works, but the timer has to have a very
> high frequency if the output should appear smoothly. So, I'm not
> really a fan of this approach. Can I somehow redirect 'std::cout'
> directly to the TextBuffer?
>
> Thanks,
> Søren
> _______________________________________________
> gtkmm-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/gtkmm-list
>
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to