View | Details | Raw Unified | Return to bug 393514
Collapse All | Expand All

(-)a/org.eclipse.gef.examples.logic/src/org/eclipse/gef/examples/logicdesigner/LogicEditor.java (+5 lines)
Lines 122-127 Link Here
122
import org.eclipse.gef.ui.rulers.RulerComposite;
122
import org.eclipse.gef.ui.rulers.RulerComposite;
123
123
124
import org.eclipse.gef.examples.logicdesigner.actions.IncrementDecrementAction;
124
import org.eclipse.gef.examples.logicdesigner.actions.IncrementDecrementAction;
125
import org.eclipse.gef.examples.logicdesigner.dnd.ResourceTransferDropTargetListener;
125
import org.eclipse.gef.examples.logicdesigner.dnd.TextTransferDropTargetListener;
126
import org.eclipse.gef.examples.logicdesigner.dnd.TextTransferDropTargetListener;
126
import org.eclipse.gef.examples.logicdesigner.edit.GraphicalPartFactory;
127
import org.eclipse.gef.examples.logicdesigner.edit.GraphicalPartFactory;
127
import org.eclipse.gef.examples.logicdesigner.edit.TreePartFactory;
128
import org.eclipse.gef.examples.logicdesigner.edit.TreePartFactory;
Lines 638-643 Link Here
638
						(TransferDropTargetListener) new TextTransferDropTargetListener(
639
						(TransferDropTargetListener) new TextTransferDropTargetListener(
639
								getGraphicalViewer(), TextTransfer
640
								getGraphicalViewer(), TextTransfer
640
										.getInstance()));
641
										.getInstance()));
642
		getGraphicalViewer()
643
				.addDropTargetListener(
644
						(TransferDropTargetListener) new ResourceTransferDropTargetListener(
645
								getGraphicalViewer()));
641
	}
646
	}
642
647
643
	protected void createActions() {
648
	protected void createActions() {
(-)a/org.eclipse.gef.examples.logic/src/org/eclipse/gef/examples/logicdesigner/dnd/ResourceTransferDropTargetListener.java (+46 lines)
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
}

Return to bug 393514