Package org.eclipse.gef.tools
Class ConnectionEndpointTracker
java.lang.Object
org.eclipse.gef.util.FlagSupport
org.eclipse.gef.tools.AbstractTool
org.eclipse.gef.tools.TargetingTool
org.eclipse.gef.tools.ConnectionEndpointTracker
- All Implemented Interfaces:
DragTracker
,RequestConstants
,Tool
A DragTracker that moves the endpoint of a connection to another location.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.gef.tools.AbstractTool
AbstractTool.Input
-
Field Summary
FieldsFields 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
ConstructorsConstructorDescriptionConstructs a new ConnectionEndpointTracker for the given ConnectionEditPart. -
Method Summary
Modifier and TypeMethodDescriptionprotected Cursor
Returns a custom "plug" cursor if this tool is in the initial, drag or accessible drag state.void
Erases source and target feedback and executes the current command.protected Request
Creates the target request, aReconnectRequest
.void
Erases feedback and sets the viewer's focus tonull
.protected void
Erases the source feedback.protected String
Returns the identifier of the command that is being sought.protected Connection
Returns the ConnectionEditPart's figure.protected ConnectionEditPart
Returns the ConnectionEditPart.protected String
Returns the debug name for this tool.protected Collection<IFigure>
Returns a List of figures that should be excluded as potential targets for the operation.protected boolean
handleButtonUp
(int button) If currently in the drag-in-progress state, it goes into the terminal state erases feedback and executes the current command.protected boolean
Updates the request and the mouse target, asks to show feedback, and gets the current command.protected boolean
Called only one time during a drag when the drag threshold has been exceeded.protected boolean
Handles high-level processing of a mouse hover event.protected boolean
Processes the arrow keys (to choose a different source or target edit part) and forwardslash and backslash keys (to try to connect to another connection).void
setCommandName
(String newCommandName) Sets the command name.void
Sets the connection edit part that is being reconnected.protected void
Asks the ConnectionEditPart to show source feedback.protected void
Updates the request location.Methods inherited from class org.eclipse.gef.tools.TargetingTool
doAutoexpose, eraseTargetFeedback, getAutoexposeHelper, getCommand, getTargetEditPart, getTargetingConditional, getTargetRequest, handleAutoexpose, handleEnteredEditPart, handleExitingEditPart, handleHoverStop, handleInvalidInput, handleLeavingEditPart, handleViewerExited, isShowingTargetFeedback, isTargetLocked, lockTargetEditPart, resetFlags, resetHover, setAutoexposeHelper, setTargetEditPart, setTargetRequest, showTargetFeedback, unlockTargetEditPart, updateAutoexposeHelper, updateTargetUnderMouse
Methods inherited from class org.eclipse.gef.tools.AbstractTool
acceptArrowKey, activate, addFeedback, applyProperty, createOperationSet, debug, executeCommand, executeCurrentCommand, focusGained, focusLost, getCurrentCommand, getCurrentInput, getCurrentViewer, getDebugNameForState, getDefaultCursor, getDisabledCursor, getDomain, getDragMoveDelta, getLocation, getOperationSet, getStartLocation, getState, handleButtonDown, handleCommandStackChanged, handleDoubleClick, handleDrag, handleFinished, handleFocusGained, handleFocusLost, handleKeyTraversed, handleKeyUp, handleMove, 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.Tool
activate, focusGained, focusLost, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, nativeDragFinished, nativeDragStarted, setEditDomain, setProperties, setViewer, viewerEntered, viewerExited
-
Field Details
-
MAX_FLAG
protected static final int MAX_FLAGThe max flag- See Also:
-
-
Constructor Details
-
ConnectionEndpointTracker
Constructs a new ConnectionEndpointTracker for the given ConnectionEditPart.- Parameters:
cep
- the ConnectionEditPart
-
-
Method Details
-
calculateCursor
Returns a custom "plug" cursor if this tool is in the initial, drag or accessible drag state. Otherwise defers tosuper
.- Overrides:
calculateCursor
in classAbstractTool
- Returns:
- the cursor
- See Also:
-
commitDrag
public void commitDrag()Erases source and target feedback and executes the current command.- Specified by:
commitDrag
in interfaceDragTracker
- Overrides:
commitDrag
in classAbstractTool
- See Also:
-
createTargetRequest
Creates the target request, aReconnectRequest
.- Overrides:
createTargetRequest
in classTargetingTool
- Returns:
- the target request
- See Also:
-
deactivate
public void deactivate()Erases feedback and sets the viewer's focus tonull
. This will remove any focus rectangles that were painted to show the new target or source edit part.- Specified by:
deactivate
in interfaceTool
- Overrides:
deactivate
in classTargetingTool
- See Also:
-
eraseSourceFeedback
protected void eraseSourceFeedback()Erases the source feedback. -
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 classAbstractTool
- Returns:
- the identifier for the command
- See Also:
-
getConnection
Returns the ConnectionEditPart's figure.- Returns:
- the connection
-
getConnectionEditPart
Returns the ConnectionEditPart.- Returns:
- the ConnectionEditPart
-
getDebugName
Description copied from class:AbstractTool
Returns the debug name for this tool.- Overrides:
getDebugName
in classAbstractTool
- Returns:
- the debug name
- See Also:
-
getExclusionSet
Description copied from class:TargetingTool
Returns a List of figures that should be excluded as potential targets for the operation.- Overrides:
getExclusionSet
in classTargetingTool
- Returns:
- the list of figures to be excluded as targets
- See Also:
-
handleButtonUp
protected boolean handleButtonUp(int button) If currently in the drag-in-progress state, it goes into the terminal state erases feedback and executes the current command.- Overrides:
handleButtonUp
in classAbstractTool
- Parameters:
button
- the button being released- Returns:
true
if the button up was handled- See Also:
-
handleDragInProgress
protected boolean handleDragInProgress()Updates the request and the mouse target, asks to show feedback, and gets the current command.- Overrides:
handleDragInProgress
in classAbstractTool
- Returns:
true
- See Also:
-
handleDragStarted
protected boolean handleDragStarted()Description copied from class:AbstractTool
Called only one time during a drag when the drag threshold has been exceeded. By default, nothing happens andfalse
is returned. Subclasses may override to interpret the drag starting. Returningtrue
indicates that the event was handled.- Overrides:
handleDragStarted
in classAbstractTool
- Returns:
- true if the drag starting was handled
- See Also:
-
handleHover
protected boolean handleHover()Description copied from class:AbstractTool
Handles high-level processing of a mouse hover event. By default, nothing happens andfalse
is returned. Subclasses may override this method to interpret the hover. Returntrue
to indicate that the hover was handled.- Overrides:
handleHover
in classAbstractTool
- Returns:
true
if the hover was handled- See Also:
-
handleKeyDown
Processes the arrow keys (to choose a different source or target edit part) and forwardslash and backslash keys (to try to connect to another connection).- Overrides:
handleKeyDown
in classAbstractTool
- Parameters:
e
- the key event- Returns:
true
if the key down was handled.- See Also:
-
setCommandName
Sets the command name.- Parameters:
newCommandName
- the new command name
-
setConnectionEditPart
Sets the connection edit part that is being reconnected.- Parameters:
cep
- the connection edit part
-
showSourceFeedback
protected void showSourceFeedback()Asks the ConnectionEditPart to show source feedback. -
updateTargetRequest
protected void updateTargetRequest()Updates the request location.- Overrides:
updateTargetRequest
in classTargetingTool
- See Also:
-