comparison org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/dnd/DNDListener.d @ 0:6dd524f61e62

add dwt win and basic java stuff
author Frank Benoit <benoit@tionex.de>
date Mon, 02 Mar 2009 14:44:16 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:6dd524f61e62
1 /*******************************************************************************
2 * Copyright (c) 2000, 2007 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM Corporation - initial API and implementation
10 * Port to the D programming language:
11 * Frank Benoit <benoit@tionex.de>
12 *******************************************************************************/
13 module org.eclipse.swt.dnd.DNDListener;
14
15
16 import org.eclipse.swt.internal.SWTEventListener;
17 import org.eclipse.swt.widgets.Event;
18 import org.eclipse.swt.widgets.TypedListener;
19 import org.eclipse.swt.widgets.Widget;
20 import org.eclipse.swt.dnd.DND;
21 import org.eclipse.swt.dnd.DNDEvent;
22 import org.eclipse.swt.dnd.DragSourceEvent;
23 import org.eclipse.swt.dnd.DragSourceEffect;
24 import org.eclipse.swt.dnd.DragSource;
25 import org.eclipse.swt.dnd.DragSourceListener;
26 import org.eclipse.swt.dnd.DropTargetEvent;
27 import org.eclipse.swt.dnd.DropTargetListener;
28 import org.eclipse.swt.dnd.DropTargetEffect;
29 import org.eclipse.swt.dnd.DropTarget;
30
31
32 class DNDListener : TypedListener {
33 Widget dndWidget;
34 /**
35 * DNDListener constructor comment.
36 * @param listener org.eclipse.swt.internal.SWTEventListener
37 */
38 this(SWTEventListener listener) {
39 super(listener);
40 }
41 public override void handleEvent (Event e) {
42 switch (e.type) {
43 case DND.DragStart: {
44 DragSourceEvent event = new DragSourceEvent(cast(DNDEvent)e);
45 DragSourceEffect sourceEffect = (cast(DragSource) dndWidget).getDragSourceEffect();
46 if (sourceEffect !is null) {
47 sourceEffect.dragStart (event);
48 }
49 (cast(DragSourceListener) eventListener).dragStart (event);
50 event.updateEvent(cast(DNDEvent)e);
51 break;
52 }
53 case DND.DragEnd: {
54 DragSourceEvent event = new DragSourceEvent(cast(DNDEvent)e);
55 DragSourceEffect sourceEffect = (cast(DragSource) dndWidget).getDragSourceEffect();
56 if (sourceEffect !is null) {
57 sourceEffect.dragFinished (event);
58 }
59 (cast(DragSourceListener) eventListener).dragFinished (event);
60 event.updateEvent(cast(DNDEvent)e);
61 break;
62 }
63 case DND.DragSetData: {
64 DragSourceEvent event = new DragSourceEvent(cast(DNDEvent)e);
65 DragSourceEffect sourceEffect = (cast(DragSource) dndWidget).getDragSourceEffect();
66 if (sourceEffect !is null) {
67 sourceEffect.dragSetData (event);
68 }
69 (cast(DragSourceListener) eventListener).dragSetData (event);
70 event.updateEvent(cast(DNDEvent)e);
71 break;
72 }
73 case DND.DragEnter: {
74 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e);
75 (cast(DropTargetListener) eventListener).dragEnter (event);
76 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect();
77 if (dropEffect !is null) {
78 dropEffect.dragEnter (event);
79 }
80 event.updateEvent(cast(DNDEvent)e);
81 break;
82 }
83 case DND.DragLeave: {
84 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e);
85 (cast(DropTargetListener) eventListener).dragLeave (event);
86 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect();
87 if (dropEffect !is null) {
88 dropEffect.dragLeave (event);
89 }
90 event.updateEvent(cast(DNDEvent)e);
91 break;
92 }
93 case DND.DragOver: {
94 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e);
95 (cast(DropTargetListener) eventListener).dragOver (event);
96 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect();
97 if (dropEffect !is null) {
98 dropEffect.dragOver (event);
99 }
100 event.updateEvent(cast(DNDEvent)e);
101 break;
102 }
103 case DND.Drop: {
104 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e);
105 (cast(DropTargetListener) eventListener).drop (event);
106 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect();
107 if (dropEffect !is null) {
108 dropEffect.drop (event);
109 }
110 event.updateEvent(cast(DNDEvent)e);
111 break;
112 }
113 case DND.DropAccept: {
114 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e);
115 (cast(DropTargetListener) eventListener).dropAccept (event);
116 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect();
117 if (dropEffect !is null) {
118 dropEffect.dropAccept (event);
119 }
120 event.updateEvent(cast(DNDEvent)e);
121 break;
122 }
123 case DND.DragOperationChanged: {
124 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e);
125 (cast(DropTargetListener) eventListener).dragOperationChanged (event);
126 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect();
127 if (dropEffect !is null) {
128 dropEffect.dragOperationChanged (event);
129 }
130 event.updateEvent(cast(DNDEvent)e);
131 break;
132 }
133 default:
134
135 }
136 }
137 }