MDI - Multiple Document Interface. A [GUI] interface [widget]. ---- As [Darren New] once posted, "Multiple Document Interface, or some such. Each document gets a sub-window inside the main application window. A left-over from when windows took a large percentage of resources to make work, back in the Win3 days, so it was more efficient to have one document in the same window." Also, Windows users want to iconify an application with all its windows, and their window manager doesn't provide for what [X11] adepts regard as a "wm group". [Robert Heller] says "this is the window-manager-in-a-window hack". [Ilya Zakharevich] once analyzed that "group-like z-order behavior" is the only real significance to MDI--well, that, along with group minimize/restore. [GPS] has posted a page on [Internal Movable Windows] that looks a lot like MDI. Those who are contemplating adding MDI to their applications should be aware that it is not universally loved, and feelings about it run high both ways. The TCT has got into extensive discussions about it [http://aspn.activestate.com/ASPN/Mail/Message/1048986], and there was also quite a thread at Fog Creek Software's discussion list [http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=2748]. Many people, including a fair number of well-respected usability experts, find it downright evil. Others insist upon it. Sander van Grieken writes: "It's not just a matter of writing Tk support for it. X11 lacks support for application hinting for MDI and so the WM cannot know what windows to manage and decorate. You're stuck using a 'notebook' approach, or to manage and render the decorations yourself (both suck). See also [http://mail.gnome.org/archives/wm-spec-list/1999-July/msg00117.html]" As of 2002, commercial applications sold by [Microsoft] appear largely to have abandoned MDI. ''[FW]: Why would you say that? Office and Works use it pretty much exclusively.'' ''[escargo] 21 Nov 2002'' - What part of [mkWidgets] needs to be downloaded to get the metademo shown in this picture? [mkWidgets]: [http://mkextensions.sourceforge.net/demowin.gif] [[Do readers think this should be inlined in this page?]] [RS] thinks so ;-) ''[FW] doesn't, since the image is now broken ;)'' [Sam Tregar]'s saMDI [http://www.tregar.com/samdi.html] looks well-behaved. It depends on [stooop]. ---- What: Myrmeco Where: http://www.neatware.com/myrmecox/ Description: Trial version of a commercial Tcl/Tk IDE for Windows 95/98/2000/NT. Supports Multithreads, Unicode, and the Tcl Stubs interface. Includes project, command and console view, smart MDI editor with color coding of command keywords and comments, command keyword editor, Tcl/Tk 8.2 core, and a debugger. Also includes a web builder (MyrmecoWeb), MyrmecoWiz, a wizard for generating c/c++ code templates for Tcl extensions, MyrmecoTk, a component based framework for GUI applications, Salan, a Tcl extension for HTML, CGI, and XML. Platform: Windows 95/98/2000/NT 4.0 Current version is 2.3. Updated: 11/1998 Contact: mailto:support@neatware.com What: PVM Where: http://www.nyx.net/%7Edminer/pvm/ Description: Paradigm Visual Make is a software development environment written in Tcl/Tk. It incorporates a text editor, software project (aka makefile) editor and enables you to develop and build your packages within a single program. It can start an external debugger, and execute almost any external text program, putting its output into a specialized PVM text window. It looks like a Microsoft MDI application. Requires Unix, X, Tk 4.1 or higher, and xlsfonts. Updated: 08/1998 Contact: mailto:andrew-guryanov@usa.net (Andrew Guryanov) [ActiveTcl (Frankinet)] What: MDI Where: ftp://ftp.ilrt.bris.ac.uk/out/usertemp/joel/mdi.tcl.gz ??? Description: A widget to handle multiple documents in a host application window. Using scwoop's composite widget package, it allows any other widget to be managed as a client in the MDI host window. Works with STOOOP-2.3/SCWOOP-1.3 and newer. Updated: 11/1996 Contact: mailto:Joel.Crisp@bris.ac.uk (Joel Crisp) ??? What: Miscellaneous Tcl procs (Kraus) Where: http://mkextensions.sf.net/ Description: mkGeneric - a collection of Tcl 8 commands that contact found missing. Includes a variety of math functions, list functions programming constructs, output options, etc. mkClasses - a Tcl object class and methods mechanism, mkTables - a collection of Tcl scripts that treat lists as if they were 'tables' (a list whose elements are themselves lists), mkThreads - thread support for Tcl/Tk scripts, mkWidgets - megawidget support for Tk, with MDI widget and other goodies. Updated: 11/2002 Contact: mailto:mmg_kraus@csi.com (Michael Kraus) What: Mysund_MDI Where: http://www.geocities.com/SiliconValley/Lab/6236/tcltk.html Description: Tcl/Tk package that emulates the Win95/NT Multiple Document Interface look and feel. Requires Tcl/Tk 8.0. To make this run on Unix/Linux, take a look at the readme.txt file. Updated: 08/1998 Contact: mailto:jesper.svensson@get2net.dk (Jesper Svensson) What: saMDI Where: http://www.tregar.com/samdi.html Description: Multi-Document-Interface (MDI) for Tcl/Tk. Looks more like X window system. Relies on stooop. This version is not for use in a commercial product - email contact to make arrangements. Updated: 06/1998 Contact: mailto:sam@tregar.com [TclWin] [Mtiwidgets] apparently offers an mtiwidgets::mdiframe widget. Tk::MDI [http://search.cpan.org/search?mode=module&query=Tk::MDI] is available for [Perl/Tk]. ---- ''From the Tk (and a more practical) perspective, what is the difference between an MDI and Tk's [notebook]s?'' [FW]: The MDI model is where an application window is treated like a desktop of its own, with child windows (typically) individual documents. In MDI terms, a tabbed notebook is much like an MDI with a bar to switch documents and with child windows that can't be unmaximized. [Larry Smith] See also [WeeDesk]. [Bryan Oakley] From a practical standpoint there is not much difference between MDI and tabs. MDI gives you variable sized windows whereas tabs give you uniformly sized windows, but they both serve the purpose of giving you multiple views or instances or windows or whatever. From a ''usability'' point of view, however, there is a world of difference. In a nutshell, MDI forces the user to learn two desktop metaphors and juggle between them -- the real desktop and your apps simulated desktop. Window management requires more cognitive effort for no real gain. ---- [[ [Category Package] | [Category Acronym] | [Category GUI] ]]