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
public class ConnectionEndpointTracker extends TargetingTool implements DragTracker
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
Fields Modifier and Type Field Description protected static intMAX_FLAGThe 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 Constructor Description ConnectionEndpointTracker(ConnectionEditPart cep)Constructs a new ConnectionEndpointTracker for the given ConnectionEditPart.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected CursorcalculateCursor()Returns a custom "plug" cursor if this tool is in the initial, drag or accessible drag state.voidcommitDrag()Erases source and target feedback and executes the current command.protected RequestcreateTargetRequest()Creates the target request, aReconnectRequest.voiddeactivate()Erases feedback and sets the viewer's focus tonull.protected voideraseSourceFeedback()Erases the source feedback.protected java.lang.StringgetCommandName()Returns the identifier of the command that is being sought.protected org.eclipse.draw2d.ConnectiongetConnection()Returns the ConnectionEditPart's figure.protected ConnectionEditPartgetConnectionEditPart()Returns the ConnectionEditPart.protected java.lang.StringgetDebugName()Returns the debug name for this tool.protected java.util.CollectiongetExclusionSet()Returns a List of objects that should be excluded as potential targets for the operation.protected booleanhandleButtonUp(int button)If currently in the drag-in-progress state, it goes into the terminal state erases feedback and executes the current command.protected booleanhandleDragInProgress()Updates the request and the mouse target, asks to show feedback, and gets the current command.protected booleanhandleDragStarted()Called only one time during a drag when the drag threshold has been exceeded.protected booleanhandleHover()Handles high-level processing of a mouse hover event.protected booleanhandleKeyDown(KeyEvent e)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).voidsetCommandName(java.lang.String newCommandName)Sets the command name.voidsetConnectionEditPart(ConnectionEditPart cep)Sets the connection edit part that is being reconnected.protected voidshowSourceFeedback()Asks the ConnectionEditPart to show source feedback.protected voidupdateTargetRequest()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 Detail
-
MAX_FLAG
protected static final int MAX_FLAG
The max flag- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ConnectionEndpointTracker
public ConnectionEndpointTracker(ConnectionEditPart cep)
Constructs a new ConnectionEndpointTracker for the given ConnectionEditPart.- Parameters:
cep- the ConnectionEditPart
-
-
Method Detail
-
calculateCursor
protected Cursor calculateCursor()
Returns a custom "plug" cursor if this tool is in the initial, drag or accessible drag state. Otherwise defers tosuper.- Overrides:
calculateCursorin classAbstractTool- Returns:
- the cursor
- See Also:
AbstractTool.getDefaultCursor(),AbstractTool.getDisabledCursor(),AbstractTool.getCurrentCommand()
-
commitDrag
public void commitDrag()
Erases source and target feedback and executes the current command.- Specified by:
commitDragin interfaceDragTracker- Overrides:
commitDragin classAbstractTool- See Also:
DragTracker.commitDrag()
-
createTargetRequest
protected Request createTargetRequest()
Creates the target request, aReconnectRequest.- Overrides:
createTargetRequestin classTargetingTool- Returns:
- the target request
- See Also:
TargetingTool.getTargetRequest()
-
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:
deactivatein interfaceTool- Overrides:
deactivatein classTargetingTool- See Also:
Tool.deactivate()
-
eraseSourceFeedback
protected void eraseSourceFeedback()
Erases the source feedback.
-
getCommandName
protected java.lang.String getCommandName()
Description copied from class:AbstractToolReturns 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:
getCommandNamein classAbstractTool- Returns:
- the identifier for the command
- See Also:
AbstractTool.getCommandName()
-
getConnection
protected org.eclipse.draw2d.Connection getConnection()
Returns the ConnectionEditPart's figure.- Returns:
- the connection
-
getConnectionEditPart
protected ConnectionEditPart getConnectionEditPart()
Returns the ConnectionEditPart.- Returns:
- the ConnectionEditPart
-
getDebugName
protected java.lang.String getDebugName()
Description copied from class:AbstractToolReturns the debug name for this tool.- Overrides:
getDebugNamein classAbstractTool- Returns:
- the debug name
- See Also:
AbstractTool.getDebugName()
-
getExclusionSet
protected java.util.Collection getExclusionSet()
Description copied from class:TargetingToolReturns a List of objects that should be excluded as potential targets for the operation.- Overrides:
getExclusionSetin classTargetingTool- Returns:
- the list of objects to be excluded as targets
- See Also:
TargetingTool.getExclusionSet()
-
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:
handleButtonUpin classAbstractTool- Parameters:
button- the button being released- Returns:
trueif the button up was handled- See Also:
AbstractTool.handleButtonUp(int)
-
handleDragInProgress
protected boolean handleDragInProgress()
Updates the request and the mouse target, asks to show feedback, and gets the current command.- Overrides:
handleDragInProgressin classAbstractTool- Returns:
true- See Also:
AbstractTool.movedPastThreshold(),AbstractTool.mouseDrag(MouseEvent, EditPartViewer)
-
handleDragStarted
protected boolean handleDragStarted()
Description copied from class:AbstractToolCalled only one time during a drag when the drag threshold has been exceeded. By default, nothing happens andfalseis returned. Subclasses may override to interpret the drag starting. Returningtrueindicates that the event was handled.- Overrides:
handleDragStartedin classAbstractTool- Returns:
- true if the drag starting was handled
- See Also:
AbstractTool.handleDragStarted()
-
handleHover
protected boolean handleHover()
Description copied from class:AbstractToolHandles high-level processing of a mouse hover event. By default, nothing happens andfalseis returned. Subclasses may override this method to interpret the hover. Returntrueto indicate that the hover was handled.- Overrides:
handleHoverin classAbstractTool- Returns:
trueif the hover was handled- See Also:
AbstractTool.handleHover()
-
handleKeyDown
protected boolean handleKeyDown(KeyEvent e)
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:
handleKeyDownin classAbstractTool- Parameters:
e- the key event- Returns:
trueif the key down was handled.- See Also:
AbstractTool.handleKeyDown(org.eclipse.swt.events.KeyEvent)
-
setCommandName
public void setCommandName(java.lang.String newCommandName)
Sets the command name.- Parameters:
newCommandName- the new command name
-
setConnectionEditPart
public void setConnectionEditPart(ConnectionEditPart cep)
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:
updateTargetRequestin classTargetingTool- See Also:
TargetingTool.updateTargetRequest()
-
-