com.smartgwt.client.widgets.drawing

## Class DrawLinePath

- java.lang.Object
- - com.smartgwt.client.core.BaseClass
  - - com.smartgwt.client.widgets.drawing.DrawItem
    - - com.smartgwt.client.widgets.drawing.DrawLinePath

- All Implemented Interfaces:
    HasHandlers, HasClickHandlers, HasDragMoveHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMovedHandlers, HasResizedHandlers, HasShowContextMenuHandlers

      public class DrawLinePath
      extends DrawItem

  DrawItem subclass to render a connector between two points. If the points are aligned on one axis, this connector will draw as a straight line. If the points are offset on both axes and there is enough space, the connector will by default draw short horizontal segments from the start and end points, and a diagonal segment connecting the ends of these 'tail' segments. Connector style and orientation defaults may be changed through configuration.

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.core.BaseClass

      `config, factoryCreated, factoryProperties, id, scClassName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DrawLinePath()`
    `DrawLinePath(JavaScriptObject jsObj)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `JavaScriptObject` | `create()`
    `Point` | `getCenter()` Get the center point of the line path.
    `ConnectorOrientation` | `getConnectorOrientation()` The ConnectorOrientation controlling the orientation and behavior of this line's tail segments.
    `ConnectorStyle` | `getConnectorStyle()` The ConnectorStyle controlling the presentation and behavior of this line's tail segments.
    `Point` | `getControlPoint1()` The point at which the leading tail segment joins the connecting center segment.
    `Point` | `getControlPoint2()` The point at which the trailing tail segment joins the connecting center segment.
    `ArrowStyle` | `getEndArrow()` Style of arrowhead to draw at the end of the line or path.
    `int` | `getEndLeft()` Ending left coordinate of the line.
    `Point` | `getEndPoint()` End point of the line
    `int` | `getEndTop()` Ending top coordinate of the line.
    `KnobType[]` | `getKnobs()` Array of control knobs to display for this item.
    `static DrawLinePath` | `getOrCreateRef(JavaScriptObject jsObj)`
    `int` | `getStartLeft()` Starting left coordinate of the line.
    `Point` | `getStartPoint()` Start point of the line
    `int` | `getStartTop()` Starting top coordinate of the line.
    `int` | `getTailSize()` Length of the horizontal/vertical "tail segments" between the start and end points of this DrawLinePath and the connecting center segment.
    `void` | `moveBy(int left, int top)` Move both the start and end points of the line by a relative amount.
    `void` | `moveStartPointTo(java.lang.Integer left, java.lang.Integer top)` Moves the line path such that the `startPoint` ends up at the specified point.
    `void` | `setConnectorOrientation(ConnectorOrientation connectorOrientation)` The ConnectorOrientation controlling the orientation and behavior of this line's tail segments.
    `void` | `setConnectorStyle(ConnectorStyle connectorStyle)` The ConnectorStyle controlling the presentation and behavior of this line's tail segments.
    `void` | `setControlPoint1(Point controlPoint1)` The point at which the leading tail segment joins the connecting center segment.
    `void` | `setControlPoint2(Point controlPoint2)` The point at which the trailing tail segment joins the connecting center segment.
    `static void` | `setDefaultProperties(DrawLinePath drawLinePathProperties)` Class level method to set the default properties of this class.
    `void` | `setEndArrow(ArrowStyle endArrow)` Style of arrowhead to draw at the end of the line or path.
    `void` | `setEndLeft(int endLeft)` Ending left coordinate of the line.
    `void` | `setEndPoint(Point endPoint)` End point of the line If this method is called after the component has been drawn/initialized: Update the endPoint
    `void` | `setEndTop(int endTop)` Ending top coordinate of the line.
    `void` | `setKnobs(KnobType... knobs)` Array of control knobs to display for this item.
    `void` | `setStartLeft(int startLeft)` Starting left coordinate of the line.
    `void` | `setStartPoint(Point startPoint)` Start point of the line If this method is called after the component has been drawn/initialized: Update the startPoint
    `void` | `setStartTop(int startTop)` Starting top coordinate of the line.
    `void` | `setTailSize(int tailSize)` Length of the horizontal/vertical "tail segments" between the start and end points of this DrawLinePath and the connecting center segment.

    - ### Methods inherited from class com.smartgwt.client.widgets.drawing.DrawItem

      `addClickHandler, addDragMoveHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMovedHandler, addResizedHandler, addShowContextMenuHandler, changeAutoChildDefaults, changeAutoChildDefaults, changeAutoChildDefaults, computeAngle, computeAngleAsDouble, dragResizeMove, draw, erase, getAttributeAsIntArray, getBoundingBox, getBoundingBoxAsDouble, getCanDrag, getCanHover, getCanvasAutoChild, getContextMenu, getCornerResizeKnob, getCursor, getDestroyed, getDestroying, getDragStartDistance, getDrawGroup, getDrawItemAutoChild, getDrawPane, getEditProxyConstructor, getEndKnob, getEventOpaque, getFillColor, getFillGradient, getFillGradientAsString, getFillOpacity, getFormItemAutoChild, getHoverDelay, getHoverHTML, getKeepInParentRect, getLineCap, getLineColor, getLineOpacity, getLinePattern, getLineWidth, getMoveKnob, getMoveKnobOffset, getMoveKnobPoint, getPageLeft, getPageTop, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRef, getResizeBoundingBox, getResizeBoundingBoxAsDouble, getResizeKnobPoints, getResizeOutline, getResizeViaLocalTransformOnly, getRotation, getRotationAsDouble, getScale, getShadow, getShowHover, getShowResizeOutline, getSideResizeKnob, getStartArrow, getStartKnob, getSvgString, getTranslate, getXShearFactor, getYShearFactor, hide, hideAllKnobs, hideKnobs, hideKnobs, hover, isInBounds, isPointInPath, moveTo, resizeBy, resizeTo, rotateBy, rotateTo, scaleBy, scaleTo, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setCanDrag, setCanHover, setCenterPoint, setContextMenu, setCursor, setDefaultProperties, setDragStartDistance, setDrawGroup, setDrawPane, setEditProxyConstructor, setEventOpaque, setFillColor, setFillGradient, setFillGradient, setFillOpacity, setHoverDelay, setKeepInParentRect, setKeepInParentRect, setLineCap, setLineColor, setLineOpacity, setLinePattern, setLineWidth, setMoveKnobOffset, setMoveKnobPoint, setPrompt, setPropertyValue, setProportionalResizeModifiers, setProportionalResizing, setResizeKnobPoints, setResizeViaLocalTransformOnly, setRotation, setRotation, setScale, setShadow, setShowHover, setShowResizeOutline, setStartArrow, setTranslate, setXShearFactor, setYShearFactor, show, showAllKnobs, showKnobs, showKnobs, supportsEndArrow, supportsStartArrow`

    - ### Methods inherited from class com.smartgwt.client.core.BaseClass

      `applyFactoryProperties, asSGWTComponent, createJsObj, destroy, doAddHandler, doInit, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getAttributeAsStringArray, getClassName, getConfig, getHandlerCount, getID, getJsObj, getOrCreateJsObj, getScClassName, getTestInstance, hasAutoAssignedID, internalSetID, internalSetID, isCreated, isFactoryCreated, onBind, onInit, registerID, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setFactoryCreated, setID, setJavaScriptObject, setProperty, setProperty, setProperty, setProperty, setScClassName`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### DrawLinePath

          public DrawLinePath()

    - #### DrawLinePath

          public DrawLinePath(JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static DrawLinePath getOrCreateRef(JavaScriptObject jsObj)

    - #### create

          public JavaScriptObject create()

      Overrides:
        `create` in class `DrawItem`

    - #### setConnectorOrientation

          public void setConnectorOrientation(ConnectorOrientation connectorOrientation)
                                       throws java.lang.IllegalStateException

      The ConnectorOrientation controlling the orientation and behavior of this line's tail segments.
      Parameters:
        `connectorOrientation` - Default value is "auto"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getConnectorOrientation

          public ConnectorOrientation getConnectorOrientation()

      The ConnectorOrientation controlling the orientation and behavior of this line's tail segments.
      Returns:
        ConnectorOrientation

    - #### setConnectorStyle

          public void setConnectorStyle(ConnectorStyle connectorStyle)
                                 throws java.lang.IllegalStateException

      The ConnectorStyle controlling the presentation and behavior of this line's tail segments.
      Parameters:
        `connectorStyle` - Default value is "diagonal"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getConnectorStyle

          public ConnectorStyle getConnectorStyle()

      The ConnectorStyle controlling the presentation and behavior of this line's tail segments.
      Returns:
        ConnectorStyle

    - #### setControlPoint1

          public void setControlPoint1(Point controlPoint1)

      The point at which the leading tail segment joins the connecting center segment.
      If this method is called after the component has been drawn/initialized: Sets the coordinates of the controlPoint1 knob and by extension the coordinates of this DrawLinePath's leading tail segment.
      Parameters:
        `controlPoint1` - left coordinate for start point, in pixels. Default value is null

    - #### getControlPoint1

          public Point getControlPoint1()

      The point at which the leading tail segment joins the connecting center segment.
      Returns:
        Point

    - #### setControlPoint2

          public void setControlPoint2(Point controlPoint2)

      The point at which the trailing tail segment joins the connecting center segment. Has no effect on lines with right angle ConnectorStyles.
      If this method is called after the component has been drawn/initialized: Sets the coordinates of the controlPoint2 knob and by extension the coordinates of this DrawLinePath's trailing tail segment.
      Parameters:
        `controlPoint2` - left coordinate for start point, in pixels. Default value is null

    - #### getControlPoint2

          public Point getControlPoint2()

      The point at which the trailing tail segment joins the connecting center segment. Has no effect on lines with right angle ConnectorStyles.
      Returns:
        Point

    - #### setEndArrow

          public void setEndArrow(ArrowStyle endArrow)

      Style of arrowhead to draw at the end of the line or path.
      Overrides:
        `setEndArrow` in class `DrawItem`
      Parameters:
        `endArrow` - Default value is "open", IRW

    - #### getEndArrow

          public ArrowStyle getEndArrow()

      Style of arrowhead to draw at the end of the line or path.
      Overrides:
        `getEndArrow` in class `DrawItem`
      Returns:
        ArrowStyle

    - #### setEndLeft

          public void setEndLeft(int endLeft)
                          throws java.lang.IllegalStateException

      Ending left coordinate of the line. Overrides left coordinate of `endPoint` if both are set.
      Parameters:
        `endLeft` - Default value is 0 , IRW
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getEndLeft

          public int getEndLeft()

      Ending left coordinate of the line. Overrides left coordinate of `endPoint` if both are set.
      Returns:
        int

    - #### setEndPoint

          public void setEndPoint(Point endPoint)

      End point of the line
      If this method is called after the component has been drawn/initialized: Update the endPoint
      Parameters:
        `endPoint` - left coordinate for end point, in pixels. Default value is [100,100]

    - #### getEndPoint

          public Point getEndPoint()

      End point of the line
      Returns:
        Point

    - #### setEndTop

          public void setEndTop(int endTop)
                         throws java.lang.IllegalStateException

      Ending top coordinate of the line. Overrides top coordinate of `endPoint` if both are set.
      Parameters:
        `endTop` - Default value is 0 , IRW
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getEndTop

          public int getEndTop()

      Ending top coordinate of the line. Overrides top coordinate of `endPoint` if both are set.
      Returns:
        int

    - #### setKnobs

          public void setKnobs(KnobType... knobs)
                        throws java.lang.IllegalStateException

      Array of control knobs to display for this item. Each `KnobType` specified in this will turn on UI element(s) allowing the user to manipulate this DrawLinePath. To update the set of knobs at runtime use `DrawItem.showKnobs()` and `DrawItem.hideKnobs()`.

      DrawLinePath supports the `KnobType.STARTPOINT`, `KnobType.ENDPOINT`, `KnobType.CONTROLPOINT1`, and `KnobType.CONTROLPOINT2` knob types.

      Overrides:
        `setKnobs` in class `DrawItem`
      Parameters:
        `knobs` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `DrawItem.setKnobs(com.smartgwt.client.types.KnobType...)`, Diagramming Example

    - #### getKnobs

          public KnobType[] getKnobs()

      Array of control knobs to display for this item. Each `KnobType` specified in this will turn on UI element(s) allowing the user to manipulate this DrawLinePath. To update the set of knobs at runtime use `DrawItem.showKnobs()` and `DrawItem.hideKnobs()`.

      DrawLinePath supports the `KnobType.STARTPOINT`, `KnobType.ENDPOINT`, `KnobType.CONTROLPOINT1`, and `KnobType.CONTROLPOINT2` knob types.

      Overrides:
        `getKnobs` in class `DrawItem`
      Returns:
        KnobType...
      See Also:
        `DrawItem.getKnobs()`, Diagramming Example

    - #### setStartLeft

          public void setStartLeft(int startLeft)
                            throws java.lang.IllegalStateException

      Starting left coordinate of the line. Overrides left coordinate of `startPoint` if both are set.
      Parameters:
        `startLeft` - Default value is 0 , IRW
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getStartLeft

          public int getStartLeft()

      Starting left coordinate of the line. Overrides left coordinate of `startPoint` if both are set.
      Returns:
        int

    - #### setStartPoint

          public void setStartPoint(Point startPoint)

      Start point of the line
      If this method is called after the component has been drawn/initialized: Update the startPoint
      Parameters:
        `startPoint` - left coordinate for start point, in pixels. Default value is [0,0]

    - #### getStartPoint

          public Point getStartPoint()

      Start point of the line
      Returns:
        Point

    - #### setStartTop

          public void setStartTop(int startTop)
                           throws java.lang.IllegalStateException

      Starting top coordinate of the line. Overrides top coordinate of `startPoint` if both are set.
      Parameters:
        `startTop` - Default value is 0 , IRW
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getStartTop

          public int getStartTop()

      Starting top coordinate of the line. Overrides top coordinate of `startPoint` if both are set.
      Returns:
        int

    - #### setTailSize

          public void setTailSize(int tailSize)
                           throws java.lang.IllegalStateException

      Length of the horizontal/vertical "tail segments" between the start and end points of this DrawLinePath and the connecting center segment.
      Parameters:
        `tailSize` - Default value is 30
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getTailSize

          public int getTailSize()

      Length of the horizontal/vertical "tail segments" between the start and end points of this DrawLinePath and the connecting center segment.
      Returns:
        int

    - #### getCenter

          public Point getCenter()

      Get the center point of the line path.
      Overrides:
        `getCenter` in class `DrawItem`
      Returns:
        the center point

    - #### moveBy

          public void moveBy(int left,
                    int top)

      Move both the start and end points of the line by a relative amount.
      Overrides:
        `moveBy` in class `DrawItem`
      Parameters:
        `left` - change to left coordinate in pixels
        `top` - change to top coordinate in pixels

    - #### moveStartPointTo

          public void moveStartPointTo(java.lang.Integer left,
                              java.lang.Integer top)

      Moves the line path such that the `startPoint` ends up at the specified point.
      Parameters:
        `left` - new left coordinate in pixels
        `top` - new top coordinate in pixels

    - #### setDefaultProperties

          public static void setDefaultProperties(DrawLinePath drawLinePathProperties)

      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
        `drawLinePathProperties` - properties that should be used as new defaults when instances of this class are created