|
Eclipse Platform Release 3.0 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.swt.widgets.Widget org.eclipse.swt.dnd.DropTarget
Class DropTarget defines the target object for a drag and drop transfer. IMPORTANT: This class is not intended to be subclassed.
This class identifies the Control over which the user must position the cursor in order to drop the data being transferred. It also specifies what data types can be dropped on this control and what operations can be performed. You may have several DropTragets in an application but there can only be a one to one mapping between a Control and a DropTarget. The DropTarget can receive data from within the same application or from other applications (such as text dragged from a text editor like Word).
int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK; Transfer[] types = new Transfer[] {TextTransfer.getInstance()}; DropTarget target = new DropTarget(label, operations); target.setTransfer(types);
The application is notified of data being dragged over this control and of when a drop occurs by implementing the interface DropTargetListener which uses the class DropTargetEvent. The application can modify the type of drag being performed on this Control at any stage of the drag by modifying the event.detail field or the event.currentDataType field. When the data is dropped, it is the responsibility of the application to copy this data for its own purposes.
target.addDropListener (new DropTargetListener() { public void dragEnter(DropTargetEvent event) {}; public void dragOver(DropTargetEvent event) {}; public void dragLeave(DropTargetEvent event) {}; public void dragOperationChanged(DropTargetEvent event) {}; public void dropAccept(DropTargetEvent event) {} public void drop(DropTargetEvent event) { // A drop has occurred, copy over the data if (event.data == null) { // no data to copy, indicate failure in event.detail event.detail = DND.DROP_NONE; return; } label.setText ((String) event.data); // data copied to label text } });
Constructor Summary | |
DropTarget(Control control,
int style)
Creates a new DropTarget to allow data to be dropped on the specified Control. |
Method Summary | |
void | addDropListener(DropTargetListener listener)
Adds the listener to the collection of listeners who will be notified when a drag and drop operation is in progress, by sending it one of the messages defined in the DropTargetListener interface. |
protected void | checkSubclass()
Checks that this class can be subclassed. |
Control | getControl()
Returns the Control which is registered for this DropTarget. |
Transfer[] | getTransfer()
Returns a list of the data types that can be transferred to this DropTarget. |
void | notifyListeners(int eventType,
Event event)
Notifies all of the receiver's listeners for events of the given type that one such event has occurred by invoking their handleEvent() method. |
void | removeDropListener(DropTargetListener listener)
Removes the listener from the collection of listeners who will be notified when a drag and drop operation is in progress. |
void | setTransfer(Transfer[] transferAgents)
Specifies the data types that can be transferred to this DropTarget. |
Methods inherited from class org.eclipse.swt.widgets.Widget |
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, removeDisposeListener, removeListener, removeListener, setData, setData, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public DropTarget(Control control, int style)
Method Detail |
public void addDropListener(DropTargetListener listener)
protected void checkSubclass()
The SWT class library is intended to be subclassed only at specific, controlled points (most notably, Composite and Canvas when implementing new widgets). This method enforces this rule unless it is overridden.
IMPORTANT: By providing an implementation of this method that allows a subclass of a class which does not normally allow subclassing to be created, the implementer agrees to be fully responsible for the fact that any such subclass will likely fail between SWT releases and will be strongly platform specific. No support is provided for user-written classes which are implemented in this fashion.
The ability to subclass outside of the allowed SWT classes is intended purely to enable those not on the SWT development team to implement patches in order to get around specific limitations in advance of when those limitations can be addressed by the team. Subclassing should not be attempted without an intimate and detailed understanding of the hierarchy.
public Control getControl()
public Transfer[] getTransfer()
public void notifyListeners(int eventType, Event event)
public void removeDropListener(DropTargetListener listener)
public void setTransfer(Transfer[] transferAgents)
|
Eclipse Platform Release 3.0 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.