Example usage for org.eclipse.jface.util TransferDragSourceListener TransferDragSourceListener

List of usage examples for org.eclipse.jface.util TransferDragSourceListener TransferDragSourceListener

Introduction

In this page you can find the example usage for org.eclipse.jface.util TransferDragSourceListener TransferDragSourceListener.

Prototype

TransferDragSourceListener

Source Link

Usage

From source file:org.eclipse.team.svn.ui.repository.browser.RepositoryBrowserTableViewer.java

License:Open Source License

public void initialize() {
    RepositoryBrowserTableViewer.noAuthor = SVNMessages.SVNInfo_NoAuthor;
    RepositoryBrowserTableViewer.hasProps = SVNUIMessages.RepositoriesView_Browser_HasProps;
    RepositoryBrowserTableViewer.noProps = SVNUIMessages.RepositoriesView_Browser_NoProps;

    this.getTable().setHeaderVisible(true);
    this.getTable().setLinesVisible(true);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.horizontalSpan = 2;//  w w  w . j  a  va2  s  .  co m
    this.getTable().setLayoutData(data);

    this.getTable().setLayout(new TableLayout());
    this.getTable().addMouseTrackListener(new MouseTrackAdapter() {
        public void mouseHover(MouseEvent e) {
            String tooltipText = ""; //$NON-NLS-1$
            TableItem item = RepositoryBrowserTableViewer.this.getTable().getItem(new Point(e.x, e.y));
            if (item != null) {
                Object data = item.getData();
                if (data != null && data instanceof IToolTipProvider) {
                    tooltipText = ((IToolTipProvider) data)
                            .getToolTipMessage(RepositoryBrowserTableViewer.class2Format.get(data.getClass()));
                }
            }
            RepositoryBrowserTableViewer.this.getTable().setToolTipText(tooltipText);
        }

        public void mouseExit(MouseEvent e) {
            RepositoryBrowserTableViewer.this.getTable().setToolTipText(""); //$NON-NLS-1$
        }
    });

    this.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK,
            new Transfer[] { RemoteResourceTransfer.getInstance() }, new TransferDragSourceListener() {

                public void dragFinished(DragSourceEvent event) {
                }

                public void dragSetData(DragSourceEvent event) {
                    if (RemoteResourceTransfer.getInstance().isSupportedType(event.dataType)) {
                        IStructuredSelection selection = (IStructuredSelection) RepositoryBrowserTableViewer.this
                                .getSelection();
                        ArrayList<IRepositoryResource> resources = new ArrayList<IRepositoryResource>();
                        for (Iterator<?> it = selection.iterator(); it.hasNext();) {
                            resources.add(((RepositoryResource) it.next()).getRepositoryResource());
                        }
                        event.data = new RemoteResourceTransferrable(
                                resources.toArray(new IRepositoryResource[0]), 0);
                    }
                }

                public void dragStart(DragSourceEvent event) {
                    IStructuredSelection selection = (IStructuredSelection) RepositoryBrowserTableViewer.this
                            .getSelection();
                    boolean canBeDragged = selection.size() > 0;
                    for (Iterator<?> it = selection.iterator(); it.hasNext();) {
                        if (!(it.next() instanceof RepositoryResource)) {
                            canBeDragged = false;
                        }
                    }
                    event.doit = canBeDragged;
                }

                public Transfer getTransfer() {
                    return RemoteResourceTransfer.getInstance();
                }
            });

    this.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { RemoteResourceTransfer.getInstance() },
            new DropTargetAdapter() {

                protected int expectedOperation = DND.DROP_MOVE;

                public void dragOperationChanged(DropTargetEvent event) {
                    this.expectedOperation = event.detail;
                }

                public void dragEnter(DropTargetEvent event) {
                    this.expectedOperation = event.detail;
                }

                public void dragOver(DropTargetEvent event) {
                    Table repositoryTable = (Table) ((DropTarget) event.widget).getControl();
                    TableItem aboveItem = repositoryTable.getItem(repositoryTable.toControl(event.x, event.y));
                    if (aboveItem == null) {
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                    Object aboveObject = aboveItem.getData();
                    if (!(aboveObject instanceof RepositoryResource) || aboveObject instanceof RepositoryFile) {
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                    RepositoryResource aboveResource = (RepositoryResource) aboveObject;
                    if (aboveResource.getRepositoryResource().getSelectedRevision() != SVNRevision.HEAD) {
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                    IStructuredSelection selection = (IStructuredSelection) RepositoryBrowserTableViewer.this
                            .getSelection();
                    for (Iterator<?> it = selection.iterator(); it.hasNext();) {
                        RepositoryResource current = (RepositoryResource) it.next();
                        if (aboveResource == current || aboveResource == current.getParent()) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                    }
                    event.detail = this.expectedOperation;
                }

                public void drop(DropTargetEvent event) {
                    Table repositoryTable = (Table) ((DropTarget) event.widget).getControl();
                    RepositoryResource aboveResource = (RepositoryResource) repositoryTable
                            .getItem(repositoryTable.toControl(event.x, event.y)).getData();
                    CommentPanel commentPanel = new CommentPanel(
                            event.detail == DND.DROP_MOVE ? SVNUIMessages.MoveToAction_Select_Title
                                    : SVNUIMessages.CopyToAction_Select_Title);
                    DefaultDialog dialog = new DefaultDialog(UIMonitorUtility.getShell(), commentPanel);
                    if (dialog.open() == IDialogConstants.OK_ID) {
                        AbstractCopyMoveResourcesOperation mainOp = event.detail == DND.DROP_MOVE
                                ? new MoveResourcesOperation(aboveResource.getRepositoryResource(),
                                        ((RemoteResourceTransferrable) event.data).resources,
                                        commentPanel.getMessage(), null)
                                : new CopyResourcesOperation(aboveResource.getRepositoryResource(),
                                        ((RemoteResourceTransferrable) event.data).resources,
                                        commentPanel.getMessage(), null);
                        CompositeOperation op = new CompositeOperation(mainOp.getId(),
                                mainOp.getMessagesClass());
                        op.add(mainOp);
                        ArrayList<IRepositoryResource> toRefresh = new ArrayList<IRepositoryResource>();
                        toRefresh.add(aboveResource.getRepositoryResource());
                        if (event.detail == DND.DROP_MOVE) {
                            toRefresh.addAll(
                                    Arrays.asList(((RemoteResourceTransferrable) event.data).resources));
                        }
                        op.add(new RefreshRemoteResourcesOperation(
                                SVNUtility.getCommonParents(toRefresh.toArray(new IRepositoryResource[0]))),
                                new IActionOperation[] { mainOp });
                        ProgressMonitorUtility.doTaskScheduled(op);
                    }
                }
            });

    RepositoryBrowserTableComparator comparator = new RepositoryBrowserTableComparator(this);

    this.createColumn(comparator, SVNUIMessages.RepositoriesView_Browser_Name, SWT.NONE, SWT.LEFT, true,
            new ColumnWeightData(18, true));
    this.createColumn(comparator, SVNUIMessages.RepositoriesView_Browser_Revision, SWT.NONE, SWT.RIGHT, true,
            new ColumnWeightData(9, true));
    this.createColumn(comparator, SVNUIMessages.RepositoriesView_Browser_LastChangedAt, SWT.NONE, SWT.LEFT,
            true, new ColumnWeightData(17, true));
    this.createColumn(comparator, SVNUIMessages.RepositoriesView_Browser_LastChangedBy, SWT.NONE, SWT.LEFT,
            true, new ColumnWeightData(14, true));
    this.createColumn(comparator, SVNUIMessages.RepositoriesView_Browser_Size, SWT.NONE, SWT.RIGHT, true,
            new ColumnWeightData(10, true));
    this.createColumn(comparator, SVNUIMessages.RepositoriesView_Browser_HasProperties, SWT.NONE, SWT.LEFT,
            true, new ColumnWeightData(12, true));
    this.createColumn(comparator, SVNUIMessages.RepositoriesView_Browser_LockOwner, SWT.NONE, SWT.LEFT, true,
            new ColumnWeightData(13, true));

    this.setComparator(comparator);
    comparator.setColumnNumber(RepositoryBrowserTableViewer.COLUMN_NAME);
    comparator.setReversed(false);
    this.getTable().setSortDirection(SWT.UP);
    this.getTable().setSortColumn(this.getTable().getColumn(RepositoryBrowserTableViewer.COLUMN_NAME));
}

From source file:org.eclipse.team.svn.ui.repository.RepositoryTreeViewer.java

License:Open Source License

private void initialize() {
    this.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent e) {
            ISelection selection = e.getSelection();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection structured = (IStructuredSelection) selection;
                if (structured.size() == 1) {
                    RepositoryTreeViewer.this.handleDoubleClick(structured);
                }//from  w  w w  . j av a2  s.  co  m
            }
        }
    });

    this.addDragSupport(DND.DROP_COPY | DND.DROP_NONE | DND.DROP_MOVE | DND.DROP_LINK,
            new Transfer[] { RemoteResourceTransfer.getInstance() }, new TransferDragSourceListener() {

                public void dragFinished(DragSourceEvent event) {
                }

                public void dragSetData(DragSourceEvent event) {
                    if (RemoteResourceTransfer.getInstance().isSupportedType(event.dataType)) {
                        IStructuredSelection selection = (IStructuredSelection) RepositoryTreeViewer.this
                                .getSelection();
                        ArrayList<IRepositoryResource> resources = new ArrayList<IRepositoryResource>();
                        for (Iterator<?> it = selection.iterator(); it.hasNext();) {
                            resources.add(((RepositoryResource) it.next()).getRepositoryResource());
                        }
                        event.data = new RemoteResourceTransferrable(
                                resources.toArray(new IRepositoryResource[0]), 0);
                    }
                }

                public void dragStart(DragSourceEvent event) {
                    IStructuredSelection selection = (IStructuredSelection) RepositoryTreeViewer.this
                            .getSelection();
                    boolean canBeDragged = selection.size() > 0;
                    for (Iterator<?> it = selection.iterator(); it.hasNext();) {
                        if (!(it.next() instanceof RepositoryResource)) {
                            canBeDragged = false;
                        }
                    }
                    event.doit = canBeDragged;
                }

                public Transfer getTransfer() {
                    return RemoteResourceTransfer.getInstance();
                }

            });

    this.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { RemoteResourceTransfer.getInstance() },
            new DropTargetAdapter() {

                protected int expectedOperation = DND.DROP_MOVE;

                public void dragOperationChanged(DropTargetEvent event) {
                    this.expectedOperation = event.detail;
                }

                public void dragEnter(DropTargetEvent event) {
                    this.expectedOperation = event.detail;
                }

                public void dragOver(DropTargetEvent event) {
                    Tree repositoryTree = (Tree) ((DropTarget) event.widget).getControl();
                    TreeItem aboveItem = repositoryTree.getItem(repositoryTree.toControl(event.x, event.y));
                    if (aboveItem == null) {
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                    Object aboveObject = aboveItem.getData();
                    if (!(aboveObject instanceof RepositoryResource) || aboveObject instanceof RepositoryFile) {
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                    RepositoryResource aboveResource = (RepositoryResource) aboveObject;
                    if (aboveResource.getRepositoryResource().getSelectedRevision() != SVNRevision.HEAD) {
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                    IStructuredSelection selection = (IStructuredSelection) RepositoryTreeViewer.this
                            .getSelection();
                    int lastSlashIdx = 0;
                    for (Iterator<?> it = selection.iterator(); it.hasNext();) {
                        RepositoryResource current = (RepositoryResource) it.next();
                        if (lastSlashIdx == 0) {
                            lastSlashIdx = current.getRepositoryResource().getUrl().lastIndexOf("/"); //$NON-NLS-1$
                        }
                        if (current.getRepositoryResource().getUrl().lastIndexOf("/") != lastSlashIdx //$NON-NLS-1$
                                || aboveResource == current || aboveResource == current.getParent()) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                    }
                    event.detail = this.expectedOperation;
                }

                public void drop(DropTargetEvent event) {
                    Tree repositoryTree = (Tree) ((DropTarget) event.widget).getControl();
                    RepositoryResource aboveResource = (RepositoryResource) repositoryTree
                            .getItem(repositoryTree.toControl(event.x, event.y)).getData();
                    CommentPanel commentPanel = new CommentPanel(
                            event.detail == DND.DROP_MOVE ? SVNUIMessages.MoveToAction_Select_Title
                                    : SVNUIMessages.CopyToAction_Select_Title);
                    DefaultDialog dialog = new DefaultDialog(UIMonitorUtility.getShell(), commentPanel);
                    if (dialog.open() == IDialogConstants.OK_ID) {
                        AbstractCopyMoveResourcesOperation mainOp = event.detail == DND.DROP_MOVE
                                ? new MoveResourcesOperation(aboveResource.getRepositoryResource(),
                                        ((RemoteResourceTransferrable) event.data).resources,
                                        commentPanel.getMessage(), null)
                                : new CopyResourcesOperation(aboveResource.getRepositoryResource(),
                                        ((RemoteResourceTransferrable) event.data).resources,
                                        commentPanel.getMessage(), null);
                        CompositeOperation op = new CompositeOperation(mainOp.getId(),
                                mainOp.getMessagesClass());
                        op.add(mainOp);
                        ArrayList<IRepositoryResource> toRefresh = new ArrayList<IRepositoryResource>();
                        toRefresh.add(aboveResource.getRepositoryResource());
                        if (event.detail == DND.DROP_MOVE) {
                            toRefresh.addAll(
                                    Arrays.asList(((RemoteResourceTransferrable) event.data).resources));
                        }
                        op.add(new RefreshRemoteResourcesOperation(
                                SVNUtility.getCommonParents(toRefresh.toArray(new IRepositoryResource[0]))),
                                new IActionOperation[] { mainOp });
                        ProgressMonitorUtility.doTaskScheduled(op);
                    }
                }

            });

    this.getTree().addMouseTrackListener(new MouseTrackAdapter() {
        public void mouseHover(MouseEvent e) {
            String tooltipText = ""; //$NON-NLS-1$
            Tree tree = RepositoryTreeViewer.this.getTree();
            TreeItem item = tree.getItem(new Point(e.x, e.y));
            if (item != null) {
                Object data = item.getData();
                if (data != null) {
                    if (data instanceof IToolTipProvider) {
                        tooltipText = ((IToolTipProvider) data)
                                .getToolTipMessage(RepositoryTreeViewer.class2Format.get(data.getClass()));
                    }
                }
            }
            tree.setToolTipText(tooltipText);
        }

        public void mouseExit(MouseEvent e) {
            RepositoryTreeViewer.this.getTree().setToolTipText(""); //$NON-NLS-1$
        }
    });
}

From source file:org.eclipse.wst.dtd.ui.views.contentoutline.DTDContentOutlineConfiguration.java

License:Open Source License

public TransferDragSourceListener[] getTransferDragSourceListeners(final TreeViewer treeViewer) {
    if (fTransferDragSourceListeners == null) {
        fTransferDragSourceListeners = new TransferDragSourceListener[] { new TransferDragSourceListener() {
            public void dragFinished(DragSourceEvent event) {
                LocalSelectionTransfer.getTransfer().setSelection(null);
            }/*from  w  w w .  jav a2s.com*/

            public void dragSetData(DragSourceEvent event) {
            }

            public void dragStart(DragSourceEvent event) {
                LocalSelectionTransfer.getTransfer().setSelection(treeViewer.getSelection());
            }

            public Transfer getTransfer() {
                return LocalSelectionTransfer.getTransfer();
            }
        } };
    }

    return fTransferDragSourceListeners;
}

From source file:org.eclipse.wst.xml.ui.views.contentoutline.AbstractXMLContentOutlineConfiguration.java

License:Open Source License

public TransferDragSourceListener[] getTransferDragSourceListeners(final TreeViewer treeViewer) {
    if (fTransferDragSourceListeners == null) {
        fTransferDragSourceListeners = new TransferDragSourceListener[] { new TransferDragSourceListener() {

            public void dragFinished(DragSourceEvent event) {
                LocalSelectionTransfer.getTransfer().setSelection(null);
            }//from   w  w  w .  j  a va  2 s  .  co  m

            public void dragSetData(DragSourceEvent event) {
            }

            public void dragStart(DragSourceEvent event) {
                LocalSelectionTransfer.getTransfer().setSelection(treeViewer.getSelection());
            }

            public Transfer getTransfer() {
                return LocalSelectionTransfer.getTransfer();
            }
        } };
    }

    return fTransferDragSourceListeners;
}

From source file:org.jcryptool.core.views.content.palette.AlgorithmPaletteViewer.java

License:Open Source License

/**
 * enables drag'n'drop functionality/*  ww  w  . j ava2s.c  om*/
 */
private void setupDragAndDrop() {
    viewer.addDragSourceListener(new TransferDragSourceListener() {
        public Transfer getTransfer() {
            return TextTransfer.getInstance();
        }

        public void dragFinished(DragSourceEvent event) {
        }

        public void dragSetData(DragSourceEvent event) {
            Object element = ((IStructuredSelection) viewer.getSelection()).getFirstElement();
            Object model = ((PaletteEditPart) element).getModel();
            event.data = ((PaletteEntry) model).getLabel();
        }

        public void dragStart(DragSourceEvent event) {
            Object obj = ((IStructuredSelection) viewer.getSelection()).getFirstElement();

            // only allow drag&drop for algorithm, not for categories
            if (!(obj instanceof PaletteEditPart))
                event.doit = false;

            // random number generators have also no drag&drop
            final String label = ((PaletteEntry) ((PaletteEditPart) obj).getModel()).getParent().getLabel();
            if (label != null && label
                    .equals(org.jcryptool.core.Messages.applicationActionBarAdvisor_Menu_Algorithms_PRNG)) //$NON-NLS-1$
                event.doit = false;
        }
    });
}

From source file:org.peprframework.ide.views.pages.input.InputPage.java

License:Apache License

private void createInputTargetViewer() {
    Section section = toolkit.createSection(panel,
            Section.SHORT_TITLE_BAR | Section.EXPANDED | Section.CLIENT_INDENT | Section.DESCRIPTION);
    GridData data = new GridData(SWT.FILL, SWT.FILL, false, false);
    data.widthHint = 400;/*w  ww.  j a  va2  s  .co  m*/
    section.setLayoutData(data);
    section.setText("Input");
    section.setDescription("The input parameters of the selected Activity.");

    targetViewerContentProvider = new InputTargetContentProvider();
    targetViewerLabelProvider = new InputTargetLabelProvider();
    targetViewer = new TableViewer(section, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE);
    //      targetViewer = new ListViewer(section, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    TableViewerColumn typeColumn = new TableViewerColumn(targetViewer, SWT.NONE);
    typeColumn.getColumn().setWidth(80);
    TableViewerColumn nameColumn = new TableViewerColumn(targetViewer, SWT.NONE);
    nameColumn.getColumn().setWidth(320);
    targetViewer.getTable().setHeaderVisible(false);
    targetViewer.setSorter(new ViewerSorter() {

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            InputProperty p1 = (InputProperty) e1;
            InputProperty p2 = (InputProperty) e2;

            return p1.getName().compareTo(p2.getName());
        }

    });
    section.setClient(targetViewer.getControl());

    targetViewer.setContentProvider(targetViewerContentProvider);
    targetViewer.setLabelProvider(targetViewerLabelProvider);

    // DnD
    DelegatingDragAdapter dragAdapter = new DelegatingDragAdapter();
    dragAdapter.addDragSourceListener(new TransferDragSourceListener() {

        private IStructuredSelection selection;

        public void dragStart(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) targetViewer.getSelection();

            if (!selection.isEmpty() && selection.getFirstElement() instanceof InputProperty) {
                this.selection = selection;
                event.doit = true;
            } else {
                this.selection = null;
                event.doit = false;
            }
        }

        public void dragSetData(DragSourceEvent event) {
            InputProperty inputProperty = (InputProperty) this.selection.getFirstElement();
            event.data = "input." + inputProperty.getName() + " = ";
        }

        public void dragFinished(DragSourceEvent event) {
        }

        public Transfer getTransfer() {
            return TextTransfer.getInstance();
        }
    });
    targetViewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE, dragAdapter.getTransfers(), dragAdapter);
}

