Project

General

Profile

Download (1.34 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.navigation.navigator.dnd;
2

    
3
import java.util.ArrayList;
4
import java.util.List;
5

    
6
import org.eclipse.jface.viewers.IStructuredSelection;
7
import org.eclipse.swt.dnd.DragSourceEvent;
8
import org.eclipse.swt.dnd.Transfer;
9
import org.eclipse.swt.dnd.TransferData;
10
import org.eclipse.ui.navigator.CommonDragAdapterAssistant;
11

    
12
import eu.etaxonomy.cdm.common.TreeNode;
13
import eu.etaxonomy.cdm.model.taxon.Classification;
14
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
15
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
16
import eu.etaxonomy.taxeditor.dnd.transfer.TaxonNodeTransfer;
17

    
18
public class TaxonNavigatorDragAdapterAssistant extends
19
		CommonDragAdapterAssistant {
20

    
21
	@Override
22
	public Transfer[] getSupportedTransferTypes() {
23
		return new Transfer[] { TaxonNodeTransfer.getInstance()};
24
	}
25

    
26
	@Override
27
	public boolean setDragData(DragSourceEvent event,
28
			IStructuredSelection selection) {
29
		boolean setDataSuccess = false;
30
		List<TaxonNode> taxonNodes = new ArrayList<TaxonNode>();
31
		for (Object object : selection.toList()){
32
			if(object instanceof TaxonNode){
33
				taxonNodes.add(((TaxonNode) object));
34
				setDataSuccess = true;
35
			}
36
			
37
		}
38
		
39
		if (TaxonNodeTransfer.getInstance().isSupportedType(
40
				event.dataType)) {
41
			event.data = taxonNodes.toArray(new ITaxonTreeNode[taxonNodes.size()]);
42
			
43
		}
44
		
45
		
46
		return setDataSuccess;
47
	}
48

    
49
}
    (1-1/1)