|
Eclipse Platform 2.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eclipse.swt.dnd.Transfer | +--org.eclipse.swt.dnd.ByteArrayTransfer | +--org.eclipse.ui.part.EditorInputTransfer
The 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 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}; } }
StructuredViewer
,
DropTarget
,
DragSource
,
IEditorInput
,
IPersistableElement
,
IElementFactory
Inner Class Summary | |
static class |
EditorInputTransfer.EditorInputData
|
Method Summary | |
static EditorInputTransfer.EditorInputData |
createEditorInputData(String editorId,
IEditorInput input)
|
static EditorInputTransfer |
getInstance()
Returns the singleton instance. |
protected int[] |
getTypeIds()
Returns the platform specfic ids of the data types that can be converted using this transfer agent. |
protected String[] |
getTypeNames()
Returns the platform specfic names of the data types that can be converted using this transfer agent. |
void |
javaToNative(Object data,
TransferData transferData)
This implementation of javaToNative converts a java
byte[] to a platform specific representation. |
Object |
nativeToJava(TransferData transferData)
This implementation of nativeToJava converts a platform specific
representation of a byte array to a java byte[] . |
Methods inherited from class org.eclipse.swt.dnd.ByteArrayTransfer |
getSupportedTypes, isSupportedType |
Methods inherited from class org.eclipse.swt.dnd.Transfer |
registerType |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
public static EditorInputTransfer getInstance()
protected int[] getTypeIds()
Transfer
getTypeIds
in class Transfer
org.eclipse.swt.dnd.Transfer
protected String[] getTypeNames()
Transfer
getTypeNames
in class Transfer
org.eclipse.swt.dnd.Transfer
public void javaToNative(Object data, TransferData transferData)
ByteArrayTransfer
javaToNative
converts a java
byte[]
to a platform specific representation. For additional
information see Transfer#javaToNative
.javaToNative
in class ByteArrayTransfer
org.eclipse.swt.dnd.ByteArrayTransfer
object
- a java byte[]
containing the data to be convertedtransferData
- an empty TransferData
object; this
object will be filled in on return with the platform specific format of the dataTransfer.javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData)
public Object nativeToJava(TransferData transferData)
ByteArrayTransfer
nativeToJava
converts a platform specific
representation of a byte array to a java byte[]
.
For additional information see Transfer#nativeToJava
.nativeToJava
in class ByteArrayTransfer
org.eclipse.swt.dnd.ByteArrayTransfer
transferData
- the platform specific representation of the data to be
been convertedbyte[]
containing the converted data if the
conversion was successful; otherwise nullTransfer.nativeToJava(org.eclipse.swt.dnd.TransferData)
public static EditorInputTransfer.EditorInputData createEditorInputData(String editorId, IEditorInput input)
|
Eclipse Platform 2.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |