Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 126346 Details for
Bug 263695
[DND] Want to be able to use Display.post() to post a drag gesture
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
sample code
PR263695.java (text/plain), 3.69 KB, created by
Kevin Barnes
on 2009-02-20 15:31:32 EST
(
hide
)
Description:
sample code
Filename:
MIME Type:
Creator:
Kevin Barnes
Created:
2009-02-20 15:31:32 EST
Size:
3.69 KB
patch
obsolete
>/******************************************************************************* > * Copyright (c) 2000, 2004 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 dnd; > >/* > * Drag and Drop example snippet: drag text between two labels > * > * For a list of all SWT example snippets see > * http://www.eclipse.org/swt/snippets/ > */ >import org.eclipse.swt.*; >import org.eclipse.swt.dnd.*; >import org.eclipse.swt.graphics.*; >import org.eclipse.swt.layout.*; >import org.eclipse.swt.widgets.*; > >public class PR263695 { > >public static void main (String [] args) { > final Display display = new Display (); > final Shell shell = new Shell (display); > shell.setLayout(new FillLayout()); > final Label label1 = new Label (shell, SWT.BORDER); > label1.setText ("TEXT"); > final Label label2 = new Label (shell, SWT.BORDER); > setDragDrop (label1); > setDragDrop (label2); > shell.setSize (200, 200); > shell.open (); > > final Runnable dragEnder = new Runnable(){ > public void run() { > Rectangle bounds = label2.getBounds(); > bounds = display.map(label2.getParent(), null, bounds); > Event evt = new Event(); > evt.type = SWT.MouseMove; > evt.x = bounds.x + (bounds.width/2); > evt.y = bounds.y + (bounds.height/2); > display.post(evt); > > evt = new Event(); > evt.type = SWT.MouseUp; > evt.x = bounds.x + (bounds.width/2); > evt.y = bounds.y + (bounds.height/2); > evt.button = 1; > display.post(evt); > } > }; > Runnable dragStarter = new Runnable(){ > public void run() { > Rectangle bounds = label1.getBounds(); > > bounds = display.map(label1.getParent(), null, bounds); > Event evt = new Event(); > > evt.type = SWT.MouseMove; > evt.x = bounds.x + (bounds.width/2);; > evt.y = bounds.y + (bounds.height/2);; > display.post(evt); > > evt = new Event(); > evt.type = SWT.MouseDown; > evt.x = bounds.x + (bounds.width/2); > evt.y = bounds.y + (bounds.height/2); > evt.button = 1; > display.post(evt); > > evt = new Event(); > evt.type = SWT.DragDetect; > evt.x = bounds.x + (bounds.width/2); > evt.y = bounds.y + (bounds.height/2); > display.post(evt); > >// display.timerExec(500, dragEnder); > dragEnder.run(); > > } > }; > > display.timerExec(2000, dragStarter); > > while (!shell.isDisposed ()) { > if (!display.readAndDispatch ()) display.sleep (); > } > display.dispose (); >} >public static void setDragDrop (final Label label) { > > Transfer[] types = new Transfer[] {TextTransfer.getInstance()}; > int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK; > > final DragSource source = new DragSource (label, operations); > source.setTransfer(types); > source.addDragListener (new DragSourceListener () { > public void dragStart(DragSourceEvent event) { > event.doit = (label.getText ().length () != 0); > } > public void dragSetData (DragSourceEvent event) { > event.data = label.getText (); > } > public void dragFinished(DragSourceEvent event) { > if (event.detail == DND.DROP_MOVE) > label.setText (""); > } > }); > > DropTarget target = new DropTarget(label, operations); > target.setTransfer(types); > target.addDropListener (new DropTargetAdapter() { > public void drop(DropTargetEvent event) { > if (event.data == null) { > event.detail = DND.DROP_NONE; > return; > } > label.setText ((String) event.data); > } > }); >} >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 263695
: 126346