Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.ui.part
Class EditorInputTransfer


java.lang.Object
  extended by 

org.eclipse.swt.dnd.Transfer
      extended by 

org.eclipse.swt.dnd.ByteArrayTransfer
          extended by 
org.eclipse.ui.part.EditorInputTransfer

public class EditorInputTransfer
extends ByteArrayTransfer

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 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};
                }
 }
 

See Also:
StructuredViewer, DropTarget, DragSource, IEditorInput, IPersistableElement, IElementFactory

Nested 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 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.
 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, validate
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static 
EditorInputTransfer 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 class Transfer
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: Transfer
Returns the platform specific names of the data types that can be converted using this transfer agent.

Specified by:
getTypeNames in class Transfer
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: ByteArrayTransfer
This implementation of javaToNative converts a java byte[] to a platform specific representation.

Overrides:
javaToNative in class ByteArrayTransfer
Parameters:
data - a java byte[] containing the data to be converted
transferData - an empty TransferData object 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: ByteArrayTransfer
This implementation of nativeToJava converts a platform specific representation of a byte array to a java byte[].

Overrides:
nativeToJava in class ByteArrayTransfer
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)

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire