 |
» |
|
|
 |
Main Window Layout- [ ]
Compose your application with at least one main
window. A main window contains a client area and, optionally, a menu
bar, a command area, a message area, and scroll bars. The client
area contains the framework of the application. - [ ]
The default size of the application's main window
must be large enough to accommodate a typical amount of data, but
should not fill the entire physical display size to minimize visual
conflicts with other applications. - [ ]
Include resize corners in any main window that incorporates
a scrolling data pane or list. - [ ]
If your application has multiple main windows that
serve the same primary function, close and iconify each window separately. - [ ]
If your application has multiple main windows that
serve different primary functions, each window should be able to
iconify independently of the other windows.
Menu Bar Layout- [ ]
If your application has a menu bar, use a horizontal
bar at the top edge of the application, just below the title area
of the window frame. A menu bar organizes the most common features
of an application. It contains a list of menu topics in cascading
buttons; each button is associated with a distinct pull-down menu
that contains commands that are grouped by common functionality. - [ ]
The menu bar should contain only cascading buttons.
File Menu Contents- [ ]
If the user chooses Exit, or in any other manner
indicates that the application should be terminated, but if there
are changes to the current file that have not been saved, display
a dialog box that asks whether the changes should be saved before
exiting. - [ ]
If your application uses a File menu, it must include
the choices in Table 1-1 “File Menu Choices”
with the specified functionality. Table 1-1 File Menu Choices | Mnemonic | Menu
Choice | Function |
|---|
| N | New... | Creates a new
file. If the current client area will be used to display the new
file, clear the existing data from the client area. If changes made
to the current file will be lost, display a dialog box, asking the
user about saving changes. | | O | Open... | Opens an existing
file by prompting the user for a file name with a dialog box. If
changes made to the current file will be lost, display a dialog
box asking the user about saving changes. | | S | Save | Saves the currently
opened file without removing the existing contents of the client
area. If the file has no name, display a dialog box, prompting the
user to enter a file name. | | A | Save As... | Saves the currently
opened file under a new name by prompting the user for a file name
with a dialog box. If the user tries to save the file with an existing
name, display a dialog box that warns the user about a possible
loss of data. Do not remove the existing contents of the client
area. | | P | Print (recommended) | Schedules a file
for printing. If your application needs specific information to
print, it displays a dialog box, requesting the information from
the user. In this case, the menu entry is followed by an ellipsis
(Print...). | | C | Close (recommended) | Closes the current
primary window and its associated secondary windows. If your application
uses only a single primary window or multiple dependent primary
windows, this action is not supplied | | X | Exit | Ends the current
application and all windows associated with it. If changes made
to the current file will be lost, displays a dialog box asking the
user about saving changes. |
Edit Menu Contents- Recommended
If your application does not provide an <object-type>
or Selected menu, but allows the user to select data within the
window and manage settings for the selected data, then provide a
Properties... choice as the last item in the Edit menu.
Help Menu Contents- [ ]
If your application includes a Help menu, include
the set of choices in Table 1-2 “Help Menu Choices in CDE” with the specified functionality,
when the actions are actually supported by your application. Table 1-2 Help Menu Choices in CDE | Mnemonic | Menu
Choice | Function |
|---|
| V | Overview | Provides general
information about the window from which help was accessed or about
the application overall. Place a separator after this choice. | | I | Index (optional) | Provides an index
that lists the topics for all help information available for your
application. | | C | Table of Contents
(recommended) | Provides a table
of contents that lists the topics for all help information available
for your application. | | T | Tasks (recommended) | Provides access
to help information that indicates how to perform different tasks
within your application. | | R | Reference (recommended) | Provides access
to reference information. | | L | Tutorial (optional) | Provides access
to your application's tutorial. | | K | Keyboard (optional) | Provides information
about your application's use of function keys, mnemonics, and keyboard
accelerators. Also provides information on general CDE use of such
keys. | | M | Mouse (optional) | Provides information
about using a mouse with your application. | | M | Mouse and Keyboard
(optional) | Provides information
about your application's use of function keys, mnemonics, keyboard
accelerators, and using a mouse with your application. Also provides
information on general CDE use of such keys. Use rather than separate
mouse and keyboard choices if this information is best presented
together. | | O | On Item (recommended) | Initiates context-sensitive
help by changing the shape of the pointer to the question mark pointer.
When the user moves the pointer to a component and presses the SELECT
button, any available context-sensitive help for the component is
presented. Set off with separators on both sides. | | U | Using Help | Provides information
on how to use the CDE Help Viewer. Set off with separators on both
sides. | | A | About application name | Displays a dialog
box that indicates, minimally, the name and version of your application,
and displays its icon or some other signature graphic for your application. |
Pop-Up Menus- [ ]
When a pop-up menu is popped up in the context of
a selection, any action that acts on elements should also act on
the entire selection.
Dialog Boxes- [ ]
Display an information dialog box such that it does
not interrupt the user's interaction with your application. An information dialog box conveys information to the user
that does not require immediate attention so it does not need to
be modal.
Menu Design- [ ]
Dim (make insensitive) any menu choice that is not
currently an appropriate selection. Dimmed controls cannot be activated by the user and should
appear only when the inactive state is short-term (that is, there
is something the user can do within the application or the desktop
environment to make the control become active). When the control
is persistently inactive (because of the current configuration of
the application or system, or a particular set of companion software
is not currently installed), remove the control rather than dim
it. - [ ]
If radio buttons are used in a menu, use separators
between each set of radio buttons and other menu items. - [ ]
If your application uses a tear-off choice in a
menu, make the tear-off choice the first element in the menu. - [ ]
Make all menus wide enough to accommodate their
widest elements.
Dialog Box Design- [ ]
Every dialog box should have at least one button
that either performs the dialog box action and dismisses it or dismisses
the dialog box without taking any action. - [ ]
If your application provides settings that control
the behavior of the application, display these settings in an application
properties window that is accessible from an Options menu. Controls that relate to advanced features should not be displayed
with the set of options initially displayed to the user. The typical
user should be presented with only those options that are necessary
to use the basic functionality of the application. Users looking
to access advanced functionality within the dialog box may use the
<Category> option button (see Figure 7-1). If the number
of advanced controls is few, or the settings for these controls
are highly related to the settings of basic controls displayed in
the dialog box (that is, the settings of the advanced controls change
when the user changes settings for basic controls), you might choose
to provide an expandable dialog box.
Property Windows- [ ]
If your application provides settings that control
the behavior of the application, display these settings in an application
properties window that is accessible from an Options menu.
File Selection Dialog Box- [ ]
The file selection dialog box should recall the
directory location that was previously set by the user. For example, if the user brings up Save As and navigates to
/users/jay/letters to save the file, the next time the user brings
up Save As, the file selection box should be in the directory /users/jay/letters.
The directory, however, should not be retained once the user has
closed the primary window. When the user brings up Save As for the
first time, it should resort to the default directory.
About Dialog Box- [ ]
Include a Close button in the About dialog box.
Other buttons are optional, such as Help and More.
Dialog Box Layout- [ ]
Push buttons that affect the dialog box as a whole,
either by modifying its contents or layout, invoking the action
of the dialog box, or dismissing the dialog box, should be located
at the bottom of the dialog box. There should be only one row of buttons at the bottom of a
dialog box. If your application has dialog boxes that contain several
global buttons, you may need to create two or more rows of buttons
at the bottom of the dialog box. The last row should contain the
standard dialog box buttons (OK, Reset, Cancel, and Help). If a
dialog box contains buttons that are not related to the dialog box
as a whole, but relate to a specific control within the dialog box,
the buttons should be located with the control to which they relate. - [ ]
If your application provides an Apply button within
a dialog box, also provide an OK button or <command> button
that performs the dialog box action and then dismisses it.
Designing Drag and Drop- [ ]
During a drag operation, change the current pointer
to a drag icon. - [ ]
When the user presses Cancel,
end a drag-and-drop operation by canceling the drag in progress. - [ ]
When the user releases the TRANSFER button (or the
SELECT button) when not over a drop target, end a drag-and-drop
operation. - [ ]
After a successful transfer, place the data in the
drop zone and remove any transfer icon. - [ ]
If your application removes data upon the completion
of a drag-and-drop operation, do so only if the drag-and-drop transfer
has completed successfully. If a drag-and-drop operation has been canceled or failed,
do not remove the data or object that was the source of the drag. - [ ]
After a failed transfer, keep the data at the drag
source and do not place it in the drop zone. Remove any transfer
icon. - [ ]
If your application provides any drag-and-drop help
dialog boxes, include a Cancel
button for canceling the drag-and-drop operation in progress.
Installation- [ ]
Install applications in folders in the Application
Manager, not directly on the Front Panel or subpanels. For consistency,
only CDE desktop components will install in the Front Panel or subpanels.
Users may choose to rearrange their Front Panel, but applications
should not do this without user consent.
Interaction- [ ]
Display a warning dialog box that allows the user
to cancel the destructive action about which the dialog box is providing
a warning. The user needs to have a way to cancel an operation that
can cause destructive results. - [ ]
When your application displays a dialog box, place
the input focus at the first text field into which the user is allowed
to type an entry, or at the first control within the dialog box
with which the user should interact. Input focus should always be placed at a predictable and intuitive
location. Do not force the user to set focus at the control most
likely to be used when the window is displayed. - [ ]
There should always be exactly one control within
any window of your application that has the input focus if the window
in which it resides has the input focus. - [ ]
Dialog boxes should never block input to other applications
within the desktop (that is, they are not system modal) unless it
is essential that the user perform no other action on the desktop
until the user responds to the dialog box. - [ ]
Dialog boxes should never block access to other
functionality within the application (application modal) unless
it is essential that the state of the application remains unchanged
until the user responds to the dialog box. - [ ]
If your application does not use the values of global
environment settings, such as multiclick timeout intervals, drag
thresholds, window color settings, mouse left- or right-handedness,
and so on, but instead uses its own values for these settings, then
provide one or more Options dialog boxes that allow the user to
change the values for these settings. In general, you should not override the value of settings
treated as global environment settings. The user controls these
settings through the CDE Style Manager. If you choose to ignore
these settings and specify your own settings, then your application
will behave inconsistently with other applications in CDE. If you
nevertheless choose to provide your own values, then you must provide
the user with a way to make your settings consistent with the rest
of the desktop.
Toolbars- [ ]
If you use a tool bar, it should appear only in
windows with a menu bar. - [ ]
Tool bars should contain only those operations that
are already available to the user in your application's menus. All
items in a tool bar should be redundant. - [ ]
When an action represented by a tool bar icon is
unavailable to the user, make that icon insensitive, with the associated
stippled appearance. If a menu item is made insensitive, make the
corresponding tool bar item insensitive as well. - [ ]
Place the tool bar container directly under the
menu bar. It has the same width as the window, as well as similar
height to the menu bar.
Expandable Windows- [ ]
Align command buttons along the bottom of the dialog
box. When the window is expanded to show a secondary pane, then
move the buttons to the bottom of the secondary pane. - [ ]
Separate the primary pane from the secondary pane
with a separator. - [ ]
If a window is resizable, allocate any sizing changes
to the pane that contains scrolling lists or text fields whose displayed
length is less than their stored length. If both panes contain scrollable
controls, distribute size changes evenly between the two panes.
If neither pane contains scrollable controls, the window should
not be resizable. - [ ]
The expandable window should have one button that
changes its label based on the state of the window. - [ ]
The expand button should have two labels that reflect
the two states of the expandable window accurately. The current
label indicates to the user what will happen if the user clicks
the button. Examples of possible labels are Basic and Options, Expand
and Contract, and More and Less. - [ ]
If the window or dialog box contains a scrolling
list positioned to the far right side of the pane, do not align
the drawn button with the scroll bar. For example, the button should
be aligned with the list, not the scroll bar. - [ ]
Applications must remember the state of each window
or dialog box (expanded or not expanded) independently (not collectively).
The state should be changed only by the user and should always be
preserved until explicitly altered by the user.
|