gdk-Drag-and-Drop {RGtk2} | R Documentation

## Drag and Drop

### Description

Functions for controlling drag and drop handling

### Methods and Functions

`gdkDragGetSelection(object)`
`gdkDragAbort(object, time)`
`gdkDropReply(object, ok, time = "GDK_CURRENT_TIME")`
`gdkDragContextNew()`
`gdkDragDrop(object, time)`
`gdkDragFindWindow(object, drag.window, x.root, y.root)`
`gdkDragFindWindowForScreen(object, drag.window, screen, x.root, y.root)`
`gdkDragBegin(object, targets)`
`gdkDragMotion(object, dest.window, protocol, x.root, y.root, suggested.action, possible.actions, time)`
`gdkDropFinish(object, success, time = "GDK_CURRENT_TIME")`
`gdkDragGetProtocol(xid)`
`gdkDragGetProtocolForDisplay(display, xid)`
`gdkDragStatus(object, action, time = "GDK_CURRENT_TIME")`
`gdkDragDropSucceeded(object)`
`gdkDragContext()`

### Detailed Description

These functions provide a low level interface for drag and drop. The X backend of GDK supports both the Xdnd and Motif drag and drop protocols transparently, the Win32 backend supports the WM_DROPFILES protocol.

GTK+ provides a higher level abstraction based on top of these functions, and so they are not normally needed in GTK+ applications. See the Drag and Drop section of the GTK+ documentation for more information.

### Structures

`GdkDragContext`

  A `GdkDragContext` holds information about a drag in progress. It is used on both source and destination sides.

  `protocol`

    [`GdkDragProtocol`] the parent instance

  `isSource`

    [logical] the DND protocol which governs this drag.

  `sourceWindow`

    [`GdkWindow`] `TRUE` if the context is used on the source side.

  `destWindow`

    [`GdkWindow`] the source of this drag.

  `targets`

    [list] the destination window of this drag.

  `actions`

    [`GdkDragAction`] a list of targets offered by the source.

  `suggestedAction`

    [`GdkDragAction`] a bitmask of actions proposed by the source when `suggested.action` is `GDK_ACTION_ASK`.

  `action`

    [`GdkDragAction`] the action suggested by the source.

  `startTime`

    [numeric] the action chosen by the destination.

### Convenient Construction

`gdkDragContext` is the equivalent of `gdkDragContextNew`.

### Enums and Flags

`GdkDragProtocol`

  Used in `GdkDragContext` to indicate the protocol according to which DND is done.

  `motif`

    The Motif DND protocol.

  `xdnd`

    The Xdnd protocol.

  `rootwin`

    An extension to the Xdnd protocol for unclaimed root window drops.

  `none`

    no protocol.

  `win32-dropfiles`

    The simple WM_DROPFILES protocol.

  `ole2`

    The complex OLE2 DND protocol (not implemented).

  `local`

    Intra-application DND.

`GdkDragAction`

  Used in `GdkDragContext` to indicate what the destination should do with the dropped data.

  `default`

    Means nothing, and should not be used.

  `copy`

    Copy the data.

  `move`

    Move the data, i.e. first copy it, then delete it from the source using the DELETE target of the X selection protocol.

  `link`

    Add a link to the data. Note that this is only useful if source and destination agree on what it means.

  `private`

    Special action which tells the source that the destination will do something that the source doesn't understand.

  `ask`

    Ask the user what to do with the data.

### Author(s)

Derived by RGtkGen from GTK+ documentation

### References

https://developer.gnome.org/gdk2/stable/gdk2-Drag-and-Drop.html

[Package RGtk2 version 2.20.36.3 Index]