Mercurial > projects > dwt-win
annotate dwt/dnd/DragSourceListener.d @ 135:242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 13 Feb 2008 04:51:22 +0100 |
parents | |
children |
rev | line source |
---|---|
135
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
1 /******************************************************************************* |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
2 * Copyright (c) 2000, 2003 IBM Corporation and others. |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
7 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
8 * Contributors: |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
10 * Port to the D programming language: |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
11 * Frank Benoit <benoit@tionex.de> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
12 *******************************************************************************/ |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
13 module dwt.dnd.DragSourceListener; |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
14 |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
15 import dwt.internal.DWTEventListener; |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
16 import dwt.dnd.DragSourceEvent; |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
17 |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
18 /** |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
19 * The <code>DragSourceListener</code> class provides event notification to the application for DragSource events. |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
20 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
21 * <p>When the user drops data on a <code>DropTarget</code>, the application which defines the <code>DragSource</code> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
22 * must provide the dropped data by implementing <code>dragSetData</code>. In the dragSetData, the application |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
23 * must support all the data types that were specified in the DragSource#setTransfer method.</p> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
24 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
25 * <p>After the drop has completed successfully or has been aborted, the application which defines the |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
26 * <code>DragSource</code> is required to take the appropriate cleanup action. In the case of a successful |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
27 * <b>move</b> operation, the application must remove the data that was transferred.</p> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
28 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
29 */ |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
30 public interface DragSourceListener : DWTEventListener { |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
31 |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
32 /** |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
33 * The user has begun the actions required to drag the widget. This event gives the application |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
34 * the chance to decide if a drag should be started. |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
35 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
36 * <p>The following fields in the DragSourceEvent apply: |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
37 * <ul> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
38 * <li>(in)widget |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
39 * <li>(in)time |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
40 * <li>(in,out)doit |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
41 * </ul></p> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
42 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
43 * @param event the information associated with the drag start event |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
44 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
45 * @see DragSourceEvent |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
46 */ |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
47 public void dragStart(DragSourceEvent event); |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
48 |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
49 /** |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
50 * The data is required from the drag source. |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
51 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
52 * <p>The following fields in the DragSourceEvent apply: |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
53 * <ul> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
54 * <li>(in)widget |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
55 * <li>(in)time |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
56 * <li>(in)dataType - the type of data requested. |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
57 * <li>(out)data - the application inserts the actual data here (must match the dataType) |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
58 * </ul></p> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
59 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
60 * @param event the information associated with the drag set data event |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
61 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
62 * @see DragSourceEvent |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
63 */ |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
64 public void dragSetData(DragSourceEvent event); |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
65 |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
66 /** |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
67 * The drop has successfully completed(mouse up over a valid target) or has been terminated (such as hitting |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
68 * the ESC key). Perform cleanup such as removing data from the source side on a successful move operation. |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
69 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
70 * <p>The following fields in the DragSourceEvent apply: |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
71 * <ul> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
72 * <li>(in)widget |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
73 * <li>(in)time |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
74 * <li>(in)doit |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
75 * <li>(in)detail |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
76 * </ul></p> |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
77 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
78 * @param event the information associated with the drag finished event |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
79 * |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
80 * @see DragSourceEvent |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
81 */ |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
82 public void dragFinished(DragSourceEvent event); |
242e33c0e383
Added dnd source, ByteArrayTransfer,Clipboard completed
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
83 } |