com.smartgwt.client.widgets.drawing

## Class DrawPath

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

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

      public class DrawPath
      extends DrawItem

  Draws a multi-segment line.

- - ### Field Summary

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

      `config, factoryCreated, factoryProperties, id, scClassName`

  - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `JavaScriptObject` | `create()`
    `Point` | `getCenter()` Get the mean center of the path.
    `KnobType[]` | `getKnobs()` DrawPath only supports the `KnobType.MOVE` knob type.
    `static DrawPath` | `getOrCreateRef(JavaScriptObject jsObj)`
    `Point[]` | `getPoints()` Array of Points for the line.
    `void` | `moveBy(int dX, int dY)` Move the points by dX,dY
    `void` | `moveFirstPointTo(java.lang.Integer left, java.lang.Integer top)` Move all points in the path such that the first point ends up at the specified coordinates and the line lengths and angles are unchanged.
    `void` | `resizeBy(int dX, int dY)` Resize by the specified delta
    `void` | `resizeTo(java.lang.Integer width, java.lang.Integer height)` Resize to the specified size
    `static void` | `setDefaultProperties(DrawPath drawPathProperties)` Class level method to set the default properties of this class.
    `void` | `setKnobs(KnobType... knobs)` DrawPath only supports the `KnobType.MOVE` knob type.
    `void` | `setPoints(Point... points)` Array of Points for the line.

    - ### 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, getEndArrow, 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, rotateBy, rotateTo, scaleBy, scaleTo, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setCanDrag, setCanHover, setCenterPoint, setContextMenu, setCursor, setDefaultProperties, setDragStartDistance, setDrawGroup, setDrawPane, setEditProxyConstructor, setEndArrow, 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

    - #### DrawPath

          public DrawPath()

    - #### DrawPath

          public DrawPath(JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static DrawPath getOrCreateRef(JavaScriptObject jsObj)

    - #### create

          public JavaScriptObject create()

      Overrides:
        `create` in class `DrawItem`

    - #### setKnobs

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

      DrawPath only supports the `KnobType.MOVE` knob type.
      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()

      DrawPath only supports the `KnobType.MOVE` knob type.
      Overrides:
        `getKnobs` in class `DrawItem`
      Returns:
        KnobType...
      See Also:
        `DrawItem.getKnobs()`, Diagramming Example

    - #### setPoints

          public void setPoints(Point... points)

      Array of Points for the line.
      Parameters:
        `points` - Default value is [[0,0], [100,100]]

    - #### getPoints

          public Point[] getPoints()

      Array of Points for the line.
      Returns:
        Point...

    - #### getCenter

          public Point getCenter()

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

    - #### moveBy

          public void moveBy(int dX,
                    int dY)

      Move the points by dX,dY
      Overrides:
        `moveBy` in class `DrawItem`
      Parameters:
        `dX` - delta x coordinate in pixels
        `dY` - delta y coordinate in pixels

    - #### moveFirstPointTo

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

      Move all points in the path such that the first point ends up at the specified coordinates and the line lengths and angles are unchanged.
      Parameters:
        `left` - new left coordinate in pixels
        `top` - new top coordinate in pixels

    - #### resizeBy

          public void resizeBy(int dX,
                      int dY)

      Resize by the specified delta
      Overrides:
        `resizeBy` in class `DrawItem`
      Parameters:
        `dX` - number of pixels to resize by horizontally
        `dY` - number of pixels to resize by vertically

    - #### resizeTo

          public void resizeTo(java.lang.Integer width,
                      java.lang.Integer height)

      Resize to the specified size
      Overrides:
        `resizeTo` in class `DrawItem`
      Parameters:
        `width` - new width
        `height` - new height

    - #### setDefaultProperties

          public static void setDefaultProperties(DrawPath drawPathProperties)

      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:
        `drawPathProperties` - properties that should be used as new defaults when instances of this class are created