[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-look
Subject:    LONG: File-menu
From:       Waldo Bastian <bastian () suse ! de>
Date:       1999-11-15 10:39:46
[Download RAW message or body]

Hiya,

One of the bigger points of discussions related to KDE's UI Style Guide
is the layout and behaviour of the File-menu. The following text is 
intented to lead a discussion on this issue. 

Please note:
* KDE prefers SDI above MDI. This is not open for discussion.
* We need to discuss what the proper behaviour for KDE's SDI
model is. I have listed two possible SDI models. Please 
consider the whole model when commenting on a model.
* This is about "Document Oriented Applications". That means that 
this does not apply to e.g. kppp, kmahjong and CD Player since they are
not document oriented.
 * Be nice.

Cheers,
Waldo

---

Note to developers: When it reads "Application" think KTMainWindow
instead of KApplication!!! When it reads "UNIX-Process" think
KApplication!! See also 
http://developer.kde.org/documentation/standards/kde/style/basics/terminology.html

---
File  

Document Oriented Applications  

This section describes the file menu for a document oriented application. 
An application is document oriented if it operates on a document of some sort. 
Examples of documents can be: Text Processing Documents, Images,
Drawings, etc. 

A document always has a storage location associated with it. This is the 
location where the document is normally stored. The storage location can 
be undefined if the document has just been created. The storage location
is often a filename or an URL. 

A typical File menu of a document oriented application would look like this: 

New		Ctrl+N	
Open...		Ctrl+O
Open Recent	-->
Save		Ctrl+S
Save As...
Close		Ctrl+W
Print...		Ctrl+P
Quit		Ctrl+Q

---

Not all menu items have to be present. If they are present, the items
should  have the following meaning: 

New
====
Opens a new empty document. 
If the application supports templates a sub-menu may be present from which 
a template can be choosen. In that case the menu item does not have a
shortcut key combination assigned but a little arrow indicating that a
submenu will be presented when selected.  

Open
=====
Opens an existing
document.  A file selection dialog should popup to let the user choose
which document to open.  

Open Recent
===========
Offers a submenu with entries of the latest recently opened documents
(the latest is on the top).  

Save
====
Saves document to its storage location.
If the document does not have a storage location yet, this option is 
treated as if the Save As option from the file menu was selected. 

Save As...
========
Opens the standard-file-dialog to let the user select a storage location 
for the document. It then saves the document to this location. 

Close
=====
Closes the document. 

Print...
=====
Opens a dialog from where you can print the document.

Quit
====
Closes the application.
Note that the application is _NOT_ necaserrily the same as the UNIX Process. 

---

MDI implementations
In MDI the application is represented by the application-window. The 
application-window can contain a number of document-windows which
represent open documents. Each opened document is represented by a
document-window. 

Starting up an MDI application without specifying a document to load will 
result in an application-window without any document windows. 

When a document is opened by selecting either New or Open in the 
File-menu, a new document-window appears. 

When the document is closed by selecting Close in the File-menu, 
the document-window is closed as well. Closing a document-window by
selecting the X on the window border is equivalent with selecting Close
in the File-menu. 

Closing the application by selecting Quit in the File-menu closes the 
application window as well as all document-windows and the documents
with it. Closing the application-window by selecting the X on the
window border is equivalent with selecting Quit in the File-menu. 

Open for discussion
There are two solutions for SDI which are more or less consistent and 
complete. KDE should recommend one of them.

The first one assumes a strict 1:1:1 relation between 
application:window:document. This means that a window _always_
contains a real document and that closing a document means closing the
window and the application.

The second one assumes a less strict 1:1:1* relation between 
application:window:document. This means that a window contains either
a real or a dummy document. Closing a document will keep the window
around and fill it with a dummy document instead. Now opening a new or
an existing document will replace the dummy document. This allows the
user to replace the contents of a window with a new document.

SDI implementations (I)
In SDI the application is represented by the document-window. Each 
document-window always contains a single document. 

Starting up an SDI application without specifying a document to load 
causes the application to pop up a dialog which asks the user whether
he/she wants to open an existing document or whether he/she wants to
create a new one. 

When a document is opened by selecting either New or Open in the 
File-menu, a new application is started in which the document is
loaded. Please note that a single UNIX process may serve multiple
application instances. 

Closing the document by selecting Close in the File-menu also closes 
the application. 

Closing the application by selecting Quit in the File-menu, closes the 
document-window and the document within it. Closing the
document-window by selecting the X on the window border is equivalent
with selecting Quit in the File-menu. Please note that closing the
application does not necaserilly mean terminating the UNIX process,
more applications instances may be served by the same UNIX process.
They are unaffected! 

Since both Close and Quit will have the same effect in this version of SDI, 
only one of them should be present. This should be Close and it should
be placed at the position in the file menu where the Quit would have
been otherwise (At the bottom of the File-menu) 

The file-menu will then look like this: 
New		Ctrl+N
Open...		Ctrl+O
Open Recent	-->
Save		Ctrl+S
Save As...
Print...		Ctrl+P
Close		Ctrl+W

SDI implementations (II)
In SDI the application is represented by the document-window. Each 
document-window can contain a single document. 

Starting up an SDI application without specifying a document to load 
causes the application to start with a dummy document. 

Editing a dummy document turns it into a normal document. 

When a document is opened by selecting either New or Open in 
the File-menu, a new application is started in which the document is
loaded. If a document is loaded while the application has a dummy
document open, no new application is started but the document is loaded
in the application itself, replacing the dummy document  Please note
that a single UNIX process may serve multiple application instances. 

Closing the document by selecting Close in the File-menu causes 
the application to show a dummy document. 

Closing the application by selecting Quit in the File-menu, closes 
the document-window and the document within it. Closing the
document-window by selecting the X on the window border is equivalent
with selecting Quit in the File-menu.  Please note that closing the
application does not necaserilly mean terminating the UNIX process,
more applications instances may be served by the same UNIX process.
They are unaffected! 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic