Class EditorInputTransfer
EditorInputTransfer
class is used to transfer an
IEditorInput
and corresponding editorId from one part to another
in a drag and drop operation. Only opening of internal editors is supported.
In every drag and drop operation there is a DragSource
and a
DropTarget
. When a drag occurs a Transfer
is used
to marshall the drag data from the source into a byte array. If a drop occurs
another Transfer
is used to marshall the byte array into drop
data for the target.
This class can be used for a Viewer
or an SWT component
directly. A singleton is provided which may be serially reused (see
getInstance
). For an implementor of IEditorInput
to
be supported by EditorInputTransfer
, it must provide a proper
implementation of IEditorInput
.getPersistable
. For
further details, consult the org.eclipse.ui.elementFactories
extension point.
The data for a transfer is represented by the EditorInputData
class, and a convenience method createEditorInputData
is
provided. A DragSource
.dragSetData
implementation
should set the data to an array of EditorInputData
. In this way,
the dragging of multiple editor inputs is supported.
Below is an example of how to set the data for dragging a single editor input
using a EditorInputTransfer
.
public void dragSetData(DragSourceEvent event) { if (EditorInputTransfer.getInstance().isSupportedType(event.dataType)) { EditorInputTransfer.EditorInputData data = EditorInputTransfer.createEditorInputData(EDITOR_ID, getEditorInput()); event.data = new EditorInputTransfer.EditorInputData[] { data }; } }
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateEditorInputData
(String editorId, IEditorInput input) static EditorInputTransfer
Returns the singleton instance.protected int[]
Returns the platform specific ids of the data types that can be converted using this transfer agent.protected String[]
Returns the platform specific names of the data types that can be converted using this transfer agent.void
javaToNative
(Object data, TransferData transferData) This implementation ofjavaToNative
converts a javabyte[]
to a platform specific representation.nativeToJava
(TransferData transferData) This implementation ofnativeToJava
converts a platform specific representation of a byte array to a javabyte[]
.Methods inherited from class org.eclipse.swt.dnd.ByteArrayTransfer
getSupportedTypes, isSupportedType
Methods inherited from class org.eclipse.swt.dnd.Transfer
registerType, validate
-
Method Details
-
getInstance
Returns the singleton instance.- Returns:
- the singleton instance
-
getTypeIds
protected int[] getTypeIds()Description copied from class:Transfer
Returns the platform specific ids of the data types that can be converted using this transfer agent.- Specified by:
getTypeIds
in classTransfer
- Returns:
- the platform specific ids of the data types that can be converted using this transfer agent
-
getTypeNames
Description copied from class:Transfer
Returns the platform specific names of the data types that can be converted using this transfer agent.- Specified by:
getTypeNames
in classTransfer
- Returns:
- the platform specific names of the data types that can be converted using this transfer agent.
-
javaToNative
Description copied from class:ByteArrayTransfer
This implementation ofjavaToNative
converts a javabyte[]
to a platform specific representation.- Overrides:
javaToNative
in classByteArrayTransfer
- Parameters:
data
- a javabyte[]
containing the data to be convertedtransferData
- an emptyTransferData
object that will be filled in on return with the platform specific format of the data- See Also:
-
nativeToJava
Description copied from class:ByteArrayTransfer
This implementation ofnativeToJava
converts a platform specific representation of a byte array to a javabyte[]
.- Overrides:
nativeToJava
in classByteArrayTransfer
- Parameters:
transferData
- the platform specific representation of the data to be converted- Returns:
- a java
byte[]
containing the converted data if the conversion was successful; otherwise null - See Also:
-
createEditorInputData
public static EditorInputTransfer.EditorInputData createEditorInputData(String editorId, IEditorInput input)
-