Google

The K Desktop Environment
NextPreviousTable of Contents

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:

  1. Childframe Mode:

  2. The look known from Microsoft Windows MDI applications as described above
  3. Toplevel Mode:

  4. All windows (mainframe and views) are toplevel windows, it means they are all stand-alone windows on the operating system's desktop
  5. TabPage Mode:

  6. All views are tabbed pages of the mainframe.


Of course, one can also imagine mixtures of them.

NextPreviousTable of Contents