Package org.eclipse.gef.tools
Class SelectEditPartTracker
java.lang.Object
org.eclipse.gef.util.FlagSupport
org.eclipse.gef.tools.AbstractTool
org.eclipse.gef.tools.TargetingTool
org.eclipse.gef.tools.SelectEditPartTracker
- All Implemented Interfaces:
DragTracker,RequestConstants,Tool
- Direct Known Subclasses:
DeselectAllTracker,DragEditPartsTracker,DragTreeItemsTracker
DragTracker used to select, edit, and open
EditParts.-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.gef.tools.AbstractTool
AbstractTool.Input -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intFlag to indicate selection has been performed.protected static final intMax flagFields 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_TERMINALFields 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
ConstructorsConstructorDescriptionSelectEditPartTracker(EditPart owner) Constructs a new SelectEditPartTracker with the given edit part as the source. -
Method Summary
Modifier and TypeMethodDescriptionprotected CursorReturns the appropriate cursor for the tools current state.protected StringReturns the identifier of the command that is being sought.protected StringReturns the debug name for this tool.protected EditPartReturns the source edit part.protected booleanhandleButtonDown(int button) Performs a conditional selection if needed (if right or left mouse button have been pressed) and goes into the drag state.protected booleanhandleButtonUp(int button) If in the drag state, the tool selects the source edit part.protected booleanhandleDoubleClick(int button) CallsperformOpen()if the double click was with mouse button 1.protected booleanCalled only one time during a drag when the drag threshold has been exceeded.protected booleanReturnstrueif selection has already occured.protected voidCallsperformSelection()if the source is not selected.protected voidCreates aDirectEditRequestand sends it to a DelayedDirectEditHelper to allow the user to directly edit the edit part.protected voidCreates aSelectionRequestand sends it to the source edit part viaEditPart.performRequest(Request).protected voidPerforms the appropriate selection action based on the selection state of the source and the modifiers (CTRL and SHIFT).protected voidExtended to reset the target lock flag.protected voidsetSourceEditPart(EditPart part) Sets the source edit part.Methods inherited from class org.eclipse.gef.tools.TargetingTool
createTargetRequest, deactivate, doAutoexpose, eraseTargetFeedback, getAutoexposeHelper, getCommand, getDirection, getExclusionSet, getTargetEditPart, getTargetingConditional, getTargetRequest, handleAutoexpose, handleEnteredEditPart, handleExitingEditPart, handleHoverStop, handleInvalidInput, handleLeavingEditPart, handleViewerExited, isShowingTargetFeedback, isTargetLocked, lockTargetEditPart, resetHover, setAutoexposeHelper, setRefreshRate, setTargetEditPart, setTargetRequest, showTargetFeedback, unlockTargetEditPart, updateAutoexposeHelper, updateTargetRequest, updateTargetUnderMouseMethods 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, getDebugNameForState, getDefaultCursor, getDisabledCursor, getDomain, getDragMoveDelta, getLocation, getOperationSet, getStartLocation, getState, handleCommandStackChanged, handleDrag, handleDragInProgress, handleFinished, handleFocusGained, handleFocusLost, handleHover, handleKeyDown, 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, viewerExitedMethods inherited from class org.eclipse.gef.util.FlagSupport
getFlag, setFlagMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.gef.DragTracker
commitDragMethods 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
-
Field Details
-
FLAG_SELECTION_PERFORMED
protected static final int FLAG_SELECTION_PERFORMEDFlag to indicate selection has been performed.- See Also:
-
MAX_FLAG
protected static final int MAX_FLAGMax flag- See Also:
-
-
Constructor Details
-
SelectEditPartTracker
Constructs a new SelectEditPartTracker with the given edit part as the source.- Parameters:
owner- the source edit part
-
-
Method Details
-
calculateCursor
Description copied from class:AbstractToolReturns the appropriate cursor for the tools current state. If the tool is in its terminal state,nullis returned. Otherwise, either the default or disabled cursor is returned, based on the existence of a current command, and whether that current command is executable.Subclasses may override or extend this method to calculate the appropriate cursor based on other conditions.
- Overrides:
calculateCursorin classAbstractTool- Returns:
nullor a cursor to be displayed.- See Also:
-
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:
-
getDebugName
Description copied from class:AbstractToolReturns the debug name for this tool.- Overrides:
getDebugNamein classAbstractTool- Returns:
- the debug name
- See Also:
-
getSourceEditPart
Returns the source edit part.- Returns:
- the source edit part
-
handleButtonDown
protected boolean handleButtonDown(int button) Performs a conditional selection if needed (if right or left mouse button have been pressed) and goes into the drag state. If any other button has been pressed, the tool goes into the invalid state.- Overrides:
handleButtonDownin classAbstractTool- Parameters:
button- which button went down- Returns:
trueif the buttonDown was handled- See Also:
-
handleButtonUp
protected boolean handleButtonUp(int button) If in the drag state, the tool selects the source edit part. If the edit part was already selected,performDirectEdit()is called. If the edit part is newly selected and not completely visible,EditPartViewer.reveal(EditPart)is called to show the selected edit part.- Overrides:
handleButtonUpin classAbstractTool- Parameters:
button- the button being released- Returns:
trueif the button up was handled- See Also:
-
handleDoubleClick
protected boolean handleDoubleClick(int button) CallsperformOpen()if the double click was with mouse button 1.- Overrides:
handleDoubleClickin classAbstractTool- Parameters:
button- which button was double-clicked- Returns:
trueif the event was handled- See Also:
-
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:
-
hasSelectionOccurred
protected boolean hasSelectionOccurred()Returnstrueif selection has already occured.- Returns:
trueif selection has occured
-
performConditionalSelection
protected void performConditionalSelection()CallsperformSelection()if the source is not selected. If the source is selected and there are no modifier keys pressed (i.e. the user isn't selecting multiple edit parts or deselecting edit parts), sets the direct edit flag so that when the mouse is released, a direct edit will be performed. -
performDirectEdit
protected void performDirectEdit()Creates aDirectEditRequestand sends it to a DelayedDirectEditHelper to allow the user to directly edit the edit part. -
performOpen
protected void performOpen()Creates aSelectionRequestand sends it to the source edit part viaEditPart.performRequest(Request). Possible uses are to open the selected item in another editor or replace the current editor's contents based on the selected item. -
performSelection
protected void performSelection()Performs the appropriate selection action based on the selection state of the source and the modifiers (CTRL and SHIFT). If no modifier key is pressed, the source will be set as the only selection. If the CTRL key is pressed and the edit part is already selected, it will be deselected. If the CTRL key is pressed and the edit part is not selected, it will be appended to the selection set. If the SHIFT key is pressed, the source will be appended to the selection. -
resetFlags
protected void resetFlags()Description copied from class:TargetingToolExtended to reset the target lock flag.- Overrides:
resetFlagsin classTargetingTool- See Also:
-
setSourceEditPart
Sets the source edit part.- Parameters:
part- the source edit part
-