Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Eclipse GEF
3.3

org.eclipse.gef.dnd
Class AbstractTransferDropTargetListener

java.lang.Object
  extended by
org.eclipse.gef.dnd.AbstractTransferDropTargetListener
All Implemented Interfaces:
TransferDropTargetListener
Direct Known Subclasses:
TemplateTransferDropTargetListener

public abstract class AbstractTransferDropTargetListener
extends java.lang.Object
implements TransferDropTargetListener

An abstract implementation of TransferDropTargetListener for use with EditPartViewers. The Viewer's Control should be the Drop target. In order to communicate with EditParts in a consistent way, DropTargetEvents are processed into Requests.

Dropping is inherently a targeting interaction. This class handles calculating the target EditPart. It also handles common targeting behavior, such as interacting with the target EditPart or its ancestors to achieve things like auto-scroll/auto-expose.


Constructor Summary
AbstractTransferDropTargetListener ( EditPartViewer viewer)
          Constructs a new AbstractTransferDropTargetListener and sets the EditPartViewer.
AbstractTransferDropTargetListener ( EditPartViewer viewer, Transfer xfer)
          Constructs a new AbstractTransferDropTargetListener and sets the EditPartViewer and Transfer.
 
Method Summary
protected   Request createTargetRequest ()
          Creates and returns the Request that will be sent to the targeted EditPart.
 void dragEnter (DropTargetEvent event)
          Stores the information about the current DropTargetEvent.
 void dragLeave (DropTargetEvent event)
          Stores the information about the current DropTargetEvent and then calls unload().
 void dragOperationChanged (DropTargetEvent event)
          Stores the information about the current DropTargetEvent and then calls handleDragOperationChanged().
 void dragOver (DropTargetEvent event)
          Stores the information about the current DropTargetEvent and then calls handleDragOver().
 void drop (DropTargetEvent event)
          Stores the information about the current DropTargetEvent and then calls handleDrop(), followed by unload().
 void dropAccept (DropTargetEvent event)
          Stores the current DropTargetEvent and does nothing.
protected  void eraseTargetFeedback ()
          Calls eraseTargetFeedback(Request) on the current target, using the target Request.
protected   Command getCommand ()
          Returns the current command from the target EditPart.
 DropTargetEvent getCurrentEvent ()
          Returns the current DropTargetEvent.
protected   Point getDropLocation ()
          Returns the current mouse location, as a Point.
protected  java.util.Collection getExclusionSet ()
          Returns a Collection of EditParts that are to be excluded when searching for the target EditPart.
protected   EditPart getTargetEditPart ()
          Returns the current target EditPart.
protected   Request getTargetRequest ()
          Returns the target Request.
 Transfer getTransfer ()
           
protected   EditPartViewer getViewer ()
          Returns the EditPartViewer that is the target of the drop.
protected  void handleDragOperationChanged ()
          Called when the user changes the Drag operation.
protected  void handleDragOver ()
          Called whenever the User drags over the target.
protected  void handleDrop ()
          Updates the target Request and target EditPart, and performs the drop.
protected  void handleEnteredEditPart ()
          Called when a new target EditPart has been entered.
protected  void handleExitingEditPart ()
          Called as the current target EditPart is being exited.
protected  void handleHover ()
          Called when the mouse hovers during drag and drop.
protected  void handleHoverStop ()
          Called when the mouse resumes motion after having hovered.
 boolean isEnabled (DropTargetEvent event)
          Returns true if this TransferDropTargetListener is enabled for the specified DropTargetEvent.
protected  boolean isEnablementDeterminedByCommand ()
          Returns true if isEnabled(DropTargetEvent) is determined by asking the potential target for a Command.
protected  void setAutoexposeHelper ( AutoexposeHelper helper)
          Sets the current autoexpose helper.
 void setCurrentEvent (DropTargetEvent currentEvent)
          Sets the current DropTargetEvent.
protected  void setEnablementDeterminedByCommand (boolean value)
          Determines if the target editpart should be asked for a Command during isEnabled(DropTargetEvent).
protected  void setTargetEditPart ( EditPart ep)
          Sets the target EditPart.
protected  void setTransfer (Transfer xfer)
          Sets the Tranfer type that this listener can handle.
