analysis: Move plugins to their own sub-directory
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / views / filter / FilterDragSourceAdapter.java
CommitLineData
ef906471 1/*******************************************************************************
ed902a2b 2 * Copyright (c) 2013, 2014 Kalray
ef906471
XR
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
2bdf0193 13package org.eclipse.tracecompass.tmf.ui.views.filter;
ef906471
XR
14
15import org.eclipse.jface.util.LocalSelectionTransfer;
16import org.eclipse.jface.viewers.ISelection;
17import org.eclipse.jface.viewers.IStructuredSelection;
ef906471
XR
18import org.eclipse.swt.dnd.DND;
19import org.eclipse.swt.dnd.DragSourceAdapter;
20import org.eclipse.swt.dnd.DragSourceEvent;
2bdf0193 21import org.eclipse.tracecompass.tmf.core.filter.model.ITmfFilterTreeNode;
ef906471
XR
22
23/**
24 * DragSourceListener for filter view
25 * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
26 */
27class 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.062398 seconds and 5 git commands to generate.