Re: Design of MDI aplication
- From: Russell Shaw <rjshaw netspace net au>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: Design of MDI aplication
- Date: Tue, 14 Dec 2004 03:11:33 +1100
Gus Koppel wrote:
Petr Hracek wrote:
I would like to ask you how I can design MDI aplication. Of course if
it's possible.
where I can find some sources. In Gtk-demo I did not find anything.
Two answers:
1. there are currently two common ways for designing MDI (Multiple
Document Interface) in GTK+:
1.1. by putting each "document" into its own toplevel window
1.2. by having one main window with a GtkNotebook (tabs either visible
or invisible). Each "document" would then become a page inside that
notebook.
A few well designed applications offer the user the choice to change
between these two handling methods any time, at runtime, sometimes even
on a per window (per document) basis.
2. look at the following URLs for some more controversial information:
http://mail.gnome.org/archives/gtk-app-devel-list/2003-December/msg00141.html
http://mail.gnome.org/archives/gtk-app-devel-list/2003-November/msg00113.html
Essence: WiW (Windows in Windows), the 3rd way, as known from MS-Windows
or QT, are not supported by GTK+. Some people say fortunately, others
(including me) say unfortunately. My opinion on this is that just
because a few people (mainly developers) really dislike this feature
they shouldn't keep telling other users they have to dislike it as well,
even if they are no lusers and still feel comfortable with it.
...
FWIW, there's valid uses for SDI *and* MDI (wiw).
SDI:
Things like drawing and cad programs, editors, etc, should
be SDI with one top-level window per document, for the main
reason that you can have two documents displayed on their
own monitor in a dual-head setup, and possibly more documents
placed on virtual desktops too.
gVim is an example that needs SDI, but currently uses wiw by
splitting the screen.
MDI:
Apps that have many windows of equal priority result in them
scattered all over the desktop, so need to be contained and
managed in a global app window. An example is an instant
messaging or IRC client where you can easily have windows
open for a dozen people. A friend only uses M$ windows for his
IM client because it does wiw MDI so all the contained windows
are neatly panelled. This management removes all dependencies
and vagaries of whatever window manager is being used.
If many top level windows can be made to "stick" or dock
together with the main menubar and all be iconized as a
unit independent of the window manager, then this would
go a long way to removing the need for wiw MDI.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]