From source file:org.peprframework.ide.views.pages.input.InputPage.java

License:Apache License

private void createInputSourceViewer() {
    Section section = toolkit.createSection(panel,
            Section.SHORT_TITLE_BAR | Section.EXPANDED | Section.CLIENT_INDENT | Section.DESCRIPTION);
    GridData data = new GridData(SWT.FILL, SWT.FILL, false, true);
    section.setLayoutData(data);/*from   www.  j av a2  s.  c  o m*/
    section.setText("Context");
    section.setDescription("The available output of previous Activities in the current Context.");

    sourceViewerContentProvider = new InputSourceContentProvider();
    sourceViewerLabelProvider = new InputSourceLabelProvider();
    sourceViewer = new TreeViewer(section);
    section.setClient(sourceViewer.getControl());

    sourceViewer.setContentProvider(sourceViewerContentProvider);
    sourceViewer.setLabelProvider(sourceViewerLabelProvider);

    sourceViewer.setSorter(new ViewerSorter() {

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof Activity && e2 instanceof Activity) {
                return ((Activity) e1).getName().compareTo(((Activity) e2).getName());
            }

            return ((OutputProperty) e1).getName().compareTo(((OutputProperty) e2).getName());
        }

    });

    // DnD
    DelegatingDragAdapter dragAdapter = new DelegatingDragAdapter();
    dragAdapter.addDragSourceListener(new TransferDragSourceListener() {

        private ITreeSelection selection;

        public void dragStart(DragSourceEvent event) {
            ITreeSelection selection = (ITreeSelection) sourceViewer.getSelection();

            if (!selection.isEmpty() && selection.getFirstElement() instanceof OutputProperty) {
                this.selection = selection;
                event.doit = true;
            } else {
                this.selection = null;
                event.doit = false;
            }
        }

        public void dragSetData(DragSourceEvent event) {
            OutputProperty outputProperty = (OutputProperty) this.selection.getFirstElement();
            event.data = "context.get(\"" + outputProperty.getSource() + "\")." + outputProperty.getName();
        }

        public void dragFinished(DragSourceEvent event) {
        }

        public Transfer getTransfer() {
            return TextTransfer.getInstance();
        }
    });
    sourceViewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE, dragAdapter.getTransfers(), dragAdapter);
}

From source file:org.talend.designer.core.ui.editor.outline.NodeTransferDragSourceListener.java

License:Open Source License

public TransferDragSourceListener getNodeTransferDragSourceListener() {
    if (dragDropListener == null)
        dragDropListener = new TransferDragSourceListener() {

            TextTransfer transfer;/*from  w  w w . ja v a2s  .c om*/

            public Transfer getTransfer() {
                transfer = TextTransfer.getInstance();
                return transfer;
            }

            public void dragFinished(final DragSourceEvent event) {
            }

            public void dragSetData(final DragSourceEvent event) {
                if (currentEditPart != null && currentEditPart.getParent() != null) {
                    INode node = (INode) currentEditPart.getParent().getModel();
                    String value = ElementParameterParser.parse(node,
                            ((INodeReturn) currentEditPart.getModel()).getVarName());
                    event.data = value;
                }

            }

            public void dragStart(final DragSourceEvent event) {
                if (currentEditPart != null && currentEditPart.getParent() != null) {
                    // Make sure the process node can not be dragged and dropped.
                    if (currentEditPart.getParent()
                            .getModel() instanceof org.talend.designer.core.ui.editor.nodes.Node) {
                        event.doit = true;
                        return;
                    }

                }
                event.doit = false;
            }

        };
    return dragDropListener;
}