Package org.eclipse.swt.dnd

# Class DND

java.lang.Object
org.eclipse.swt.dnd.DND

public class DND extends Object
Class DND contains all the constants used in defining a DragSource or a DropTarget.

Since:
  1.3

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`CLIPBOARD`
The transfer mechanism for data that is being cut and then pasted or copied and then pasted (value is 1).
`static final String`
`DRAG_SOURCE_KEY`
DragSource Key: The string constant for looking up the drag source for a control using `getData(String)`.
`static final int`
`DragEnd`
DragSource Event: the drop has successfully completed or has been terminated (such as hitting the ESC key); perform cleanup such as removing data on a move operation (value is 2000).
`static final int`
`DragEnter`
DropTarget Event: the cursor has entered the drop target boundaries (value is 2002).
`static final int`
`DragLeave`
DropTarget Event: the cursor has left the drop target boundaries OR the drop operation has been cancelled (such as by hitting ECS) OR the drop is about to happen (user has released the mouse button over this target) (value is 2003).
`static final int`
`DragOperationChanged`
DropTarget Event: the operation being performed has changed usually due to the user changing the selected modifier keys while dragging (value is 2005).
`static final int`
`DragOver`
DropTarget Event: the cursor is over the drop target (value is 2004).
`static final int`
`DragSetData`
DragSource Event: the data to be dropped is required from the drag source (value is 2001).
`static final int`
`DragStart`
DragSource Event: a drag is about to begin (value is 2008).
`static final int`
`Drop`
DropTarget Event: the data has been dropped (value is 2006).
`static final int`
`DROP_COPY`
Drag and Drop Operation: a copy of the data in the drag source is added to the drop target (value is 1 << 0).
`static final int`
`DROP_DEFAULT`
Drag and Drop Operation: During a dragEnter event or a dragOperationChanged, if no modifier keys are pressed, the operation is set to DROP_DEFAULT.
`static final int`
`DROP_LINK`
Drag and Drop Operation: the drop target makes a link to the data in the drag source (value is 1 << 2).
`static final int`
`DROP_MOVE`
Drag and Drop Operation: a copy of the data is added to the drop target and the original data is removed from the drag source (value is 1 << 1).
`static final int`
`DROP_NONE`
Drag and Drop Operation: no drag/drop operation performed (value is 0).
`static final String`
`DROP_TARGET_KEY`
DropTarget Key: The string constant for looking up the drop target for a control using `getData(String)`.
`static final int`
`DROP_TARGET_MOVE`
Drag and Drop Operation: the drop target moves the data and the drag source removes any references to the data and updates its display.
`static final int`
`DropAccept`
DropTarget Event: the drop target is given a last chance to modify the drop (value is 2007).
`static final int`
`ERROR_CANNOT_INIT_DRAG`
Error code: drag source can not be initialized (value is 2000).
`static final int`
`ERROR_CANNOT_INIT_DROP`
Error code: drop target cannot be initialized (value is 2001).
`static final int`
`ERROR_CANNOT_SET_CLIPBOARD`
Error code: Data can not be set on system clipboard (value is 2002).
`static final int`
`ERROR_INVALID_DATA`
Error code: Data does not have correct format for type (value is 2003).
`static final int`
`FEEDBACK_EXPAND`
DropTarget drag under effect: The item currently under the cursor is expanded to allow the user to select a drop target from a sub item; applies to trees (value is 16).
`static final int`
`FEEDBACK_INSERT_AFTER`
DropTarget drag under effect:An insertion mark is shown after the item under the cursor; applies to tables and trees (value is 4).
`static final int`
`FEEDBACK_INSERT_BEFORE`
DropTarget drag under effect: An insertion mark is shown before the item under the cursor; applies to tables and trees (value is 2).
`static final int`
`FEEDBACK_NONE`
DropTarget drag under effect: No effect is shown (value is 0).
`static final int`
`FEEDBACK_SCROLL`
DropTarget drag under effect: The widget is scrolled up or down to allow the user to drop on items that are not currently visible; applies to tables and trees (value is 8).
`static final int`
`FEEDBACK_SELECT`
DropTarget drag under effect: The item under the cursor is selected; applies to tables and trees (value is 1).
`static final int`
`SELECTION_CLIPBOARD`
The transfer mechanism for clients that use the selection mechanism (value is 2).

