Transferring data
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:
Shift
Forces a move if both sides support moving, otherwise no type of transfer can be chosen
Ctrl
Forces a copy if both sides support copying, otherwise not type of transfer can be chosen
Ctrl+Shift
Forces a link is both sides support linking, otherwise no type of transfer can be chosen
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:
Move
The destination first gets a copy of the data, then tells the source to delete the data.
Copy
The source and destination both keep a copy of the data.
Link
The source keeps the only copy of the data, and the destination establishes a link to that copy.
Last modified date: 01/29/2015