Class TextEditingTool

The TextEditingTool is used to let the user interactively edit text in place. You do not normally need to create an instance of this tool because one already exists as the ToolManager#clickSelectingTool.

Hierarchy

  • Tool
    • TextEditingTool

Index

Constructor methods

Properties

Methods

Constructor methods

constructor(): TextEditingTool

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

Returns

TextEditingTool

Properties

public static Enter: EnumValue

The user has typed ENTER.

public static LostFocus: EnumValue

The text editing control has lost focus.

public static MouseDown: EnumValue

The user has clicked somewhere else in the diagram.

public static SingleClick: EnumValue

A single click on a TextBlock with TextBlock#editable property set to true will start in-place editing.

public static SingleClickSelected: EnumValue

A single click on a TextBlock with TextBlock#editable property set to true will start in-place editing, but only if the Part that the TextBlock is in is already selected.

public static Tab: EnumValue

The user has typed TAB.

public currentTextEditor: Element

Gets or sets the HTML element that edits the text.

public defaultTextEditor: Element

Gets or sets the HTML element that edits the text.

public diagram: Diagram

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

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 name: string

Gets or sets the name of this tool.

public starting: EnumValue

Gets or sets how user gestures can start in-place editing of text.

public textBlock: TextBlock

Gets or sets the TextBlock that is being edited.

public textValidation: (tb: go.TextBlock, oldstr: string, newstr: string) => boolean

Gets or sets the predicate that determines whether or not a string of text is valid.

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 acceptText(reason: EnumValue): any

Finish editing by trying to accept the new text.

Parameters

  • reason: EnumValue

    The reason must be either TextEditingTool#LostFocus, TextEditingTool#MouseDown, TextEditingTool#Tab, or TextEditingTool#Enter.

Returns

any

public canStart(): boolean

This may run when there is a mouse-click on a TextBlock for which the TextBlock#editable property is true in a Part that Part#isSelected.

Returns

boolean

public cancelWaitAfter(): any

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

Returns

any

public doActivate(): any

Start editing the text for a TextBlock.

Returns

any

public doCancel(): any

Abort any text editing operation.

Returns

any

public doDeactivate(): any

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

A click (mouse up) calls TextEditingTool#doActivate if this tool is not already active and if TextEditingTool#canStart returns true.

Returns

any

public doMouseMove(): any

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

Returns

any

public doMouseUp(): any

A click (mouse up) calls TextEditingTool#doActivate if this tool is not already active and if TextEditingTool#canStart returns true.

Returns

any

public doMouseWheel(): any

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

Returns

any

public doStart(): any

This calls TextEditingTool#doActivate if there is a TextBlock supplied.

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 isValidText(textblock: TextBlock, oldstr: string, newstr: string): boolean

This predicate checks any TextBlock#textValidation predicate and this tool's #textValidation predicate to make sure the TextBlock#text property may be set to the new string.

Parameters

  • textblock: TextBlock

    the TextBlock that is being edited.

  • oldstr: string

    the previous string value.

  • newstr: string

    the proposed new string value.

Returns

boolean

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

The diagram asks each tool to update any adornments the tool might use for a given part.

Parameters

Returns

any