Multiple-document interface: Difference between revisions

Content deleted Content added
m solveable->solvable - Fix a typo in one click
Kylras (talk | contribs)
Link suggestions feature: 2 links added.
 
(8 intermediate revisions by 7 users not shown)
Line 1:
{{Short description|Type of software application interface}}{{Nf|date=August 2024}}[[Image:Some X windows.svg|thumb|An example of a multiple-document interface layout]]
{{multiple issues|
{{Unreferenced|date=August 2007}}
{{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 interfaces''' ('''SDI''') where all windows are independent of each other.
 
Line 14 ⟶ 9:
Some applications allow the user to switch between these modes at their choosing, depending on personal preference or the task at hand.
 
Nearly all [[graphical user interface]] toolkits to date provide at least one solution for designing MDIs. A notable exception was [[Cocoa (API)|Apple's Cocoa API]] until the advent of tabbed window groups in [[MacOS High Sierra]]. The [[Java (programming language)|Java]] GUI toolkit, [[Swing (Java)|Swing]], for instance, provides the class {{Javadoc:SE|package=javax.swing|javax/swing|JDesktopPane|module=java.desktop}} which serves as a container for individual frames (class {{Javadoc:SE|package=javax.swing|javax/swing|JInternalFrame|module=java.desktop}}). [[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. This argument is less relevant on an operating system which uses a common menu bar.
* 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.
* Authors of [[Cross-platform software|cross-platform]] applications can provide their users with consistent application behaviour between platforms.
* If the windowing environment and OS lack good window management, the application author can implement it themselves.
* Modularity: An advanced window manager can be upgraded independently of the applications.
Line 46 ⟶ 41:
* [[Kate (text editor)|Kate]]: Text editor designed for the [[KDE Software Compilation]], with advanced features and a sophisticated MDI
* [[Macromedia Studio]] for Windows: a hybrid interface; TDI unless document windows are un-maximized. (They are maximized by default.)
* [[Microsoft Excel]] 2003: SDI if you start new instances of the application, but MDI if you click the "File ? New" menu (but child windows optionally appear on the OS taskbar). SDI only as of 2013.
* [[Microsoft Word]] 2003: MDI until [[Microsoft Office]] 97. After 2000, Word has a [[Multiple Top-Level Windows Interface]], thus exposing to shell individual SDI instances, while the operating system recognizes it as a single instance of an MDI application. In Word 2000, this was the only interface available, but 2002 and later offer MDI as an option. [[Microsoft Foundation Classes]] (which Office is loosely based on) supports this metaphor since version 7.0, as a new feature in [[Visual Studio]] 2002. SDI only as of 2013.
* [[Mozilla Firefox|Firefox]]: TDI by default, can be SDI
Line 88 ⟶ 83:
* [[Visual Studio|Visual Studio 6]]
* [[Visual Studio .NET]]
* [[Visual Studio Code]]
* [[RSS Bandit]]
* [[JEdit]]
Line 104 ⟶ 100:
* [[Tiling window manager]]
* [[Integrated development environment]]
* [[Center stage (user interface)]] - a user interface pattern used with single-document or IDE-style interfaces
 
==References==
* {{cite book | title=Human Computer Interaction | publisher=Laxmi Publications | year=2005 | isbn=978-81-7008-795-3 | url=https://books.google.com/books?id=lesSGjUsgTkC&pg=PA54 | ref={{sfnref | Laxmi Publications | 2005}} | access-date=2022-07-18}}
 
==External links==