Version 15 of MDI

Updated 2003-01-10 12:09:15

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 [L1 ], and there was also quite a thread at Fog Creek Software's discussion list [L2 ]. Many people, including a fair number of well-respected usability experts, find it downright evil. Others insist upon it.

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 ;-)

Sam Tregar's saMDI [L3 ] 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:[email protected]

 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:[email protected] (Andrew Guryanov)

 What: ActiveTcl
 Where: http://www.bgi-sa.com/
 Description: Tcl 8.0 binding to ActiveX. Tcl commands can be
        registered in the target language (VB, Delphi, etc.).
        ActiveTcl also includes tclwin (win32 interface to create MDI
        interfaces and non-modal dialogs) and tclodbc (interface to ODBC).
        For Win 95/98/NT.
        Free for non-commercial use.
 Updated: 12/1998
 Contact: mailto:[email protected] (N.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:[email protected] (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:[email protected] (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:[email protected] (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:[email protected]


 What: TclWin
 Where: http://www.bgi-sa.com/
 Description: Native MS-Windows GUI interface, for Windows 95/NT.
        Requires Tcl 8.0 or ActiveTcl.  Replaces Tk.
        Create modeless dialog boxes, native window controls,
        extended window controls, user drawn window controls and bitmapped
        buttons with tooltips in dll form.  A sample GUI editor written
        in Tcl is provided.  A new version is almost finished with
        full MDI support (multi menu), Popup Menu, Growable and dockable
        dialog boxes, Tooltips. Licence is free of charge,
        doc is in the form of a Winhelp file,
        Source available on request.
 Updated: 12/1998
 Contact: mailto:[email protected] (N. Frankinet)

Mtiwidgets apparently offers an mtiwidgets::mdiframe widget.

Tk::MDI [L4 ] is available for Perl/Tk.


[ Category Package | Category Acronym | Category GUI ]