Package org.eclipse.gef.tools

# Class ConnectionDragCreationTool

java.lang.Object
org.eclipse.gef.util.FlagSupport
org.eclipse.gef.tools.AbstractTool
org.eclipse.gef.tools.TargetingTool
org.eclipse.gef.tools.AbstractConnectionCreationTool
org.eclipse.gef.tools.ConnectionDragCreationTool

All Implemented Interfaces:
  `DragTracker`, `RequestConstants`, `Tool`

public class ConnectionDragCreationTool extends AbstractConnectionCreationTool implements DragTracker
A connection creation tool that implements DragTracker. Using this tool, connections are created by clicking on the source edit part, dragging the mouse to the target edit part and releasing the mouse. A `NodeEditPart` might return this drag tracker if the mouse is located over an appropriate anchor.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.gef.tools.AbstractTool

`AbstractTool.Input`

## Field Summary

### Fields inherited from class org.eclipse.gef.tools.AbstractConnectionCreationTool

`MAX_FLAG, MAX_STATE, STATE_CONNECTION_STARTED`

### Fields inherited from class org.eclipse.gef.tools.AbstractTool

`MOUSE_BUTTON_ANY, MOUSE_BUTTON1, MOUSE_BUTTON2, MOUSE_BUTTON3, PROPERTY_UNLOAD_WHEN_FINISHED, STATE_ACCESSIBLE_DRAG, STATE_ACCESSIBLE_DRAG_IN_PROGRESS, STATE_DRAG, STATE_DRAG_IN_PROGRESS, STATE_INITIAL, STATE_INVALID, STATE_TERMINAL`

### Fields inherited from interface org.eclipse.gef.RequestConstants

`REQ_ADD, REQ_ALIGN, REQ_ALIGN_CHILDREN, REQ_CLONE, REQ_CONNECTION_END, REQ_CONNECTION_START, REQ_CREATE, REQ_CREATE_BENDPOINT, REQ_DELETE, REQ_DELETE_DEPENDANT, REQ_DIRECT_EDIT, REQ_MOVE, REQ_MOVE_BENDPOINT, REQ_MOVE_CHILDREN, REQ_OPEN, REQ_ORPHAN, REQ_ORPHAN_CHILDREN, REQ_RECONNECT_SOURCE, REQ_RECONNECT_TARGET, REQ_RESIZE, REQ_RESIZE_CHILDREN, REQ_SELECTION, REQ_SELECTION_HOVER`

## Constructor Summary

Constructors
Constructor
Description
`ConnectionDragCreationTool()`
Default constructor.
`ConnectionDragCreationTool(CreationFactory factory)`
Constructs a new ConnectionDragCreationTool with the given factory.

## Method Summary

Modifier and Type
Method
Description
`protected boolean`
`handleButtonDown(int button)`
Calls super and sets the current state to `AbstractTool.STATE_DRAG` .
`protected boolean`
`handleButtonUp(int button)`
If the connection has started, the button up event attempts to complete the connection.
`protected boolean`
`handleDragStarted()`
When the threshold is passed, transition to CONNECTION_STARTED.
`protected void`
`handleFinished()`
Overridden so that nothing happens when this tool is used as a tracker.

### Methods inherited from class org.eclipse.gef.tools.AbstractConnectionCreationTool

`calculateCursor, createTargetRequest, deactivate, eraseSourceFeedback, getCommandName, getDebugName, getDebugNameForState, getFactory, getSourceRequest, getTargetRequest, handleCommandStackChanged, handleCreateConnection, handleDrag, handleDragInProgress, handleFocusLost, handleHover, handleInvalidInput, handleMove, handleSourceDeactivated, isShowingSourceFeedback, setConnectionSource, setFactory, showSourceFeedback, updateTargetRequest`

### Methods inherited from class org.eclipse.gef.tools.TargetingTool

