Re: MDI question



Michael Lausch wrote:
> is it possible to have a top level window which looks something like
> 
[snip]

actually, the GnomeMDI is not a widget. it is an interface that (I hope
;)
handles some rather mundane stuff that needs to be taken care of when an
application opens multiple "documents": it allows for adding children to
the MDI and opening multiple views of them. it also emits signals on
certain
events (when a child/view is added/removed or a new toplevel window is
created, etc.), it can automatically save and restore layout of its
windows
and views in them (useful for session saving), it takes care of adding/
removing child-specific menu items when a certain child is activated
(you
can add any number of different types of children, each type providing
its
own menus which are merged with the global ones).

how the MDI looks is determined by its "mode" (which can be set by user
via
look'n'feel capplet), which can be one of:

a) notebook: each view has its own notebook page. pages can be
distributed
between multiple notebooks, each in its own toplevel, by dragging a page
out of one notebook.
b) toplevel: each view has its own toplevel window.
c) modal: only a single view of a single child is displayed in a single
toplevel window.

there is no MS-like mode (child windows in a container) to which you
were
probably referring. perhaps it will be implemented one day ;)

regarding your problem, you could (if you choose to use the MDI
interface):

a) put the ctree in its own toplevel and register it with the MDI using
gnome_mdi_register().
b) put a ctree in each child's view (any GtkWidget can be a view, so you
could put a ctree in an hbox or an hpane together with the widget that
will
actually display your child).
c) connect a handler to the app_created signal to put the ctree in the
dock of each GnomeApp created by the MDI. balsa does something like
this.

also read the libgnomeui/gnome-mdi* and gnome-hello/gnome-hello-7-mdi.c
sources. I think I've documented them quite well.

example applications include ghex, gnome-hello-7-mdi, gwp, gtop and
balsa.

regards,
	jaKa

-- 
email: jaka.mocnik@kiss.uni-lj.si
w3:    http://pluton.ijs.si/~jaka



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