Provided by: libmotif-dev_2.3.8-2build1_amd64 bug

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)