|
3 About MDI and what it means
in QextMDI
Actually, QextMDI (the MDI extension library for
Qt-2.2.x) should be called QextMVI.
Why?
Because the library itself has nothing to do
with documents as the abbreviation MDI (Multi Document Interface) says
but only with views. That's why in reality it is an extension library for
multiple-views applications. But the term MDI is used because it has been
well-known in the programmers world for years and MDI usually stands for
an application type which has 2 very typical properties:
-
a control window called the mainframe window
-
a lot of single views that represent visualization
of several data units
Those 2 properties are often acociated with that
look and feel as known from many Microsoft programs - you know the application
mainframe window which acts as application-internal desktop for its view
windows that appear like toplevel windows but are clipped at the mainframes
window border.
But we want to make a much more general approach,
just the idea of having a lot of views for maybe more than one document
which are controlled by a mainframe window. Controlling means here the
mainframe provides a main menu, toolbars and a statusbar. They are always
reffering to the current view window.
With those few common rules we can imagine several
looks of an MDI application, like these 3 ones:
-
Childframe Mode:
The look known from Microsoft Windows MDI applications
as described above
-
Toplevel Mode:
All windows (mainframe and views) are toplevel
windows, it means they are all stand-alone windows on the operating system's
desktop
-
TabPage Mode:
All views are tabbed pages of the mainframe.
Of course, one can also imagine mixtures
of them.
|