]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.eclipse.swt.win32.win32.x86_64/src/org/eclipse/swt/dnd/DNDListener.java
Merge branch 'bug-623' into release/1.43.0
[simantics/platform.git] / bundles / org.eclipse.swt.win32.win32.x86_64 / src / org / eclipse / swt / dnd / DNDListener.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2011 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.swt.dnd;
15
16 import org.eclipse.swt.internal.*;
17 import org.eclipse.swt.widgets.*;
18
19
20 class DNDListener extends TypedListener {
21         Widget dndWidget;
22 /**
23  * DNDListener constructor comment.
24  * @param listener org.eclipse.swt.internal.SWTEventListener
25  */
26 DNDListener(SWTEventListener listener) {
27         super(listener);
28 }
29 @Override
30 public void handleEvent (Event e) {
31         switch (e.type) {
32                 case DND.DragStart: {
33                         DragSourceEvent event = new DragSourceEvent((DNDEvent)e);
34                         DragSourceEffect sourceEffect = ((DragSource) dndWidget).getDragSourceEffect();
35                         if (sourceEffect != null) {
36                                 sourceEffect.dragStart (event);
37                         }
38                         ((DragSourceListener) eventListener).dragStart (event);
39                         event.updateEvent((DNDEvent)e);
40                         break;
41                 }
42                 case DND.DragEnd: {
43                         DragSourceEvent event = new DragSourceEvent((DNDEvent)e);
44                         DragSourceEffect sourceEffect = ((DragSource) dndWidget).getDragSourceEffect();
45                         if (sourceEffect != null) {
46                                 sourceEffect.dragFinished (event);
47                         }
48                         ((DragSourceListener) eventListener).dragFinished (event);
49                         event.updateEvent((DNDEvent)e);
50                         break;
51                 }
52                 case DND.DragSetData: {
53                         DragSourceEvent event = new DragSourceEvent((DNDEvent)e);
54                         DragSourceEffect sourceEffect = ((DragSource) dndWidget).getDragSourceEffect();
55                         if (sourceEffect != null) {
56                                 sourceEffect.dragSetData (event);
57                         }
58                         ((DragSourceListener) eventListener).dragSetData (event);
59                         event.updateEvent((DNDEvent)e);
60                         break;
61                 }
62                 case DND.DragEnter: {
63                         DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
64                         ((DropTargetListener) eventListener).dragEnter (event);
65                         DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect();
66                         if (dropEffect != null) {
67                                 dropEffect.dragEnter (event);
68                         }
69                         event.updateEvent((DNDEvent)e);
70                         break;
71                 }
72                 case DND.DragLeave: {
73                         DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
74                         ((DropTargetListener) eventListener).dragLeave (event);
75                         DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect();
76                         if (dropEffect != null) {
77                                 dropEffect.dragLeave (event);
78                         }
79                         event.updateEvent((DNDEvent)e);
80                         break;
81                 }
82                 case DND.DragOver: {
83                         DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
84                         ((DropTargetListener) eventListener).dragOver (event);
85                         DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect();
86                         if (dropEffect != null) {
87                                 dropEffect.dragOver (event);
88                         }
89                         event.updateEvent((DNDEvent)e);
90                         break;
91                 }
92                 case DND.Drop: {
93                         DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
94                         ((DropTargetListener) eventListener).drop (event);
95                         DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect();
96                         if (dropEffect != null) {
97                                 dropEffect.drop (event);
98                         }
99                         event.updateEvent((DNDEvent)e);
100                         break;
101                 }
102                 case DND.DropAccept: {
103                         DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
104                         ((DropTargetListener) eventListener).dropAccept (event);
105                         DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect();
106                         if (dropEffect != null) {
107                                 dropEffect.dropAccept (event);
108                         }
109                         event.updateEvent((DNDEvent)e);
110                         break;
111                 }
112                 case DND.DragOperationChanged: {
113                         DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
114                         ((DropTargetListener) eventListener).dragOperationChanged (event);
115                         DropTargetEffect dropEffect = ((DropTarget) dndWidget).getDropTargetEffect();
116                         if (dropEffect != null) {
117                                 dropEffect.dragOperationChanged (event);
118                         }
119                         event.updateEvent((DNDEvent)e);
120                         break;
121                 }
122
123         }
124 }
125 }