Package org.eclipse.gef.tools
Class ResizeTracker
java.lang.Object
org.eclipse.gef.util.FlagSupport
org.eclipse.gef.tools.AbstractTool
org.eclipse.gef.tools.SimpleDragTracker
org.eclipse.gef.tools.ResizeTracker
- All Implemented Interfaces:
DragTracker,RequestConstants,Tool
A Tracker for dragging a resize handle. The ResizeTracker will resize all of
the selected editparts in the viewer which understand a RESIZE request. A
ChangeBoundsRequest is sent to each member of the operation set. The
tracker allows for the resize direction to be specified in the constructor.-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.gef.tools.AbstractTool
AbstractTool.Input -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intThe maximum flag used by this class.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_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
ConstructorsConstructorDescriptionResizeTracker(int direction) Deprecated.use ResizeTracker(GraphicalEditPart, int) insteadResizeTracker(GraphicalEditPart owner, int direction) Constructs a resize tracker that resizes in the specified direction. -
Method Summary
Modifier and TypeMethodDescriptionvoidactivate()Activates the tool.voidAdded for compatibility.Returns all selected parts which understand resizing.protected RequestCreates and returns a new Request that is used during the drag.voidDeactivates the tool.protected voidenforceConstraintsForResize(ChangeBoundsRequest changeBoundsRequest) Ensures size constraints (by default minimum and maximum) are respected by the given request.protected voidenforceResizeConstraintsForBottomRightCorner(ChangeBoundsRequest changeBoundsRequest) Ensures that the in addition to the size constraints also the position is respected by the given request.protected voidThis method is invoked when the resize operation is complete.protected CommandReturns a new, updated command based on the tool's current properties.protected StringReturns the identifier of the command that is being sought.protected StringReturns the debug name for this tool.protected CursorReturns the cursor used under normal conditions.protected DimensiongetMaximumSizeFor(ChangeBoundsRequest request) Determines the maximum size that the host can be resized to for a given request.protected DimensiongetMinimumSizeFor(ChangeBoundsRequest request) Determines the minimum size that the specified child can be resized to.By default, a default value is returned.protected GraphicalEditPartgetOwner()Returns the owner of this resize tracker.protected intReturns the direction of the resize (NORTH, EAST, NORTH_EAST, etc.).protected GraphicalEditPartThe TargetEditPart is the parent of the EditPart being resized.protected booleanhandleButtonUp(int button) If dragging is in progress, cleans up feedback and calls performDrag().protected booleanUpdates the command and the source request, and shows feedback.protected voidThis method is invoked as the drag is happening.protected voidUpdates the source request.Methods inherited from class org.eclipse.gef.tools.SimpleDragTracker
calculateCursor, eraseSourceFeedback, getSourceRequest, handleButtonDown, handleDragStarted, handleInvalidInput, handleKeyDown, handleKeyUp, isShowingFeedback, performDrag, showSourceFeedbackMethods inherited from class org.eclipse.gef.tools.AbstractTool
acceptArrowKey, accGetStep, accStepIncrement, accStepReset, addFeedback, applyProperty, debug, executeCommand, executeCurrentCommand, focusGained, focusLost, getCurrentCommand, getCurrentInput, getCurrentViewer, getDebugNameForState, getDisabledCursor, getDomain, getDragMoveDelta, getLocation, getOperationSet, getStartLocation, getState, handleCommandStackChanged, handleDoubleClick, handleDrag, handleFinished, handleFocusGained, handleFocusLost, handleHover, handleKeyTraversed, handleMove, handleNativeDragFinished, handleNativeDragStarted, handleViewerEntered, handleViewerExited, isActive, isHoverActive, isInState, isViewerImportant, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, movedPastThreshold, nativeDragFinished, nativeDragStarted, performViewerMouseWheel, placeMouseInViewer, reactivate, refreshCursor, releaseToolCapture, removeFeedback, resetFlags, 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.Tool
focusGained, focusLost, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, nativeDragFinished, nativeDragStarted, setEditDomain, setProperties, setViewer, viewerEntered, viewerExited
-
Field Details
-
MAX_FLAG
protected static final int MAX_FLAGThe maximum flag used by this class.
-
-
Constructor Details
-
ResizeTracker
Deprecated.use ResizeTracker(GraphicalEditPart, int) insteadConstructs a resize tracker that resizes in the specified direction. The direction is specified usingPositionConstants.NORTH,PositionConstants.NORTH_EAST, etc.- Parameters:
direction- the direction
-
ResizeTracker
Constructs a resize tracker that resizes in the specified direction. The direction is specified usingPositionConstants.NORTH,PositionConstants.NORTH_EAST, etc.- Parameters:
owner- of the resize handle which returned this trackerdirection- the direction
-
-
Method Details
-
activate
public void activate()Description copied from class:AbstractToolActivates the tool. Any initialization should be performed here. This method is called when a tool is selected.- Specified by:
activatein interfaceTool- Overrides:
activatein classAbstractTool- See Also:
-
commitDrag
public void commitDrag()Description copied from class:AbstractToolAdded for compatibility.DragTracker.commitDrag()was added for accessibility reasons. Since all tool implementations must inherit from this base class, then implementing this method here avoids breaking subclasses that implemented theDragTrackerinterface.- Specified by:
commitDragin interfaceDragTracker- Overrides:
commitDragin classSimpleDragTracker- See Also:
-
createOperationSet
Returns all selected parts which understand resizing.- Overrides:
createOperationSetin classAbstractTool- Returns:
- a list of editparts being operated on
- See Also:
-
createSourceRequest
Description copied from class:SimpleDragTrackerCreates and returns a new Request that is used during the drag.- Overrides:
createSourceRequestin classSimpleDragTracker- Returns:
- a new source request
- See Also:
-
deactivate
public void deactivate()Description copied from class:AbstractToolDeactivates the tool. This method is called whenever the user switches to another tool. Use this method to do some clean-up when the tool is switched. The abstract tool allows cursors for viewers to be changed. When the tool is deactivated it must revert to normal the cursor of the last tool it changed.- Specified by:
deactivatein interfaceTool- Overrides:
deactivatein classSimpleDragTracker- See Also:
-
eraseTargetFeedback
protected void eraseTargetFeedback()This method is invoked when the resize operation is complete. It notifies thetargetto erase target feedback. -
getCommand
Description copied from class:AbstractToolReturns a new, updated command based on the tool's current properties. The default implementation returns an unexecutable command. Some tools do not work commands and the model, but simply change the viewer's state in some way.- Overrides:
getCommandin classAbstractTool- Returns:
- a newly obtained command
- 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:
-
getDefaultCursor
Description copied from class:AbstractToolReturns the cursor used under normal conditions.- Overrides:
getDefaultCursorin classAbstractTool- Returns:
- the default cursor
- See Also:
-
getDebugName
Description copied from class:AbstractToolReturns the debug name for this tool.- Overrides:
getDebugNamein classAbstractTool- Returns:
- the debug name
- See Also:
-
getOwner
Returns the owner of this resize tracker.- Since:
- 3.7
-
getResizeDirection
protected int getResizeDirection()Returns the direction of the resize (NORTH, EAST, NORTH_EAST, etc.). These constants are fromPositionConstants.- Returns:
- the resize direction.
-
getTargetEditPart
The TargetEditPart is the parent of the EditPart being resized.- Returns:
- The target EditPart; may be
nullin 2.1 applications that use the now deprecatedconstructor.
-
handleButtonUp
protected boolean handleButtonUp(int button) If dragging is in progress, cleans up feedback and calls performDrag().- Overrides:
handleButtonUpin classSimpleDragTracker- Parameters:
button- the button being released- Returns:
trueif the button up was handled- See Also:
-
handleDragInProgress
protected boolean handleDragInProgress()Updates the command and the source request, and shows feedback.- Overrides:
handleDragInProgressin classSimpleDragTracker- Returns:
trueif the drag was handled- See Also:
-
showTargetFeedback
protected void showTargetFeedback()This method is invoked as the drag is happening. It notifies thetargetto show target feedback. -
updateSourceRequest
protected void updateSourceRequest()Description copied from class:SimpleDragTrackerUpdates the source request.- Overrides:
updateSourceRequestin classSimpleDragTracker- See Also:
-
enforceConstraintsForResize
Ensures size constraints (by default minimum and maximum) are respected by the given request. May be overwritten by clients to enforce additional constraints.- Parameters:
changeBoundsRequest- The request to validate- Since:
- 3.7
-
enforceResizeConstraintsForBottomRightCorner
protected void enforceResizeConstraintsForBottomRightCorner(ChangeBoundsRequest changeBoundsRequest) Ensures that the in addition to the size constraints also the position is respected by the given request. It ensure that on resize the bottom right corner is fixed when resized from any top/left direction. May be overwritten by clients to enforce additional constraints.- Parameters:
changeBoundsRequest- The request to validate- Since:
- 3.13
-
getMaximumSizeFor
Determines the maximum size that the host can be resized to for a given request. By default, a default value is returned. The value is interpreted to be a dimension in the host figure's coordinate system (i.e. relative to its bounds), so it is not affected by zooming affects.- Parameters:
request- the ChangeBoundsRequest- Returns:
- the minimum size
- Since:
- 3.7
-
getMinimumSizeFor
Determines the minimum size that the specified child can be resized to.By default, a default value is returned. The value is interpreted to be a dimension in the host figure's coordinate system (i.e. relative to its bounds), so it is not affected by zooming effects.- Parameters:
request- the ChangeBoundsRequest- Returns:
- the minimum size
- Since:
- 3.7
-