Eclipse GEF
3.8.0.201206112118

org.eclipse.gef.tools
Class ResizeTracker

java.lang.Object
  extended by org.eclipse.gef.util.FlagSupport
      extended by org.eclipse.gef.tools.AbstractTool
          extended by org.eclipse.gef.tools.SimpleDragTracker
              extended by org.eclipse.gef.tools.ResizeTracker
All Implemented Interfaces:
DragTracker, RequestConstants, Tool

public class ResizeTracker
extends SimpleDragTracker

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
protected static int MAX_FLAG
          The 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_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
ResizeTracker(GraphicalEditPart owner, int direction)
          Constructs a resize tracker that resizes in the specified direction.
ResizeTracker(int direction)
          Deprecated. use ResizeTracker(GraphicalEditPart, int) instead
 
Method Summary
 void activate()
          Activates the tool.
 void commitDrag()
          Added for compatibility.
protected  List createOperationSet()
          Returns all selected parts which understand resizing.
protected  Request createSourceRequest()
          Creates and returns a new Request that is used during the drag.
 void deactivate()
          Deactivates the tool.
protected  void enforceConstraintsForResize(ChangeBoundsRequest changeBoundsRequest)
          Ensures size constraints (by default minimum and maximum) are respected by the given request.
protected  void eraseTargetFeedback()
          This method is invoked when the resize operation is complete.
protected  Command getCommand()
          Returns a new, updated command based on the tool's current properties.
protected  String getCommandName()
          Returns the identifier of the command that is being sought.
protected  String getDebugName()
          Returns the debug name for this tool.
protected  Cursor getDefaultCursor()
          Returns the cursor used under normal conditions.
protected  Dimension getMaximumSizeFor(ChangeBoundsRequest request)
          Determines the maximum size that the host can be resized to for a given request.
protected  Dimension getMinimumSizeFor(ChangeBoundsRequest request)
          Determines the minimum size that the specified child can be resized to.By default, a default value is returned.
protected  GraphicalEditPart getOwner()
          Returns the owner of this resize tracker.
protected  int getResizeDirection()
          Returns the direction of the resize (NORTH, EAST, NORTH_EAST, etc.).
protected  GraphicalEditPart getTargetEditPart()
          The TargetEditPart is the parent of the EditPart being resized.
protected  boolean handleButtonUp(int button)
          If dragging is in progress, cleans up feedback and calls performDrag().
protected  boolean handleDragInProgress()
          Updates the command and the source request, and shows feedback.
protected  void showTargetFeedback()
          This method is invoked as the drag is happening.
protected  void updateSourceRequest()
          Updates the source request.
 
Methods inherited from class org.eclipse.gef.tools.SimpleDragTracker
calculateCursor, eraseSourceFeedback, getSourceRequest, handleButtonDown, handleDragStarted, handleInvalidInput, handleKeyDown, handleKeyUp, isShowingFeedback, performDrag, showSourceFeedback
 
Methods inherited from class org.eclipse.gef.tools.AbstractTool
acceptArrowKey, 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, 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.Tool
focusGained, focusLost, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, nativeDragFinished, nativeDragStarted, setEditDomain, setProperties, setViewer, viewerEntered, viewerExited
 

Field Detail

MAX_FLAG

protected static final int MAX_FLAG
The maximum flag used by this class.

Constructor Detail

ResizeTracker

public ResizeTracker(int direction)
Deprecated. use ResizeTracker(GraphicalEditPart, int) instead

Constructs a resize tracker that resizes in the specified direction. The direction is specified using PositionConstants.NORTH, PositionConstants.NORTH_EAST, etc.

Parameters:
direction - the direction

ResizeTracker

public ResizeTracker(GraphicalEditPart owner,
                     int direction)
Constructs a resize tracker that resizes in the specified direction. The direction is specified using PositionConstants.NORTH, PositionConstants.NORTH_EAST, etc.

Parameters:
owner - of the resize handle which returned this tracker
direction - the direction
Method Detail

activate

public void activate()
Description copied from class: AbstractTool
Activates the tool. Any initialization should be performed here. This method is called when a tool is selected.

Specified by:
activate in interface Tool
Overrides:
activate in class AbstractTool
See Also:
Tool.activate()

commitDrag

public void commitDrag()
Description copied from class: AbstractTool
Added 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 the DragTracker interface.

Specified by:
commitDrag in interface DragTracker
Overrides:
commitDrag in class SimpleDragTracker
See Also:
AbstractTool.commitDrag()

createOperationSet

protected List createOperationSet()
Returns all selected parts which understand resizing.

Overrides:
createOperationSet in class AbstractTool
Returns:
a list of editparts being operated on
See Also:
AbstractTool.createOperationSet()

createSourceRequest

protected Request createSourceRequest()
Description copied from class: SimpleDragTracker
Creates and returns a new Request that is used during the drag.

Overrides:
createSourceRequest in class SimpleDragTracker
Returns:
a new source request
See Also:
SimpleDragTracker.createSourceRequest()

deactivate

public void deactivate()
Description copied from class: AbstractTool
Deactivates 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:
deactivate in interface Tool
Overrides:
deactivate in class SimpleDragTracker
See Also:
AbstractTool.deactivate()

eraseTargetFeedback

protected void eraseTargetFeedback()
This method is invoked when the resize operation is complete. It notifies the target to erase target feedback.


getCommand

protected Command getCommand()
Description copied from class: AbstractTool
Returns 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:
getCommand in class AbstractTool
Returns:
a newly obtained command
See Also:
AbstractTool.getCommand()

getCommandName

protected String getCommandName()
Description copied from class: AbstractTool
Returns 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:
getCommandName in class AbstractTool
Returns:
the identifier for the command
See Also:
AbstractTool.getCommandName()

getDefaultCursor

protected Cursor getDefaultCursor()
Description copied from class: AbstractTool
Returns the cursor used under normal conditions.

Overrides:
getDefaultCursor in class AbstractTool
Returns:
the default cursor
See Also:
AbstractTool.getDefaultCursor()

getDebugName

protected String getDebugName()
Description copied from class: AbstractTool
Returns the debug name for this tool.

Overrides:
getDebugName in class AbstractTool
Returns:
the debug name
See Also:
AbstractTool.getDebugName()

getOwner

protected GraphicalEditPart 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 from PositionConstants.

Returns:
the resize direction.

getTargetEditPart

protected GraphicalEditPart getTargetEditPart()
The TargetEditPart is the parent of the EditPart being resized.

Returns:
The target EditPart; may be null in 2.1 applications that use the now deprecated constructor.

handleButtonUp

protected boolean handleButtonUp(int button)
If dragging is in progress, cleans up feedback and calls performDrag().

Overrides:
handleButtonUp in class SimpleDragTracker
Parameters:
button - the button being released
Returns:
true if the button up was handled
See Also:
SimpleDragTracker.handleButtonUp(int)

handleDragInProgress

protected boolean handleDragInProgress()
Updates the command and the source request, and shows feedback.

Overrides:
handleDragInProgress in class SimpleDragTracker
Returns:
true if the drag was handled
See Also:
SimpleDragTracker.handleDragInProgress()

showTargetFeedback

protected void showTargetFeedback()
This method is invoked as the drag is happening. It notifies the target to show target feedback.


updateSourceRequest

protected void updateSourceRequest()
Description copied from class: SimpleDragTracker
Updates the source request.

Overrides:
updateSourceRequest in class SimpleDragTracker
See Also:
SimpleDragTracker.updateSourceRequest()

enforceConstraintsForResize

protected void enforceConstraintsForResize(ChangeBoundsRequest changeBoundsRequest)
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

getMaximumSizeFor

protected Dimension getMaximumSizeFor(ChangeBoundsRequest request)
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

protected Dimension getMinimumSizeFor(ChangeBoundsRequest request)
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

Eclipse GEF
3.8.0.201206112118

Copyright (c) IBM Corp. and others 2000, 2011. All Rights Reserved.