Threads and main-loops



Hi,
I want to make an app that can have multiple top-level windows open, each
of which contains a document being edited. If a user was half way thru
doing something in one document window, then clicks another document
window and does something there, then goes back to doing something in
the first window, i want the context of these windows to be maintained.
So, one application should give the illusion of multiple instances of a
simpler single-document application.

Could i do this by using a separate thread for each document window,
where each thread has its own g_main_loop and g_main_context ?
Will gtk widgets work properly without needing locking and mutexes etc?
I need to use one thread per window because the execution point goes
around a complicated super loop, and each document/window has one.

Even tho this isn't window-in-window, is this classed as MDI, or SDI?

I want one main menu that can control settings common to all the
open windows/documents.

I've never used fork before, but this should give me the effect
of multiple invocations of gtk, while still having them glued to
a parent process using pipes: http://www.gtk.org/faq/#AEN506

Is this the most common and recommended way to get the effect?



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