protected  void setViewer ( EditPartViewer viewer)
          Sets the EditPartViewer.
protected  void showTargetFeedback ()
          Asks the target EditPart to show target feedback if it is not null.
protected  void unload ()
          Erases target feedback and sets the request to null.
protected  void updateAutoexposeHelper ()
          Updates the active AutoexposeHelper.
protected  void updateTargetEditPart ()
          Updates the target EditPart.
protected abstract  void updateTargetRequest ()
          Subclasses must implement this to update the target Request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractTransferDropTargetListener

public AbstractTransferDropTargetListener(
EditPartViewer viewer)
Constructs a new AbstractTransferDropTargetListener and sets the EditPartViewer. If you use this constructor, you must set the Transfer yourself using setTransfer(Transfer).

Parameters:
viewer - the EditPartViewer

AbstractTransferDropTargetListener

public AbstractTransferDropTargetListener(
EditPartViewer viewer,
                                          Transfer xfer)
Constructs a new AbstractTransferDropTargetListener and sets the EditPartViewer and Transfer. The Viewer's Control should be the Drop target.

Parameters:
viewer - the EditPartViewer
xfer - the Transfer
Method Detail

createTargetRequest

protected 
Request createTargetRequest()
Creates and returns the Request that will be sent to the targeted EditPart. Subclasses can override to create specialized requests.

Returns:
the Request to be used with the target EditPart

dragEnter

public void dragEnter(DropTargetEvent event)
Stores the information about the current DropTargetEvent. This method may not be called on the listener, because the listener may not be made active until after the mouse has entered the drop target.

See Also:
DropTargetListener#dragEnter(DropTargetEvent)

dragLeave

public void dragLeave(DropTargetEvent event)
Stores the information about the current DropTargetEvent and then calls unload(). Subclasses should override unload() to perform actions for this event. For some reason, SWT also calls dragLeave() when the actual drop is performed, even though the mouse has not left the drop target.

See Also:
DropTargetListener#dragLeave(DropTargetEvent)

dragOperationChanged

public void dragOperationChanged(DropTargetEvent event)
Stores the information about the current DropTargetEvent and then calls handleDragOperationChanged(). Subclasses should override handleDragOperationChanged() to perform actions for this event.

See Also:
DropTargetListener#dragOperationChanged(DropTargetEvent)

dragOver

public void dragOver(DropTargetEvent event)
Stores the information about the current DropTargetEvent and then calls handleDragOver(). Subclasses should override handleDragOver() to perform actions for this event.

See Also:
DropTargetListener#dragOver(org.eclipse.swt.dnd.DropTargetEvent)

drop

public void drop(DropTargetEvent event)
Stores the information about the current DropTargetEvent and then calls handleDrop(), followed by unload(). Subclasses should override these methods to perform actions for this event.

See Also:
DropTargetListener#drop(DropTargetEvent)

dropAccept

public void dropAccept(DropTargetEvent event)
Stores the current DropTargetEvent and does nothing. By default, the drop is accepted.

See Also:
DropTargetListener#dropAccept(DropTargetEvent)

eraseTargetFeedback

protected void eraseTargetFeedback()
Calls eraseTargetFeedback(Request) on the current target, using the target Request. Does nothing if there is no target, or if the target has not been requested to show target feedback.


getCommand

protected 
Command getCommand()
Returns the current command from the target EditPart.

Returns:
The current command from the target EditPart

getCurrentEvent

public DropTargetEvent getCurrentEvent()
Returns the current DropTargetEvent.

Returns:
the current event

getDropLocation

protected 
Point getDropLocation()
Returns the current mouse location, as a Point. The location is relative to the control's client area.

Returns:
the drop location

getExclusionSet

protected java.util.Collection getExclusionSet()
Returns a Collection of EditParts that are to be excluded when searching for the target EditPart.

Returns:
A Collection of EditParts to be excluded

getTargetEditPart

protected 
EditPart getTargetEditPart()
Returns the current target EditPart.

Returns:
the target EditPart

getTargetRequest

protected 
Request getTargetRequest()
Returns the target Request. If the target Request is null, createTargetRequest() is called and the newly created Request is returned.

Returns:
the target Request

