| I hope translation from the German won't be necessary :-).  I think
    the documentation and examples of dispatcher use are more
    intimidating than they should be. 
 In your main thread, create a dispatcher object.
 "Connect" the object to a routine that draws.
 In your separate thread, call the dispatcher when you want to draw.
 The routine you created in the second step gets invoked by the
    secondary thread but in the context of the first.
 
 It's really just a few lines, and it's an awesome concept, but it's
    obscured by the many pages of documentation and sample code :-^.
 
 -- Alan
 
 P.S.  I don't know why it doesn't take arguments either, but one can
    work around that with globals and a mutex.
 
 
 
 On 8/1/2013 9:18 AM, Jonas Platte
      wrote:
 
      
      Yes I know that this should be solved
        with a seperate thread and I now have read the documentation for
        Glib::Dispatcher and understand the basics of it, even though I
        don't understand why it doesn't allow arguments. 
        I also found an example for this with a lot of comments (in
        german, I could translate it if you think that is simpler than
        writing another): http://www.c-plusplus.de/forum/p816067 
        And to the poster: You were right, the implementation is really
        not that  complicated :)
         
        Am 01.08.2013 17:48, schrieb Alan Mazer:
      
        Jonas, the suggested approach that I sent earlier uses a
        dispatcher to avoid this problem, which I think is the preferred
        approach.  Also, the poster is trying to update a GUI window
        *asynchronously*.  He doesn't want to use timeouts, and he
        doesn't want it to be button driven.  I think that justifies the
        use of a separate thread.
 -- Alan
 
 
 
 On 8/1/2013 7:24 AM, Jonas Platte
          wrote:
 
          It is quite simple to open
            another thread and call set_text of your label from there.
            The problem is that this will probably crash your program,
            as gtkmm is not thread-safe. That's why you need to make
            sure that your set_text doesn't overlap with the gtk main
            loop that updates the GUI.And that is the thing complicated to implement. At
            least I think so. I never did this before, but you made me
            think about this once again and it raised my interest, so
            eventually I will come up with a solution later. Or somebody
            else will.
 
 
 
 
 _______________________________________________
gtkmm-list mailing list
gtkmm-list gnome org
https://mail.gnome.org/mailman/listinfo/gtkmm-list
 
 
 
 _______________________________________________
gtkmm-list mailing list
gtkmm-list gnome org
https://mail.gnome.org/mailman/listinfo/gtkmm-list
 
 |