## Constructor Summary

Constructors
Constructor
Description
`DND()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`error(int code)`
Throws an appropriate exception based on the passed in error code.
`static void`
`error(int code, int hresult)`
Throws an appropriate exception based on the passed in error code.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### CLIPBOARD

public static final int CLIPBOARD
The transfer mechanism for data that is being cut and then pasted or copied and then pasted (value is 1).

See Also:
  - `Clipboard`
  - Constant Field Values

### SELECTION_CLIPBOARD

public static final int SELECTION_CLIPBOARD
The transfer mechanism for clients that use the selection mechanism (value is 2).

See Also:
  - `Clipboard`
  - Constant Field Values

### DROP_NONE

public static final int DROP_NONE
Drag and Drop Operation: no drag/drop operation performed (value is 0).

See Also:
  - Constant Field Values

### DROP_COPY

public static final int DROP_COPY
Drag and Drop Operation: a copy of the data in the drag source is added to the drop target (value is 1 << 0).

See Also:
  - Constant Field Values

### DROP_MOVE

public static final int DROP_MOVE
Drag and Drop Operation: a copy of the data is added to the drop target and the original data is removed from the drag source (value is 1 << 1).

See Also:
  - Constant Field Values

### DROP_LINK

public static final int DROP_LINK
Drag and Drop Operation: the drop target makes a link to the data in the drag source (value is 1 << 2).

See Also:
  - Constant Field Values

### DROP_TARGET_MOVE

public static final int DROP_TARGET_MOVE
Drag and Drop Operation: the drop target moves the data and the drag source removes any references to the data and updates its display. This is not available on all platforms and is only used when a non-SWT application is the drop target. In this case, the SWT drag source is informed in the dragFinished event that the drop target has moved the data. (value is 1 << 3).

See Also:
  - `DragSourceListener.dragFinished(org.eclipse.swt.dnd.DragSourceEvent)`
  - Constant Field Values

### DROP_DEFAULT

public static final int DROP_DEFAULT
Drag and Drop Operation: During a dragEnter event or a dragOperationChanged, if no modifier keys are pressed, the operation is set to DROP_DEFAULT. The application can choose what the default operation should be by setting a new value in the operation field. If no value is choosen, the default operation for the platform will be selected (value is 1 << 4).

See Also:
  - `DropTargetListener.dragEnter(org.eclipse.swt.dnd.DropTargetEvent)`
  - `DropTargetListener.dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent)`
  - Constant Field Values

### DragEnd

public static final int DragEnd
DragSource Event: the drop has successfully completed or has been terminated (such as hitting the ESC key); perform cleanup such as removing data on a move operation (value is 2000).

See Also:
  - Constant Field Values

### DragSetData

public static final int DragSetData
DragSource Event: the data to be dropped is required from the drag source (value is 2001).

See Also:
  - Constant Field Values

### DragEnter

public static final int DragEnter
DropTarget Event: the cursor has entered the drop target boundaries (value is 2002).

See Also:
  - Constant Field Values

### DragLeave

public static final int DragLeave
DropTarget Event: the cursor has left the drop target boundaries OR the drop operation has been cancelled (such as by hitting ECS) OR the drop is about to happen (user has released the mouse button over this target) (value is 2003).

See Also:
  - Constant Field Values

### DragOver

public static final int DragOver
DropTarget Event: the cursor is over the drop target (value is 2004).

See Also:
  - Constant Field Values

### DragOperationChanged

public static final int DragOperationChanged
DropTarget Event: the operation being performed has changed usually due to the user changing the selected modifier keys while dragging (value is 2005).

See Also:
  - Constant Field Values

### Drop

public static final int Drop
DropTarget Event: the data has been dropped (value is 2006).

See Also:
  - Constant Field Values

### DropAccept

public static final int DropAccept
DropTarget Event: the drop target is given a last chance to modify the drop (value is 2007).

See Also:
  - Constant Field Values

### DragStart

public static final int DragStart
DragSource Event: a drag is about to begin (value is 2008).

See Also:
  - Constant Field Values

### FEEDBACK_NONE

public static final int FEEDBACK_NONE
DropTarget drag under effect: No effect is shown (value is 0).

See Also:
  - Constant Field Values

### FEEDBACK_SELECT

public static final int FEEDBACK_SELECT
DropTarget drag under effect: The item under the cursor is selected; applies to tables and trees (value is 1).

See Also:
  - Constant Field Values

### FEEDBACK_INSERT_BEFORE

public static final int FEEDBACK_INSERT_BEFORE
DropTarget drag under effect: An insertion mark is shown before the item under the cursor; applies to tables and trees (value is 2).

See Also:
  - Constant Field Values

### FEEDBACK_INSERT_AFTER

public static final int FEEDBACK_INSERT_AFTER
DropTarget drag under effect:An insertion mark is shown after the item under the cursor; applies to tables and trees (value is 4).

See Also:
  - Constant Field Values

### FEEDBACK_SCROLL

public static final int FEEDBACK_SCROLL
DropTarget drag under effect: The widget is scrolled up or down to allow the user to drop on items that are not currently visible; applies to tables and trees (value is 8).

See Also:
  - Constant Field Values

### FEEDBACK_EXPAND

public static final int FEEDBACK_EXPAND
DropTarget drag under effect: The item currently under the cursor is expanded to allow the user to select a drop target from a sub item; applies to trees (value is 16).

See Also:
  - Constant Field Values

### ERROR_CANNOT_INIT_DRAG

public static final int ERROR_CANNOT_INIT_DRAG
Error code: drag source can not be initialized (value is 2000).

See Also:
  - Constant Field Values

### ERROR_CANNOT_INIT_DROP

public static final int ERROR_CANNOT_INIT_DROP
Error code: drop target cannot be initialized (value is 2001).

See Also:
  - Constant Field Values

### ERROR_CANNOT_SET_CLIPBOARD

public static final int ERROR_CANNOT_SET_CLIPBOARD
Error code: Data can not be set on system clipboard (value is 2002).

See Also:
  - Constant Field Values

### ERROR_INVALID_DATA

public static final int ERROR_INVALID_DATA
Error code: Data does not have correct format for type (value is 2003).

See Also:
  - Constant Field Values

### DROP_TARGET_KEY

public static final String DROP_TARGET_KEY
DropTarget Key: The string constant for looking up the drop target for a control using `getData(String)`. When a drop target is created for a control, it is stored as a property in the control using `setData(String, Object)`.

See Also:
  - Constant Field Values

### DRAG_SOURCE_KEY

public static final String DRAG_SOURCE_KEY
DragSource Key: The string constant for looking up the drag source for a control using `getData(String)`. When a drag source is created for a control, it is stored as a property in the control using `setData(String, Object)`.

See Also:
  - Constant Field Values

## Constructor Details

### DND

public DND()

## Method Details

### error

public static void error(int code)
Throws an appropriate exception based on the passed in error code.

Parameters:
  `code` - the DND error code

### error

public static void error(int code, int hresult)
Throws an appropriate exception based on the passed in error code. The `hresult` argument should be either 0, or the platform specific error code.

In DND, errors are reported by throwing one of three exceptions:

  java.lang.IllegalArgumentException
thrown whenever one of the API methods is invoked with an illegal argument
  org.eclipse.swt.SWTException (extends java.lang.RuntimeException)
thrown whenever a recoverable error happens internally in SWT
  org.eclipse.swt.SWTError (extends java.lang.Error)
thrown whenever a non-recoverable error happens internally in SWT

This method provides the logic which maps between error codes and one of the above exceptions.

Parameters:
  `code` - the DND error code.
  `hresult` - the platform specific error code.
See Also:
  - `SWTError`
  - `SWTException`
  - `IllegalArgumentException`