Class 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
    • 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.