|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.gef.util.FlagSupport
org.eclipse.gef.tools.AbstractTool
org.eclipse.gef.tools.TargetingTool
org.eclipse.gef.tools.SelectEditPartTracker
org.eclipse.gef.tools.DragEditPartsTracker
A DragTracker that moves EditParts
.
Nested Class Summary |
Nested classes inherited from class org.eclipse.gef.tools.AbstractTool |
AbstractTool.Input |
Field Summary | |
protected static int |
MAX_FLAG
Max flag |
Fields inherited from class org.eclipse.gef.tools.SelectEditPartTracker |
FLAG_SELECTION_PERFORMED |
Fields inherited from class org.eclipse.gef.tools.AbstractTool |
MAX_STATE, MOUSE_BUTTON_ANY, MOUSE_BUTTON1, MOUSE_BUTTON2, MOUSE_BUTTON3, 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 | |
DragEditPartsTracker(EditPart sourceEditPart)
Constructs a new DragEditPartsTracker with the given source edit part. |
Method Summary | |
void |
commitDrag()
Erases feedback and calls performDrag() . |
protected java.util.List |
createOperationSet()
Returns a List of top-level edit parts excluding dependants (by calling ToolUtilities.getSelectionWithoutDependants(EditPartViewer) that understand the
current target request (by calling
ToolUtilities.filterEditPartsUnderstanding(List, Request) . |
protected Request |
createTargetRequest()
Creates a ChangeBoundsRequest . |
void |
deactivate()
Erases source feedback and sets the autoexpose helper to null . |
protected void |
eraseSourceFeedback()
Asks the edit parts in the operation set to
erase their source feedback. |
protected Command |
getCommand()
Asks each edit part in the operation set to
contribute to a CompoundCommand after first setting the request type to either
RequestConstants.REQ_MOVE or RequestConstants.REQ_ORPHAN , depending on
the result of isMove() . |
protected java.lang.String |
getCommandName()
Returns the identifier of the command that is being sought. |
protected java.lang.String |
getDebugName()
Returns the debug name for this tool. |
protected org.eclipse.swt.graphics.Cursor |
getDefaultCursor()
Returns the cursor used under normal conditions. |
protected java.util.Collection |
getExclusionSet()
Returns a list of all the edit parts in the operation set , plus the ConnectionLayer . |
protected void |
handleAutoexpose()
This method is called whenever an autoexpose occurs. |
protected boolean |
handleButtonUp(int button)
Erases feedback and calls performDrag() . |
protected boolean |
handleDragInProgress()
Updates the target request and mouse target, asks to show feedback, and sets the current command. |
protected boolean |
handleHover()
Calls TargetingTool.updateAutoexposeHelper() if a drag is in progress. |
protected boolean |
handleInvalidInput()
Erases source feedback. |
protected boolean |
handleKeyDown(org.eclipse.swt.events.KeyEvent e)
Processes arrow keys used to move edit parts. |
protected boolean |
handleKeyUp(org.eclipse.swt.events.KeyEvent e)
Interprets and processes clone deactivation, constrained move deactivation, and accessibility navigation reset. |
protected boolean |
isCloneActive()
Returns true if the current drag is a clone operation. |
protected boolean |
isMove()
Returns true if the source edit part is being moved within its parent. |
protected void |
performDrag()
Calls AbstractTool.executeCurrentCommand() . |
protected void |
repairStartLocation()
If auto scroll (also called auto expose) is being performed, the start location moves during the scroll. |
protected void |
setAutoexposeHelper(AutoexposeHelper helper)
Sets the active autoexpose helper to the given helper, or null . |
protected void |
setCloneActive(boolean cloneActive)
Enables cloning if the value is true. |
protected void |
setState(int state)
Extended to activate cloning and to update the captured source dimensions when applicable. |
protected void |
setTargetEditPart(EditPart editpart)
Extended to update the current snap-to strategy. |
protected void |
showSourceFeedback()
Asks the edit parts in the operation set to
show source feedback. |
protected void |
updateTargetRequest()
Calls repairStartLocation() in case auto scroll is being performed. |
Methods inherited from class org.eclipse.gef.tools.SelectEditPartTracker |
calculateCursor, getSourceEditPart, handleButtonDown, handleDoubleClick, handleDragStarted, hasSelectionOccurred, performConditionalSelection, performDirectEdit, performOpen, performSelection, resetFlags, setSourceEditPart |
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, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, nativeDragFinished, nativeDragStarted, setEditDomain, setViewer, viewerEntered, viewerExited |
Field Detail |
protected static final int MAX_FLAG
Constructor Detail |
public DragEditPartsTracker(EditPart sourceEditPart)
sourceEditPart
- the source edit partMethod Detail |
protected org.eclipse.swt.graphics.Cursor getDefaultCursor()
getDefaultCursor
in class AbstractTool
AbstractTool.setDefaultCursor(Cursor)
public void commitDrag()
performDrag()
. Sets the state to terminal.
commitDrag
in interface DragTracker
commitDrag
in class AbstractTool
AbstractTool.commitDrag()
protected java.util.List createOperationSet()
ToolUtilities.getSelectionWithoutDependants(EditPartViewer)
that understand the
current target request (by calling
ToolUtilities.filterEditPartsUnderstanding(List, Request)
.
createOperationSet
in class AbstractTool
AbstractTool.createOperationSet()
protected Request createTargetRequest()
ChangeBoundsRequest
. By default, the type is
RequestConstants.REQ_MOVE
. Later on when the edit parts are asked to
contribute to the overall command, the request type will be either
RequestConstants.REQ_MOVE
or RequestConstants.REQ_ORPHAN
, depending on
the result of isMove()
.
createTargetRequest
in class TargetingTool
TargetingTool.createTargetRequest()
public void deactivate()
null
.
deactivate
in interface Tool
deactivate
in class TargetingTool
Tool.deactivate()
protected void eraseSourceFeedback()
operation set
to
erase their source feedback.
protected Command getCommand()
operation set
to
contribute to a CompoundCommand
after first setting the request type to either
RequestConstants.REQ_MOVE
or RequestConstants.REQ_ORPHAN
, depending on
the result of isMove()
.
getCommand
in class TargetingTool
AbstractTool.getCommand()
protected java.lang.String getCommandName()
AbstractTool
getCommandName
in class SelectEditPartTracker
AbstractTool.getCommandName()
protected java.lang.String getDebugName()
AbstractTool
getDebugName
in class SelectEditPartTracker
AbstractTool.getDebugName()
protected java.util.Collection getExclusionSet()
operation set
, plus the ConnectionLayer
.
getExclusionSet
in class TargetingTool
TargetingTool.getExclusionSet()
protected void handleAutoexpose()
TargetingTool
handleMove()
is called to simulate the mouse moving
even though it didn't.
handleAutoexpose
in class TargetingTool
TargetingTool.handleAutoexpose()
protected boolean handleButtonUp(int button)
performDrag()
.
handleButtonUp
in class SelectEditPartTracker
AbstractTool.handleButtonUp(int)
protected boolean handleDragInProgress()
handleDragInProgress
in class AbstractTool
true
if the drag was handledAbstractTool.handleDragInProgress()
protected boolean handleHover()
TargetingTool.updateAutoexposeHelper()
if a drag is in progress.
handleHover
in class AbstractTool
true
if the hover was handledAbstractTool.handleHover()
protected boolean handleInvalidInput()
handleInvalidInput
in class TargetingTool
true
TargetingTool.handleInvalidInput()
protected boolean handleKeyDown(org.eclipse.swt.events.KeyEvent e)
handleKeyDown
in class AbstractTool
e
- the key event
true
if the key down was handled.AbstractTool.handleKeyDown(org.eclipse.swt.events.KeyEvent)
protected boolean handleKeyUp(org.eclipse.swt.events.KeyEvent e)
handleKeyUp
in class AbstractTool
e
- the key event
true
if the event was handledAbstractTool.handleKeyUp(org.eclipse.swt.events.KeyEvent)
protected boolean isCloneActive()
protected boolean isMove()
true
if the source edit part is being moved within its parent. If
the source edit part is being moved to another parent, this returns false
.
true
if the source edit part is not being reparentedprotected void performDrag()
AbstractTool.executeCurrentCommand()
.
protected void repairStartLocation()
protected void setAutoexposeHelper(AutoexposeHelper helper)
TargetingTool
null
. If the
helper is not null
, a runnable is queued on the event thread that will
trigger a subsequent TargetingTool.doAutoexpose()
. The helper is typically updated only on
a hover event.
setAutoexposeHelper
in class TargetingTool
helper
- the new autoexpose helper or null
TargetingTool.setAutoexposeHelper(org.eclipse.gef.AutoexposeHelper)
protected void setCloneActive(boolean cloneActive)
cloneActive
- true
if cloning should be activeprotected void setTargetEditPart(EditPart editpart)
setTargetEditPart
in class TargetingTool
editpart
- the new targetTargetingTool.setTargetEditPart(org.eclipse.gef.EditPart)
protected void showSourceFeedback()
operation set
to
show source feedback.
protected void setState(int state)
setState
in class AbstractTool
state
- the new stateAbstractTool.setState(int)
protected void updateTargetRequest()
repairStartLocation()
in case auto scroll is being performed. Updates
the request with the current operation set
,
move delta, location and type.
updateTargetRequest
in class TargetingTool
TargetingTool.updateTargetRequest()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |