Package org.eclipse.gef.tools

# Class ConnectionCreationTool

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.ConnectionCreationTool

All Implemented Interfaces:
  `RequestConstants`, `Tool`

public class ConnectionCreationTool extends AbstractConnectionCreationTool
The default creation tool for connections. With this tool, the user must click and release the left mouse button on the source edit part and then click and release the left mouse button on the target edit part. By default, this tool will remain active after connections are created. The user must select a different tool to deactivate this tool.

## 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
`ConnectionCreationTool()`
Default Constructor.
`ConnectionCreationTool(CreationFactory factory)`
Constructs a new ConnectionCreationTool with the given factory.

## Method Summary

Modifier and Type
Method
Description
`protected boolean`
`handleButtonDown(int button)`
If the connections is already started, the second button down will call `AbstractConnectionCreationTool.handleCreateConnection()`.
`protected boolean`
`handleFocusLost()`
Cleans up feedback and resets the tool when focus is lost.
`protected boolean`
`handleKeyDown(KeyEvent event)`
Processes the arrow keys (to move the cursor to nearby anchor locations) and the enter key (to start or complete a connections).
`void`
`mouseWheelScrolled(Event event, EditPartViewer viewer)`
Scrolling can happen either in the `initial` state or once the source of the connection has been `identified`.

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

`calculateCursor, createTargetRequest, deactivate, eraseSourceFeedback, getCommandName, getDebugName, getDebugNameForState, getFactory, getSourceRequest, getTargetRequest, handleButtonUp, handleCommandStackChanged, handleCreateConnection, handleDrag, handleDragInProgress, 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, handleDragStarted, handleFinished, handleFocusGained, handleKeyTraversed, handleKeyUp, handleNativeDragFinished, handleNativeDragStarted, handleViewerEntered, isActive, isHoverActive, isInState, isViewerImportant, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, 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`

## Constructor Details

### ConnectionCreationTool

public ConnectionCreationTool()
Default Constructor.

### ConnectionCreationTool

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

Parameters:
  `factory` - the creation factory

## Method Details

### handleButtonDown

protected boolean handleButtonDown(int button)
If the connections is already started, the second button down will call `AbstractConnectionCreationTool.handleCreateConnection()`. Otherwise, it attempts to start the connection.

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

### handleFocusLost

protected boolean handleFocusLost()
Cleans up feedback and resets the tool when focus is lost.

Overrides:
  `handleFocusLost` in class `AbstractConnectionCreationTool`
Returns:
  `true` if this focus lost event was processed
See Also:
  - `AbstractTool.handleFocusLost()`

### handleKeyDown

protected boolean handleKeyDown(KeyEvent event)
Processes the arrow keys (to move the cursor to nearby anchor locations) and the enter key (to start or complete a connections).

Overrides:
  `handleKeyDown` in class `AbstractTool`
Parameters:
  `event` - the key event
Returns:
  `true` if this key down event was processed
See Also:
  - `AbstractTool.keyDown(KeyEvent, EditPartViewer)`

### mouseWheelScrolled

public void mouseWheelScrolled(Event event, EditPartViewer viewer)
Scrolling can happen either in the `initial` state or once the source of the connection has been `identified`.

Specified by:
  `mouseWheelScrolled` in interface `Tool`
Overrides:
  `mouseWheelScrolled` in class `AbstractTool`
Parameters:
  `event` - the SWT scroll event
  `viewer` - the originating viewer
See Also:
  - `Tool.mouseWheelScrolled(org.eclipse.swt.widgets.Event, org.eclipse.gef.EditPartViewer)`