XmDropTransfer(library call) XmDropTransfer(library call)
NAME
XmDropTransfer -- The DropTransfer widget class
SYNOPSIS
#include <Xm/DragDrop.h>
DESCRIPTION
DropTransfer provides a set of resources that identifies the
procedures and associated information required by the toolkit in
order to process and complete a drop transaction. Clients should not
explicitly create a DropTransfer widget. Instead, a client initiates
a transfer by calling
XmDropTransferStart, which initializes and
returns a DropTransfer widget. If this function is called within an
XmNdropProc callback, the actual transfers are initiated after the
callback returns. Even if no data needs to be transferred,
XmDropTransferStart needs to be called (typically with no arguments,
or just setting
XmNtransferStatus) to finish the drag and drop
transaction.
The
XmNdropTransfers resource specifies a transfer list that
describes the requested target types for the source data. A transfer
list is an array of
XmDropTransferEntryRec structures, each of which
identifies a target type. The transfer list is analogous to the
MULTIPLE selections capability defined in the
Inter-Client Communication Conventions Manual (ICCCM).
The DropTransfer resource,
XmNtransferProc, specifies a transfer
procedure of type XtSelectionCallbackProc that delivers the requested
selection data. This procedure operates in conjunction with the
underlying Xt selection capabilities and is called for each target in
the transfer list. Additional target types can be requested after a
transfer is initiated by calling the
XmDropTransferAdd function.
Structures
An
XmDropTransferEntry is a pointer to the following structure of
type
XmDropTransferEntryRec, which identifies a selection target
associated with a given drop transaction:
typedef struct
{
XtPointer
client_data; Atom target; } XmDropTransferEntryRec, *XmDropTransferEntry; client_data Specifies any additional information required by this
selection target
target Specifies a selection target associated with the drop
operation
Classes
DropTransfer inherits behavior and a resource from
Object.
The class pointer is
xmDropTransferObjectClass.
The class name is
XmDropTransfer.
New Resources
The following table defines a set of widget resources used by the
programmer to specify data. The programmer can also set the resource
values for the inherited classes to set attributes for this widget.
To reference a resource by name or by class in a
.Xdefaults file,
remove the
XmN or
XmC prefix and use the remaining letters. To
specify one of the defined values for a resource in a
.Xdefaults file, remove the
Xm prefix and use the remaining letters (in either
lowercase or uppercase, but include any underscores between words).
The codes in the access column indicate if the given resource can be
set at creation time (C), set by using
XtSetValues (S), retrieved by
using
XtGetValues (G), or is not applicable (N/A).
+---------------------------------------------------------------------------------------------------+
|
XmDropTransfer Resource Set |
|
Name |
Class |
Type |
Default |
Access |
+--------------------+---------------------+--------------------------+--------------------+--------+
|XmNdropTransfers | XmCDropTransfers | XmDropTransferEntryRec * | NULL | CG |
+--------------------+---------------------+--------------------------+--------------------+--------+
|XmNincremental | XmCIncremental | Boolean | False | CSG |
+--------------------+---------------------+--------------------------+--------------------+--------+
|XmNnumDropTransfers | XmCNumDropTransfers | Cardinal | 0 | CSG |
+--------------------+---------------------+--------------------------+--------------------+--------+
|XmNtransferProc | XmCTransferProc | XtSelectionCallbackProc | NULL | CSG |
+--------------------+---------------------+--------------------------+--------------------+--------+
|XmNtransferStatus | XmCTransferStatus | unsigned char | XmTRANSFER_SUCCESS | CSG |
+--------------------+---------------------+--------------------------+--------------------+--------+
+--------------------+---------------------+--------------------------+--------------------+--------+
XmNdropTransfers Specifies the address of an array of drop transfer entry
records. The drop transfer is complete when all the entries
in the list have been processed.
XmNincremental Specifies a Boolean value that indicates whether the
transfer on the receiver side uses the Xt incremental
selection transfer mechanism described in
X Toolkit Intrinsics--C Language Interface. If the value is True,
the receiver uses incremental transfer; if the value is
False, the receiver uses atomic transfer.
XmNnumDropTransfers Specifies the number of entries in
XmNdropTransfers. If
this resource is set to 0 at any time, the transfer is
considered complete. The value of
XmNtransferStatus determines the completion handshaking process.
XmNtransferProc Specifies a procedure of type
XtSelectionCallbackProc that
delivers the requested selection values. The
widget argument passed to this procedure is the DropTransfer
widget. The selection atom passed is _MOTIF_DROP. For
additional information on selection callback procedures,
see
X Toolkit Intrinsics--C Language Interface.
XmNtransferStatus Specifies the current status of the drop transfer. The
client updates this value when the transfer ends and
communicates the value to the initiator. The possible
values are
XmTRANSFER_SUCCESS The transfer succeeded.
XmTRANSFER_FAILURE The transfer failed.
Inherited Resources
DropTransfer inherits behavior and a resource from
Object. For a
complete description of this resource, refer to the
Object reference
page.
+---------------------------------------------------------------------+
|
Object Resource Set |
|
Name |
Class |
Type |
Default |
Access |
+-------------------+-------------+----------------+---------+--------+
|XmNdestroyCallback | XmCCallback | XtCallbackList | NULL | C |
+-------------------+-------------+----------------+---------+--------+
+-------------------+-------------+----------------+---------+--------+
RELATED INFORMATION
Object(3),
XmDisplay(3),
XmDragContext(3),
XmDragIcon(3),
XmDropSite(3),
XmDropTransferAdd(3), and
XmDropTransferStart(3).
XmDropTransfer(library call)