|
Eclipse GEF 3.8.1.201208200205 |
|||||||||
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
public class DragEditPartsTracker
A DragTracker that moves EditParts
.
Nested Class Summary |
---|
Nested classes/interfaces 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, 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 | |
---|---|
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 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(KeyEvent e)
Processes arrow keys used to move edit parts. |
protected boolean |
handleKeyUp(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 |
snapPoint(ChangeBoundsRequest request)
This method can be overridden by clients to customize the snapping behavior. |
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, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, nativeDragFinished, nativeDragStarted, setEditDomain, setProperties, setViewer, viewerEntered, viewerExited |
Field Detail |
---|
protected static final int MAX_FLAG
Constructor Detail |
---|
public DragEditPartsTracker(EditPart sourceEditPart)
sourceEditPart
- the source edit partMethod Detail |
---|
protected 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
button
- the button being released
true
if the button up was handledAbstractTool.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)
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()
protected void snapPoint(ChangeBoundsRequest request)
request
- the ChangeBoundsRequest
from which the move delta
can be extracted and updated
|
Eclipse GEF 3.8.1.201208200205 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |