|
Eclipse GEF 2.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.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_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 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 String |
getCommandName()
Returns the identifier of the command that is being sought. |
protected String |
getDebugName()
Returns the debug name for this tool. |
protected 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(KeyEvent e)
Processes arrow keys used to move edit parts. |
protected boolean |
handleKeyUp(KeyEvent e)
Handles high-level processing of a key up event. |
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 |
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 |
public void commitDrag()
performDrag()
. Sets the state to terminal.
commitDrag
in interface DragTracker
commitDrag
in class AbstractTool
AbstractTool.commitDrag()
protected 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 String getCommandName()
AbstractTool
getCommandName
in class SelectEditPartTracker
AbstractTool.getCommandName()
protected String getDebugName()
AbstractTool
getDebugName
in class SelectEditPartTracker
AbstractTool.getDebugName()
protected 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(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(KeyEvent e)
AbstractTool
false
. Subclasses may extend this method to process key up events.
Returns true
if the key up was processed in some way.
handleKeyUp
in class AbstractTool
e
- the key event
true
if the event was handledAbstractTool.handleKeyUp(org.eclipse.swt.events.KeyEvent)
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 showSourceFeedback()
operation set
to
show source feedback.
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()
|
Eclipse GEF 2.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |