[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]
Motif and CDE 2.1 Style Guide Certification Checklist
Drag-and-Drop Transfer
[ ]Support dragging any object represented as an icon.
[ ]Support dropping onto objects represented as icons.
[ ]If a control supports any form of data transfer with its contents used as
a source, then those contents can be the source of a drag-and-drop operation.
[ ]If a control allows any form of data transfer to the control, it can be
used as a target for a drag-and-drop operation.
[ ]Make the source of a drag-and-drop transfer the element or selection on
which the drag was initiated.
[ ]Make the target of a drag-and-drop transfer the control on which the drop
was performed; if the control holds a selection scope, then it is the
insertion point within that scope.
[ ]The default operation for a drag-and-drop transfer must be a move, except
in the following cases:
When the source is not editable, make copy the default.
When the destination is an external device (for example, a printer,
diskette, or mail out basket), make copy the default.
When the destination is an application that manipulates the data (for
example, a compiler), consider making copy the default.
[ ]The default operation for a drag-and-drop transfer may be overridden by
Ctrl and/or Shift modifiers when the TRANSFER button is released.
Use the following guidelines when TRANSFER is a separate mouse button from
SELECT.
[ ]Initiate a drag when the user presses the TRANSFER button and then moves
the mouse on selections and elements that can be dragged.
[ ]If the user uses the TRANSFER button to drag an element that has not been
selected, drag only that element without affecting any existing selection.
[ ]Drag all selected elements in the scope when the user presses the SELECT
button and then moves the mouse on a selection.
[ ]Initiate a drag when the user clicks Alt TRANSFER on a selection or an
element that can be dragged.
[ ]Whether the TRANSFER button is integrated with SELECT on MB1 or not, when
the user clicks SELECT, optionally augmented with Shift and/or Ctrl, the
effect should be the same.
[ ]When the user multi-clicks (or multi-presses) the SELECT button,
optionally augmented with Shift Ctrl, the effect should be the same whether
the TRANSFER button is integrated with SELECT on MB1 or not.
Use the following guidelines when the TRANSFER button is the same button as
SELECT.
[ ]When the user presses MB1 and moves the pointer on a selection, drag all
selected elements in the scope.
[ ]When the user presses MB1 on an element that can be activated or toggled
(other than a tear-off choice), activate or toggle the element; do not allow
dragging.
[ ]When the user presses MB1 and moves the pointer on an element that cannot
be selected (other than a tear-off choice), do not allow dragging.
[ ]If the MENU button is bound to a mouse button other than MB1, when the
user clicks Alt MB1, optionally augmented with Shift and/or Ctrl, on a
selection or an element that can be dragged, initiate a drag.
[ ]Whether the TRANSFER button is integrated with SELECT on MB1 or not,
support the same effect when the user presses SELECT and moves the pointer,
optionally augmented with Shift and/or Ctrl, in the background (or on
unselected text) of a scope that supports area or range selection techniques.
[ ]When the TRANSFER button is integrated with SELECT on MB1, when the user
presses MB1 and moves the pointer, optionally augmented with Shift and/or
Ctrl, on an unselected element for dragging, the effect should be equivalent
to the user clicking the SELECT button (without modifiers) on the element
(using whatever selection model is in force) and then dragging the selection.
[ ]When the TRANSFER button is integrated with SELECT on MB1 in a nontextual
scope, treat pressing MB1 and moving on an unselected element as a selection
technique if the following is true:
Area or range selection techniques are supported and the scope is densely
populated (in other words, there is not much background space available)
Different selection techniques are used (for example, touch versus area
techniques) depending upon whether MB1 is pressed on an element versus in the
background
Otherwise, allow the user to press MB1 and move the pointer on an
unselected element for dragging.
[ ]The application that contains the source elements of a drag-and-drop
operation may limit drops to windows that it manages. It may also treat
elements of its own or other applications as invisible for the purpose of
determining the target.
[ ]When a drag is completed, a drop should be performed at the pointer
location as follows:
Where the pointer is when the TRANSFER button is released, if it was
pressed while the drag was in progress
Where the pointer is when the TRANSFER button is clicked, if it was not
pressed while the drag was in progress
Where the user presses Return or Enter
In any case, the state of the Ctrl and Shift modifiers at the time of the
drops determines the operation to be performed.
[ ]When a drag is in progress and the user presses Cancel, cancel the drag.
[ ]When the user attempts to drop an element on an element that does not
support the operation, cancel the drag or display a message dialog similar to
the one that would be used if Help were pressed at that location.
[ ]When a user drops a source element onto the same position it currently
occupies, the application should not perform an action.
[ ]If the source elements of a drag-and-drop move operation are selected,
select the elements transferred to the target scope if the source and target
scopes are the same.
[ ]If the source elements of a drag-and-drop move operation are selected,
select the elements transferred to the target scope if the target uses normal
mode and allows the number of elements transferred to be selected.
[ ]Move focus to the target control in a drag-and-drop operation.
[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]