Mercurial > projects > dwt-mac
comparison dwt/dnd/DNDListener.d @ 94:70a562fb34e4
Ported dwt.dnd.DNDListener
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Tue, 30 Dec 2008 19:12:22 +0100 |
parents | d8635bb48c7c |
children | d32621bf0f90 |
comparison
equal
deleted
inserted
replaced
93:b28f69fee882 | 94:70a562fb34e4 |
---|---|
5 * which accompanies this distribution, and is available at | 5 * which accompanies this distribution, and is available at |
6 * http://www.eclipse.org/legal/epl-v10.html | 6 * http://www.eclipse.org/legal/epl-v10.html |
7 * | 7 * |
8 * Contributors: | 8 * Contributors: |
9 * IBM Corporation - initial API and implementation | 9 * IBM Corporation - initial API and implementation |
10 * | |
11 * Port to the D programming language: | |
12 * Jacob Carlborg <doob@me.com> | |
10 *******************************************************************************/ | 13 *******************************************************************************/ |
11 module dwt.dnd.DNDListener; | 14 module dwt.dnd.DNDListener; |
12 | 15 |
13 import dwt.dwthelper.utils; | 16 import dwt.dwthelper.utils; |
14 | 17 |
15 import dwt.internal.DWTEventListener; | 18 import dwt.internal.DWTEventListener; |
16 import dwt.widgets.Event; | 19 import dwt.widgets.Event; |
17 import dwt.widgets.TypedListener; | 20 import dwt.widgets.TypedListener; |
18 import dwt.widgets.Widget; | 21 import dwt.widgets.Widget; |
19 | 22 |
23 import dwt.dnd.DND; | |
24 import dwt.dnd.DNDEvent; | |
25 import dwt.dnd.DragSource; | |
26 import dwt.dnd.DragSourceEvent; | |
27 import dwt.dnd.DragSourceListener; | |
28 import dwt.dnd.DropTargetEvent; | |
20 | 29 |
21 class DNDListener extends TypedListener { | 30 class DNDListener : TypedListener { |
22 Widget dndWidget; | 31 Widget dndWidget; |
23 /** | 32 /** |
24 * DNDListener constructor comment. | 33 * DNDListener constructor comment. |
25 * @param listener dwt.internal.DWTEventListener | 34 * @param listener dwt.internal.DWTEventListener |
26 */ | 35 */ |
27 DNDListener(DWTEventListener listener) { | 36 this(DWTEventListener listener) { |
28 super(listener); | 37 super(listener); |
29 } | 38 } |
30 public void handleEvent (Event e) { | 39 public void handleEvent (Event e) { |
31 switch (e.type) { | 40 switch (e.type) { |
32 case DND.DragStart: { | 41 case DND.DragStart: { |
33 DragSourceEvent event = new DragSourceEvent((DNDEvent)e); | 42 DragSourceEvent event = new DragSourceEvent(cast(DNDEvent)e); |
34 DragSourceEffect sourceEffect = ((DragSource) dndWidget).getDragSourceEffect(); | 43 DragSourceEffect sourceEffect = (cast(DragSource) dndWidget).getDragSourceEffect(); |
35 if (sourceEffect !is null) { | 44 if (sourceEffect !is null) { |
36 sourceEffect.dragStart (event); | 45 sourceEffect.dragStart (event); |
37 } | 46 } |
38 ((DragSourceListener) eventListener).dragStart (event); | 47 (cast(DragSourceListener) eventListener).dragStart (event); |
39 event.updateEvent((DNDEvent)e); | 48 event.updateEvent(cast(DNDEvent)e); |
40 break; | 49 break; |
41 } | 50 } |
42 case DND.DragEnd: { | 51 case DND.DragEnd: { |
43 DragSourceEvent event = new DragSourceEvent((DNDEvent)e); | 52 DragSourceEvent event = new DragSourceEvent(cast(DNDEvent)e); |
44 DragSourceEffect sourceEffect = ((DragSource) dndWidget).getDragSourceEffect(); | 53 DragSourceEffect sourceEffect = (cast(DragSource) dndWidget).getDragSourceEffect(); |
45 if (sourceEffect !is null) { | 54 if (sourceEffect !is null) { |
46 sourceEffect.dragFinished (event); | 55 sourceEffect.dragFinished (event); |
47 } | 56 } |
48 ((DragSourceListener) eventListener).dragFinished (event); | 57 (cast(DragSourceListener) eventListener).dragFinished (event); |
49 event.updateEvent((DNDEvent)e); | 58 event.updateEvent(cast(DNDEvent)e); |
50 break; | 59 break; |
51 } | 60 } |
52 case DND.DragSetData: { | 61 case DND.DragSetData: { |
53 DragSourceEvent event = new DragSourceEvent((DNDEvent)e); | 62 DragSourceEvent event = new DragSourceEvent(cast(DNDEvent)e); |
54 DragSourceEffect sourceEffect = ((DragSource) dndWidget).getDragSourceEffect(); | 63 DragSourceEffect sourceEffect = (cast(DragSource) dndWidget).getDragSourceEffect(); |
55 if (sourceEffect !is null) { | 64 if (sourceEffect !is null) { |
56 sourceEffect.dragSetData (event); | 65 sourceEffect.dragSetData (event); |
57 } | 66 } |
58 ((DragSourceListener) eventListener).dragSetData (event); | 67 (cast(DragSourceListener) eventListener).dragSetData (event); |
59 event.updateEvent((DNDEvent)e); | 68 event.updateEvent(cast(DNDEvent)e); |
60 break; | 69 break; |
61 } | 70 } |
62 case DND.DragEnter: { | 71 case DND.DragEnter: { |
63 DropTargetEvent event = new DropTargetEvent((DNDEvent)e); | 72 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e); |
64 ((DropTargetListener) eventListener).dragEnter (event); | 73 (cast(DropTargetListener) eventListener).dragEnter (event); |
65 DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect(); | 74 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect(); |
66 if (dropEffect !is null) { | 75 if (dropEffect !is null) { |
67 dropEffect.dragEnter (event); | 76 dropEffect.dragEnter (event); |
68 } | 77 } |
69 event.updateEvent((DNDEvent)e); | 78 event.updateEvent(cast(DNDEvent)e); |
70 break; | 79 break; |
71 } | 80 } |
72 case DND.DragLeave: { | 81 case DND.DragLeave: { |
73 DropTargetEvent event = new DropTargetEvent((DNDEvent)e); | 82 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e); |
74 ((DropTargetListener) eventListener).dragLeave (event); | 83 (cast(DropTargetListener) eventListener).dragLeave (event); |
75 DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect(); | 84 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect(); |
76 if (dropEffect !is null) { | 85 if (dropEffect !is null) { |
77 dropEffect.dragLeave (event); | 86 dropEffect.dragLeave (event); |
78 } | 87 } |
79 event.updateEvent((DNDEvent)e); | 88 event.updateEvent(cast(DNDEvent)e); |
80 break; | 89 break; |
81 } | 90 } |
82 case DND.DragOver: { | 91 case DND.DragOver: { |
83 DropTargetEvent event = new DropTargetEvent((DNDEvent)e); | 92 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e); |
84 ((DropTargetListener) eventListener).dragOver (event); | 93 (cast(DropTargetListener) eventListener).dragOver (event); |
85 DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect(); | 94 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect(); |
86 if (dropEffect !is null) { | 95 if (dropEffect !is null) { |
87 dropEffect.dragOver (event); | 96 dropEffect.dragOver (event); |
88 } | 97 } |
89 event.updateEvent((DNDEvent)e); | 98 event.updateEvent(cast(DNDEvent)e); |
90 break; | 99 break; |
91 } | 100 } |
92 case DND.Drop: { | 101 case DND.Drop: { |
93 DropTargetEvent event = new DropTargetEvent((DNDEvent)e); | 102 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e); |
94 ((DropTargetListener) eventListener).drop (event); | 103 (cast(DropTargetListener) eventListener).drop (event); |
95 DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect(); | 104 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect(); |
96 if (dropEffect !is null) { | 105 if (dropEffect !is null) { |
97 dropEffect.drop (event); | 106 dropEffect.drop (event); |
98 } | 107 } |
99 event.updateEvent((DNDEvent)e); | 108 event.updateEvent(cast(DNDEvent)e); |
100 break; | 109 break; |
101 } | 110 } |
102 case DND.DropAccept: { | 111 case DND.DropAccept: { |
103 DropTargetEvent event = new DropTargetEvent((DNDEvent)e); | 112 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e); |
104 ((DropTargetListener) eventListener).dropAccept (event); | 113 (cast(DropTargetListener) eventListener).dropAccept (event); |
105 DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect(); | 114 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect(); |
106 if (dropEffect !is null) { | 115 if (dropEffect !is null) { |
107 dropEffect.dropAccept (event); | 116 dropEffect.dropAccept (event); |
108 } | 117 } |
109 event.updateEvent((DNDEvent)e); | 118 event.updateEvent(cast(DNDEvent)e); |
110 break; | 119 break; |
111 } | 120 } |
112 case DND.DragOperationChanged: { | 121 case DND.DragOperationChanged: { |
113 DropTargetEvent event = new DropTargetEvent((DNDEvent)e); | 122 DropTargetEvent event = new DropTargetEvent(cast(DNDEvent)e); |
114 ((DropTargetListener) eventListener).dragOperationChanged (event); | 123 (cast(DropTargetListener) eventListener).dragOperationChanged (event); |
115 DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect(); | 124 DropTargetEffect dropEffect = (cast(DropTarget) dndWidget).getDropTargetEffect(); |
116 if (dropEffect !is null) { | 125 if (dropEffect !is null) { |
117 dropEffect.dragOperationChanged (event); | 126 dropEffect.dragOperationChanged (event); |
118 } | 127 } |
119 event.updateEvent((DNDEvent)e); | 128 event.updateEvent(cast(DNDEvent)e); |
120 break; | 129 break; |
121 } | 130 } |
122 | 131 |
123 } | 132 } |
124 } | 133 } |