summaryrefslogtreecommitdiffstats
path: root/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java')
-rw-r--r--examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java1429
1 files changed, 0 insertions, 1429 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java
deleted file mode 100644
index 0debc9d340..0000000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java
+++ /dev/null
@@ -1,1429 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.dnd;
-
-
-import java.net.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class DNDExample {
-
- private int dragOperation = 0;
- private Transfer[] dragTypes = new Transfer[0];
- private Control dragControl;
- private int dragControlType = 0;
- private DragSource dragSource;
- private String dragDataText;
- private String dragDataRTF;
- private String dragDataHTML;
- private String dragDataURL;
- private String[] dragDataFiles;
- private List fileList;
- private boolean dragEnabled = false;
-
- private int dropOperation = 0;
- private int dropFeedback = 0;
- private int dropDefaultOperation = 0;
- private Transfer[] dropTypes = new Transfer[0];
- private DropTarget dropTarget;
- private Control dropControl;
- private int dropControlType = 0;
- private Composite defaultParent;
- private boolean dropEnabled = false;
-
- private Text dragConsole;
- private boolean dragEventDetail = false;
- private Text dropConsole;
- private boolean dropEventDetail = false;
-
- private static final int BUTTON_TOGGLE = 0;
- private static final int BUTTON_RADIO = 1;
- private static final int BUTTON_CHECK = 2;
- private static final int CANVAS = 3;
- private static final int LABEL = 4;
- private static final int LIST = 5;
- private static final int TABLE = 6;
- private static final int TREE = 7;
- private static final int TEXT = 8;
- private static final int STYLED_TEXT = 9;
- private static final int COMBO = 10;
-
-public static void main(String[] args) {
- Display display = new Display();
- DNDExample example = new DNDExample();
- example.open(display);
- display.dispose();
-}
-
-private void addDragTransfer(Transfer transfer){
- Transfer[] newTypes = new Transfer[dragTypes.length + 1];
- System.arraycopy(dragTypes, 0, newTypes, 0, dragTypes.length);
- newTypes[dragTypes.length] = transfer;
- dragTypes = newTypes;
- if (dragSource != null) {
- dragSource.setTransfer(dragTypes);
- }
-}
-
-private void addDropTransfer(Transfer transfer){
- Transfer[] newTypes = new Transfer[dropTypes.length + 1];
- System.arraycopy(dropTypes, 0, newTypes, 0, dropTypes.length);
- newTypes[dropTypes.length] = transfer;
- dropTypes = newTypes;
- if (dropTarget != null) {
- dropTarget.setTransfer(dropTypes);
- }
-}
-
-private void createDragOperations(Composite parent) {
- parent.setLayout(new RowLayout(SWT.VERTICAL));
- final Button moveButton = new Button(parent, SWT.CHECK);
- moveButton.setText("DND.DROP_MOVE");
- moveButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dragOperation |= DND.DROP_MOVE;
- } else {
- dragOperation = dragOperation &~DND.DROP_MOVE;
- if (dragOperation == 0) {
- dragOperation = DND.DROP_MOVE;
- moveButton.setSelection(true);
- }
- }
- if (dragEnabled) {
- createDragSource();
- }
- }
- });
-
-
- Button copyButton = new Button(parent, SWT.CHECK);
- copyButton.setText("DND.DROP_COPY");
- copyButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dragOperation |= DND.DROP_COPY;
- } else {
- dragOperation = dragOperation &~DND.DROP_COPY;
- if (dragOperation == 0) {
- dragOperation = DND.DROP_MOVE;
- moveButton.setSelection(true);
- }
- }
- if (dragEnabled) {
- createDragSource();
- }
- }
- });
-
- Button linkButton = new Button(parent, SWT.CHECK);
- linkButton.setText("DND.DROP_LINK");
- linkButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dragOperation |= DND.DROP_LINK;
- } else {
- dragOperation = dragOperation &~DND.DROP_LINK;
- if (dragOperation == 0) {
- dragOperation = DND.DROP_MOVE;
- moveButton.setSelection(true);
- }
- }
- if (dragEnabled) {
- createDragSource();
- }
- }
- });
-
- //initialize state
- moveButton.setSelection(true);
- copyButton.setSelection(true);
- linkButton.setSelection(true);
- dragOperation |= DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-}
-
-private void createDragSource() {
- if (dragSource != null) dragSource.dispose();
- dragSource = new DragSource(dragControl, dragOperation);
- dragSource.setTransfer(dragTypes);
- dragSource.addDragListener(new DragSourceListener() {
- public void dragFinished(org.eclipse.swt.dnd.DragSourceEvent event) {
- dragConsole.append(">>dragFinished\n");
- printEvent(event);
- dragDataText = dragDataRTF = dragDataHTML = dragDataURL = null;
- dragDataFiles = null;
- if (event.detail == DND.DROP_MOVE) {
- switch(dragControlType) {
- case BUTTON_CHECK:
- case BUTTON_TOGGLE:
- case BUTTON_RADIO: {
- Button b = (Button)dragControl;
- b.setText("");
- break;
- }
- case STYLED_TEXT: {
- StyledText text = (StyledText)dragControl;
- text.insert("");
- break;
- }
- case TABLE: {
- Table table = (Table)dragControl;
- TableItem[] items = table.getSelection();
- for (int i = 0; i < items.length; i++) {
- items[i].dispose();
- }
- break;
- }
- case TEXT: {
- Text text = (Text)dragControl;
- text.insert("");
- break;
- }
- case TREE: {
- Tree tree = (Tree)dragControl;
- TreeItem[] items = tree.getSelection();
- for (int i = 0; i < items.length; i++) {
- items[i].dispose();
- }
- break;
- }
- case CANVAS: {
- dragControl.setData("STRINGS", null);
- dragControl.redraw();
- break;
- }
- case LABEL: {
- Label label = (Label)dragControl;
- label.setText("");
- break;
- }
- case LIST: {
- List list = (List)dragControl;
- int[] indices = list.getSelectionIndices();
- list.remove(indices);
- break;
- }
- case COMBO:{
- Combo combo = (Combo)dragControl;
- combo.setText("");
- break;
- }
- }
- }
- }
- public void dragSetData(org.eclipse.swt.dnd.DragSourceEvent event) {
- dragConsole.append(">>dragSetData\n");
- printEvent(event);
- if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
- event.data = dragDataText;
- }
- if (RTFTransfer.getInstance().isSupportedType(event.dataType)) {
- event.data = dragDataRTF;
- }
- if (HTMLTransfer.getInstance().isSupportedType(event.dataType)) {
- event.data = dragDataHTML;
- }
- if (URLTransfer.getInstance().isSupportedType(event.dataType)) {
- event.data = dragDataURL;
- }
- if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
- event.data = dragDataFiles;
- }
- }
- public void dragStart(org.eclipse.swt.dnd.DragSourceEvent event) {
- dragConsole.append(">>dragStart\n");
- printEvent(event);
- dragDataFiles = fileList.getItems();
- switch(dragControlType) {
- case BUTTON_CHECK:
- case BUTTON_TOGGLE:
- case BUTTON_RADIO: {
- Button b = (Button)dragControl;
- dragDataText = b.getSelection() ? "true" : "false";
- break;
- }
- case STYLED_TEXT: {
- StyledText text = (StyledText)dragControl;
- String s = text.getSelectionText();
- if (s.length() == 0) {
- event.doit = false;
- } else {
- dragDataText = s;
- }
- break;
- }
- case TABLE: {
- Table table = (Table)dragControl;
- TableItem[] items = table.getSelection();
- if (items.length == 0) {
- event.doit = false;
- } else {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < items.length; i++) {
- buffer.append(items[i].getText());
- if (items.length > 1 && i < items.length - 1) {
- buffer.append("\n");
- }
- }
- dragDataText = buffer.toString();
- }
- break;
- }
- case TEXT: {
- Text text = (Text)dragControl;
- String s = text.getSelectionText();
- if (s.length() == 0) {
- event.doit = false;
- } else {
- dragDataText = s;
- }
- break;
- }
- case TREE: {
- Tree tree = (Tree)dragControl;
- TreeItem[] items = tree.getSelection();
- if (items.length == 0) {
- event.doit = false;
- } else {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < items.length; i++) {
- buffer.append(items[i].getText());
- if (items.length > 1 && i < items.length - 1) {
- buffer.append("\n");
- }
- }
- dragDataText = buffer.toString();
- }
- break;
- }
- case CANVAS: {
- String[] strings = (String[])dragControl.getData("STRINGS");
- if (strings == null || strings.length == 0) {
- event.doit = false;
- } else {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < strings.length; i++) {
- buffer.append(strings[i]);
- if (strings.length > 1 && i < strings.length - 1) {
- buffer.append("\n");
- }
- }
- dragDataText = buffer.toString();
- }
- break;
- }
- case LABEL: {
- Label label = (Label)dragControl;
- String string = label.getText();
- if (string.length() == 0) {
- event.doit = false;
- } else {
- dragDataText = string;
- }
- break;
- }
- case LIST: {
- List list = (List)dragControl;
- String[] selection = list.getSelection();
- if (selection.length == 0) {
- event.doit = false;
- } else {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < selection.length; i++) {
- buffer.append(selection[i]);
- if (selection.length > 1 && i < selection.length - 1) {
- buffer.append("\n");
- }
- }
- dragDataText = buffer.toString();
- }
- break;
- }
- case COMBO: {
- Combo combo = (Combo) dragControl;
- String string = combo.getText();
- Point selection = combo.getSelection();
- if (selection.x == selection.y) {
- event.doit = false;
- } else {
- dragDataText = string.substring(selection.x, selection.y);
- }
- break;
- }
- default:
- throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
- }
- if (dragDataText != null) {
- dragDataRTF = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\cf1\\b "+dragDataText+"}";
- dragDataHTML = "<b>"+dragDataText+"</b>";
- dragDataURL = "http://" + dragDataText.replace(' ', '.');
- try {
- new URL(dragDataURL);
- } catch (MalformedURLException e) {
- dragDataURL = null;
- }
- }
-
- for (int i = 0; i < dragTypes.length; i++) {
- if (dragTypes[i] instanceof TextTransfer && dragDataText == null) {
- event.doit = false;
- }
- if (dragTypes[i] instanceof RTFTransfer && dragDataRTF == null) {
- event.doit = false;
- }
- if (dragTypes[i] instanceof HTMLTransfer && dragDataHTML == null) {
- event.doit = false;
- }
- if (dragTypes[i] instanceof URLTransfer && dragDataURL == null) {
- event.doit = false;
- }
- if (dragTypes[i] instanceof FileTransfer && (dragDataFiles == null || dragDataFiles.length == 0)) {
- event.doit = false;
- }
- }
- }
- });
-}
-
-private void createDragTypes(Composite parent) {
- parent.setLayout(new GridLayout());
- Button textButton = new Button(parent, SWT.CHECK);
- textButton.setText("Text Transfer");
- textButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDragTransfer(TextTransfer.getInstance());
- } else {
- removeDragTransfer(TextTransfer.getInstance());
- }
- }
- });
-
- Button b = new Button(parent, SWT.CHECK);
- b.setText("RTF Transfer");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDragTransfer(RTFTransfer.getInstance());
- } else {
- removeDragTransfer(RTFTransfer.getInstance());
- }
- }
- });
-
- b = new Button(parent, SWT.CHECK);
- b.setText("HTML Transfer");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDragTransfer(HTMLTransfer.getInstance());
- } else {
- removeDragTransfer(HTMLTransfer.getInstance());
- }
- }
- });
-
- b = new Button(parent, SWT.CHECK);
- b.setText("URL Transfer");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDragTransfer(URLTransfer.getInstance());
- } else {
- removeDragTransfer(URLTransfer.getInstance());
- }
- }
- });
-
- b = new Button(parent, SWT.CHECK);
- b.setText("File Transfer");
- b.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDragTransfer(FileTransfer.getInstance());
- } else {
- removeDragTransfer(FileTransfer.getInstance());
- }
- }
- });
- b = new Button(parent, SWT.PUSH);
- b.setText("Select File(s)");
- b.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- FileDialog dialog = new FileDialog(fileList.getShell(), SWT.OPEN | SWT.MULTI);
- String result = dialog.open();
- if (result != null && result.length() > 0){
- fileList.removeAll();
- String separator = System.getProperty("file.separator");
- String path = dialog.getFilterPath();
- String[] names = dialog.getFileNames();
- for (int i = 0; i < names.length; i++) {
- fileList.add(path+separator+names[i]);
- }
- }
- }
- });
- fileList = new List(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
- GridData data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.BEGINNING;
- fileList.setLayoutData(data);
-
- // initialize state
- textButton.setSelection(true);
- addDragTransfer(TextTransfer.getInstance());
-}
-
-private void createDragWidget(Composite parent) {
- parent.setLayout(new FormLayout());
- Combo combo = new Combo(parent, SWT.READ_ONLY);
- combo.setItems(new String[] {"Toggle Button", "Radio Button", "Checkbox", "Canvas", "Label", "List", "Table", "Tree", "Text", "StyledText", "Combo"});
- combo.select(LABEL);
- dragControlType = combo.getSelectionIndex();
- dragControl = createWidget(dragControlType, parent, "Drag Source");
-
- combo.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Object data = dragControl.getLayoutData();
- Composite parent = dragControl.getParent();
- dragControl.dispose();
- Combo c = (Combo)e.widget;
- dragControlType = c.getSelectionIndex();
- dragControl = createWidget(dragControlType, parent, "Drag Source");
- dragControl.setLayoutData(data);
- if (dragEnabled) createDragSource();
- parent.layout();
- }
- });
-
- Button b = new Button(parent, SWT.CHECK);
- b.setText("DragSource");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- dragEnabled = b.getSelection();
- if (dragEnabled) {
- createDragSource();
- } else {
- if (dragSource != null){
- dragSource.dispose();
- }
- dragSource = null;
- }
- }
- });
- b.setSelection(true);
- dragEnabled = true;
-
- FormData data = new FormData();
- data.top = new FormAttachment(0, 10);
- data.bottom = new FormAttachment(combo, -10);
- data.left = new FormAttachment(0, 10);
- data.right = new FormAttachment(100, -10);
- dragControl.setLayoutData(data);
-
- data = new FormData();
- data.bottom = new FormAttachment(100, -10);
- data.left = new FormAttachment(0, 10);
- combo.setLayoutData(data);
-
- data = new FormData();
- data.bottom = new FormAttachment(100, -10);
- data.left = new FormAttachment(combo, 10);
- b.setLayoutData(data);
-}
-
-private void createDropOperations(Composite parent) {
- parent.setLayout(new RowLayout(SWT.VERTICAL));
- final Button moveButton = new Button(parent, SWT.CHECK);
- moveButton.setText("DND.DROP_MOVE");
- moveButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropOperation |= DND.DROP_MOVE;
- } else {
- dropOperation = dropOperation & ~DND.DROP_MOVE;
- if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_MOVE) != 0) {
- dropOperation |= DND.DROP_MOVE;
- moveButton.setSelection(true);
- }
- }
- if (dropEnabled) {
- createDropTarget();
- }
- }
- });
-
-
- final Button copyButton = new Button(parent, SWT.CHECK);
- copyButton.setText("DND.DROP_COPY");
- copyButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropOperation |= DND.DROP_COPY;
- } else {
- dropOperation = dropOperation & ~DND.DROP_COPY;
- if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_COPY) != 0) {
- dropOperation = DND.DROP_COPY;
- copyButton.setSelection(true);
- }
- }
- if (dropEnabled) {
- createDropTarget();
- }
- }
- });
-
- final Button linkButton = new Button(parent, SWT.CHECK);
- linkButton.setText("DND.DROP_LINK");
- linkButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropOperation |= DND.DROP_LINK;
- } else {
- dropOperation = dropOperation & ~DND.DROP_LINK;
- if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_LINK) != 0) {
- dropOperation = DND.DROP_LINK;
- linkButton.setSelection(true);
- }
- }
- if (dropEnabled) {
- createDropTarget();
- }
- }
- });
-
- Button b = new Button(parent, SWT.CHECK);
- b.setText("DND.DROP_DEFAULT");
- defaultParent = new Composite(parent, SWT.NONE);
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropOperation |= DND.DROP_DEFAULT;
- defaultParent.setVisible(true);
- } else {
- dropOperation = dropOperation & ~DND.DROP_DEFAULT;
- defaultParent.setVisible(false);
- }
- if (dropEnabled) {
- createDropTarget();
- }
- }
- });
-
- defaultParent.setVisible(false);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 20;
- defaultParent.setLayout(layout);
- Label label = new Label(defaultParent, SWT.NONE);
- label.setText("Value for default operation is:");
- b = new Button(defaultParent, SWT.RADIO);
- b.setText("DND.DROP_MOVE");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropDefaultOperation = DND.DROP_MOVE;
- dropOperation |= DND.DROP_MOVE;
- moveButton.setSelection(true);
- if (dropEnabled) {
- createDropTarget();
- }
- }
- }
- });
-
- b = new Button(defaultParent, SWT.RADIO);
- b.setText("DND.DROP_COPY");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropDefaultOperation = DND.DROP_COPY;
- dropOperation |= DND.DROP_COPY;
- copyButton.setSelection(true);
- if (dropEnabled) {
- createDropTarget();
- }
- }
- }
- });
-
- b = new Button(defaultParent, SWT.RADIO);
- b.setText("DND.DROP_LINK");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropDefaultOperation = DND.DROP_LINK;
- dropOperation |= DND.DROP_LINK;
- linkButton.setSelection(true);
- if (dropEnabled) {
- createDropTarget();
- }
- }
- }
- });
-
- b = new Button(defaultParent, SWT.RADIO);
- b.setText("DND.DROP_NONE");
- b.setSelection(true);
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropDefaultOperation = DND.DROP_NONE;
- dropOperation &= ~DND.DROP_DEFAULT;
- if (dropEnabled) {
- createDropTarget();
- }
- }
- }
- });
-
- // initialize state
- moveButton.setSelection(true);
- copyButton.setSelection(true);
- linkButton.setSelection(true);
- dropOperation = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-}
-
-private void createDropTarget() {
- if (dropTarget != null) dropTarget.dispose();
- dropTarget = new DropTarget(dropControl, dropOperation);
- dropTarget.setTransfer(dropTypes);
- dropTarget.addDropListener(new DropTargetListener() {
- public void dragEnter(DropTargetEvent event) {
- dropConsole.append(">>dragEnter\n");
- printEvent(event);
- if (event.detail == DND.DROP_DEFAULT) {
- event.detail = dropDefaultOperation;
- }
- event.feedback = dropFeedback;
- }
- public void dragLeave(DropTargetEvent event) {
- dropConsole.append(">>dragLeave\n");
- printEvent(event);
- }
- public void dragOperationChanged(DropTargetEvent event) {
- dropConsole.append(">>dragOperationChanged\n");
- printEvent(event);
- if (event.detail == DND.DROP_DEFAULT) {
- event.detail = dropDefaultOperation;
- }
- event.feedback = dropFeedback;
- }
- public void dragOver(DropTargetEvent event) {
- dropConsole.append(">>dragOver\n");
- printEvent(event);
- event.feedback = dropFeedback;
- }
- public void drop(DropTargetEvent event) {
- dropConsole.append(">>drop\n");
- printEvent(event);
- String[] strings = null;
- if (TextTransfer.getInstance().isSupportedType(event.currentDataType) ||
- RTFTransfer.getInstance().isSupportedType(event.currentDataType) ||
- HTMLTransfer.getInstance().isSupportedType(event.currentDataType) ||
- URLTransfer.getInstance().isSupportedType(event.currentDataType)) {
- strings = new String[] {(String)event.data};
- }
- if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
- strings = (String[])event.data;
- }
- if (strings == null || strings.length == 0) {
- dropConsole.append("!!Invalid data dropped");
- return;
- }
-
- if (strings.length == 1 && (dropControlType == TABLE ||
- dropControlType == TREE ||
- dropControlType == LIST)) {
- // convert string separated by "\n" into an array of strings
- String string = strings[0];
- int count = 0;
- int offset = string.indexOf("\n", 0);
- while (offset > 0) {
- count++;
- offset = string.indexOf("\n", offset + 1);
- }
- if (count > 0) {
- strings = new String[count + 1];
- int start = 0;
- int end = string.indexOf("\n");
- int index = 0;
- while (start < end) {
- strings[index++] = string.substring(start, end);
- start = end + 1;
- end = string.indexOf("\n", start);
- if (end == -1) end = string.length();
- }
- }
- }
- switch(dropControlType) {
- case BUTTON_CHECK:
- case BUTTON_TOGGLE:
- case BUTTON_RADIO: {
- Button b = (Button)dropControl;
- b.setText(strings[0]);
- break;
- }
- case STYLED_TEXT: {
- StyledText text = (StyledText)dropControl;
- for(int i = 0; i < strings.length; i++) {
- text.insert(strings[i]);
- }
- break;
- }
- case TABLE: {
- Table table = (Table)dropControl;
- Point p = event.display.map(null, table, event.x, event.y);
- TableItem dropItem = table.getItem(p);
- int index = dropItem == null ? table.getItemCount() : table.indexOf(dropItem);
- for(int i = 0; i < strings.length; i++) {
- TableItem item = new TableItem(table, SWT.NONE, index);
- item.setText(0, strings[i]);
- item.setText(1, "dropped item");
- }
- TableColumn[] columns = table.getColumns();
- for (int i = 0; i < columns.length; i++) {
- columns[i].pack();
- }
- break;
- }
- case TEXT: {
- Text text = (Text)dropControl;
- for(int i = 0; i < strings.length; i++) {
- text.append(strings[i]+"\n");
- }
- break;
- }
- case TREE: {
- Tree tree = (Tree)dropControl;
- Point p = event.display.map(null, tree, event.x, event.y);
- TreeItem parentItem = tree.getItem(p);
- for(int i = 0; i < strings.length; i++) {
- TreeItem item = parentItem != null ? new TreeItem(parentItem, SWT.NONE) : new TreeItem(tree, SWT.NONE);
- item.setText(strings[i]);
- }
- break;
- }
- case CANVAS: {
- dropControl.setData("STRINGS", strings);
- dropControl.redraw();
- break;
- }
- case LABEL: {
- Label label = (Label)dropControl;
- label.setText(strings[0]);
- break;
- }
- case LIST: {
- List list = (List)dropControl;
- for(int i = 0; i < strings.length; i++) {
- list.add(strings[i]);
- }
- break;
- }
- case COMBO: {
- Combo combo = (Combo)dropControl;
- combo.setText(strings[0]);
- break;
- }
- default:
- throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
- }
- }
- public void dropAccept(DropTargetEvent event) {
- dropConsole.append(">>dropAccept\n");
- printEvent(event);
- }
- });
-}
-
-private void createFeedbackTypes(Group parent) {
- parent.setLayout(new RowLayout(SWT.VERTICAL));
- Button b = new Button(parent, SWT.CHECK);
- b.setText("FEEDBACK_SELECT");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropFeedback |= DND.FEEDBACK_SELECT;
- } else {
- dropFeedback &= ~DND.FEEDBACK_SELECT;
- }
- }
- });
-
- b = new Button(parent, SWT.CHECK);
- b.setText("FEEDBACK_SCROLL");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropFeedback |= DND.FEEDBACK_SCROLL;
- } else {
- dropFeedback &= ~DND.FEEDBACK_SCROLL;
- }
- }
- });
-
-
- b = new Button(parent, SWT.CHECK);
- b.setText("FEEDBACK_INSERT_BEFORE");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropFeedback |= DND.FEEDBACK_INSERT_BEFORE;
- } else {
- dropFeedback &= ~DND.FEEDBACK_INSERT_BEFORE;
- }
- }
- });
-
- b = new Button(parent, SWT.CHECK);
- b.setText("FEEDBACK_INSERT_AFTER");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropFeedback |= DND.FEEDBACK_INSERT_AFTER;
- } else {
- dropFeedback &= ~DND.FEEDBACK_INSERT_AFTER;
- }
- }
- });
-
- b = new Button(parent, SWT.CHECK);
- b.setText("FEEDBACK_EXPAND");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- dropFeedback |= DND.FEEDBACK_EXPAND;
- } else {
- dropFeedback &= ~DND.FEEDBACK_EXPAND;
- }
- }
- });
-}
-
-private void createDropTypes(Composite parent) {
- parent.setLayout(new RowLayout(SWT.VERTICAL));
- Button textButton = new Button(parent, SWT.CHECK);
- textButton.setText("Text Transfer");
- textButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDropTransfer(TextTransfer.getInstance());
- } else {
- removeDropTransfer(TextTransfer.getInstance());
- }
- }
- });
-
- Button b = new Button(parent, SWT.CHECK);
- b.setText("RTF Transfer");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDropTransfer(RTFTransfer.getInstance());
- } else {
- removeDropTransfer(RTFTransfer.getInstance());
- }
- }
- });
-
-
- b = new Button(parent, SWT.CHECK);
- b.setText("HTML Transfer");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDropTransfer(HTMLTransfer.getInstance());
- } else {
- removeDropTransfer(HTMLTransfer.getInstance());
- }
- }
- });
-
- b = new Button(parent, SWT.CHECK);
- b.setText("URL Transfer");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDropTransfer(URLTransfer.getInstance());
- } else {
- removeDropTransfer(URLTransfer.getInstance());
- }
- }
- });
-
- b = new Button(parent, SWT.CHECK);
- b.setText("File Transfer");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- if (b.getSelection()) {
- addDropTransfer(FileTransfer.getInstance());
- } else {
- removeDropTransfer(FileTransfer.getInstance());
- }
- }
- });
-
- // initialize state
- textButton.setSelection(true);
- addDropTransfer(TextTransfer.getInstance());
-}
-
-private void createDropWidget(Composite parent) {
- parent.setLayout(new FormLayout());
- Combo combo = new Combo(parent, SWT.READ_ONLY);
- combo.setItems(new String[] {"Toggle Button", "Radio Button", "Checkbox", "Canvas", "Label", "List", "Table", "Tree", "Text", "StyledText", "Combo"});
- combo.select(LABEL);
- dropControlType = combo.getSelectionIndex();
- dropControl = createWidget(dropControlType, parent, "Drop Target");
- combo.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Object data = dropControl.getLayoutData();
- Composite parent = dropControl.getParent();
- dropControl.dispose();
- Combo c = (Combo)e.widget;
- dropControlType = c.getSelectionIndex();
- dropControl = createWidget(dropControlType, parent, "Drop Target");
- dropControl.setLayoutData(data);
- if (dropEnabled) createDropTarget();
- parent.layout();
- }
- });
-
- Button b = new Button(parent, SWT.CHECK);
- b.setText("DropTarget");
- b.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Button b = (Button)e.widget;
- dropEnabled = b.getSelection();
- if (dropEnabled) {
- createDropTarget();
- } else {
- if (dropTarget != null){
- dropTarget.dispose();
- }
- dropTarget = null;
- }
- }
- });
- // initialize state
- b.setSelection(true);
- dropEnabled = true;
-
- FormData data = new FormData();
- data.top = new FormAttachment(0, 10);
- data.bottom = new FormAttachment(combo, -10);
- data.left = new FormAttachment(0, 10);
- data.right = new FormAttachment(100, -10);
- dropControl.setLayoutData(data);
-
- data = new FormData();
- data.bottom = new FormAttachment(100, -10);
- data.left = new FormAttachment(0, 10);
- combo.setLayoutData(data);
-
- data = new FormData();
- data.bottom = new FormAttachment(100, -10);
- data.left = new FormAttachment(combo, 10);
- b.setLayoutData(data);
-}
-
-private Control createWidget(int type, Composite parent, String prefix){
- switch (type) {
- case BUTTON_CHECK: {
- Button button = new Button(parent, SWT.CHECK);
- button.setText(prefix+" Check box");
- return button;
- }
- case BUTTON_TOGGLE: {
- Button button = new Button(parent, SWT.TOGGLE);
- button.setText(prefix+" Toggle button");
- return button;
- }
- case BUTTON_RADIO: {
- Button button = new Button(parent, SWT.RADIO);
- button.setText(prefix+" Radio button");
- return button;
- }
- case STYLED_TEXT: {
- StyledText text = new StyledText(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
- text.setText(prefix+" Styled Text");
- return text;
- }
- case TABLE: {
- Table table = new Table(parent, SWT.BORDER | SWT.MULTI);
- table.setHeaderVisible(true);
- TableColumn column0 = new TableColumn(table, SWT.LEFT);
- column0.setText("Name");
- TableColumn column1 = new TableColumn(table, SWT.RIGHT);
- column1.setText("Value");
- TableColumn column2 = new TableColumn(table, SWT.CENTER);
- column2.setText("Description");
- for (int i = 0; i < 10; i++) {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(0, prefix+" name "+i);
- item.setText(1, prefix+" value "+i);
- item.setText(2, prefix+" description "+i);
- }
- column0.pack();
- column1.pack();
- column2.pack();
- return table;
- }
- case TEXT: {
- Text text = new Text(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
- text.setText(prefix+" Text");
- return text;
- }
- case TREE: {
- Tree tree = new Tree(parent, SWT.BORDER | SWT.MULTI);
- tree.setHeaderVisible(true);
- TreeColumn column0 = new TreeColumn(tree, SWT.LEFT);
- column0.setText("Name");
- TreeColumn column1 = new TreeColumn(tree, SWT.RIGHT);
- column1.setText("Value");
- TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
- column2.setText("Description");
- for (int i = 0; i < 3; i++) {
- TreeItem item = new TreeItem(tree, SWT.NONE);
- item.setText(0, prefix+" name "+i);
- item.setText(1, prefix+" value "+i);
- item.setText(2, prefix+" description "+i);
- for (int j = 0; j < 3; j++) {
- TreeItem subItem = new TreeItem(item, SWT.NONE);
- subItem.setText(0, prefix+" name "+i+" "+j);
- subItem.setText(1, prefix+" value "+i+" "+j);
- subItem.setText(2, prefix+" description "+i+" "+j);
- for (int k = 0; k < 3; k++) {
- TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
- subsubItem.setText(0, prefix+" name "+i+" "+j+" "+k);
- subsubItem.setText(1, prefix+" value "+i+" "+j+" "+k);
- subsubItem.setText(2, prefix+" description "+i+" "+j+" "+k);
- }
- }
- }
- column0.pack();
- column1.pack();
- column2.pack();
- return tree;
- }
- case CANVAS: {
- Canvas canvas = new Canvas(parent, SWT.BORDER);
- canvas.setData("STRINGS", new String[] {prefix+" Canvas widget"});
- canvas.addPaintListener(new PaintListener() {
- public void paintControl(PaintEvent e) {
- Canvas c = (Canvas)e.widget;
- Image image = (Image)c.getData("IMAGE");
- if (image != null) {
- e.gc.drawImage(image, 5, 5);
- } else {
- String[] strings = (String[])c.getData("STRINGS");
- if (strings != null) {
- FontMetrics metrics = e.gc.getFontMetrics();
- int height = metrics.getHeight();
- int y = 5;
- for(int i = 0; i < strings.length; i++) {
- e.gc.drawString(strings[i], 5, y);
- y += height + 5;
- }
- }
- }
- }
- });
- return canvas;
- }
- case LABEL: {
- Label label = new Label(parent, SWT.BORDER);
- label.setText(prefix+" Label");
- return label;
- }
- case LIST: {
- List list = new List(parent, SWT.BORDER);
- list.setItems(new String[] {prefix+" Item a", prefix+" Item b", prefix+" Item c", prefix+" Item d"});
- return list;
- }
- case COMBO:{
- Combo combo = new Combo(parent, SWT.BORDER);
- combo.setItems(new String[] {"Item a", "Item b", "Item c", "Item d"});
- return combo;
- }
- default:
- throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
- }
-}
-
-public void open(Display display) {
- Shell shell = new Shell(display);
- shell.setText("Drag and Drop Example");
- shell.setLayout(new FillLayout());
-
- ScrolledComposite sc = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL);
- Composite parent = new Composite(sc, SWT.NONE);
- sc.setContent(parent);
- parent.setLayout(new FormLayout());
-
- Label dragLabel = new Label(parent, SWT.LEFT);
- dragLabel.setText("Drag Source:");
-
- Group dragWidgetGroup = new Group(parent, SWT.NONE);
- dragWidgetGroup.setText("Widget");
- createDragWidget(dragWidgetGroup);
-
- Composite cLeft = new Composite(parent, SWT.NONE);
- cLeft.setLayout(new GridLayout(2, false));
-
- Group dragOperationsGroup = new Group(cLeft, SWT.NONE);
- dragOperationsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 1));
- dragOperationsGroup.setText("Allowed Operation(s):");
- createDragOperations(dragOperationsGroup);
-
- Group dragTypesGroup = new Group(cLeft, SWT.NONE);
- dragTypesGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
- dragTypesGroup.setText("Transfer Type(s):");
- createDragTypes(dragTypesGroup);
-
- dragConsole = new Text(cLeft, SWT.READ_ONLY | SWT.BORDER |SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
- dragConsole.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
- Menu menu = new Menu (shell, SWT.POP_UP);
- MenuItem item = new MenuItem (menu, SWT.PUSH);
- item.setText ("Clear");
- item.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- dragConsole.setText("");
- }
- });
- item = new MenuItem (menu, SWT.CHECK);
- item.setText ("Show Event detail");
- item.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- MenuItem item = (MenuItem)e.widget;
- dragEventDetail = item.getSelection();
- }
- });
- dragConsole.setMenu(menu);
-
- Label dropLabel = new Label(parent, SWT.LEFT);
- dropLabel.setText("Drop Target:");
-
- Group dropWidgetGroup = new Group(parent, SWT.NONE);
- dropWidgetGroup.setText("Widget");
- createDropWidget(dropWidgetGroup);
-
- Composite cRight = new Composite(parent, SWT.NONE);
- cRight.setLayout(new GridLayout(2, false));
-
- Group dropOperationsGroup = new Group(cRight, SWT.NONE);
- dropOperationsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 2));
- dropOperationsGroup.setText("Allowed Operation(s):");
- createDropOperations(dropOperationsGroup);
-
- Group dropTypesGroup = new Group(cRight, SWT.NONE);
- dropTypesGroup.setText("Transfer Type(s):");
- createDropTypes(dropTypesGroup);
-
- Group feedbackTypesGroup = new Group(cRight, SWT.NONE);
- feedbackTypesGroup.setText("Feedback Type(s):");
- createFeedbackTypes(feedbackTypesGroup);
-
- dropConsole = new Text(cRight, SWT.READ_ONLY | SWT.BORDER |SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
- dropConsole.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
- menu = new Menu (shell, SWT.POP_UP);
- item = new MenuItem (menu, SWT.PUSH);
- item.setText ("Clear");
- item.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- dropConsole.setText("");
- }
- });
- item = new MenuItem (menu, SWT.CHECK);
- item.setText ("Show Event detail");
- item.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- MenuItem item = (MenuItem)e.widget;
- dropEventDetail = item.getSelection();
- }
- });
- dropConsole.setMenu(menu);
-
- if (dragEnabled) createDragSource();
- if (dropEnabled) createDropTarget();
-
- int height = 200;
- FormData data = new FormData();
- data.top = new FormAttachment(0, 10);
- data.left = new FormAttachment(0, 10);
- dragLabel.setLayoutData(data);
-
- data = new FormData();
- data.top = new FormAttachment(dragLabel, 10);
- data.left = new FormAttachment(0, 10);
- data.right = new FormAttachment(50, -10);
- data.height = height;
- dragWidgetGroup.setLayoutData(data);
-
- data = new FormData();
- data.top = new FormAttachment(dragWidgetGroup, 10);
- data.left = new FormAttachment(0, 10);
- data.right = new FormAttachment(50, -10);
- data.bottom = new FormAttachment(100, -10);
- cLeft.setLayoutData(data);
-
- data = new FormData();
- data.top = new FormAttachment(0, 10);
- data.left = new FormAttachment(cLeft, 10);
- dropLabel.setLayoutData(data);
-
- data = new FormData();
- data.top = new FormAttachment(dropLabel, 10);
- data.left = new FormAttachment(cLeft, 10);
- data.right = new FormAttachment(100, -10);
- data.height = height;
- dropWidgetGroup.setLayoutData(data);
-
- data = new FormData();
- data.top = new FormAttachment(dropWidgetGroup, 10);
- data.left = new FormAttachment(cLeft, 10);
- data.right = new FormAttachment(100, -10);
- data.bottom = new FormAttachment(100, -10);
- cRight.setLayoutData(data);
-
- sc.setMinSize(parent.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- sc.setExpandHorizontal(true);
- sc.setExpandVertical(true);
-
- Point size = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- Rectangle monitorArea = shell.getMonitor().getClientArea();
- shell.setSize(Math.min(size.x, monitorArea.width - 20), Math.min(size.y, monitorArea.height - 20));
- shell.open();
-
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
-}
-
-private void printEvent(DragSourceEvent e) {
- if (!dragEventDetail) return;
- StringBuffer sb = new StringBuffer();
- sb.append("widget: "); sb.append(e.widget);
- sb.append(", time: "); sb.append(e.time);
- sb.append(", operation: "); sb.append(e.detail);
- sb.append(", type: "); sb.append(e.dataType != null ? e.dataType.type : 0);
- sb.append(", doit: "); sb.append(e.doit);
- sb.append(", data: "); sb.append(e.data);
- sb.append("\n");
- dragConsole.append(sb.toString());
-}
-
-private void printEvent(DropTargetEvent e) {
- if (!dropEventDetail) return;
- StringBuffer sb = new StringBuffer();
- sb.append("widget; "); sb.append(e.widget);
- sb.append(", time: "); sb.append(e.time);
- sb.append(", x: "); sb.append(e.x);
- sb.append(", y: "); sb.append(e.y);
- sb.append(", item: "); sb.append(e.item);
- sb.append(", operations: "); sb.append(e.operations);
- sb.append(", operation: "); sb.append(e.detail);
- sb.append(", feedback: "); sb.append(e.feedback);
- if (e.dataTypes != null) {
- for (int i = 0; i < e.dataTypes.length; i++) {
- sb.append(", dataType "); sb.append(i); sb.append(": "); sb.append(e.dataTypes[i].type);
- }
- } else {
- sb.append(", dataTypes: none");
- }
- sb.append(", currentDataType: "); sb.append(e.currentDataType);
- sb.append(", data: "); sb.append(e.data);
- sb.append("\n");
- dropConsole.append(sb.toString());
-}
-
-private void removeDragTransfer(Transfer transfer){
- if (dragTypes.length == 1) {
- dragTypes = new Transfer[0];
- } else {
- int index = -1;
- for(int i = 0; i < dragTypes.length; i++) {
- if (dragTypes[i] == transfer) {
- index = i;
- break;
- }
- }
- if (index == -1) return;
- Transfer[] newTypes = new Transfer[dragTypes.length - 1];
- System.arraycopy(dragTypes, 0, newTypes, 0, index);
- System.arraycopy(dragTypes, index + 1, newTypes, index, dragTypes.length - index - 1);
- dragTypes = newTypes;
- }
- if (dragSource != null) {
- dragSource.setTransfer(dragTypes);
- }
-}
-
-private void removeDropTransfer(Transfer transfer){
- if (dropTypes.length == 1) {
- dropTypes = new Transfer[0];
- } else {
- int index = -1;
- for(int i = 0; i < dropTypes.length; i++) {
- if (dropTypes[i] == transfer) {
- index = i;
- break;
- }
- }
- if (index == -1) return;
- Transfer[] newTypes = new Transfer[dropTypes.length - 1];
- System.arraycopy(dropTypes, 0, newTypes, 0, index);
- System.arraycopy(dropTypes, index + 1, newTypes, index, dropTypes.length - index - 1);
- dropTypes = newTypes;
- }
- if (dropTarget != null) {
- dropTarget.setTransfer(dropTypes);
- }
-}
-}