emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: File menu changes (suggestions)


From: John S. Yates, Jr.
Subject: Re: File menu changes (suggestions)
Date: Mon, 27 Jun 2005 21:57:46 -0400

On Mon, 27 Jun 2005 17:47:53 (UTC), Robert J. Chassell wrote:

>I don't know about MDI documents.

In anticipation of which I included the link to the Wikipedia
article.  It includes an example of a Java MDI application.
Here again is the link to the article:

  http://en.wikipedia.org/wiki/Multiple_document_interface

And here is the included image showing multiple child windows
within the parent application's window (Emacs frame):

  http://en.wikipedia.org/wiki/Image:MenuWindow.png

>There is a huge difference between deleting other windows within a
>frame and maximizing a frame so it covers all the other frames that
>previously could be seen.
>
>In my non-Emacs programs, the word `maximize' means `occupy an entire
>desktop (or `workspace'; the language varies)', not `occupy one frame
>in a manner that also provides for a mode line and echo area'

The former understand need not preclude the latter.  Maximize is
and operation on a window relative to its siblings.  When a child
window and its siblings all reside within a single parent window
the notion of maximization is easily defined.

>Are the displays in which MDI documents are shown like Emacs windows
>which exist in a frame?  Can you have two or three of them in the same
>frame?

Yes, that is the essence of MDI.

>
>    - the clicked document grows to occupy the entire workspace
>      of the MDI application (essentially the containing Emacs
>      frame)
>
>When you say this, do you mean the buffer grows to occupy an entire
>frame?  You use the word `essentially' which suggests that the `entire
>workspace' is something other than a frame whose size you do not
>change.

I think your question is incorrectly formed even if I interpret it
according to Emacs vocabulary.  It is not the buffer that grows but
rather the window displaying the buffer.  Most other applications
do not make this distinction (though the CodeWright editor does).

But the answer to what I believe to be the intent of your question
is that the window (an Emacs window) displaying the child document
(an Emacs buffer) grows to occupy the entire parent application's
window (Emacs frame), hiding all other document windows within the
application.  This is independent of whether the parent application
window (Emacs frame) is maximized or not.

>Or do you mean the buffer (and frame dressing) grows to occupy an
>entire desktop and covers over all the other frames visible on that
>desktop?  (This is what `maximize' means for my frames.)

No. See discussion above.  A MDI application is essentially a mini-
window manager, in much the same way that Emacs is.  The only real
difference is that Emacs know only how to tile.  Your typical MDI
applications understands operations on individual child windows
(minimize, restore, maximize and close) as well as operations on
the full set of child windows (tiling horizontally and vertically,
cascading, etc).

A MDI child window exhibits functionality relative to its parent
window that is entirely analogous to that exhibited by a top-level
application window relative to the desktop.  Because the analogy is
so strong if the MDI application and the desktop window manager draw
from the same collection of decorations then the widgets used end up
being visually identical in both contexts.

This was not the case in the Wikipedia image cited above.  But I just
did a quick Google search and found the following page at the bottom
of which is an obvious example:

  http://www.csharphelp.com/archives/archive227.html

/john





reply via email to

[Prev in Thread] Current Thread [Next in Thread]