Added
Link Here
|
1 |
package org.eclipse.gef.examples.logicdesigner.dnd; |
2 |
|
3 |
import org.eclipse.swt.dnd.DND; |
4 |
|
5 |
import org.eclipse.ui.part.ResourceTransfer; |
6 |
|
7 |
import org.eclipse.gef.EditPartViewer; |
8 |
import org.eclipse.gef.Request; |
9 |
import org.eclipse.gef.dnd.AbstractTransferDropTargetListener; |
10 |
import org.eclipse.gef.requests.CreateRequest; |
11 |
import org.eclipse.gef.requests.SimpleFactory; |
12 |
|
13 |
import org.eclipse.gef.examples.logicdesigner.model.LogicLabel; |
14 |
|
15 |
public class ResourceTransferDropTargetListener extends |
16 |
AbstractTransferDropTargetListener { |
17 |
public ResourceTransferDropTargetListener(EditPartViewer viewer) { |
18 |
super(viewer, ResourceTransfer.getInstance()); |
19 |
} |
20 |
|
21 |
protected Request createTargetRequest() { |
22 |
CreateRequest request = new CreateRequest(); |
23 |
request.setFactory(new SimpleFactory((Class) (Object) LogicLabel.class)); |
24 |
return request; |
25 |
} |
26 |
|
27 |
protected final CreateRequest getCreateRequest() { |
28 |
return ((CreateRequest) getTargetRequest()); |
29 |
} |
30 |
|
31 |
protected void handleDragOperationChanged() { |
32 |
getCurrentEvent().detail = DND.DROP_COPY; |
33 |
super.handleDragOperationChanged(); |
34 |
} |
35 |
|
36 |
protected void handleDragOver() { |
37 |
getCurrentEvent().detail = DND.DROP_COPY; |
38 |
getCurrentEvent().feedback = DND.FEEDBACK_SCROLL | DND.FEEDBACK_EXPAND; |
39 |
super.handleDragOver(); |
40 |
} |
41 |
|
42 |
protected void updateTargetRequest() { |
43 |
CreateRequest request = getCreateRequest(); |
44 |
request.setLocation(getDropLocation()); |
45 |
} |
46 |
} |