`doAutoexpose, eraseTargetFeedback, getAutoexposeHelper, getCommand, getDirection, getExclusionSet, getTargetEditPart, getTargetingConditional, handleAutoexpose, handleEnteredEditPart, handleExitingEditPart, handleHoverStop, handleLeavingEditPart, handleViewerExited, isShowingTargetFeedback, isTargetLocked, lockTargetEditPart, resetFlags, resetHover, setAutoexposeHelper, setRefreshRate, setTargetEditPart, setTargetRequest, showTargetFeedback, unlockTargetEditPart, updateAutoexposeHelper, updateTargetUnderMouse`

### Methods inherited from class org.eclipse.gef.tools.AbstractTool

`acceptArrowKey, accGetStep, accStepIncrement, accStepReset, activate, addFeedback, applyProperty, commitDrag, createOperationSet, debug, executeCommand, executeCurrentCommand, focusGained, focusLost, getCurrentCommand, getCurrentInput, getCurrentViewer, getDefaultCursor, getDisabledCursor, getDomain, getDragMoveDelta, getLocation, getOperationSet, getStartLocation, getState, handleDoubleClick, handleFocusGained, handleKeyDown, handleKeyTraversed, handleKeyUp, handleNativeDragFinished, handleNativeDragStarted, handleViewerEntered, isActive, isHoverActive, isInState, isViewerImportant, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, movedPastThreshold, nativeDragFinished, nativeDragStarted, performViewerMouseWheel, placeMouseInViewer, reactivate, refreshCursor, releaseToolCapture, removeFeedback, setCurrentCommand, setCursor, setDefaultCursor, setDisabledCursor, setEditDomain, setHoverActive, setProperties, setStartLocation, setState, setToolCapture, setUnloadWhenFinished, setViewer, stateTransition, unloadWhenFinished, viewerEntered, viewerExited`

### Methods inherited from class org.eclipse.gef.util.FlagSupport

`getFlag, setFlag`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.gef.DragTracker

`commitDrag`

### Methods inherited from interface org.eclipse.gef.Tool

`activate, deactivate, focusGained, focusLost, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, nativeDragFinished, nativeDragStarted, setEditDomain, setProperties, setViewer, viewerEntered, viewerExited`

## Constructor Details

### ConnectionDragCreationTool

public ConnectionDragCreationTool()
Default constructor.

### ConnectionDragCreationTool

public ConnectionDragCreationTool(CreationFactory factory)
Constructs a new ConnectionDragCreationTool with the given factory.

Parameters:
  `factory` - the creation factory

## Method Details

### handleButtonDown

protected boolean handleButtonDown(int button)
Calls super and sets the current state to `AbstractTool.STATE_DRAG` .

Overrides:
  `handleButtonDown` in class `AbstractConnectionCreationTool`
Parameters:
  `button` - which button is pressed
Returns:
  `true` if the button down was processed
See Also:
  - `AbstractConnectionCreationTool.handleButtonDown(int)`

### handleButtonUp

protected boolean handleButtonUp(int button)
If the connection has started, the button up event attempts to complete the connection.

Overrides:
  `handleButtonUp` in class `AbstractConnectionCreationTool`
Parameters:
  `button` - the button that was released
Returns:
  `true` if this button up event was processed
See Also:
  - `AbstractTool.handleButtonUp(int)`

### handleDragStarted

protected boolean handleDragStarted()
When the threshold is passed, transition to CONNECTION_STARTED.

Overrides:
  `handleDragStarted` in class `AbstractTool`
Returns:
  `true` if the state transition completed successfully
See Also:
  - `AbstractTool.movedPastThreshold()`
  - `AbstractTool.mouseDrag(MouseEvent, EditPartViewer)`

### handleFinished

protected void handleFinished()
Overridden so that nothing happens when this tool is used as a tracker. If it is the primary tool, then this method behaves normally.

Overrides:
  `handleFinished` in class `AbstractTool`
See Also:
  - `AbstractTool.handleFinished()`