Project

General

Profile

Download (1.99 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2009 EDIT
4
* European Distributed Institute of Taxonomy 
5
* http://www.e-taxonomy.eu
6
* 
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10
package eu.etaxonomy.taxeditor.editor.definedterm;
11

    
12
import java.util.ArrayList;
13
import java.util.List;
14

    
15
import org.eclipse.jface.viewers.IStructuredSelection;
16
import org.eclipse.jface.viewers.Viewer;
17
import org.eclipse.swt.dnd.DragSourceAdapter;
18
import org.eclipse.swt.dnd.DragSourceEvent;
19

    
20
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
21

    
22
/**
23
 * @author l.morris
24
 * @date 10 Jan 2012
25
 *
26
 */
27
public class DefinedTermDragListener extends DragSourceAdapter {
28
	
29
	private Viewer viewer;
30

    
31
	/**
32
	 * 
33
	 */
34
	public DefinedTermDragListener(Viewer viewer) {
35
		this.viewer = viewer;
36
	}
37

    
38
	/* (non-Javadoc)
39
	 * @see org.eclipse.swt.dnd.DragSourceAdapter#dragStart(org.eclipse.swt.dnd.DragSourceEvent)
40
	 */
41
	@Override
42
	public void dragStart(DragSourceEvent event) {
43
		
44
		event.doit = true;// set to false if needed - default is true
45
	}
46

    
47
	/* (non-Javadoc)
48
	 * @see org.eclipse.swt.dnd.DragSourceAdapter#dragFinished(org.eclipse.swt.dnd.DragSourceEvent)
49
	 */
50
	@Override
51
	public void dragFinished(DragSourceEvent event) {
52
		// TODO Auto-generated method stub
53
		super.dragFinished(event);
54
	}
55

    
56
	/* (non-Javadoc)
57
	 * @see org.eclipse.swt.dnd.DragSourceAdapter#dragSetData(org.eclipse.swt.dnd.DragSourceEvent)
58
	 */
59
	@Override
60
	public void dragSetData(DragSourceEvent event) {
61
		
62
		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
63
		List<DefinedTermBase> definedTerms = new ArrayList<DefinedTermBase>();
64
		
65
		for (Object object : selection.toList()){
66
				definedTerms.add((DefinedTermBase)object);
67
			}
68
			
69
		if (TermTransfer.getInstance().isSupportedType(
70
				event.dataType)) {
71
			event.data = definedTerms.toArray(new DefinedTermBase[definedTerms.size()]);
72
		}
73
	}
74
	
75
	
76

    
77
}
(1-1/8)