Hi again Don't mess synchronized with a mutex. The closest thing to synchronized would be ags_task_thread_append_task() and run things exclusively
http://git.savannah.gnu.org/cgit/gsequencer.git/tree/ags/thread/ags_task_thread.h?h=0.7.x bests, Joël On Mon, Sep 12, 2016 at 5:50 PM, Joël Krähemann <jkraehem...@gmail.com> wrote: > Hi > > Since I know Javax/Swing I can tell you there is no synchronize > keyword doing your magic. > > Please take a look at pthread_mutex_lock(), pthread_cond_wait(), > pthread_cond_signal(), pthread_cond_broadcast() > or pthread_barrier_wait(). > > Bests, > Joël > > > On Mon, Sep 12, 2016 at 5:17 PM, Joël Krähemann <jkraehem...@gmail.com> wrote: >> Hi >> >> You can't do that without implementing your own widget because of >> thread-safety issues. To do your own >> GtkFlowBox implement GtkWidget:size-allocate and >> GtkWidget:size-request the rest is up to you. >> >> Don't forget doing mutices or use g_timeout_add() but this is single >> threaded and is invoked by >> g_main_context_iteration(). >> >> For a simple example consider this: >> >> http://git.savannah.gnu.org/cgit/gsequencer.git/tree/ags/X/editor/ags_notebook.c?h=0.7.x#n167 >> >> It is a scrolled window containing buttons doing a scrollable area. >> >> You have to use gdk_threads_enter() and gdk_threads_leave(). Might be >> you have even to acquire >> the GMainContext. >> >> Bests, >> Joël >> >> >> >> On Mon, Sep 12, 2016 at 5:03 PM, Gergely Polonkai <gerg...@polonkai.eu> >> wrote: >>> Hello, >>> >>> I have no knowledge of Java/Swing, but based on your requirements I guess >>> you need FlowBox[1]. >>> >>> Best, >>> Gergely >>> >>> [1] https://developer.gnome.org/gtk3/stable/GtkFlowBox.html >>> >>> On Mon, Sep 12, 2016, 16:35 Daniel. <danielhi...@gmail.com> wrote: >>> >>>> Hi everybody, >>>> >>>> I have a library implementing some protocol. That library is >>>> multithread and is responsible to delivery messages to remote nodes >>>> and retrieve it's responses. I need to visualise the whole mess >>>> running. >>>> >>>> To do this I wrote a simple application in Java/Swing where for each >>>> remote node one thread is created. The thread will send a message and >>>> wait for response in a closed loop. Each thread is represented at GUI >>>> by a label on the screen. When it's idle the background of that label >>>> becomes green, when is waiting for response it is yellow and if >>>> timeouts it becomes red. All labels have the same information so that >>>> they have exactly the same size. >>>> >>>> Beside the request/repsonse there is events that can arrive from the >>>> nodes too. That events need to be replied as the messages. When an >>>> event arrives it's showed up on screen as a new label. When it's reply >>>> is acknowledge it's removed from the screen. >>>> >>>> In pratice there is a big container where the labels came and go and >>>> change its background colors based on messages, replies and events >>>> comming and going. >>>> >>>> I've been using FlowLayout as the "big container". The labels are >>>> added and arrange horizontally by FlowLayout. When no room is avaible >>>> at the current row, a new row is added. When the rows exceed the >>>> window size a scrowbar appears. >>>> >>>> I'm looking for something silimar with GTK2 (I'll run in a embeeded >>>> system that doesn't have GTK3). >>>> >>>> My questions are: >>>> >>>> 1) Is there some container with equivalent behavior to the Swing's >>>> FlowLayout? If no I think I'll need to build one from hbox+vbox, what >>>> would be the best aproach to it. >>>> 2) How is the best way to change the background of a label? >>>> 3) What is the better aproach when adding instantiating, adding, >>>> showing, hiding removing and freeing widgets at runtime? What can get >>>> wrong? >>>> >>>> References: >>>> https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html#flow >>>> >>>> Best regards, >>>> -- >>>> "Do or do not. There is no try" >>>> Yoda Master >>>> _______________________________________________ >>>> gtk-app-devel-list mailing list >>>> gtk-app-devel-list@gnome.org >>>> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list >>>> >>> _______________________________________________ >>> gtk-app-devel-list mailing list >>> gtk-app-devel-list@gnome.org >>> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list