Merge branch 'hotfix/4.8.1' into develop
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / dnd / CdmAuthorityTableDropTargetListener.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.dnd;
10
11 import org.eclipse.swt.dnd.DropTargetEvent;
12 import org.eclipse.swt.dnd.DropTargetListener;
13
14 import eu.etaxonomy.cdm.model.common.CdmBase;
15 import eu.etaxonomy.taxeditor.dnd.transfer.TaxonNodeTransfer;
16 import eu.etaxonomy.taxeditor.ui.group.grantedauthority.CdmAuthorityComposite;
17 import eu.etaxonomy.taxeditor.ui.group.grantedauthority.CdmAuthorityCompositeViewer;
18
19 /**
20 * Drop listener for the {@link CdmAuthorityComposite}.
21 *
22 * @author cmathew
23 * @created Mar 28, 2013
24 *
25 */
26 public class CdmAuthorityTableDropTargetListener implements DropTargetListener {
27
28 private CdmAuthorityCompositeViewer viewer;
29
30
31 public CdmAuthorityTableDropTargetListener(CdmAuthorityCompositeViewer viewer) {
32 this.viewer = viewer;
33 }
34
35 @Override
36 public void dragEnter(DropTargetEvent event) {
37 }
38
39 @Override
40 public void dragLeave(DropTargetEvent arg0) {
41 }
42
43 @Override
44 public void dragOperationChanged(DropTargetEvent arg0) {
45 }
46
47 @Override
48 public void dragOver(DropTargetEvent arg0) {
49 }
50
51 @Override
52 public void drop(DropTargetEvent dtevent) {
53 if(TaxonNodeTransfer.getInstance().isSupportedType(dtevent.currentDataType)) {
54 Object[] selectedCdmBases = (Object[])dtevent.data;
55
56 for (Object cdmBase : selectedCdmBases){
57 if(CdmBase.class.isAssignableFrom(cdmBase.getClass()) ) {
58 viewer.addCdmAuthority((CdmBase)cdmBase);
59 }
60 }
61 }
62 }
63
64 @Override
65 public void dropAccept(DropTargetEvent arg0) {
66 }
67
68 }