Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java')
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java124
1 files changed, 0 insertions, 124 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java
deleted file mode 100644
index eaa6712fe8..0000000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.snippets;
-
-/*
- * Drag text selection within a StyledText widget
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- *
- * @since 3.3
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet257 {
-
- static String string1 = "A drag source is the provider of data in a Drag and Drop data transfer as well as "+
- "the originator of the Drag and Drop operation. The data provided by the drag source "+
- "may be transferred to another location in the same widget, to a different widget "+
- "within the same application, or to a different application altogether. For example, "+
- "you can drag text from your application and drop it on an email application, or you "+
- "could drag an item in a tree and drop it below a different node in the same tree.";
-
- static String DRAG_START_DATA = "DRAG_START_DATA";
-
-public static void main (String [] args) {
- final Display display = new Display ();
- Shell shell = new Shell (display);
- shell.setLayout(new FillLayout());
- shell.setSize(100, 300);
- int style = SWT.MULTI | SWT.WRAP | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
- final StyledText text = new StyledText(shell, style);
- text.setText(string1);
- final DragSource source = new DragSource(text, DND.DROP_COPY | DND.DROP_MOVE);
- source.setDragSourceEffect(new DragSourceEffect(text) {
- public void dragStart(DragSourceEvent event) {
- event.image = display.getSystemImage(SWT.ICON_WARNING);
- }
- });
- source.setTransfer(new Transfer[] {TextTransfer.getInstance()});
- source.addDragListener(new DragSourceAdapter() {
- Point selection;
- public void dragStart(DragSourceEvent event) {
- selection = text.getSelection();
- event.doit = selection.x != selection.y;
- text.setData(DRAG_START_DATA, selection);
- }
- public void dragSetData(DragSourceEvent e) {
- e.data = text.getText(selection.x, selection.y-1);
- }
- public void dragFinished(DragSourceEvent event) {
- if (event.detail == DND.DROP_MOVE) {
- Point newSelection= text.getSelection();
- int length = selection.y - selection.x;
- int delta = 0;
- if (newSelection.x < selection.x)
- delta = length;
- text.replaceTextRange(selection.x + delta, length, "");
- }
- selection = null;
- text.setData(DRAG_START_DATA, null);
- }
- });
-
- DropTarget target = new DropTarget(text, DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
- target.setTransfer(new Transfer[] {TextTransfer.getInstance()});
- target.addDropListener(new DropTargetAdapter() {
- public void dragEnter(DropTargetEvent event) {
- if (event.detail == DND.DROP_DEFAULT) {
- if (text.getData(DRAG_START_DATA) == null)
- event.detail = DND.DROP_COPY;
- else
- event.detail = DND.DROP_MOVE;
- }
- }
- public void dragOperationChanged(DropTargetEvent event) {
- if (event.detail == DND.DROP_DEFAULT) {
- if (text.getData(DRAG_START_DATA) == null)
- event.detail = DND.DROP_COPY;
- else
- event.detail = DND.DROP_MOVE;
- }
- }
- public void dragOver(DropTargetEvent event) {
- event.feedback = DND.FEEDBACK_SCROLL | DND.FEEDBACK_SELECT;
- }
- public void drop(DropTargetEvent event) {
- if (event.detail != DND.DROP_NONE) {
- Point selection = (Point) text.getData(DRAG_START_DATA);
- int insertPos = text.getCaretOffset();
- if (event.detail == DND.DROP_MOVE && selection != null && selection.x <= insertPos && insertPos <= selection.y
- || event.detail == DND.DROP_COPY && selection != null && selection.x < insertPos && insertPos < selection.y) {
- text.setSelection(selection);
- event.detail = DND.DROP_COPY; // prevent source from deleting selection
- } else {
- String string = (String)event.data;
- text.insert(string);
- if (selection != null)
- text.setSelectionRange(insertPos, string.length());
- }
- }
- }
- });
- shell.open ();
- while (!shell.isDisposed ()) {
- if (!display.readAndDispatch ()) display.sleep ();
- }
- display.dispose ();
-}
-
-}

Back to the top