[Contents]
[Index]
[Next]
[Previous]
Common Client Areas
Your application is presented in windows. The windows can be either
MainWindows, DialogBoxes, or Menus. The contents of these windows are
the application client areas. Some of these client areas have common
features that are described in this section. The following
subsections describe in detail the contents of the MainWindow and the
common MainWindow areas:
Following this is a description of some common Popup Menus and
DialogBoxes. These common client areas provide a familiar base for
users new to your application to begin working.
MainWindow
A MainWindow with its client areas is shown below.
MainWindows contain the framework for your application. The
principal component of a MainWindow is typically a scrollable work
area. The application can also provide a group of useful controls,
arranging these along the top, bottom, or side of the work area.
In a text editing application, a MainWindow usually contains the
text. In a spreadsheet application, a MainWindow usually contains the
spreadsheet. In a mail browsing application, a MainWindow usually
contains a list of mail messages and an area for viewing a message.
Every application must have at least one MainWindow.
Some applications may want more than one MainWindow; for example,
applications with more than one primary function, like the query and
update features of a database, and applications with more than one
instance of the same primary function, like a graphics editor working
on multiple figures. When an application has multiple MainWindows
that serve the same primary function, each window should be treated as
a separate application. Each window must close and iconify
separately. When an application has multiple MainWindows that serve
different primary functions, each window must be iconifiable
separately, but it is up to the application to decide whether each
closes separately or whether closing one window closes the entire
application. You should take special care to identify, using the
window manager title bar or a prominent internal Label, which
DialogBoxes belong to each MainWindow.
Command Area
Even though user interface applications are oriented toward direct
manipulation of graphical elements, your application can provide an
area for a user to enter a typed command. This can be particularly
useful when updating an existing command-based application to an
application based on a graphical user interface.
If your application includes a command area, it should run from
border to border across the MainWindow. If the MainWindow includes a
message area at the bottom, the command area should be placed just
above the message area; otherwise, it should be placed at the bottom
of the MainWindow.
The command area often consists of one or both of the following
components:
- A command entry area, consisting of a command entry field or a
CommandBox
- A group of PushButtons for
common window actions
Message Area
Your application can provide a message area in the MainWindow for
presenting application messages. Your application should not use a
message area for warnings or messages requiring immediate
action. These should be displayed in a DialogBox.
The message area can be used to provide brief help, either in
response to a request from the user or, as the focus changes, to
indicate the purpose of the component with the focus.
If your application includes a message area, it should run from
border to border across the bottom of the MainWindow, below any
ScrollBars or the command area. Your application can display and
remove the message area as needed.
ScrollBars
An application can use ScrollBars in
its MainWindow to provide a means for viewing an area larger than the
MainWindow. Your application defaults should place ScrollBars on the
bottom and right sides of the application. (ScrollBar placement can be
a user preference.) You should place ScrollBars below the MenuBar and
above any command or message area. ScrollBars should not scroll the
MenuBar, command area, or message area. The ScrollBars can be
displayed and removed as needed.
MenuBar
A MenuBar is a basic group that
organizes the most common features of an application. The MenuBar
must be a horizontal bar at the top edge of the application just below
the title area of the window frame. The MenuBar contains a list of
Menu topics in CascadeButtons with Pulldown Menus connected to them.
A MenuBar must contain only CascadeButtons, because other buttons
inhibit Menu browsing. Each Menu topic should have a single-letter mnemonic indicated by underlining.
The following Pulldown Menus provide general functions common to
most applications. Remember that these Menu guidelines, like all the
guidelines in this OSF/Motif Style Guide, apply only in a
left-to-right language environment in an English-language locale. You
need to make the appropriate changes for other locales.
- File
- The File Menu
should contain components for performing actions on the files, such as
opening, saving, closing, and printing. It should also contain
components for performing actions on the application as a whole, such
as quitting. If the Label File is not appropriate to
the context of your application, you can choose a different, more
appropriate Label. The File Menu should have a
mnemonic of F.
- Selected
- The Selected Menu should contain components
for performing actions on the objects represented by the current
selection of the application, such as opening or printing a selected
item. This Menu is often similar to the File Menu,
except that it acts on the objects denoted by the current selection.
For example, in a directory browser, Open in the
File Menu could (using a DialogBox) prompt the user
for the name of a directory to open for browsing, while
Open in the Selected Menu opens the
file whose icon is currently selected in the browser. The
Selected Menu should not contain editing functions
normally found in the Edit Menu. The
Selected Menu should have a mnemonic of
S.
- Edit
- The Edit Menu
should contain components for performing actions on the current data
of the application, such as an undo action or making global
substitutions in a block of text. It should also include components
for interacting with the system clipboard, such as cut, copy, and
paste. The Edit Menu should have a mnemonic of
E.
- View
- The View Menu should contain components for
changing the user's view on the data. Components in the
View Menu should not actually change the data. The
exact contents of the View Menu are application
specific but can include components that change the appearance of the
data, the amount of data that is displayed, or the order in which the
data is displayed. The View Menu should have a
mnemonic of V.
- Options
- The Options Menu should contain components for
a user to customize the application. The exact contents of the
Options Menu are application specific. The
Options Menu should have a mnemonic of
O.
- Help
- The Help Menu
should contain components that provide user help facilities. The
components in the Help Menu usually bring up a
DialogBox with help information. Every application should have a
Help Menu. The Help Menu should
have a mnemonic of H.
While we recommend that you include the common Menus in the MenuBar
of your application, your choice of Menu titles and items depends on
the nature of your application. If your application requires it, you
should design more relevant titles and selections, but do not change
the meanings of items used in the common Menus.
If any of the common Menus are present, they must be arranged in
the following order with respect to each other, ranging from left to
right across the MenuBar in a left-to-right language environment:
File Menu
Selected Menu
Edit Menu
View Menu
Options Menu
Help Menu
You can omit any of these Menus if they are not relevant to the
application. You can also intersperse other, application-specific,
Menus among these Menus. However, if a File Menu is
present, it must be the first Menu and must be placed at the far left
of the MenuBar. If a Help Menu is present, it must
be the last Menu and must be placed at the far right of the MenuBar.
The recommended contents of the File,
Edit, and Help Menus follow. The
contents of the Selected, View, and
Options Menus are application specific and are not
specified here. Each of these common Menus can contain a
TearOffButton.
File Menu Contents
A sample File Menu is shown below. The common Menu
contents are described following the figure. Note that you should
only include those functions actually supported by your
application. The File Menu can contain a
TearOffButton.
- New
- Must create a new file. This operation must clear existing data
from the client area. If completion of the operation will obliterate
current changes to the file, you must display a DialogBox, asking the
user about saving changes. This action must have the mnemonic
N.
- Open...
- Must open an existing file. This operation must prompt the user
for the name of the file with a DialogBox. The title bar should be
updated with the name of the newly opened file. If completion of the
operation will obliterate current changes to the file, you must
display a DialogBox, asking the user about saving changes. This
DialogBox should be displayed after the user selects a new file. This
action must have the mnemonic O.
- Save
- Must save the currently opened file without removing the
existing contents of the client area.
If the currently opened file has no name, Save must prompt for a filename with a DialogBox. This action must have the mnemonic S.
- Save As...
- Must save the currently opened file under a new name
without removing the existing contents of the client area.
This
operation must prompt for the name of the file with a DialogBox.
If the user tries to save the new file under an existing name,
Save As
must alert the user with a DialogBox if a possible loss of data would occur.
This action must have the mnemonic
A.
- Print
- Must schedule a file for printing. If your application
requires specific printing information before printing, the operation
must first request that information with a DialogBox, and the entry
title must be followed by an ellipsis. Printing information can also
be specified for the application in the Options Menu.
This action must have the mnemonic P.
- Close
- Can be supplied in applications that have multiple
independent primary windows. This action must not be supplied in
applications with a single primary window or multiple dependent
primary windows. This action must only close the current primary
window and its associated secondary windows; that is, the window
family. This action must have the mnemonic C. You
can include this action even though it is similar to the
Close action in the window Menu. This ensures that
users have a way to close the primary window even if they are not
running a compliant window manager. Applications must prompt the user
to save any unsaved changes if the action would cause loss of data.
- Exit
- Must end the current application and all windows associated
with it. This action is equivalent to closing all primary windows of
the application. This action must have the mnemonic
X. You should include this action even though it is
similar to the Close action in the window Menu. This
ensures that users have a way to end the application even if they are
not running a compliant window manager. Applications must prompt the
user to save any unsaved changes if the action would cause loss of
data. If your application does not have a File Menu,
put Exit at the end of the first Pulldown Menu.
You should include Menu items in the order described. If you add
new Menu items, you should insert them near similar elements.
Edit Menu Contents
A sample Edit Menu is shown below. The common Menu
contents are described following the figure. Note that you should
only include those functions actually supported by your
application. The Edit Menu can contain a
TearOffButton.
- Undo Alt+Backspace
- Must reverse the most recently executed action. To provide a
visual cue to the user, the Undo selection title
should be dynamically modified to indicate what is being undone. For
example, if the most recently executed action was a paste, the action
name would be Undo paste. Your application should be
able to undo all of the actions in the Edit Menu.
This action must have the mnemonic U.
- Cut Shift+Del
- Must remove the selected portion of data from the client area
to the clipboard. This action must choose the component to act on by
following the rules in Operation Targets
for operations that act on selections. This action must have the
mnemonic T.
- Copy Ctrl+Ins
- Must copy the selected portion of data to the clipboard without
removing the original data from the client area. This action must
choose the component to act on by following the rules in Operation Targets
for operations that act on selections. This action must have the
mnemonic C.
- Copy Link
- Must copy a link of the selected portion of data to the
clipboard without removing the original data from the client area.
This action must choose the component to act on by following the rules
in Operation
Targets for operations that act on selections. This action must
have the mnemonic K.
- Paste Shift+Ins
- Must paste the contents of the clipboard into a client area.
This action must choose the component to act on by following the rules
in Operation
Targets for operations that do not act on selections. This action
must have the mnemonic P.
- Paste Link
- Must paste a link of the data represented by the contents of
the clipboard into a client area. This action must choose the
component to act on by following the rules in Operation Targets
for operations that do not act on selections. This action must have
the mnemonic L.
- Clear
- Must remove a selected portion of data from the client area
without copying it to the clipboard. The remaining data is not
compressed to fill the space that was occupied by the cleared data.
This action must choose the component to act on by following the rules
in Operation
Targets for operations that act on selections. This action must
have the mnemonic E.
- Delete
- Must remove a selected portion of data from the client area
without copying it to the clipboard. This action must choose the
component to act on by following the rules in Operation Targets
for operations that act on selections. This action must have the
mnemonic D.
- Select All Ctrl+/
- Must make the primary selection consist of all the elements in
a component of the client area. This action must choose the component
to act on by following the rules in Operation Targets
for operations that do not act on selections. If the action uses an
accelerator, it should be
[/].
- Deselect All Ctrl+\
- Must remove from the primary selection all the elements in a
component of the client area. This action must choose the component
to act on by following the rules in Operation Targets
for operations that do not act on selections. If the action uses an
accelerator, it should be
[\].
- Select Pasted
- Must make the primary selection consist of the last element or
elements pasted into a component of the client area. This action must
choose the component to act on by following the rules in Operation Targets
for operations that do not act on selections.
- Reselect Alt+Insert
- Must make the primary selection consist of the last selected
element or elements in a component of the client area. This action
must choose the component to act on by following the rules in Operation Targets for
operations that do not act on selections. The action must be
available only in components that do not support persistent selections
and only when the current selection is empty. If the action uses an
accelerator, it should be
.
- Promote Alt+Insert
- Must promote to the primary selection the current selection of
a component of the client area. This action must choose the component
to act on by following the rules in Operation Targets
for operations that act on selections. This action must only be
available for components that support persistent selections. If the
action uses an accelerator, it should be
.
You should include Menu items in the order described. If you add
new Menu items, you should insert them near similar elements.
If you use accelerators for Undo,
Cut, Copy, and
Paste, you must use either one or both of the models
presented in the following two tables.
Edit Menu Accelerators, Model 1
Edit Menu Item | Accelerator
|
---|
Undo | <Alt> <BackSpace>
|
Cut | <Shift> <Delete>
|
Copy | <Ctrl> <Insert>
|
Paste | <Shift> <Insert>
|
Edit Menu Accelerators, Model 2
Edit Menu Item | Accelerator
|
---|
Undo | <Ctrl> <Z>
|
Cut | <Ctrl> <X>
|
Copy | <Ctrl> <C>
|
Paste | <Ctr>> <V>
|
In addition, if your keyboard has [Undo],
[Cut], [Copy], and
[Paste] keys, these should be supported as
accelerators for the corresponding Menu items as well.
Help Menu Contents
There are two acceptable models for the contents of the
Help Menu. This guide allows either model.
A sample of the first model for the Help Menu is
shown below. The common Menu contents for this model are described
following the figure. Note that you should only include those
functions actually supported by your application. The
Help Menu can contain a TearOffButton.
- On Context Shift+Help
- Must initiate context-sensitive help by changing the shape of
the pointer to the question pointer described in Pointer Shapes.
When the user moves the pointer to the component help is wanted on and
presses BSelect,
any available context-sensitive help for the component must be
presented, and the pointer reverts from the question pointer. This
action must have the mnemonic C. If the action uses
an accelerator, it must be
.
- On Help
- Must provide information on how to use the application's help
facility. This action must have the mnemonic H.
- On Window
- Must provide general information about the window from which
help was requested. This action must have the mnemonic
W.
- On Keys
- Must provide information about the application's use of
function keys, mnemonics, and keyboard accelerators. This action must
have the mnemonic K.
- Index
- Must provide an index for all help information in the
application. This action must have the mnemonic I.
The index can provide search capabilities.
- Tutorial
- Must provide access to the application's tutorial. This action
must have the mnemonic T.
- On Version
- Must provide the name and version of the application. This
action must have the mnemonic V. It can provide
other information as well.
A sample of the second model for the Help Menu is
shown below. The common Menu contents in the model are described
following the figure. Note that you should only include those
functions actually supported by your application. The
Help Menu can contain a TearOffButton.
- Context-Sensitive Help Shift+Help
- Must initiate context-sensitive help by changing the shape of
the pointer to the question pointer described in Pointer Shapes.
When the user moves the pointer to the component help is wanted on and
presses BSelect,
any available context-sensitive help for the component must be
presented, and the pointer reverts from the question pointer. This
action should be followed by a separator. This action must have the
mnemonic C. If the action uses an accelerator, it
must be
.
- Overview
- Must provide general information about the application window
from which help was requested. This action must have the mnemonic
O.
- Index
- Must provide an index for all help information in the
application. This action must have the mnemonic I.
The index can provide search capabilities.
- Keyboard
- Must provide information about the application's use of
function keys, mnemonics, and keyboard accelerators. This action must
have the mnemonic K.
- Tutorial
- Must provide access to the application's tutorial. This action
must have the mnemonic T.
- Using Help
- Must provide information on how to use the application's help
facility. This action must have the mnemonic H.
- Product Information
- Must provide the name and version of the application. This
action must have the mnemonic P. It can provide
other information as well.
Applications should place additional Help Menu
items between Index and Using Help.
Help is usually provided in DialogBoxes but can also appear in the
message area. You should include Menu items in the order
described. If you add new Menu items, you should insert them near
similar elements.
Popup Menus
A Popup Menu is a Menu that is associated with another element. It
is usually hidden from the user and is posted using BMenu and
. It is used to organize actions that
are specific to its associated element, but it should not be the only
place in an application where those actions are available; that is,
Popup Menus should be a redundant element of a user interface whose
main purpose is to provide the experienced user with a quick way to
perform common tasks on individual elements.
The following common actions provide general functions common to
Popup Menus in many applications. While we recommend that you include
these common actions in your Popup Menus consistently with the
descriptions here, your choice of items depends on the nature of your
application. If your application requires it, you should design more
relevant titles and selections, but do not change the meanings of
items used in the common Popup Menus.
Even within a single control, such as a Canvas, the contents of a
Popup Menu can depend on the position within the control, or the state
of the elements at that position, such as whether the Menu is popped
up from within a selected range of elements. When BMenu is
used to pop up the Menu, the location of the pointer when BMenu is
pressed is what matters. When
is used to
pop up the Menu, what matters is the position of the location cursor
within the control.
Note that you should include only those functions actually
supported by your application. Remember that these Menu guidelines,
like all the guidelines in this guide, apply only in a left-to-right
language environment in an English-language locale. You need to make
the appropriate changes for other locales.
- Properties
- Must display a properties DialogBox that the user can use to
set the properties of the component. If the Menu is popped up over a
selection, it can display the properties of the selection. If the
Menu is popped up over an unselected item, it can display the
properties of that item. If the Menu is popped up over the
background, it should display the properties of the collection, except
over a part of the background considered to be in the selection. This
action should have the mnemonic S.
- Undo Alt+Backspace
- Must reverse the most recently executed action. To provide a
visual cue to the user, the Undo selection title
should be dynamically modified to indicate what is being undone. For
example, if the most recently executed action was a paste, the action
name would be Undo paste. This action should have
the mnemonic U. This action should have the same
accelerator as the corresponding entry in the Edit
Menu.
- Primary Move Alt+Shift+Delete
- Must move the contents of the primary selection to the
component. This action must only be used in an editable component.
If the action uses an accelerator, it should be
,
[X], or both. In addition,
if the keyboard has a [Cut] key, this action should
support
[Cut] as an
accelerator. If more than one format can be moved from the primary
selection, Primary Copy can cascade a Menu of
possible transfer formats, in which case it should not have an
accelerator.
- Primary Copy Alt+Ctrl+Insert
- Must copy the contents of the primary selection to the
component. This action must only be used in an editable component.
If the action uses an accelerator, it should be
,
[C], or both. In addition,
if the keyboard has a [Copy] key, this action should
support
[Copy] as an
accelerator. If more than one format can be copied from the primary
selection, Primary Copy can cascade a Menu of
possible transfer formats, in which case it should not have an
accelerator.
- Primary Link
- Must place a link to the primary selection in the component.
This action must only be used in an editable component. If the link
can be viewed in more than one way, Primary Link can
cascade a Menu of possible viewing representations.
- Cut
- Must cut elements to the clipboard and can mark them for use in
a subsequent Paste Link operation. If the Menu is
popped up in a selection, the entire selection must be cut. If the
Menu is popped up over an unselected element, just that element should
be cut. If the Menu is popped up in the background, the entire
collection can be cut. This action should have the mnemonic
T.
- Copy
- Must copy elements to the clipboard and can mark them for use
in a subsequent Paste Link operation. If the Menu is
popped up in a selection, the entire selection must be copied. If the
Menu is popped up over an unselected element, just that element should
be copied. If the Menu is popped up in the background, the entire
collection can be copied. This action should have the mnemonic
C.
- Copy Link
- Must copy a link of elements to the clipboard and can mark them
for use in a subsequent Paste Link operation. If the
Menu is popped up in a selection, a link to the entire selection must
be copied. If the Menu is popped up over an unselected element, a
link to just that element should be copied. If the Menu is popped up
in the background, a link to the entire collection can be copied.
This action should have the mnemonic K.
- Paste Shift+Insert
- Must paste the contents of the clipboard to the component.
This action must only be used in an editable component. This action
should have the mnemonic P. This action should have
the same accelerator as the corresponding entry in the
Edit Menu.
- Paste Link
- Must paste a link of the contents of the clipboard to the
component. This action must only be used in an editable component.
This action should have the mnemonic L.
- Clear
- Must remove a selected portion of data from the client area
without copying it to the clipboard. If the Menu is popped up in a
selection, it must delete the selection. If the Menu is popped up
over an unselected element, it should delete that element. If the
Menu is popped up over the background, except over a part of the
background considered to be in the selection, it can delete all the
elements. The remaining data is not compressed to fill the space that
was occupied by the cleared data. This action should have the
mnemonic E.
- Delete
- Must remove a selected portion of data from the client area
without copying it to the clipboard. If the Menu is popped up in a
selection, it must delete the selection. If the Menu is popped up
over an unselected element, it should delete that element. If the
Menu is popped up over the background, except over a part of the
background considered to be in the selection, it can delete all the
elements. This action should have the mnemonic D.
- Select All Ctrl+/
- Must make the primary selection consist of all the elements in
the collection with the Popup Menu. If the action uses an
accelerator, it should be
[/].
- Deselect All Ctrl+\
- Must deselect the current selection in the collection with the
Popup Menu. If the action uses an accelerator, it should be
\.
- Select Pasted
- Must make the primary selection consist of the last element or
elements pasted into the collection with the Popup Menu.
- Reselect Alt+Insert
- Must make the primary selection consist of the last selected
element or elements in the component with the Popup Menu. The action
must be available only in components that do not support persistent
selections and only when the current selection is empty. If the
action uses an accelerator, it should be
.
- Promote Alt+Insert
- Must promote the current selection to the primary selection.
This action must only be available in components that support
persistent selections. If the action uses an accelerator, it should
be
.
If an action invoked from a Popup Menu, such as Primary
Copy, inserts or pastes data in a collection, the data must
be pasted at the insertion position of the component. However, if the
Popup Menu is popped up over a selection of an editable collection,
the selection must first be deleted, even if pending delete is
disabled, and the pasted data must replace it.
If an action invoked from a Popup Menu acts on a group of elements,
it behaves according to the following rules:
- If the Menu is popped up in a selection, it must act on the
entire selection.
- If the Menu is popped up on an unselected element of a list or
graphics collection, it should act on just that element.
- If the Menu is popped up in the background, except in a part of
the background considered in the selection, it can act on the entire
collection. However, if the operation is destructive, it must first
prompt for verification.
Appropriate words, such as Selection or words
denoting the type of a single element of the collection as a whole,
should be added to a Label to specify which elements are affected.
For example, if a Popup Menu contains the entry Copy
Selection, the current selection is copied to the clipboard
regardless of where in the collection the Menu is popped up.
A Popup Menu item should have an accelerator only if the result of
typing the accelerator would be equivalent to popping up the Menu by
pressing
and then selecting the Menu
item. If Cut Selection is included in a Popup Menu,
it should use the same accelerators as Cut in the
Edit Menu. If Copy Selection is
included in a Popup Menu, it should use the same accelerators as
Copy in the Edit Menu.
DialogBoxes
Applications use DialogBoxes to interact with the user about
application details not directly related to the primary purpose of the
application. Applications display DialogBoxes only when needed to
convey a message to the user, or when the user requests it to provide
input to the application. They follow the same general layout
guidelines as a MainWindow. Additional guidelines for DialogBox
design are given in DialogBox
Design, as well as in the reference section in Controls,
Groups, and Models Reference Pages.
The following DialogBoxes provide general
functions common to many applications.
CommandDialog
A CommandDialog should be used to enter keyboard commands. It
should not interrupt the user's interaction with the application; that
is, it should not be modal. It should include a CommandBox as shown
below.
FileSelectionDialog
A FileSelectionDialog should be used to enter the name of a file
for processing. It should not interrupt the user's interaction with
the application; that is, it should not be modal. It should include a
FileSelectionBox as shown below.
PromptDialog
A PromptDialog should be used to prompt the user for input. It can
interrupt the user's interaction with the application; that is, it can
be application modal. It should include a message, a text input area,
and one of the following button arrangements as shown below.
OK Cancel
OK Cancel Help
OK Apply Cancel
OK Apply Cancel Help
OK Apply Reset Cancel
OK Apply Reset Cancel Help
SelectionDialog
A SelectionDialog should be used to allow a user to make a selection from
a list of choices. It can interrupt the user's interaction with the
application; that is, it can be application modal.
It should contain a SelectionBox as shown below.
MessageDialog
A MessageDialog should be used to convey a message to the user. It
should include a message and one of the following button arrangements:
OK
OK Help
OK Cancel
OK Cancel Help
Yes No
Yes No Help
Yes No Cancel
Yes No Cancel Help
Cancel
Cancel Help
Retry Cancel
Retry Cancel Help
There are a number of different types of MessageDialogs:
ErrorDialog, InformationDialog, QuestionDialog, WorkingDialog, and
WarningDialog.
An ErrorDialog should be used to convey a message about a user
error. It should stop user interaction with the application until it
is dismissed; that is, it should be application modal. It should
include an error symbol, a message, and one of the following button
arrangements as shown below.
OK Cancel
OK Cancel Help
An InformationDialog should be used to convey information to the
user. It must not interrupt the user's interaction with the
application; that is, it must not be modal. It should include an
information symbol, a message, and one of the following button
arrangements as shown below.
OK
OK Help
A QuestionDialog should be used to get a user response to a
question. It should interrupt the user's interaction with the
application; that is, it should be application modal. It should
include a question symbol, a message, and one of the following button
arrangements as shown below
Yes No
Yes No Help
Yes No Cancel
Yes No Cancel Help
A WarningDialog should be used to alert the user to a possible
danger. It should interrupt the user's interaction with the
application; that is, it should be application modal. It should
contain a warning symbol, a message, and one of the following button
arrangements as shown in below.
Yes No
Yes No Help
OK Cancel
OK Cancel Help
A WorkingDialog should be used to show work in progress and give
the user an opportunity to cancel the operation. It should not
interrupt the user's interaction with the application; that is, it
should not be modal. It should contain a working symbol, a message,
and any of the following sets of buttons in order as shown below.
Close
Cancel or Stop
Pause Resume
Help
A WorkingDialog should also include a progress indicator if that
information is available.