Common Desktop Environment: Style Guide and Certification Checklist

Drag Transfer

 

n/a 

 

 

 

Required 

4-55: 

In a collection that supports selection, Shift+BTransfer Release or Shift+BSelect Release forces a drag move operation. If a move is not possible, the operation fails.  

This mechanism offers a convenient way for the user to force a move operation. 

Required 

4-56: 

In a collection that supports selection, Control+BTransfer Release or Shift+BSelect Release forces a drag copy operation. If a copy is not possible, the operation fails.  

This mechanism offers a convenient way for the user to force a copy operation. 

Required 

4-57: 

In a collection that supports selection, Control+Shift+BTransfer Release pr Shift+BSelect Release forces a drag link operation. If a link is not possible, the operation fails.  

This mechanism offers a convenient way for the user to force a link operation. 

Required 

4-58: 

When a drag move operation moves a selection within the same component, the selection moves along with the elements selected.  

In other words, when selected elements are moved with a drag operation, they should stay selected after the move. This mechanism offers a convenient way to move the selection within a component. 

Required 

4-59: 

In text-like collections, initiating a drag within a selected region drags the entire text selection.  

To be consistent, drag-and-drop actions need to operate on the entire selection. 

Required 

4-60: 

In list-like and graphics-like collections, initiating a drag with either BSelect or BTransfer on a selected element drags the entire selection.  

To be consistent, drag-and-drop actions need to operate on the entire selection. 

Required 

4-61: 

In list-like and graphics-like collections, initiating a drag with BTransfer or BSelect on an unselected element drags just that element and leaves the selection unaffected.  

Unselected elements can be dragged without affecting the selection. 

Required 

4-62: 

When a drag is initiated in an unselected region and the pointer is over two possible draggable elements, the drag uses the draggable element highest in the stacking order. 

This guideline ensures the consistency of drag operations. 

Required 

4-63: 

When your application starts a drag operation, the pointer is replaced with a drag icon.  

A drag icon provides visual feedback that a drag operation is in progress. 

Required 

4-64: 

All drag icons used by your application include a source indicator.  

A source indicator gives a visual representation of the elements being dragged. 

Required 

4-65: 

Pressing the Cancel key ends a drag-and-drop operation by canceling the drag in progress.  

The Cancel key provides a consistent way for the user to cancel a drag operation. 

Required 

4-66: 

Releasing BTransfer ends a drag-and-drop operation. 

Releasing BTransfer offers a consistent means of ending a drag operation. 

Required 

4-67: 

When BTransfer (or BSelect) is released, the drop operation ordinarily occurs at the location of the hot spot of the drag icon pointer and into the highest drop zone in the stacking order. However, if a drop occurs within a selection and pending delete is enabled, the transferred data replaces the contents of the entire selection.  

This rule provides consistency in the treatment of mouse-based transfer operations. 

Required 

4-68: 

After a successful transfer, the data is placed in the drop zone, and any transfer icon used by your application is removed.  

A transfer icon can be used to represent the type of data being transferred during a drop operation. A successful drop operation results in the transfer of data. 

Required 

4-69: 

After a failed transfer, the data remains at the drag source and is not placed in the drop zone. Any transfer icon used by your application is removed.  

A failed drop operation does not result in the transfer of data. 

Recommended 

s: 

In a collection that supports selection, if BTransfer Motion (or BSelect Motion) results in the start of a drag operation, feedback is presented to the user that indicates that a copy, move, or link operation is in progress. Whether the operation is a copy, move, or link depends on the type of object created at the drop zone and whether the source object is removed. 

Although, typically, an unmodified drag results in a move operation, depending on the location of the source object and the target drop zone, the drag may in fact result in a copy or link operation. For example, dragging an icon representing an attachment to a mail message typically results in a copy of the attachment being created as opposed to the original being removed from the mail message. Any feedback presented should incorporate use of a drag icon that portrays the source object being manipulated. 

Recommended 

t: 

In a collection that supports selection, if Control+BTransfer Motion or Control+BSelect Motion results in the start of a drag operation, feedback is presented to the user that indicates that a copy operation is in progress. 

The feedback presented should incorporate use of a drag icon that portrays the source object being copied. 

Recommended 

u: 

In a collection that supports selection, if Control+Shift+BTransfer Motion or Control+Shift+BSelect Motion results in the start of a drag operation, feedback is presented to the user that indicates that a link operation is in progress. 

The feedback presented should incorporate use of a drag icon that portrays the source object being linked. 

Recommended 

v: 

In a collection that supports copy, move, or link operations that can be performed by dragging, the feedback presented to the user during the drag operation indicates whether a single object or multiple objects are being manipulated. 

Feedback provided during the drag operation should ensure that the user feels confident that the desired set of objects is being dragged. The drag icon used for multiobject drag operations should integrate the feedback used to indicate whether the operation is a move, copy, or link. 

Optional 

w: 

If your application allows the user to paste data into its data pane, it allows the user to drag and drop files from the File Manager into the data pane. 

The user should be able to drag and drop files into application data panes. The result should be the inclusion of some element of the file, or the display of an error message indicating that the file selected cannot be incorporated into the application's data. Drag transfers that are accepted can result in a number of different responses from your application: 1) the icon image for the file might be inserted at the drop point; 2) the application might perform some activity using the data contained within the file as its input; 3) the data contained within the file might be inserted at the drop point; or 4) the name of the file might be inserted at the drop point.