Class EditorInputTransfer
- java.lang.Object
-
- org.eclipse.swt.dnd.Transfer
-
- org.eclipse.swt.dnd.ByteArrayTransfer
-
- org.eclipse.ui.part.EditorInputTransfer
-
public class EditorInputTransfer extends ByteArrayTransfer
TheEditorInputTransferclass is used to transfer anIEditorInputand 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
DragSourceand aDropTarget. When a drag occurs aTransferis used to marshall the drag data from the source into a byte array. If a drop occurs anotherTransferis used to marshall the byte array into drop data for the target.This class can be used for a
Vieweror an SWT component directly. A singleton is provided which may be serially reused (seegetInstance). For an implementor ofIEditorInputto be supported byEditorInputTransfer, it must provide a proper implementation ofIEditorInput.getPersistable. For further details, consult theorg.eclipse.ui.elementFactoriesextension point.The data for a transfer is represented by the
EditorInputDataclass, and a convenience methodcreateEditorInputDatais provided. ADragSource.dragSetDataimplementation should set the data to an array ofEditorInputData. 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
Nested Classes Modifier and Type Class Description static classEditorInputTransfer.EditorInputData
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static EditorInputTransfer.EditorInputDatacreateEditorInputData(String editorId, IEditorInput input)static EditorInputTransfergetInstance()Returns the singleton instance.protected int[]getTypeIds()Returns the platform specific ids of the data types that can be converted using this transfer agent.protected String[]getTypeNames()Returns the platform specific names of the data types that can be converted using this transfer agent.voidjavaToNative(Object data, TransferData transferData)This implementation ofjavaToNativeconverts a javabyte[]to a platform specific representation.ObjectnativeToJava(TransferData transferData)This implementation ofnativeToJavaconverts 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 Detail
-
getInstance
public static EditorInputTransfer getInstance()
Returns the singleton instance.- Returns:
- the singleton instance
-
getTypeIds
protected int[] getTypeIds()
Description copied from class:TransferReturns the platform specific ids of the data types that can be converted using this transfer agent.- Specified by:
getTypeIdsin classTransfer- Returns:
- the platform specific ids of the data types that can be converted using this transfer agent
-
getTypeNames
protected String[] getTypeNames()
Description copied from class:TransferReturns the platform specific names of the data types that can be converted using this transfer agent.- Specified by:
getTypeNamesin classTransfer- Returns:
- the platform specific names of the data types that can be converted using this transfer agent.
-
javaToNative
public void javaToNative(Object data, TransferData transferData)
Description copied from class:ByteArrayTransferThis implementation ofjavaToNativeconverts a javabyte[]to a platform specific representation.- Overrides:
javaToNativein classByteArrayTransfer- Parameters:
data- a javabyte[]containing the data to be convertedtransferData- an emptyTransferDataobject that will be filled in on return with the platform specific format of the data- See Also:
Transfer.nativeToJava(org.eclipse.swt.dnd.TransferData)
-
nativeToJava
public Object nativeToJava(TransferData transferData)
Description copied from class:ByteArrayTransferThis implementation ofnativeToJavaconverts a platform specific representation of a byte array to a javabyte[].- Overrides:
nativeToJavain 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:
Transfer.javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData)
-
createEditorInputData
public static EditorInputTransfer.EditorInputData createEditorInputData(String editorId, IEditorInput input)
-
-