Three types of data transfers can be performed when a valid drop occurs: move (XmDROPMOVE), copy (XmDROPCOPY), or link (XmDROPLINK). The type of transfer chosen depends on the advertised capabilities of each side involved in the transfer and on the state of the keyboard at the time of the drop. If no type of transfer can be chosen (XmDROPNOOP), then the drop is invalid. The user can affect the type of transfer chosen by pressing the following keys while dragging:
If no key is pressed while dropping, then the system chooses the first of move, copy, or link (in that order) that is supported by both sides. If no type of transfer is supported by both sides, then no type of transfer can be chosen.
Applications must ensure that the semantics of the data transfer are consistent with the following conventions: