List of usage examples for org.eclipse.jface.util TransferDragSourceListener TransferDragSourceListener
TransferDragSourceListener
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; }