A receiver advertises itself by placing a property with the name _MOTIF_DRAG_RECEIVER_INFO (of type _MOTIF_DRAG_RECEIVER_INFO, size is 8) on its top level window. Depending on the protocol styles the receiver can handle (dynamic mode and/or preregister mode), this property contains more or less data. But at least the property must be 16 bytes long.
_MOTIF_DRAG_RECEIVER_INFO
The second half of the header shown in table is only used in the preregister mode. For the dynamic mode and when the drop site is a drop-only site, then the second half within the header is not needed. Because the preregister mode is really tricky, we're discussing it later in more detail.
|
When a receiver signals that it can handle the dynamic mode, then it will accept and answer the drag messages sent by the initiator as specified in the next section. If the protocol style of the receiver is drop-only, then the initiator should not send any drag messages. The only message the initiator is allowed to send then is the XmDROP_START message. In this case the visual effects during the drag and drop gesture should indicate to the user that the whole top level window of the receiver works as a single drop site accepting all possible targets and operations.
A receiver with a protocol style of XmDRAG_NONE wants not to be disturbed by drag and drop operations at all. The initiator should provide appropriate visual feedback whenever the drag icon is over such a receiver.