Move alltests plugin to the Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / views / filter / FilterDragSourceAdapter.java
1 /*******************************************************************************
2 * Copyright (c) 2013 Kalray
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * Xavier Raynaud - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.linuxtools.tmf.ui.views.filter;
14
15 import org.eclipse.jface.util.LocalSelectionTransfer;
16 import org.eclipse.jface.viewers.ISelection;
17 import org.eclipse.jface.viewers.IStructuredSelection;
18 import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
19 import org.eclipse.swt.dnd.DND;
20 import org.eclipse.swt.dnd.DragSourceAdapter;
21 import org.eclipse.swt.dnd.DragSourceEvent;
22
23 /**
24 * DragSourceListener for filter view
25 * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
26 */
27 class FilterDragSourceAdapter extends DragSourceAdapter {
28
29 private FilterViewer fViewer;
30
31 /**
32 * Constructor
33 *
34 * @param viewer
35 * the content of the FilterView
36 */
37 public FilterDragSourceAdapter(FilterViewer viewer) {
38 super();
39 this.fViewer = viewer;
40 }
41
42 @Override
43 public void dragStart(DragSourceEvent event) {
44 ISelection s = fViewer.getTreeViewer().getSelection();
45 LocalSelectionTransfer.getTransfer().setSelection(s);
46 LocalSelectionTransfer.getTransfer().setSelectionSetTime(event.time & 0xFFFFFFFFL);
47 }
48
49 @Override
50 public void dragSetData(DragSourceEvent event) {
51 event.data = LocalSelectionTransfer.getTransfer().getSelection();
52 }
53
54 @Override
55 public void dragFinished(DragSourceEvent event) {
56 if (event.detail == DND.DROP_MOVE) {
57 IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection();
58 for (Object data : selection.toList()) {
59 if (data instanceof ITmfFilterTreeNode) {
60 ITmfFilterTreeNode e = (ITmfFilterTreeNode) data;
61 e.remove();
62 fViewer.refresh();
63 }
64 }
65 }
66 LocalSelectionTransfer.getTransfer().setSelection(null);
67 LocalSelectionTransfer.getTransfer().setSelectionSetTime(0);
68 }
69
70 }
This page took 0.034725 seconds and 5 git commands to generate.