Class 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.
  • Field Details

    • MAX_FLAG

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

    • 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 Details

    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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
    • 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

      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