Re: [gtkmm] flush



nwerneck cefala org wrote:

Sorry if I'm "overloading" the list... But I really can't find that in the documentation.

How do I flush with Gtkmm?  I have threads increasing a StatusBar, but
it only grows when I click in any button...

... I'll have to use "raw" gtk?

thanks!...
I think you need to call queue_draw() on the StatusBar widget, and then if you want to force a repaint, you need to do:

while(Gtk::Main::events_pending()) Gtk::Main::iteration();

The important thing here, is that the GUI thread needs to do this, or else everything gets messed up. A solution is to let the other threads emit a signal when something needs repainting, and let the GUI thread listen on that signal, and call the above while loop. A normal signal won't work across threads, so I use a Glib::Dispatcher, which let you pipe signals across threads.

Hope this helps.

--
Tor Arvid Lund               ,''`.
http://totto.homelinux.net  : :' :
GnuPG key ID: 0xF335ED1E    `. `'
find it at pgp.mit.edu        `-


Attachment: signature.asc
Description: OpenPGP digital signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]