Blame doc/man/man3/XmDragContext.3

Packit b099d7
'\" t
Packit b099d7
...\" DragCont.sgm /main/12 1996/09/08 20:39:46 rws $
Packit b099d7
.de P!
Packit b099d7
.fl
Packit b099d7
\!!1 setgray
Packit b099d7
.fl
Packit b099d7
\\&.\"
Packit b099d7
.fl
Packit b099d7
\!!0 setgray
Packit b099d7
.fl			\" force out current output buffer
Packit b099d7
\!!save /psv exch def currentpoint translate 0 0 moveto
Packit b099d7
\!!/showpage{}def
Packit b099d7
.fl			\" prolog
Packit b099d7
.sy sed -e 's/^/!/' \\$1\" bring in postscript file
Packit b099d7
\!!psv restore
Packit b099d7
.
Packit b099d7
.de pF
Packit b099d7
.ie     ?\\*(f1?? .ds f1 \\n(.f
Packit b099d7
.el .ie ?\\*(f2?? .ds f2 \\n(.f
Packit b099d7
.el .ie ?\\*(f3?? .ds f3 \\n(.f
Packit b099d7
.el .ie ?\\*(f4?? .ds f4 \\n(.f
Packit b099d7
.el .tm ? font overflow
Packit b099d7
.ft \\$1
Packit b099d7
..
Packit b099d7
.de fP
Packit b099d7
.ie     !?\\*(f4?? \{\
Packit b099d7
.	ft \\*(f4
Packit b099d7
.	ds f4\"
Packit b099d7
'	br \}
Packit b099d7
.el .ie !?\\*(f3?? \{\
Packit b099d7
.	ft \\*(f3
Packit b099d7
.	ds f3\"
Packit b099d7
'	br \}
Packit b099d7
.el .ie !?\\*(f2?? \{\
Packit b099d7
.	ft \\*(f2
Packit b099d7
.	ds f2\"
Packit b099d7
'	br \}
Packit b099d7
.el .ie !?\\*(f1?? \{\
Packit b099d7
.	ft \\*(f1
Packit b099d7
.	ds f1\"
Packit b099d7
'	br \}
Packit b099d7
.el .tm ? font underflow
Packit b099d7
..
Packit b099d7
.ds f1\"
Packit b099d7
.ds f2\"
Packit b099d7
.ds f3\"
Packit b099d7
.ds f4\"
Packit b099d7
.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 
Packit b099d7
.TH "XmDragContext" "library call"
Packit b099d7
.SH "NAME"
Packit b099d7
\fBXmDragContext\fP \(em The DragContext widget class
Packit b099d7
.iX "XmDragContext"
Packit b099d7
.iX "widget class" "DragContext"
Packit b099d7
.SH "SYNOPSIS"
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
#include <Xm/DragDrop\&.h>
Packit b099d7
.fi
Packit b099d7
.SH "DESCRIPTION"
Packit b099d7
.PP
Packit b099d7
DragContexts are special widgets used in drag and drop transactions\&.
Packit b099d7
A DragContext is implemented as a widget, but a client does not
Packit b099d7
explicitly create a DragContext widget\&. Instead, a client initiates
Packit b099d7
a drag and drop transaction by calling \fBXmDragStart\fP, and this
Packit b099d7
routine initializes and returns a DragContext widget\&. There is a
Packit b099d7
unique DragContext for each drag operation\&. The toolkit frees a
Packit b099d7
DragContext when a transaction is complete; therefore, an application
Packit b099d7
programmer should not explicitly destroy a DragContext\&.
Packit b099d7
.PP
Packit b099d7
Initiator and receiver clients both use DragContexts to track
Packit b099d7
the state of a transaction\&. When the initiator and receiver of
Packit b099d7
a transaction are in the same client, they share the same
Packit b099d7
DragContext instance\&. If they are in different clients, there
Packit b099d7
are two separate DragContexts\&. In this case, the initiator calls
Packit b099d7
\fBXmDragStart\fP and the toolkit provides a DragContext for the
Packit b099d7
receiver client\&. The only resources pertinent to the receiver
Packit b099d7
are \fBXmNexportTargets\fP and \fBXmNnumExportTargets\fP\&. These
Packit b099d7
can both be passed as arguments to the \fBXmDropSiteRetrieve\fP
Packit b099d7
function to obtain information about the current drop site\&.
Packit b099d7
.PP
Packit b099d7
In general, in order to receive data, a drop site must share at least
Packit b099d7
one target type and operation in common with a drag source\&. The
Packit b099d7
DragContext resource, \fBXmNexportTargets\fP, identifies the selection
Packit b099d7
targets for the drag source\&. These export targets are compared with the
Packit b099d7
\fBXmNimportTargets\fP resource list specified by a drop site\&.
Packit b099d7
The DragContext resource, \fBXmNdragOperations\fP, identifies the
Packit b099d7
valid operations that can be applied to the source data by the
Packit b099d7
initiator\&. The drop site counterpart resource is
Packit b099d7
\fBXmNdropSiteOperations\fP, which indicates a drop site\&'s supported
Packit b099d7
operations\&.
Packit b099d7
.PP
Packit b099d7
A client uses DragIcon widgets to define the drag-over animation
Packit b099d7
effects associated with a given drag and drop transaction\&.
Packit b099d7
An initiator specifies a set of drag icons, selects a blending
Packit b099d7
model, and sets foreground and background cursor colors with
Packit b099d7
DragContext resources\&.
Packit b099d7
.PP
Packit b099d7
The type of drag-over visual used to represent a drag operation
Packit b099d7
depends on the drag protocol style\&. In preregister mode, the server
Packit b099d7
is grabbed, and either a cursor or a pixmap may be used as a drag-over
Packit b099d7
visual\&. In dynamic mode, drag-over visuals must be
Packit b099d7
implemented with the X cursor\&. If the resulting drag protocol style is
Packit b099d7
Drop Only or None and the \fBXmNdragInitiatorProtocolStyle\fP is
Packit b099d7
\fBXmDRAG_DYNAMIC\fP or \fBXmDRAG_PREFER_DYNAMIC\fP,
Packit b099d7
then a dynamic visual style (cursor) is used\&. Otherwise, a preregister
Packit b099d7
visual style is used\&.
Packit b099d7
.SS "Classes"
Packit b099d7
.PP
Packit b099d7
DragContext inherits behavior and resources from \fBCore\fP\&.
Packit b099d7
.PP
Packit b099d7
The class pointer is \fBxmDragContextClass\fP\&.
Packit b099d7
.PP
Packit b099d7
The class name is \fBXmDragContext\fP\&.
Packit b099d7
.SS "New Resources"
Packit b099d7
.PP
Packit b099d7
The following table defines a set of widget resources used by the
Packit b099d7
programmer to specify data\&. The programmer can also set the
Packit b099d7
resource values for the inherited classes to set attributes for
Packit b099d7
this widget\&. To reference a resource by name or by class in
Packit b099d7
a \fB\&.Xdefaults\fP file, remove the \fBXmN\fP or \fBXmC\fP prefix and use
Packit b099d7
the remaining letters\&. To specify one of the defined values for a
Packit b099d7
resource in a \fB\&.Xdefaults\fP file, remove the \fBXm\fP prefix and use
Packit b099d7
the remaining letters (in either lowercase or uppercase, but include
Packit b099d7
any underscores between words)\&. The codes in the access column
Packit b099d7
indicate if the given resource can be set at creation time (C),
Packit b099d7
set by using XtSetValues (S), retrieved by using
Packit b099d7
XtGetValues (G), or is not applicable (N/A)\&.
Packit b099d7
.PP
Packit b099d7
.TS
Packit b099d7
tab(?) box;
Packit b099d7
c s s s s
Packit b099d7
l| l| l| l| l.
Packit b099d7
\fBXmDragContext Resource Set\fP
Packit b099d7
\fBName\fP?\fBClass\fP?\fBType\fP?\fBDefault\fP?\fBAccess\fP
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNblendModel?XmCBlendModel?unsigned char?XmBLEND_ALL?CG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNclientData?XmCClientData?XtPointer?NULL?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNconvertProc?XmCConvertProc?XtConvertSelectionIncrProc?NULL?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNcursorBackground?XmCCursorBackground?Pixel?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNcursorForeground?XmCCursorForeground?Pixel?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNdragDropFinishCallback?XmCCallback?XtCallbackList?NULL?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNdragMotionCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNdragOperations?XmCDragOperations?unsigned char?XmDROP_COPY | XmDROP_MOVE?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNdropFinishCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNdropSiteEnterCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNdropSiteLeaveCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNdropStartCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNexportTargets?XmCExportTargets?Atom *?NULL?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNincremental?XmCIncremental?Boolean?False?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNinvalidCursorForeground?XmCCursorForeground?Pixel?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNnoneCursorForeground?XmCCursorForeground?Pixel?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNnumExportTargets?XmCNumExportTargets?Cardinal?0?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNoperationChangedCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNoperationCursorIcon?XmCOperationCursorIcon?Widget?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNsourceCursorIcon?XmCSourceCursorIcon?Widget?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNsourcePixmapIcon?XmCSourcePixmapIcon?Widget?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNstateCursorIcon?XmCStateCursorIcon?Widget?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNtopLevelEnterCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNtopLevelLeaveCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNvalidCursorForeground?XmCCursorForeground?Pixel?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
.TE
Packit b099d7
.IP "\fBXmNblendModel\fP" 10
Packit b099d7
Specifies which combination of DragIcons are blended to produce
Packit b099d7
a drag-over visual\&.
Packit b099d7
.RS
Packit b099d7
.IP "\fBXmBLEND_ALL\fP" 10
Packit b099d7
Blends all three DragIcons: the source, state and operation icons\&.
Packit b099d7
The icons are layered from top to bottom with the operation icon
Packit b099d7
on top and the source icon on the bottom\&.
Packit b099d7
The hotspot is derived from the state icon\&.
Packit b099d7
.IP "\fBXmBLEND_STATE_SOURCE\fP" 10
Packit b099d7
Blends the state and source icons only\&. The hotspot is derived
Packit b099d7
from the state icon\&.
Packit b099d7
.IP "\fBXmBLEND_JUST_SOURCE\fP" 10
Packit b099d7
Specifies that only the source icon is used, which the initiator
Packit b099d7
updates as required\&.
Packit b099d7
.IP "\fBXmBLEND_NONE\fP" 10
Packit b099d7
Specifies that no drag-over visual is generated\&. The client
Packit b099d7
tracks the drop site status through callback routines and updates
Packit b099d7
the drag-over visuals as necessary\&.
Packit b099d7
.RE
Packit b099d7
.IP "\fBXmNclientData\fP" 10
Packit b099d7
Specifies the client data to be passed to \fBXmNconvertProc\fP
Packit b099d7
when it is invoked\&.
Packit b099d7
.IP "\fBXmNconvertProc\fP" 10
Packit b099d7
If \fBXmNincremental\fP is True, specifies a procedure of type
Packit b099d7
\fBXtConvertSelectionIncrProc\fP that
Packit b099d7
converts the source data to the format(s) requested by the receiver
Packit b099d7
client\&.
Packit b099d7
The \fIwidget\fP argument passed to this procedure is the DragContext
Packit b099d7
widget\&.
Packit b099d7
The selection atom passed is _MOTIF_DROP\&.
Packit b099d7
If \fBXmNincremental\fP is False, the procedure is an
Packit b099d7
\fBXtConvertSelectionProc\fP, and should ignore the
Packit b099d7
\fImax_length\fP, \fIclient_data\fP, and \fIrequest_id\fP arguments and
Packit b099d7
should handle the conversion atomically\&.
Packit b099d7
Data returned by \fBXmNconvertProc\fP must be allocated using
Packit b099d7
\fBXtMalloc\fP, and will be freed automatically by the toolkit after the
Packit b099d7
transfer\&.
Packit b099d7
For additional information on selection conversion procedures, see \fIX
Packit b099d7
Toolkit Intrinsics\(emC Language Interface\fP\&.
Packit b099d7
.IP "\fBXmNcursorBackground\fP" 10
Packit b099d7
Specifies the background pixel value of the cursor\&.
Packit b099d7
.IP "\fBXmNcursorForeground\fP" 10
Packit b099d7
Specifies the foreground pixel value of the cursor when the state icon
Packit b099d7
is not blended\&. This resource defaults to the foreground color of the
Packit b099d7
widget passed to the \fBXmDragStart\fP function\&.
Packit b099d7
.IP "\fBXmNdragDropFinishCallback\fP" 10
Packit b099d7
Specifies the list of callbacks that are called when the transaction is
Packit b099d7
completed\&. The type of the structure whose address is passed to this
Packit b099d7
callback is \fBXmDragDropFinishCallbackStruct\fR\&. The reason sent by
Packit b099d7
the callback is \fBXmCR_DRAG_DROP_FINISH\fP\&.
Packit b099d7
.IP "\fBXmNdragMotionCallback\fP" 10
Packit b099d7
Specifies the list of callbacks that are invoked when the pointer moves\&.
Packit b099d7
The type of structure whose address is passed to this callback is
Packit b099d7
\fBXmDragMotionCallbackStruct\fR\&. The reason sent by the callback
Packit b099d7
is \fBXmCR_DRAG_MOTION\fP\&.
Packit b099d7
.IP "\fBXmNdragOperations\fP" 10
Packit b099d7
Specifies the set of valid operations associated with an initiator
Packit b099d7
client for a drag transaction\&.
Packit b099d7
This resource is a bit mask that is formed by combining one or
Packit b099d7
more of the following values using a bitwise operation such as
Packit b099d7
inclusive OR (|):
Packit b099d7
\fBXmDROP_COPY\fP, \fBXmDROP_LINK\fP, \fBXmDROP_MOVE\fP\&.
Packit b099d7
The value \fBXmDROP_NOOP\fP for this resource indicates that no
Packit b099d7
operations are valid\&.
Packit b099d7
For Text and TextField widgets, this resource is set to
Packit b099d7
\fBXmDROP_COPY\fP | \fBXmDROP_MOVE\fP; for List widgets, it is set to
Packit b099d7
\fBXmDROP_COPY\fP\&.
Packit b099d7
.IP "\fBXmNdropFinishCallback\fP" 10
Packit b099d7
Specifies the list of callbacks that are invoked when the drop
Packit b099d7
is completed\&. The type of the structure whose address is passed to
Packit b099d7
this callback is \fBXmDropFinishCallbackStruct\fR\&. The reason sent
Packit b099d7
by the callback is \fBXmCR_DROP_FINISH\fP\&.
Packit b099d7
.IP "\fBXmNdropSiteEnterCallback\fP" 10
Packit b099d7
Specifies the list of callbacks that are invoked when the pointer enters
Packit b099d7
a drop site\&. The type of the structure whose address is passed to this
Packit b099d7
callback is \fBXmDropSiteEnterCallbackStruct\fR\&. The reason sent by the
Packit b099d7
callback is \fBXmCR_DROP_SITE_ENTER\fP\&.
Packit b099d7
.IP "\fBXmNdropSiteLeaveCallback\fP" 10
Packit b099d7
Specifies the list of callbacks that are invoked when the pointer leaves
Packit b099d7
a drop site\&. The type of the structure whose address is passed to this
Packit b099d7
callback is \fBXmDropSiteLeaveCallbackStruct\fR\&. The reason sent by
Packit b099d7
the callback is \fBXmCR_DROP_SITE_LEAVE\fP\&.
Packit b099d7
.IP "\fBXmNdropStartCallback\fP" 10
Packit b099d7
Specifies the list of callbacks that are invoked when a drop is
Packit b099d7
initiated\&. The type of the structure whose address is passed to this
Packit b099d7
callback is \fBXmDropStartCallbackStruct\fR\&. The reason sent by the
Packit b099d7
callback is \fBXmCR_DROP_START\fP\&.
Packit b099d7
.IP "\fBXmNexportTargets\fP" 10
Packit b099d7
Specifies the list of target atoms associated with this source\&.
Packit b099d7
This resource identifies the selection targets this source
Packit b099d7
can be converted to\&.
Packit b099d7
.IP "\fBXmNincremental\fP" 10
Packit b099d7
Specifies a Boolean value that indicates whether the transfer on the
Packit b099d7
initiator side uses the Xt incremental selection transfer mechanism
Packit b099d7
described in \fIX Toolkit Intrinsics\(emC Language Interface\fP\&.
Packit b099d7
If the value is True, the initiator uses incremental transfer; if the
Packit b099d7
value is False, the initiator uses atomic transfer\&.
Packit b099d7
.IP "\fBXmNinvalidCursorForeground\fP" 10
Packit b099d7
Specifies the foreground pixel value of the cursor when the state
Packit b099d7
is invalid\&. This resource defaults to the value of the
Packit b099d7
\fBXmNcursorForeground\fP resource\&.
Packit b099d7
.IP "\fBXmNnoneCursorForeground\fP" 10
Packit b099d7
Specifies the foreground pixel value of the cursor when the state
Packit b099d7
is none\&. This resource defaults to the value of the
Packit b099d7
\fBXmNcursorForeground\fP resource\&.
Packit b099d7
.IP "\fBXmNnumExportTargets\fP" 10
Packit b099d7
Specifies the number of entries in the list of export targets\&.
Packit b099d7
.IP "\fBXmNoperationChangedCallback\fP" 10
Packit b099d7
Specifies the list of callbacks that are invoked when the drag
Packit b099d7
is started and when the user requests that a different operation
Packit b099d7
be applied to the drop\&.
Packit b099d7
The type of the structure whose address is passed to this callback
Packit b099d7
is \fBXmOperationChangedCallbackStruct\fR\&. The reason sent by the
Packit b099d7
callback is \fBXmCR_OPERATION_CHANGED\fP\&.
Packit b099d7
.IP "\fBXmNoperationCursorIcon\fP" 10
Packit b099d7
Specifies the cursor icon used to designate the type of operation
Packit b099d7
performed by the drag transaction\&. If NULL, \fBXmScreen\fP
Packit b099d7
resources provide default icons for copy, link, and move
Packit b099d7
operations\&.
Packit b099d7
.IP "\fBXmNsourceCursorIcon\fP" 10
Packit b099d7
Specifies the cursor icon used to represent the source when
Packit b099d7
a dynamic visual style is used\&. If NULL, the
Packit b099d7
\fBXmNdefaultSourceCursorIcon\fP resource of \fBXmScreen\fP provides
Packit b099d7
a default cursor icon\&.
Packit b099d7
.IP "\fBXmNsourcePixmapIcon\fP" 10
Packit b099d7
Specifies the pixmap icon used to represent the source when
Packit b099d7
a preregister visual style is used\&. The icon is used in conjunction
Packit b099d7
with the colormap of the widget passed to \fBXmDragStart\fP\&.
Packit b099d7
If NULL, \fBXmNsourceCursorIcon\fP is used\&.
Packit b099d7
.IP "\fBXmNstateCursorIcon\fP" 10
Packit b099d7
Specifies the cursor icon used to designate the state of a drop site\&.
Packit b099d7
If NULL, \fBXmScreen\fP resources provide default icons for a valid,
Packit b099d7
invalid, and no drop site condition\&.
Packit b099d7
.IP "\fBXmNtopLevelEnterCallback\fP" 10
Packit b099d7
Specifies the list of callbacks that are called when the pointer enters
Packit b099d7
a top-level window or root window (due to changing screens)\&. The type
Packit b099d7
of the structure whose address is passed to this callback is
Packit b099d7
\fBXmTopLevelEnterCallbackStruct\fR\&. The reason sent by the
Packit b099d7
callback is \fBXmCR_TOP_LEVEL_ENTER\fP\&.
Packit b099d7
.IP "\fBXmNtopLevelLeaveCallback\fP" 10
Packit b099d7
Specifies the list of callbacks that are called when the pointer
Packit b099d7
leaves a top level window or the root window (due to changing
Packit b099d7
screens)\&. The type of the structure whose address is
Packit b099d7
passed to this callback is \fBXmTopLevelLeaveCallbackStruct\fR\&. The
Packit b099d7
reason sent by the callback is \fBXmCR_TOP_LEVEL_LEAVE\fP\&.
Packit b099d7
.IP "\fBXmNvalidCursorForeground\fP" 10
Packit b099d7
Specifies the foreground pixel value of the cursor designated as a
Packit b099d7
valid cursor icon\&.
Packit b099d7
.SS "Inherited Resources"
Packit b099d7
.PP
Packit b099d7
DragContext inherits behavior and resources from the superclass
Packit b099d7
described in the following table\&.
Packit b099d7
For a complete description of each resource, refer
Packit b099d7
to the \fBCore\fP reference page\&.
Packit b099d7
.PP
Packit b099d7
.TS
Packit b099d7
tab(?) box;
Packit b099d7
c s s s s
Packit b099d7
l| l| l| l| l.
Packit b099d7
\fBCore Resource Set\fP
Packit b099d7
\fBName\fP?\fBClass\fP?\fBType\fP?\fBDefault\fP?\fBAccess\fP
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNaccelerators?XmCAccelerators?XtAccelerators?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNancestorSensitive?XmCSensitive?Boolean?dynamic?G
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNbackground?XmCBackground?Pixel?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNbackgroundPixmap?XmCPixmap?Pixmap?XmUNSPECIFIED_PIXMAP?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNborderColor?XmCBorderColor?Pixel?XtDefaultForeground?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNborderPixmap?XmCPixmap?Pixmap?XmUNSPECIFIED_PIXMAP?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNborderWidth?XmCBorderWidth?Dimension?0?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNcolormap?XmCColormap?Colormap?dynamic?CG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNdepth?XmCDepth?int?dynamic?CG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNdestroyCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNheight?XmCHeight?Dimension?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNinitialResourcesPersistent?XmCInitialResourcesPersistent?Boolean?True?C
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNmappedWhenManaged?XmCMappedWhenManaged?Boolean?True?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNscreen?XmCScreen?Screen *?dynamic?CG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNsensitive?XmCSensitive?Boolean?True?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNtranslations?XmCTranslations?XtTranslations?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNwidth?XmCWidth?Dimension?dynamic?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNx?XmCPosition?Position?0?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
XmNy?XmCPosition?Position?0?CSG
Packit b099d7
_?_?_?_?_?
Packit b099d7
.TE
Packit b099d7
.SS "Callback Information"
Packit b099d7
.PP
Packit b099d7
Each of the DragContext callbacks has an associated callback
Packit b099d7
structure\&.
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed to the
Packit b099d7
\fBXmNdragDropFinishCallback\fP callback:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent  *\fIevent\fP;
Packit b099d7
        Time \fItimeStamp\fP;
Packit b099d7
}XmDragDropFinishCallbackStruct, *XmDragDropFinishCallback;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered the callback
Packit b099d7
.IP "\fBtimeStamp\fP" 10
Packit b099d7
Specifies the time at which either the drag or the drop was completed
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed to callbacks for
Packit b099d7
\fBXmNdragMotionCallback\fP:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent *\fIevent\fP;
Packit b099d7
        Time \fItimeStamp\fP;
Packit b099d7
        unsigned char \fIoperation\fP;
Packit b099d7
        unsigned char \fIoperations\fP;
Packit b099d7
        unsigned char \fIdropSiteStatus\fP;
Packit b099d7
        Position \fIx\fP;
Packit b099d7
        Position \fIy\fP;
Packit b099d7
}XmDragMotionCallbackStruct, *XmDragMotionCallback;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked\&.
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered the callback\&.
Packit b099d7
.IP "\fBtimeStamp\fP" 10
Packit b099d7
Specifies the timestamp of the logical event\&.
Packit b099d7
.IP "\fIoperation\fP" 10
Packit b099d7
Identifies an operation\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has just called a DropSite\&'s \fBXmNdragProc\fP, the
Packit b099d7
toolkit initializes \fIoperation\fP to the value of the \fIoperation\fP
Packit b099d7
member of the \fBXmDragProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdragProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP and the pointer is
Packit b099d7
within an active drop site, the toolkit initializes \fIoperation\fP by
Packit b099d7
selecting an operation from the bitwise AND of the initial value of the
Packit b099d7
\fIoperations\fP member and the value of the DropSite\&'s
Packit b099d7
\fBXmNdropSiteOperations\fP resource\&.
Packit b099d7
The toolkit searches this set first for \fBXmDROP_MOVE\fP, then for
Packit b099d7
\fBXmDROP_COPY\fP, then for \fBXmDROP_LINK\fP, and initializes
Packit b099d7
\fIoperation\fP to the first operation it finds in the set\&.
Packit b099d7
If the toolkit finds none of these operations in the set, it initializes
Packit b099d7
\fIoperation\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP and the pointer is
Packit b099d7
not within an active drop site, the toolkit initializes \fIoperation\fP
Packit b099d7
by selecting an operation from the initial value of the \fIoperations\fP
Packit b099d7
member\&.
Packit b099d7
The toolkit searches this set first for \fBXmDROP_MOVE\fP, then for
Packit b099d7
\fBXmDROP_COPY\fP, then for \fBXmDROP_LINK\fP, and initializes
Packit b099d7
\fIoperation\fP to the first operation it finds in the set\&.
Packit b099d7
If the toolkit finds none of these operations in the set, it initializes
Packit b099d7
\fIoperation\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fIoperations\fP" 10
Packit b099d7
Indicates the set of operations supported for the source data\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has just called a DropSite\&'s \fBXmNdragProc\fP, the
Packit b099d7
toolkit initializes \fIoperations\fP to the bitwise AND of the
Packit b099d7
DropSite\&'s \fBXmNdropOperations\fP and the value of the \fIoperations\fP
Packit b099d7
member of the \fBXmDragProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdragProc\fP returns\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP and the user does not
Packit b099d7
select an operation (by pressing a modifier key), the toolkit
Packit b099d7
initializes \fIoperations\fP to the value of the DragContext\&'s
Packit b099d7
\fBXmNdragOperations\fP resource\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP and the user does
Packit b099d7
select an operation, the toolkit initializes \fIoperations\fP to the
Packit b099d7
bitwise AND of the corresponding operation and the value of the
Packit b099d7
DragContext\&'s \fBXmNdragOperations\fP resource\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fBdropSiteStatus\fP" 10
Packit b099d7
Indicates whether or not a drop site is valid\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has just called a DropSite\&'s \fBXmNdragProc\fP, the
Packit b099d7
toolkit initializes \fBdropSiteStatus\fP to the value of the
Packit b099d7
\fBdropSiteStatus\fP member of the \fBXmDragProcCallbackStruct\fR at the
Packit b099d7
time the DropSite\&'s \fBXmNdragProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP, it initializes
Packit b099d7
\fBdropSiteStatus\fP as follows:
Packit b099d7
the toolkit initializes \fBdropSiteStatus\fP to \fBXmNO_DROP_SITE\fP if
Packit b099d7
the pointer is over an inactive drop site or is not over a drop site\&.
Packit b099d7
The toolkit initializes \fBdropSiteStatus\fP to \fBXmDROP_SITE_VALID\fP
Packit b099d7
if all the following conditions are met:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The pointer is over an active drop site\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The DragContext\&'s \fBXmNexportTargets\fP and the DropSite\&'s
Packit b099d7
\fBXmNimportTargets\fP are compatible\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The initial value of the \fIoperation\fP member is not
Packit b099d7
\fBXmDROP_NOOP\fP\&.
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
Otherwise, the toolkit initializes \fBdropSiteStatus\fP to
Packit b099d7
\fBXmDROP_SITE_INVALID\fP\&.
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed for the
Packit b099d7
\fBXmNdropFinishCallback\fP callback:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent *\fIevent\fP;
Packit b099d7
        Time \fItimeStamp\fP;
Packit b099d7
        unsigned char \fIoperation\fP;
Packit b099d7
        unsigned char \fIoperations\fP;
Packit b099d7
        unsigned char \fIdropSiteStatus\fP;
Packit b099d7
        unsigned char \fIdropAction\fP;
Packit b099d7
        unsigned char \fIcompletionStatus\fP;
Packit b099d7
}XmDropFinishCallbackStruct, *XmDropFinishCallback;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked\&.
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered the callback\&.
Packit b099d7
.IP "\fBtimeStamp\fP" 10
Packit b099d7
Specifies the time at which the drop was completed\&.
Packit b099d7
.IP "\fIoperation\fP" 10
Packit b099d7
Identifies an operation\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fIoperation\fP to the value of the \fIoperation\fP
Packit b099d7
member of the \fBXmDropProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdropProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is not over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fIoperation\fP by selecting an operation from the
Packit b099d7
initial value of the \fIoperations\fP member\&.
Packit b099d7
The toolkit searches this set first for \fBXmDROP_MOVE\fP, then for
Packit b099d7
\fBXmDROP_COPY\fP, then for \fBXmDROP_LINK\fP, and initializes
Packit b099d7
\fIoperation\fP to the first operation it finds in the set\&.
Packit b099d7
If it finds none of these operations in the set, it initializes
Packit b099d7
\fIoperation\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fIoperations\fP" 10
Packit b099d7
Indicates the set of operations supported for the source data\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fIoperations\fP to the bitwise AND of the
Packit b099d7
DropSite\&'s \fBXmNdropOperations\fP and the value of the \fIoperations\fP
Packit b099d7
member of the \fBXmDropProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdropProc\fP returns\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is not over an active drop site when the drop begins and
Packit b099d7
if the user does not select an operation (by pressing a modifier key),
Packit b099d7
the toolkit initializes \fIoperations\fP to the value of the
Packit b099d7
DragContext\&'s \fBXmNdragOperations\fP resource\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is not over an active drop site when the drop begins and
Packit b099d7
if the user does select an operation, the toolkit initializes
Packit b099d7
\fIoperations\fP to the bitwise AND of the corresponding operation and
Packit b099d7
the value of the DragContext\&'s \fBXmNdragOperations\fP resource\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fBdropSiteStatus\fP" 10
Packit b099d7
Indicates whether or not a drop site is valid\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fBdropSiteStatus\fP to the value of the
Packit b099d7
\fBdropSiteStatus\fP member of the \fBXmDropProcCallbackStruct\fR at the
Packit b099d7
time the DropSite\&'s \fBXmNdropProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is not over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fBdropSiteStatus\fP to \fBXmNO_DROP_SITE\fP\&.
Packit b099d7
.IP "\fBdropAction\fP" 10
Packit b099d7
Identifies the drop action\&. The values are \fBXmDROP\fP,
Packit b099d7
\fBXmDROP_CANCEL\fP, \fBXmDROP_HELP\fP, and \fBXmDROP_INTERRUPT\fP\&.
Packit b099d7
The \fBXmDROP_INTERRUPT\fP value is currently unsupported; if
Packit b099d7
specified, it will be interpreted as an \fBXmDROP_CANCEL\fP\&.
Packit b099d7
.IP "\fBcompletionStatus\fP" 10
Packit b099d7
An IN/OUT member that indicates the status of the drop action\&.
Packit b099d7
After the last callback procedure has returned, the final value of this
Packit b099d7
member determines what visual transition effects will be applied\&.
Packit b099d7
There are two values:
Packit b099d7
.RS
Packit b099d7
.IP "\fBXmDROP_SUCCESS\fP" 10
Packit b099d7
The drop was successful\&.
Packit b099d7
.IP "\fBXmDROP_FAILURE\fP" 10
Packit b099d7
The drop was unsuccessful\&.
Packit b099d7
.RE
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed to callbacks for
Packit b099d7
\fBXmNdropSiteEnterCallback\fP:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent *\fIevent\fP;
Packit b099d7
        Time \fItimeStamp\fP;
Packit b099d7
        unsigned char \fIoperation\fP;
Packit b099d7
        unsigned char \fIoperations\fP;
Packit b099d7
        unsigned char \fIdropSiteStatus\fP;
Packit b099d7
        Position \fIx\fP;
Packit b099d7
        Position \fIy\fP;
Packit b099d7
}XmDropSiteEnterCallbackStruct, *XmDropSiteEnterCallback;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked\&.
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered the callback\&.
Packit b099d7
.IP "\fBtimeStamp\fP" 10
Packit b099d7
Specifies the time the crossing event occurred\&.
Packit b099d7
.IP "\fIoperation\fP" 10
Packit b099d7
Identifies an operation\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has just called a DropSite\&'s \fBXmNdragProc\fP, the
Packit b099d7
toolkit initializes \fIoperation\fP to the value of the \fIoperation\fP
Packit b099d7
member of the \fBXmDragProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdragProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP, it initializes
Packit b099d7
\fIoperation\fP by selecting an operation from the bitwise AND of the
Packit b099d7
initial value of the \fIoperations\fP member and the value of the
Packit b099d7
DropSite\&'s \fBXmNdropSiteOperations\fP resource\&.
Packit b099d7
The toolkit searches this set first for \fBXmDROP_MOVE\fP, then for
Packit b099d7
\fBXmDROP_COPY\fP, then for \fBXmDROP_LINK\fP, and initializes
Packit b099d7
\fIoperation\fP to the first operation it finds in the set\&.
Packit b099d7
If the toolkit finds none of these operations in the set, it initializes
Packit b099d7
\fIoperation\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fIoperations\fP" 10
Packit b099d7
Indicates the set of operations supported for the source data\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has just called a DropSite\&'s \fBXmNdragProc\fP, the
Packit b099d7
toolkit initializes \fIoperations\fP to the bitwise AND of the
Packit b099d7
DropSite\&'s \fBXmNdropOperations\fP and the value of the \fIoperations\fP
Packit b099d7
member of the \fBXmDragProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdragProc\fP returns\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP and the user does not
Packit b099d7
select an operation (by pressing a modifier key), the toolkit
Packit b099d7
initializes \fIoperations\fP to the value of the DragContext\&'s
Packit b099d7
\fBXmNdragOperations\fP resource\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP and the user does
Packit b099d7
select an operation, the toolkit initializes \fIoperations\fP to the
Packit b099d7
bitwise AND of the corresponding operation and the value of the
Packit b099d7
DragContext\&'s \fBXmNdragOperations\fP resource\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fBdropSiteStatus\fP" 10
Packit b099d7
Indicates whether or not a drop site is valid\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has just called a DropSite\&'s \fBXmNdragProc\fP, the
Packit b099d7
toolkit initializes \fBdropSiteStatus\fP to the value of the
Packit b099d7
\fBdropSiteStatus\fP member of the \fBXmDragProcCallbackStruct\fR at the
Packit b099d7
time the DropSite\&'s \fBXmNdragProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called \fBXmNdragProc\fP, it initializes
Packit b099d7
\fBdropSiteStatus\fP to \fBXmDROP_SITE_VALID\fP
Packit b099d7
if the DragContext\&'s \fBXmNexportTargets\fP and the DropSite\&'s
Packit b099d7
\fBXmNimportTargets\fP are compatible and if the initial value of the
Packit b099d7
\fIoperation\fP member is not \fBXmDROP_NOOP\fP\&.
Packit b099d7
Otherwise, the toolkit initializes \fBdropSiteStatus\fP to
Packit b099d7
\fBXmDROP_SITE_INVALID\fP\&.
Packit b099d7
.IP "\fIx\fP" 10
Packit b099d7
Indicates the x-coordinate of the pointer in root window coordinates\&.
Packit b099d7
.IP "\fIy\fP" 10
Packit b099d7
Indicates the y-coordinate of the pointer in root window coordinates\&.
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed to callbacks for
Packit b099d7
\fBXmNdropSiteLeaveCallback\fP:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent *\fIevent\fP;
Packit b099d7
        Time \fItimeStamp\fP;
Packit b099d7
}XmDropSiteLeaveCallbackStruct, *XmDropSiteLeaveCallback;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered the callback
Packit b099d7
.IP "\fBtimeStamp\fP" 10
Packit b099d7
Specifies the timestamp of the logical event
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed for the
Packit b099d7
\fBXmNdropStartCallback\fP callback:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent *\fIevent\fP;
Packit b099d7
        Time \fItimeStamp\fP;
Packit b099d7
        unsigned char \fIoperation\fP;
Packit b099d7
        unsigned char \fIoperations\fP;
Packit b099d7
        unsigned char \fIdropSiteStatus\fP;
Packit b099d7
        unsigned char \fIdropAction\fP;
Packit b099d7
        Position \fIx\fP;
Packit b099d7
        Position \fIy\fP;
Packit b099d7
}XmDropStartCallbackStruct, *XmDropStartCallback;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked\&.
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered the callback\&.
Packit b099d7
.IP "\fBtimeStamp\fP" 10
Packit b099d7
Specifies the time at which the drag was completed\&.
Packit b099d7
.IP "\fIoperation\fP" 10
Packit b099d7
Identifies an operation\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fIoperation\fP to the value of the \fIoperation\fP
Packit b099d7
member of the \fBXmDropProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdropProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is not over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fIoperation\fP by selecting an operation from the
Packit b099d7
initial value of the \fIoperations\fP member\&.
Packit b099d7
The toolkit searches this set first for \fBXmDROP_MOVE\fP, then for
Packit b099d7
\fBXmDROP_COPY\fP, then for \fBXmDROP_LINK\fP, and initializes
Packit b099d7
\fIoperation\fP to the first operation it finds in the set\&.
Packit b099d7
If it finds none of these operations in the set, it initializes
Packit b099d7
\fIoperation\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fIoperations\fP" 10
Packit b099d7
Indicates the set of operations supported for the source data\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fIoperations\fP to the bitwise AND of the
Packit b099d7
DropSite\&'s \fBXmNdropOperations\fP and the value of the \fIoperations\fP
Packit b099d7
member of the \fBXmDropProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdropProc\fP returns\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is not over an active drop site when the drop begins and
Packit b099d7
if the user does not select an operation (by pressing a modifier key),
Packit b099d7
the toolkit initializes \fIoperations\fP to the value of the
Packit b099d7
DragContext\&'s \fBXmNdragOperations\fP resource\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is not over an active drop site when the drop begins and
Packit b099d7
if the user does select an operation, the toolkit initializes
Packit b099d7
\fIoperations\fP to the bitwise AND of the corresponding operation and
Packit b099d7
the value of the DragContext\&'s \fBXmNdragOperations\fP resource\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fBdropSiteStatus\fP" 10
Packit b099d7
Indicates whether or not a drop site is valid\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fBdropSiteStatus\fP to the value of the
Packit b099d7
\fBdropSiteStatus\fP member of the \fBXmDropProcCallbackStruct\fR at the
Packit b099d7
time the DropSite\&'s \fBXmNdropProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the pointer is not over an active drop site when the drop begins, the
Packit b099d7
toolkit initializes \fBdropSiteStatus\fP to \fBXmNO_DROP_SITE\fP\&.
Packit b099d7
.IP "" 10
Packit b099d7
This field is invalid if the \fBdropAction\fP field is set to
Packit b099d7
\fBXmDROP_CANCEL\fP\&.
Packit b099d7
.IP "\fBdropAction\fP" 10
Packit b099d7
An IN/OUT member that identifies the drop action\&.
Packit b099d7
The values are \fBXmDROP\fP, \fBXmDROP_CANCEL\fP, \fBXmDROP_HELP\fP,
Packit b099d7
and \fBXmDROP_INTERRUPT\fP\&. The value of \fBdropAction\fP can be
Packit b099d7
modified to change the action actually initiated\&.
Packit b099d7
The value \fBXmDROP_INTERRUPT\fP is currently unsupported; if
Packit b099d7
specified, it will be interpreted as an \fBXmDROP_CANCEL\fP\&.
Packit b099d7
.IP "\fIx\fP" 10
Packit b099d7
Indicates the x-coordinate of the pointer in root window coordinates\&.
Packit b099d7
.IP "\fIy\fP" 10
Packit b099d7
Indicates the y-coordinate of the pointer in root window coordinates\&.
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed to the
Packit b099d7
\fBXmNoperationChangedCallback\fP callback:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent  *\fIevent\fP;
Packit b099d7
        Time \fItimeStamp\fP;
Packit b099d7
        unsigned char \fIoperation\fP;
Packit b099d7
        unsigned char \fIoperations\fP;
Packit b099d7
        unsigned char \fIdropSiteStatus\fP;
Packit b099d7
}XmOperationChangedCallbackStruct, *XmOperationChangedCallback;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked\&.
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered the callback\&.
Packit b099d7
.IP "\fBtimeStamp\fP" 10
Packit b099d7
Specifies the time at which the crossing event occurred\&.
Packit b099d7
.IP "\fIoperation\fP" 10
Packit b099d7
Identifies an operation\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has just called a DropSite\&'s \fBXmNdragProc\fP, the
Packit b099d7
toolkit initializes \fIoperation\fP to the value of the \fIoperation\fP
Packit b099d7
member of the \fBXmDragProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdragProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP, and the pointer is
Packit b099d7
within an active drop site, the toolkit initializes \fIoperation\fP by
Packit b099d7
selecting an operation from the bitwise AND of the initial value of the
Packit b099d7
\fIoperations\fP member and the value of the DropSite\&'s
Packit b099d7
\fBXmNdropSiteOperations\fP resource\&.
Packit b099d7
The toolkit searches this set first for \fBXmDROP_MOVE\fP, then for
Packit b099d7
\fBXmDROP_COPY\fP, then for \fBXmDROP_LINK\fP, and initializes
Packit b099d7
\fIoperation\fP to the first operation it finds in the set\&.
Packit b099d7
If the toolkit finds none of these operations in the set, it initializes
Packit b099d7
\fIoperation\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP, and the pointer is
Packit b099d7
not within an active drop site, the toolkit initializes \fIoperation\fP
Packit b099d7
by selecting an operation from the initial value of the \fIoperations\fP
Packit b099d7
member\&.
Packit b099d7
The toolkit searches this set first for \fBXmDROP_MOVE\fP, then for
Packit b099d7
\fBXmDROP_COPY\fP, then for \fBXmDROP_LINK\fP, and initializes
Packit b099d7
\fIoperation\fP to the first operation it finds in the set\&.
Packit b099d7
If the toolkit finds none of these operations in the set, it initializes
Packit b099d7
\fIoperation\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fIoperations\fP" 10
Packit b099d7
Indicates the set of operations supported for the source data\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has just called a DropSite\&'s \fBXmNdragProc\fP, the
Packit b099d7
toolkit initializes \fIoperations\fP to the bitwise AND of the
Packit b099d7
DropSite\&'s \fBXmNdropOperations\fP and the value of the \fIoperations\fP
Packit b099d7
member of the \fBXmDragProcCallbackStruct\fR at the time the DropSite\&'s
Packit b099d7
\fBXmNdragProc\fP returns\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP, and the user does not
Packit b099d7
select an operation (by pressing a modifier key), the toolkit
Packit b099d7
initializes \fIoperations\fP to the value of the DragContext\&'s
Packit b099d7
\fBXmNdragOperations\fP resource\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP, and the user does
Packit b099d7
select an operation, the toolkit initializes \fIoperations\fP to the
Packit b099d7
bitwise AND of the corresponding operation and the value of the
Packit b099d7
DragContext\&'s \fBXmNdragOperations\fP resource\&.
Packit b099d7
If the resulting set of operations is empty, the toolkit initializes
Packit b099d7
\fIoperations\fP to \fBXmDROP_NOOP\fP\&.
Packit b099d7
.IP "\fBdropSiteStatus\fP" 10
Packit b099d7
Indicates whether or not a drop site is valid\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has just called a DropSite\&'s \fBXmNdragProc\fP, the
Packit b099d7
toolkit initializes \fBdropSiteStatus\fP to the value of the
Packit b099d7
\fBdropSiteStatus\fP member of the \fBXmDragProcCallbackStruct\fR at the
Packit b099d7
time the DropSite\&'s \fBXmNdragProc\fP returns\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the toolkit has not called an \fBXmNdragProc\fP it initializes
Packit b099d7
\fBdropSiteStatus\fP to \fBXmNO_DROP_SITE\fP if
Packit b099d7
the pointer is over an inactive drop site or is not over a drop site\&.
Packit b099d7
The toolkit initializes \fBdropSiteStatus\fP to \fBXmDROP_SITE_VALID\fP
Packit b099d7
if all the following conditions are met:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The pointer is over an active drop site
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The DragContext\&'s \fBXmNexportTargets\fP and the DropSite\&'s
Packit b099d7
\fBXmNimportTargets\fP are compatible
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The initial value of the \fIoperation\fP member is not
Packit b099d7
\fBXmDROP_NOOP\fP
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
Otherwise, the toolkit initializes \fBdropSiteStatus\fP to
Packit b099d7
\fBXmDROP_SITE_INVALID\fP\&.
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed to callbacks for
Packit b099d7
\fBXmNtopLevelEnterCallback\fP:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent *\fIevent\fP;
Packit b099d7
        Time \fItimeStamp\fP;
Packit b099d7
        Screen \fIscreen\fP;
Packit b099d7
        Window \fIwindow\fP;
Packit b099d7
        Position \fIx\fP;
Packit b099d7
        Position \fIy\fP;
Packit b099d7
        unsigned char \fIdragProtocolStyle\fP;
Packit b099d7
}XmTopLevelEnterCallbackStruct, *XmTopLevelEnterCallback;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked\&.
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered the callback\&.
Packit b099d7
.IP "\fBtimeStamp\fP" 10
Packit b099d7
Specifies the timestamp of the logical event\&.
Packit b099d7
.IP "\fIscreen\fP" 10
Packit b099d7
Specifies the screen associated with the top-level window or root
Packit b099d7
window being entered\&.
Packit b099d7
.IP "\fIwindow\fP" 10
Packit b099d7
Specifies the ID of the top-level window or root window being entered\&.
Packit b099d7
.IP "\fIx\fP" 10
Packit b099d7
Indicates the x-coordinate of the pointer in root window coordinates\&.
Packit b099d7
.IP "\fIy\fP" 10
Packit b099d7
Indicates the y-coordinate of the pointer in root window coordinates\&.
Packit b099d7
.IP "\fBdragProtocolStyle\fP" 10
Packit b099d7
Specifies the protocol style adopted by the initiator\&. The values
Packit b099d7
are \fBXmDRAG_DROP_ONLY\fP, \fBXmDRAG_DYNAMIC\fP, \fBXmDRAG_NONE\fP,
Packit b099d7
and \fBXmDRAG_PREREGISTER\fP\&.
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed to callbacks for
Packit b099d7
\fBXmNtopLevelLeaveCallback\fP:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent  *\fIevent\fP;
Packit b099d7
        Time \fItimeStamp\fP;
Packit b099d7
        Screen \fIscreen\fP;
Packit b099d7
        Window \fIwindow\fP;
Packit b099d7
}XmTopLevelLeaveCallbackStruct, *XmTopLevelLeaveCallback;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered the callback
Packit b099d7
.IP "\fBtimeStamp\fP" 10
Packit b099d7
Specifies the timestamp of the logical event
Packit b099d7
.IP "\fIscreen\fP" 10
Packit b099d7
Specifies a screen associated with the top-level window or root
Packit b099d7
window being left
Packit b099d7
.IP "\fIwindow\fP" 10
Packit b099d7
Specifies the ID of the top-level window or root window being left
Packit b099d7
.PP
Packit b099d7
.SS "Translations"
Packit b099d7
.PP
Packit b099d7
The XmDragContext translations are described in the following list\&.
Packit b099d7
The following key names are listed in the
Packit b099d7
X standard key event translation table syntax\&.
Packit b099d7
This format is the one used by Motif to
Packit b099d7
specify the widget actions corresponding to a given key\&.
Packit b099d7
A brief overview of the format is provided under
Packit b099d7
\fBVirtualBindings\fP(3)\&.
Packit b099d7
For a complete description of the format, please refer to the
Packit b099d7
X Toolkit Instrinsics Documentation\&.
Packit b099d7
.IP "\fBButton1<Enter>\fP:" 10
Packit b099d7
DragMotion()
Packit b099d7
.IP "\fBButton1<Leave>\fP:" 10
Packit b099d7
DragMotion()
Packit b099d7
.IP "\fBButton1<Motion>\fP:" 10
Packit b099d7
DragMotion()
Packit b099d7
.IP "\fBButton2<Enter>\fP:" 10
Packit b099d7
DragMotion()
Packit b099d7
.IP "\fBButton2<Leave>\fP:" 10
Packit b099d7
DragMotion()
Packit b099d7
.IP "\fBButton2<Motion>\fP:" 10
Packit b099d7
DragMotion()
Packit b099d7
.IP "\fB<Btn2Up>\fP:" 10
Packit b099d7
FinishDrag()
Packit b099d7
.IP "\fB<Btn1Up>\fP:" 10
Packit b099d7
FinishDrag()
Packit b099d7
.IP "\fB<Key>\fP\fBReturn\fP:" 10
Packit b099d7
FinishDrag()
Packit b099d7
.IP "\fB<Key>\fP\fB<osfActivate>\fP:" 10
Packit b099d7
FinishDrag()
Packit b099d7
.IP "\fB<BtnDown>\fP:" 10
Packit b099d7
IgnoreButtons()
Packit b099d7
.IP "\fB<BtnUp>\fP:" 10
Packit b099d7
IgnoreButtons()
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfCancel>\fP:" 10
Packit b099d7
CancelDrag()
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfHelp>\fP:" 10
Packit b099d7
HelpDrag()
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfUp>\fP:" 10
Packit b099d7
DragKey(\fBUp\fP)
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfDown>\fP:" 10
Packit b099d7
DragKey(\fBDown\fP)
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfLeft>\fP:" 10
Packit b099d7
DragKey(\fBLeft\fP)
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfRight>\fP:" 10
Packit b099d7
DragKey(\fBRight\fP)
Packit b099d7
.IP "\fB:<KeyUp>\fP:" 10
Packit b099d7
DragKey(\fBUpdate\fP)
Packit b099d7
.IP "\fB:<KeyDown>\fP:" 10
Packit b099d7
DragKey(\fBUpdate\fP)
Packit b099d7
.SS "Action Routines"
Packit b099d7
.PP
Packit b099d7
The XmDragContext action routines are
Packit b099d7
.IP "CancelDrag():" 10
Packit b099d7
Cancels the drag operation and frees the associated
Packit b099d7
DragContext\&.
Packit b099d7
.IP "DragKey(\fBString\fR\fB)\fP" 10
Packit b099d7
If the value of \fBString\fR is \fBLeft\fP, \fBRight\fP, \fBUp\fP, or
Packit b099d7
\fBDown\fP, this action
Packit b099d7
moves the dragged object in the corresponding location\&. Any other values of
Packit b099d7
\fBString\fR are ignored\&.
Packit b099d7
.IP "DragMotion():" 10
Packit b099d7
Drags the selected data as the pointer is moved\&.
Packit b099d7
.IP "FinishDrag():" 10
Packit b099d7
Finishes the drag operation and starts the drop operation\&.
Packit b099d7
.IP "HelpDrag():" 10
Packit b099d7
Initiates a conditional drop that enables the receiver to provide
Packit b099d7
help information to the user\&. The user can cancel or continue the
Packit b099d7
drop operation in response to this information\&.
Packit b099d7
.SS "Virtual Bindings"
Packit b099d7
.PP
Packit b099d7
The bindings for virtual keys are vendor specific\&.
Packit b099d7
For information about bindings for virtual buttons and keys,
Packit b099d7
see \fBVirtualBindings\fP(3)\&.
Packit b099d7
.SH "RELATED INFORMATION"
Packit b099d7
.PP
Packit b099d7
\fBCore\fP(3),
Packit b099d7
\fBXmDisplay\fP(3),
Packit b099d7
\fBXmDragCancel\fP(3),
Packit b099d7
\fBXmDragIcon\fP(3),
Packit b099d7
\fBXmDragStart\fP(3),
Packit b099d7
\fBXmDropSite\fP(3),
Packit b099d7
\fBXmDropTransfer\fP(3), and
Packit b099d7
\fBXmScreen\fP(3)\&.
Packit b099d7
...\" created by instant / docbook-to-man, Sun 22 Dec 1996, 20:22