Options
All
  • Public
  • Public/Protected
  • All
Menu

Class DrawCommandHandler

This is an extension and not part of the main GoJS library. Note that the API for this class may change at any time. Extensions can be found in the GoJS kit under the extensions or extensionsTS folders. See the Extensions intro page for more information.

Hierarchy

This CommandHandler class allows the user to position selected Parts in a diagram relative to the first part selected, in addition to overriding the doKeyDown method of the CommandHandler for handling the arrow keys in additional manners.

Typical usage:

  $(go.Diagram, "myDiagramDiv",
    {
      commandHandler: $(DrawCommandHandler),
      . . .
    }
  )

or:

   myDiagram.commandHandler = new DrawCommandHandler();

If you want to experiment with this extension, try the Drawing Commands sample.

Index

Properties

arrowKeyBehavior : string

  • Gets or sets the arrow key behavior. Possible values are "move", "select", and "scroll".

    The default value is "move".

pasteOffset : Point

  • Gets or sets the offset at which each repeated pasteSelection puts the new copied parts from the clipboard.

Methods

alignBottom

  • alignBottom(): void
  • Aligns selected parts at the bottom-most edge of the bottom-most part.

    Returns void

alignCenterX

  • alignCenterX(): void
  • Aligns selected parts at the x-value of the center point of the first selected part.

    Returns void

alignCenterY

  • alignCenterY(): void
  • Aligns selected parts at the y-value of the center point of the first selected part.

    Returns void

alignColumn

  • alignColumn(distance: number): void
  • Aligns selected parts top-to-bottom in order of the order selected. Distance between parts can be specified. Default distance is 0.

    Parameters

    • distance: number

    Returns void

alignLeft

  • alignLeft(): void
  • Aligns selected parts along the left-most edge of the left-most part.

    Returns void

alignRight

  • alignRight(): void
  • Aligns selected parts at the right-most edge of the right-most part.

    Returns void

alignRow

  • alignRow(distance: number): void
  • Aligns selected parts left-to-right in order of the order selected. Distance between parts can be specified. Default distance is 0.

    Parameters

    • distance: number

    Returns void

alignTop

  • alignTop(): void
  • Aligns selected parts at the top-most edge of the top-most part.

    Returns void

canAlignSelection

  • canAlignSelection(): boolean

canRotate

  • canRotate(): boolean
  • This controls whether or not the user can invoke the rotate command.

    Returns boolean

    This returns true: if the diagram is not Diagram.isReadOnly, if the model is not Model.isReadOnly, and if there is at least one selected Part.

Override copyToClipboard

  • Reset the last offset for pasting.

    Parameters

    Returns void

Override doKeyDown

  • doKeyDown(): void
  • This implements custom behaviors for arrow key keyboard events. Set arrowKeyBehavior to "select", "move" (the default), "scroll" (the standard behavior), or "none" to affect the behavior when the user types an arrow key.

    Returns void

Override pasteFromClipboard

  • Paste from the clipboard with an offset incremented on each paste, and reset when copied.

    Returns Set<Part>

    a collection of newly pasted Parts

rotate

  • rotate(angle: number): void
  • Change the angle of the parts connected with the given part. This is in the command handler so it can be easily accessed for the purpose of creating commands that change the rotation of a part.

    Parameters

    • angle: number

      the positive (clockwise) or negative (counter-clockwise) change in the rotation angle of each Part, in degrees.

    Returns void