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
public class SelectEditPartTracker extends TargetingTool implements DragTracker
DragTracker used to select, edit, and openEditParts.
-
-
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 intFLAG_SELECTION_PERFORMEDFlag to indicate selection has been performed.protected static intMAX_FLAGMax 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 SelectEditPartTracker(EditPart owner)Constructs a new SelectEditPartTracker with the given edit part as the source.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected CursorcalculateCursor()Returns the appropriate cursor for the tools current state.protected java.lang.StringgetCommandName()Returns the identifier of the command that is being sought.protected java.lang.StringgetDebugName()Returns the debug name for this tool.protected EditPartgetSourceEditPart()Returns 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 booleanhandleDragStarted()Called only one time during a drag when the drag threshold has been exceeded.protected booleanhasSelectionOccurred()Returnstrueif selection has already occured.protected voidperformConditionalSelection()CallsperformSelection()if the source is not selected.protected voidperformDirectEdit()Creates aDirectEditRequestand sends it to a DelayedDirectEditHelper to allow the user to directly edit the edit part.protected voidperformOpen()Creates aSelectionRequestand sends it to the source edit part viaEditPart.performRequest(Request).protected voidperformSelection()Performs the appropriate selection action based on the selection state of the source and the modifiers (CTRL and SHIFT).protected voidresetFlags()Extended 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, getExclusionSet, getTargetEditPart, getTargetingConditional, getTargetRequest, handleAutoexpose, handleEnteredEditPart, handleExitingEditPart, handleHoverStop, handleInvalidInput, handleLeavingEditPart, handleViewerExited, isShowingTargetFeedback, isTargetLocked, lockTargetEditPart, resetHover, setAutoexposeHelper, setTargetEditPart, setTargetRequest, showTargetFeedback, unlockTargetEditPart, updateAutoexposeHelper, updateTargetRequest, updateTargetUnderMouse
-
Methods inherited from class org.eclipse.gef.tools.AbstractTool
acceptArrowKey, 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, 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.DragTracker
commitDrag
-
Methods 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 Detail
-
FLAG_SELECTION_PERFORMED
protected static final int FLAG_SELECTION_PERFORMED
Flag to indicate selection has been performed.- See Also:
- Constant Field Values
-
MAX_FLAG
protected static final int MAX_FLAG
Max flag- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SelectEditPartTracker
public SelectEditPartTracker(EditPart owner)
Constructs a new SelectEditPartTracker with the given edit part as the source.- Parameters:
owner- the source edit part
-
-
Method Detail
-
calculateCursor
protected Cursor 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:
AbstractTool.calculateCursor()
-
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()
-
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()
-
getSourceEditPart
protected EditPart 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:
AbstractTool.handleButtonDown(int)
-
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:
AbstractTool.handleButtonUp(int)
-
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:
AbstractTool.handleDoubleClick(int)
-
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()
-
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:
AbstractTool.resetFlags()
-
setSourceEditPart
protected void setSourceEditPart(EditPart part)
Sets the source edit part.- Parameters:
part- the source edit part
-
-