Project

General

Profile

Download (1.45 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * 
3
 */
4
package eu.etaxonomy.taxeditor.editor.name;
5

    
6
import org.apache.log4j.Logger;
7
import org.eclipse.swt.dnd.DND;
8
import org.eclipse.swt.dnd.DragSourceAdapter;
9
import org.eclipse.swt.dnd.DragSourceEvent;
10

    
11
import eu.etaxonomy.cdm.model.common.ICdmBase;
12
import eu.etaxonomy.taxeditor.editor.CdmDataTransfer;
13

    
14
/**
15
 * <p>NameEditorDragListener class.</p>
16
 *
17
 * @author n.hoffmann
18
 * @version $Id: $
19
 */
20
public class NameEditorDragListener extends DragSourceAdapter {
21
	
22
	private static final Logger logger = Logger.getLogger(NameEditorDragListener.class);
23
	
24
	private AbstractGroupedContainer container;
25
		
26
	/**
27
	 * <p>Constructor for NameEditorDragListener.</p>
28
	 *
29
	 * @param container a {@link eu.etaxonomy.taxeditor.editor.name.AbstractGroupedContainer} object.
30
	 */
31
	public NameEditorDragListener(AbstractGroupedContainer container){
32
		this.container = container;
33
	}
34
	
35
	/** {@inheritDoc} */
36
	public void dragFinished(DragSourceEvent event) {
37
		if(!event.doit)
38
			return;
39
		if(event.detail == DND.DROP_MOVE){
40
			logger.warn("drag finished");
41
			container.remove();
42
		}
43
		
44
	};
45
	
46
	/** {@inheritDoc} */
47
	@Override
48
	public void dragSetData(DragSourceEvent event) {
49
		ICdmBase[] cdmBaseObjects = new ICdmBase[]{(ICdmBase) container.getData()};
50
		if(CdmDataTransfer.getInstance().isSupportedType(event.dataType)){
51
			event.data = cdmBaseObjects;
52
		}
53
	}
54
	
55
	/** {@inheritDoc} */
56
	@Override
57
	public void dragStart(DragSourceEvent event) {
58
		event.doit = container.getData() != null;
59
	}
60
}
(15-15/22)