Class ResizingTool

The ResizingTool is used to interactively change the size of a GraphObject in the selected Part or Node. This tool does not operate on Links.

Hierarchy

Index

Constructor methods

Properties

Methods

Constructor methods

constructor(): ResizingTool

You do not normally need to create an instance of this tool because one already exists as the ToolManager#resizingTool, which you can modify.

Returns

ResizingTool

Properties

public adornedObject: GraphObject

Gets the GraphObject that is being resized.

public cellSize: Size

Gets or sets the width and height multiples with which the user must resize.

public diagram: Diagram

Gets the Diagram that owns this tool and for which this tool is handling input events.

public handle: GraphObject

Gets the GraphObject that is the tool handle being dragged by the user.

public handleArchetype: GraphObject

Gets or sets a small GraphObject that is copied as a resizing handle for the selected part.

public isActive: boolean

Gets or sets whether this tool is started and is actively doing something.

public isEnabled: boolean

Gets or sets whether this tool can be started by a mouse event.

public isGridSnapEnabled: boolean

Gets or sets whether the ResizingTool snaps object sizes to the diagram's background grid during the resize.

public maxSize: Size

Gets or sets the maximum size to which the user can resize.

public minSize: Size

Gets or sets the minimum size to which the user can resize.

public name: string

Gets or sets the name of this tool.

public originalDesiredSize: Size

Gets the Size that was the original value of the GraphObject#desiredSize of the element that is being resized.

public originalLocation: Point

Gets the Point that was the original value of the Part#location of the Part that is being resized.

public transactionResult: string

Gets or sets the name of the transaction to be committed by #stopTransaction; if null, the transaction will be rolled back.

Methods

public canStart(): boolean

This tool may run when there is a mouse-down event on a resize handle, the diagram is not read-only and it allows resizing, the left mouse button is being used, and this tool's adornment's resize handle is at the current mouse point.

Returns

boolean

public cancelWaitAfter(): any

This is called to cancel any running "WaitAfter" timer.

Returns

any

public computeCellSize(): Size

The size should be a multiple of the value returned by this method.

Returns

Size

public computeMaxSize(): Size

The effective maximum resizing size is the minimum of the #maxSize and the #adornedObject's GraphObject#maxSize.

Returns

Size

public computeMinSize(): Size

The effective minimum resizing size is the maximum of #minSize and the #adornedObject's GraphObject#minSize.

Returns

Size

public computeResize(newPoint: Point, spot: Spot, min: Size, max: Size, cell: Size, reshape: boolean): Rect

Given a Spot in the original bounds of the object being resized and a new Point, compute the new Rect.

Parameters

  • newPoint: Point

    a Point in local coordinates.

  • spot: Spot

    the alignment spot of the handle being dragged.

  • min: Size

    the result of the call to #computeMinSize.

  • max: Size

    the result of the call to #computeMaxSize.

  • cell: Size

    the result of the call to #computeCellSize.

  • reshape: boolean

    true if the new size may change the aspect ratio from that of the natural bounds of the #adornedObject.

Returns

Rect

public doActivate(): any

Capture the mouse, remember the object's original bounds, and start a transaction.\

Returns

any

public doCancel(): any

Restore the original GraphObject's size.

Returns

any

public doDeactivate(): any

Stop the current transaction and release the mouse.

Returns

any

public doKeyDown(): any

The diagram will call this method upon a key down event.

Returns

any

public doKeyUp(): any

The diagram will call this method upon a key up event.

Returns

any

public doMouseDown(): any

The diagram will call this method upon a mouse down event.

Returns

any

public doMouseMove(): any

Call #resize with a new size determined by the current mouse point.

Returns

any

public doMouseUp(): any

Call #resize with the final bounds based on the most recent mouse point, commit the transaction, and raise the "PartResized" DiagramEvent.

Returns

any

public doMouseWheel(): any

The diagram will call this method as the mouse wheel is rotated.

Returns

any

public doStart(): any

This method is called by the diagram when this tool becomes the current tool; you should not call this method.

Returns

any

public doStop(): any

This method is called by the diagram when this tool stops being the current tool; you should not call this method.

Returns

any

public doWaitAfter(): any

This is called a certain delay after a call to #standardWaitAfter if there has not been any call to #cancelWaitAfter.

Returns

any

public findToolHandleAt(p: Point, category: string): GraphObject

This convenience function finds the front-most GraphObject that is at a given point and that is part of an Adornment that is of a given category.

Parameters

  • p: Point

    a Point in document coordinates.

  • category: string

    the required Part#category of the Adornment.

Returns

GraphObject

public isBeyondDragSize(first?: Point, last?: Point): boolean

Return true when the last mouse point is far enough away from the first mouse down point to constitute a drag operation instead of just a potential click.

Parameters

  • first?: Point optional

    Point in view coordinates, defaults to Diagram#firstInput's InputEvent#viewPoint.

  • last?: Point optional

    Point in view coordinates, defaults to Diagram#lastInput's InputEvent#viewPoint.

Returns

boolean

public rezise(newr: Rect): any

Change the size of the selected part's Part#resizeObject to have the given bounds.

Parameters

Returns

any

public standardMouseClick(navig?: (obj: go.GraphObject) => go.GraphObject, pred?: (obj: go.GraphObject) => boolean): any

Implement the standard behavior for mouse clicks, searching for and calling click handler functions on GraphObjects or on Diagram, and raising the corresponding DiagramEvent.

Parameters

  • navig?: (obj: go.GraphObject) => go.GraphObject optional

    An optional custom navigation function to find target objects.

  • pred?: (obj: go.GraphObject) => boolean optional

    An optional custom predicate

Returns

any

public standardMouseOver(): any

Implement the standard behavior for mouse enter, over, and leave events, where the mouse is moving but no button is pressed.

Returns

any

public standardMouseSelect(): any

Implement the standard behavior for selecting parts with the mouse, depending on the control and shift modifier keys.

Returns

any

public standardMouseWheel(): any

Implement the standard behavior for mouse wheel events.

Returns

any

public standardWaitAfter(delay: number): any

This is called to start a new timer to call #doWaitAfter after a given delay.

Parameters

  • delay: number

    in milliseconds

Returns

any

public startTransaction(tname?: string): boolean

Call Diagram#startTransaction with the given transaction name.

Parameters

  • tname?: string optional

    a description of the transaction

Returns

boolean

public stopTool(): any

If the Diagram#currentTool is this tool, stop this tool and start the Diagram#defaultTool by making it be the new current tool.

Returns

any

public stopTransaction(): boolean

If #transactionResult is null, call Diagram#rollbackTransaction, otherwise call Diagram#commitTransaction.

Returns

boolean

public updateAdornments(part: Part): any

Show an Adornment with the resize handles at points along the edge of the bounds of the selected Part's Part#resizeObject.

Parameters

Returns

any