3 * Copyright (C) 2009 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.taxeditor
.editor
.definedterm
;
12 import java
.util
.ArrayList
;
13 import java
.util
.List
;
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
;
20 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTermBase
;
27 public class DefinedTermDragListener
extends DragSourceAdapter
{
29 private Viewer viewer
;
34 public DefinedTermDragListener(Viewer viewer
) {
39 * @see org.eclipse.swt.dnd.DragSourceAdapter#dragStart(org.eclipse.swt.dnd.DragSourceEvent)
42 public void dragStart(DragSourceEvent event
) {
44 event
.doit
= true;// set to false if needed - default is true
48 * @see org.eclipse.swt.dnd.DragSourceAdapter#dragFinished(org.eclipse.swt.dnd.DragSourceEvent)
51 public void dragFinished(DragSourceEvent event
) {
52 // TODO Auto-generated method stub
53 super.dragFinished(event
);
57 * @see org.eclipse.swt.dnd.DragSourceAdapter#dragSetData(org.eclipse.swt.dnd.DragSourceEvent)
60 public void dragSetData(DragSourceEvent event
) {
62 IStructuredSelection selection
= (IStructuredSelection
) viewer
.getSelection();
63 List
<DefinedTermBase
> definedTerms
= new ArrayList
<DefinedTermBase
>();
65 for (Object object
: selection
.toList()){
66 definedTerms
.add((DefinedTermBase
)object
);
69 if (TermTransfer
.getInstance().isSupportedType(
71 event
.data
= definedTerms
.toArray(new DefinedTermBase
[definedTerms
.size()]);