]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - rcp/org.argeo.eclipse.ui.rcp/src/org/argeo/eclipse/ui/specific/FileDropAdapter.java
1 package org
.argeo
.eclipse
.ui
.specific
;
3 import java
.io
.InputStream
;
4 import java
.util
.Arrays
;
6 import org
.eclipse
.swt
.dnd
.DND
;
7 import org
.eclipse
.swt
.dnd
.DropTarget
;
8 import org
.eclipse
.swt
.dnd
.DropTargetAdapter
;
9 import org
.eclipse
.swt
.dnd
.DropTargetEvent
;
10 import org
.eclipse
.swt
.dnd
.FileTransfer
;
11 import org
.eclipse
.swt
.dnd
.Transfer
;
12 import org
.eclipse
.swt
.widgets
.Control
;
14 public class FileDropAdapter
{
16 public void prepareDropTarget(Control control
, DropTarget dropTarget
) {
17 dropTarget
.setTransfer(new Transfer
[] { FileTransfer
.getInstance() });
18 dropTarget
.addDropListener(new DropTargetAdapter() {
20 public void dropAccept(DropTargetEvent event
) {
21 if (!FileTransfer
.getInstance().isSupportedType(event
.currentDataType
)) {
22 event
.detail
= DND
.DROP_NONE
;
27 public void drop(DropTargetEvent event
) {
28 handleFileDrop(control
, event
);
33 public void handleFileDrop(Control control
, DropTargetEvent event
) {
34 String fileList
[] = null;
35 FileTransfer ft
= FileTransfer
.getInstance();
36 if (ft
.isSupportedType(event
.currentDataType
)) {
37 fileList
= (String
[]) event
.data
;
39 System
.out
.println(Arrays
.toString(fileList
));
42 /** Executed in UI thread */
43 protected void processUpload(InputStream in
, String fileName
, String contentType
) {