getTransfer

public Transfer getTransfer()
See Also:
TransferDropTargetListener#getTransfer()

getViewer

protected 
EditPartViewer getViewer()
Returns the EditPartViewer that is the target of the drop.

Returns:
the EditPartViewer

handleDragOperationChanged

protected void handleDragOperationChanged()
Called when the user changes the Drag operation. By default, target feedback is erased. The target Request and target EditPart are updated, and target feedback is re-displayed on the new target.


handleDragOver

protected void handleDragOver()
Called whenever the User drags over the target. By default, the target Request and target EditPart are updated, feedback is shown, and auto-expose occurs.


handleDrop

protected void handleDrop()
Updates the target Request and target EditPart, and performs the drop. By default, the drop is performed by asking the target EditPart for a Command using the target Request. This Command is then executed on the CommandStack.

If there is no target EditPart or no executable Command, the event's detail field is set to DND.DROP_NONE.


handleEnteredEditPart

protected void handleEnteredEditPart()
Called when a new target EditPart has been entered. By default, the new target is asked to show feedback.


handleExitingEditPart

protected void handleExitingEditPart()
Called as the current target EditPart is being exited. By default, the target is asked to erase feedback.


handleHover

protected void handleHover()
Called when the mouse hovers during drag and drop.


handleHoverStop

protected void handleHoverStop()
Called when the mouse resumes motion after having hovered.


isEnabled

public boolean isEnabled(DropTargetEvent event)
Returns true if this TransferDropTargetListener is enabled for the specified DropTargetEvent. By default, this is calculated by comparing the event's dataTypes with the Transfer's supported types (Transfer#isSupportedType(TransferData)). If a dataType is supported, an attempt is made to find a target EditPart at the current drop location. If a target EditPart is found, true is returned, and the DropTargetEvent's DropTargetEvent#currentDataType is set to the dataType that matched.

Parameters:
event - the DropTargetEvent
Returns:
true if this TransferDropTargetListener is enabled for the given DropTargetEvent

isEnablementDeterminedByCommand

protected boolean isEnablementDeterminedByCommand()
Returns true if isEnabled(DropTargetEvent) is determined by asking the potential target for a Command.

Returns:
true if the target will be queried for a Command
Since:
3.1

setAutoexposeHelper

protected void setAutoexposeHelper(
AutoexposeHelper helper)
Sets the current autoexpose helper.

Parameters:
helper - the autoexpose helper

setEnablementDeterminedByCommand

protected void setEnablementDeterminedByCommand(boolean value)
Determines if the target editpart should be asked for a Command during isEnabled(DropTargetEvent). For most DND operations, the data is not available, thus asking for a command would not make sense. The default value is false.

Parameters:
value - true if a
Since:
3.1

setCurrentEvent

public void setCurrentEvent(DropTargetEvent currentEvent)
Sets the current DropTargetEvent.

Parameters:
currentEvent - the DropTargetEvent

setTargetEditPart

protected void setTargetEditPart(
EditPart ep)
Sets the target EditPart. If the target is changing, handleExitingEditPart() is called before the target changes, and handleEnteredEditPart() is called afterwards.

Parameters:
ep - the new target EditPart

setTransfer

protected void setTransfer(Transfer xfer)
Sets the Tranfer type that this listener can handle.

Parameters:
xfer - the Transfer

setViewer

protected void setViewer(
EditPartViewer viewer)
Sets the EditPartViewer.

Parameters:
viewer - the EditPartViewer

showTargetFeedback

protected void showTargetFeedback()
Asks the target EditPart to show target feedback if it is not null.

See Also:
EditPart.showTargetFeedback(Request)

unload

protected void unload()
Erases target feedback and sets the request to null.


updateAutoexposeHelper

protected void updateAutoexposeHelper()
Updates the active AutoexposeHelper. Does nothing if there is still an active helper. Otherwise, obtains a new helper (possible null) at the current mouse location and calls setAutoexposeHelper(AutoexposeHelper).


updateTargetEditPart

protected void updateTargetEditPart()
Updates the target EditPart.


updateTargetRequest

protected abstract void updateTargetRequest()
Subclasses must implement this to update the target Request.


Eclipse GEF
3.3

Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire