Re: Model View Controller. How to implement?



> you are already using threads, so this is enough. the problem,
> i think, is that GObject signals are not inherently cross-thread
> constructs. Emitting a signal from your computation thread and hoping
> that the view will update itself correctly will only work if you are
> doing the appropriate locking/unlocking using gdk_threads_enter() and
> gdk_threads_leave(). Otherwise you have two threads potentially trying
> to do GUI operations at the same time, leading to many problems.

Read the thread-section in glib and gtk reference manual, they describe
the usage og gdk_threads_enter/gdk_threads_leave. Any thread can update
any widget, since a change will enqueue a draw event that will be executed
in the  gtk_main() thread.

A classic example for mvc is to store your data in a gtk_list_store og
gtk_tree_store. You can even filter and sort, by stacking models. And
Treeview is the presentation. However, to mangle and change values in the
model you would need to do by hand.



Stian



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