org.eclipse.gef.tools

## Class ConnectionBendpointTracker

- java.lang.Object
- - org.eclipse.gef.util.FlagSupport
  - - org.eclipse.gef.tools.AbstractTool
    - - org.eclipse.gef.tools.SimpleDragTracker
      - - org.eclipse.gef.tools.ConnectionBendpointTracker

All Implemented Interfaces:
  DragTracker, RequestConstants, Tool

    public class ConnectionBendpointTracker
    extends SimpleDragTracker

A tracker for creating new bendpoints or dragging existing ones. The Connection bendpoint tracker is returned by connection bendpoint handles. This tracker will send a `BendpointRequest` to the connection editpart which originated the tracker. The bendpoint request may be either a request to move an existing bendpoint, or a request to create a new bendpoint.

A ConnectionBendpointTracker operates on a single connection editpart.

### 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.SimpleDragTracker

`MAX_FLAG`

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

`MAX_STATE, 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
`protected` `ConnectionBendpointTracker()` Null constructor.
`` `ConnectionBendpointTracker(ConnectionEditPart editpart, int i)` Constructs a tracker for the given connection and index.

### Method Summary

Methods
`protected java.util.List` `createOperationSet()` Returns a new List of editparts that this tool is operating on.
`protected Request` `createSourceRequest()` Creates a BendpointRequest.
`protected Command` `getCommand()` Obtains a new command from the connection.
`protected java.lang.String` `getCommandName()` Returns the identifier of the command that is being sought.
`protected Connection` `getConnection()` Convenience method to obtain the connection editpart's connection figure.
`protected ConnectionEditPart` `getConnectionEditPart()` Returns the connection editpart on which the tracker operates.
`protected java.lang.String` `getDebugName()` Returns the debug name for this tool.
`protected int` `getIndex()` Returns the index of the bendpoint being dragged or created.
`protected java.lang.Object` `getType()` The type of tracker, either `RequestConstants.REQ_CREATE_BENDPOINT` or `RequestConstants.REQ_MOVE_BENDPOINT`.
`void` `setConnectionEditPart(ConnectionEditPart cep)` Sets the connection editpart being operated on.
`void` `setIndex(int i)` Sets the index of the operation.
`void` `setType(java.lang.Object type)` Sets the type of bendpoint drag being performed.
`protected void` `updateSourceRequest()` Updates the source request.

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

`calculateCursor, commitDrag, deactivate, eraseSourceFeedback, getSourceRequest, handleButtonDown, handleButtonUp, handleDragInProgress, handleDragStarted, handleInvalidInput, handleKeyDown, handleKeyUp, isShowingFeedback, performDrag, showSourceFeedback`

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

`acceptArrowKey, activate, addFeedback, applyProperty, debug, executeCommand, executeCurrentCommand, focusGained, focusLost, getCurrentCommand, getCurrentInput, getCurrentViewer, getDebugNameForState, getDefaultCursor, getDisabledCursor, getDomain, getDragMoveDelta, getLocation, getOperationSet, getStartLocation, getState, handleCommandStackChanged, handleDoubleClick, handleDrag, handleFinished, handleFocusGained, handleFocusLost, handleHover, handleKeyTraversed, handleMove, handleNativeDragFinished, handleNativeDragStarted, handleViewerEntered, handleViewerExited, isActive, isHoverActive, isInState, isViewerImportant, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, movedPastThreshold, nativeDragFinished, nativeDragStarted, performViewerMouseWheel, placeMouseInViewer, reactivate, refreshCursor, releaseToolCapture, removeFeedback, resetFlags, 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.Tool

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

### Constructor Detail

#### ConnectionBendpointTracker

    protected ConnectionBendpointTracker()

Null constructor.

#### ConnectionBendpointTracker

    public ConnectionBendpointTracker(ConnectionEditPart editpart,
                              int i)

Constructs a tracker for the given connection and index.

Parameters:
  `editpart` - the connection
  `i` - the index of the bendpoint

### Method Detail

#### createOperationSet

    protected java.util.List createOperationSet()

Description copied from class: `AbstractTool`
Returns a new List of editparts that this tool is operating on. This method is called once during `AbstractTool.getOperationSet()`, and its result is cached.

By default, the operations set is the current viewer's entire selection. Subclasses may override this method to filter or alter the operation set as necessary.

Overrides:
  `createOperationSet` in class `AbstractTool`
Returns:
  a list of editparts being operated on
See Also:
  `AbstractTool.createOperationSet()`

#### createSourceRequest

    protected Request createSourceRequest()

Creates a BendpointRequest.

Overrides:
  `createSourceRequest` in class `SimpleDragTracker`
Returns:
  a new source request
See Also:
  `SimpleDragTracker.createSourceRequest()`

#### getCommand

    protected Command getCommand()

Obtains a new command from the connection.

Overrides:
  `getCommand` in class `AbstractTool`
Returns:
  a newly obtained command
See Also:
  `AbstractTool.getCommand()`

#### getCommandName

    protected java.lang.String getCommandName()

Description copied from class: `AbstractTool`
Returns the identifier of the command that is being sought. This name is also the named that will be logged in the debug view.

Specified by:
  `getCommandName` in class `AbstractTool`
Returns:
  the identifier for the command
See Also:
  `AbstractTool.getCommandName()`

#### getConnection

    protected Connection getConnection()

Convenience method to obtain the connection editpart's connection figure.

Returns:
  the connection figure

#### getConnectionEditPart

    protected ConnectionEditPart getConnectionEditPart()

Returns the connection editpart on which the tracker operates.

Returns:
  the connection editpart

#### getDebugName

    protected java.lang.String getDebugName()

Description copied from class: `AbstractTool`
Returns the debug name for this tool.

Overrides:
  `getDebugName` in class `AbstractTool`
Returns:
  the debug name
See Also:
  `AbstractTool.getDebugName()`

#### getIndex

    protected int getIndex()

Returns the index of the bendpoint being dragged or created.

Returns:
  the index

#### getType

    protected java.lang.Object getType()

The type of tracker, either `RequestConstants.REQ_CREATE_BENDPOINT` or `RequestConstants.REQ_MOVE_BENDPOINT`.

Returns:
  the type of operation being performed (move or create bendpoint)

#### setConnectionEditPart

    public void setConnectionEditPart(ConnectionEditPart cep)

Sets the connection editpart being operated on.

Parameters:
  `cep` - the connection

#### setIndex

    public void setIndex(int i)

Sets the index of the operation.

Parameters:
  `i` - the index

#### setType

    public void setType(java.lang.Object type)

Sets the type of bendpoint drag being performed.

Parameters:
  `type` - the drag type
See Also:
  `getType()`

#### updateSourceRequest

    protected void updateSourceRequest()

Description copied from class: `SimpleDragTracker`
Updates the source request.

Overrides:
  `updateSourceRequest` in class `SimpleDragTracker`
See Also:
  `SimpleDragTracker.updateSourceRequest()`