Provided by: libmotif-dev_2.3.4-5ubuntu0.1_amd64 

NAME
XmDragContext — The DragContext widget class "XmDragContext" "widget class" "DragContext"
SYNOPSIS
#include <Xm/DragDrop.h>
DESCRIPTION
DragContexts are special widgets used in drag and drop transactions. A DragContext is implemented as a
widget, but a client does not explicitly create a DragContext widget. Instead, a client initiates a drag
and drop transaction by calling XmDragStart, and this routine initializes and returns a DragContext
widget. There is a unique DragContext for each drag operation. The toolkit frees a DragContext when a
transaction is complete; therefore, an application programmer should not explicitly destroy a
DragContext.
Initiator and receiver clients both use DragContexts to track the state of a transaction. When the
initiator and receiver of a transaction are in the same client, they share the same DragContext instance.
If they are in different clients, there are two separate DragContexts. In this case, the initiator calls
XmDragStart and the toolkit provides a DragContext for the receiver client. The only resources pertinent
to the receiver are XmNexportTargets and XmNnumExportTargets. These can both be passed as arguments to
the XmDropSiteRetrieve function to obtain information about the current drop site.
In general, in order to receive data, a drop site must share at least one target type and operation in
common with a drag source. The DragContext resource, XmNexportTargets, identifies the selection targets
for the drag source. These export targets are compared with the XmNimportTargets resource list specified
by a drop site. The DragContext resource, XmNdragOperations, identifies the valid operations that can be
applied to the source data by the initiator. The drop site counterpart resource is XmNdropSiteOperations,
which indicates a drop site's supported operations.
A client uses DragIcon widgets to define the drag-over animation effects associated with a given drag and
drop transaction. An initiator specifies a set of drag icons, selects a blending model, and sets
foreground and background cursor colors with DragContext resources.
The type of drag-over visual used to represent a drag operation depends on the drag protocol style. In
preregister mode, the server is grabbed, and either a cursor or a pixmap may be used as a drag-over
visual. In dynamic mode, drag-over visuals must be implemented with the X cursor. If the resulting drag
protocol style is Drop Only or None and the XmNdragInitiatorProtocolStyle is XmDRAG_DYNAMIC or
XmDRAG_PREFER_DYNAMIC, then a dynamic visual style (cursor) is used. Otherwise, a preregister visual
style is used.
Classes
DragContext inherits behavior and resources from Core.
The class pointer is xmDragContextClass.
The class name is XmDragContext.
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).
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
--
RELATED INFORMATION
Core(3), XmDisplay(3), XmDragCancel(3), XmDragIcon(3), XmDragStart(3), XmDropSite(3), XmDropTransfer(3),
and XmScreen(3).
XmDragContext(3)