Content deleted Content added
m Grammar. Removed some internal whitespace. |
|||
Line 2:
{{Weasel|date=January 2009}}
[[Image:Some_X_windows.svg|thumb|An example of a multiple document interface layout]]
A '''multiple document interface''' ('''MDI''') is a [[graphical user interface]] in which multiple windows reside under a single parent window. Such systems often allow child windows to embed other windows inside them as well, creating complex [[Hierarchy#Nested hierarchy|nested hierarchies]]. This contrasts with [[single document interface]]s ('''SDI''') where all windows are independent of each other.
==Comparison with single document interface==
In the [[usability]] community, there has been much debate about whether the multiple document or single document interface
The disadvantage of MDI usually cited is its lack of information about the currently opened windows: In MDI applications, the application developer must provide a way to switch between documents or view a list of open windows, and the user might have to use an application-specific menu ("window list" or something similar) to switch between open documents. This is in contrast to SDI applications, where the window manager's [[task bar]] or [[task manager]] displays the currently opened windows. However, in recent years it has become increasingly common for MDI applications to use "tabs" to display the currently opened windows, which has made this criticism somewhat obsolete. An interface in which tabs are used to manage open documents is referred to{{by whom|date=January 2012}} as a "[[tabbed document interface]]" (TDI).
Line 14:
Nearly all [[graphical user interface]] toolkits to date provide at least one solution for designing MDIs, with an exception being [[Cocoa (API)|Apple's Cocoa API]]. The [[Java (programming language)|Java]] GUI toolkit, [[Swing (Java)|Swing]], for instance, provides the class {{Javadoc:SE|package=javax.swing|javax/swing|JDesktopPane}} which serves as a container for individual frames (class {{Javadoc:SE|package=javax.swing|javax/swing|JInternalFrame}}). [[GTK+]] lacks any standardized support for MDI.
===Advantages===
* With multiple document interfaces (and also [[tabbed document interface]]s), a single menu bar and/or [[toolbar]] is shared between all child windows, reducing clutter and increasing efficient use of screen space.
* An application's child windows can be hidden/shown/minimized/maximized as a whole.
* Features such as "Tile" and "Cascade" can be implemented for the child windows.
|