Package com.smartgwt.client.widgets.drawing

# Class DrawLine

java.lang.Object
com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.Widget
com.smartgwt.client.widgets.BaseWidget
com.smartgwt.client.widgets.drawing.DrawItem
com.smartgwt.client.widgets.drawing.DrawLine

All Implemented Interfaces:
  `HasAttachHandlers`, `HasHandlers`, `EventListener`, `HasVisibility`, `IsWidget`, `LogicalStructure`, `HasClickHandlers`, `HasDoubleClickHandlers`, `HasDragMoveHandlers`, `HasDragResizeMoveHandlers`, `HasDragResizeStartHandlers`, `HasDragResizeStopHandlers`, `HasDragStartHandlers`, `HasDragStopHandlers`, `HasDrawEndHandlers`, `HasDrawStartHandlers`, `HasMouseDownHandlers`, `HasMouseMoveHandlers`, `HasMouseOutHandlers`, `HasMouseOverHandlers`, `HasMouseUpHandlers`, `HasMovedHandlers`, `HasResizedHandlers`, `HasShowContextMenuHandlers`

public class DrawLine extends DrawItem
DrawItem subclass to render line segments.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

  `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

- ## Field Summary

  ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

  `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

  ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

  `DEBUG_ID_PREFIX`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DrawLine()`
  `DrawLine(JavaScriptObject jsObj)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `changeAutoChildDefaults(String autoChildName, Canvas defaults)`
  Changes the defaults for Canvas AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(String autoChildName, DrawItem defaults)`
  Changes the defaults for DrawItem AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(String autoChildName, FormItem defaults)`
  Changes the defaults for FormItem AutoChildren named `autoChildName`.
  `protected JavaScriptObject`
  `create()`
  `Point`
  `getCenter()`
  Get the midpoint of the line.
  `int`
  `getEndLeft()`
  Ending left coordinate of the line.
  `double`
  `getEndLeftAsDouble()`
  Ending left coordinate of the line.
  `Point`
  `getEndPoint()`
  End point of the line
  `int`
  `getEndTop()`
  Ending top coordinate of the line.
  `double`
  `getEndTopAsDouble()`
  Ending top coordinate of the line.
  `KnobType[]`
  `getKnobs()`
  Array of control knobs to display for this item.
  `LogicalStructureObject`
  `getLogicalStructure()`
  Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `static DrawLine`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `boolean`
  `getShowTitleLabelBackground()`
  If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?
  `int`
  `getStartLeft()`
  Starting left coordinate of the line.
  `double`
  `getStartLeftAsDouble()`
  Starting left coordinate of the line.
  `Point`
  `getStartPoint()`
  Start point of the line
  `int`
  `getStartTop()`
  Starting top coordinate of the line.
  `double`
  `getStartTopAsDouble()`
  Starting top coordinate of the line.
  `TitleRotationMode`
  `getTitleRotationMode()`
  The mode in which the `titleLabel` (if shown) is rotated with this draw item.
  `boolean`
  `isPointInPath(int x, int y)`
  Returns true if the given point in the drawing coordinate system is within this DrawItem's shape, taking into account local transforms.
  `void`
  `moveBy(int left, int top)`
  Move both the start and end points of the line by a relative amount.
  `void`
  `moveStartPointTo(Integer left, Integer top)`
  Move both the start and end points of the line such that the `startPoint` ends up at the specified coordinate and the line length and angle are unchanged.
  `static void`
  `setDefaultProperties(DrawLine drawLineProperties)`
  Class level method to set the default properties of this class.
  `DrawLine`
  `setEndLeft(int endLeft)`
  Ending left coordinate of the line.
  `DrawLine`
  `setEndPoint(Point endPoint)`
  End point of the line
  If this method is called after the component has been drawn/initialized: Update the endPoint
  `DrawLine`
  `setEndTop(int endTop)`
  Ending top coordinate of the line.
  `DrawLine`
  `setKnobs(KnobType... knobs)`
  Array of control knobs to display for this item.
  `LogicalStructureObject`
  `setLogicalStructure(DrawLineLogicalStructure s)`
  Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `DrawLine`
  `setShowTitleLabelBackground(boolean showTitleLabelBackground)`
  If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?
  `DrawLine`
  `setStartLeft(int startLeft)`
  Starting left coordinate of the line.
  `DrawLine`
  `setStartPoint(Point startPoint)`
  Start point of the line
  If this method is called after the component has been drawn/initialized: Update the startPoint
  `DrawLine`
  `setStartTop(int startTop)`
  Starting top coordinate of the line.
  `DrawLine`
  `setTitleRotationMode(TitleRotationMode titleRotationMode)`
  The mode in which the `titleLabel` (if shown) is rotated with this draw item.

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

  `addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDrawEndHandler, addDrawStartHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMovedHandler, addResizedHandler, addShowContextMenuHandler, bringToFront, computeAngle, computeAngleAsDouble, dragResizeMove, draw, erase, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getBoundingBox, getBoundingBoxAsDouble, getById, getByJSObject, getCanDrag, getCanHover, getCanvasAutoChild, getContextMenu, getCornerResizeKnob, getCursor, getDestroyed, getDestroying, getDragStartDistance, getDrawGroup, getDrawItemAutoChild, getDrawPane, getDrawPaneAsString, getEditProxyConstructor, getEndArrow, getEndKnob, getEventOpaque, getFillColor, getFillGradient, getFillGradientAsString, getFillOpacity, getFormItemAutoChild, getHoverDelay, getHoverHTML, getKeepInParentRect, getLineCap, getLineColor, getLineOpacity, getLinePattern, getLineWidth, getMoveKnob, getMoveKnobOffset, getMoveKnobPoint, getPageLeft, getPageTop, getPaletteDefaults, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRef, getResizeBoundingBox, getResizeBoundingBoxAsDouble, getResizeKnobPoints, getResizeOutline, getResizeViaLocalTransformOnly, getRotateKnob, getRotation, getRotationAsDouble, getScale, getShadow, getShowHover, getShowResizeOutline, getSideResizeKnob, getStartArrow, getStartKnob, getSvgString, getTitle, getTitleAutoFit, getTitleAutoFitMargin, getTitleAutoFitRotationMode, getTitleLabel, getTitleLabelBackground, getTitleLabelPadding, getTranslate, getUnderlyingGWTCanvas, getUseSimpleTransform, getXShearFactor, getYShearFactor, getZIndex, hide, hideAllKnobs, hideKnobs, hideKnobs, hover, isInBounds, moveTo, resizeBy, resizeTo, rotateBy, rotateTo, scaleBy, scaleTo, sendToBack, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setCanDrag, setCanHover, setCenterPoint, setContextMenu, setCursor, setDefaultProperties, setDragStartDistance, setDrawGroup, setDrawPane, setDrawPane, setEditProxyConstructor, setEndArrow, setEventOpaque, setFillColor, setFillGradient, setFillGradient, setFillOpacity, setHoverDelay, setKeepInParentRect, setKeepInParentRect, setLineCap, setLineColor, setLineOpacity, setLinePattern, setLineWidth, setLogicalStructure, setMoveKnobOffset, setMoveKnobPoint, setPrompt, setPropertyValue, setProportionalResizeModifiers, setProportionalResizing, setResizeKnobPoints, setResizeViaLocalTransformOnly, setRotation, setRotation, setScale, setShadow, setShapeData, setShowHover, setShowResizeOutline, setStartArrow, setTitle, setTitleAutoFit, setTitleAutoFitMargin, setTitleAutoFitRotationMode, setTitleLabelPadding, setTranslate, setUseSimpleTransform, setXShearFactor, setYShearFactor, setZIndex, show, showAllKnobs, showKnobs, showKnobs, supportsEndArrow, supportsStartArrow`

  ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

  `addDrawHandler, addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, clearDynamicProperty, completeCreation, destroy, doAddHandler, doInit, doOnRender, equals, error, errorIfNotCreated, getAttribute, getAttributeAsDateArray, getAttributeAsFloatArray, getAttributeAsIntArray, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getClassName, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getScClassName, hasAutoAssignedID, hasDynamicProperty, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, isFactoryCreated, onBind, onDestroy, onDraw, onInit, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDefaultProperties, setDragTracker, setFactoryCreated, setHtmlElement, setID, setJavaScriptObject, setLogicalStructure, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

  ### Methods inherited from class com.google.gwt.user.client.ui.Widget

  `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

  ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

  `addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, setVisible, setWidth, sinkBitlessEvent`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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

  `fireEvent`

- ## Constructor Details

  - ### DrawLine

    public DrawLine()

  - ### DrawLine

    public DrawLine(JavaScriptObject jsObj)

- ## Method Details

  - ### getOrCreateRef

    public static DrawLine getOrCreateRef(JavaScriptObject jsObj)

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, Canvas defaults)
    Changes the defaults for Canvas AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, FormItem defaults)
    Changes the defaults for FormItem AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, DrawItem defaults)
    Changes the defaults for DrawItem AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - DrawItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### create

    protected JavaScriptObject create()
    Overrides:
      `create` in class `DrawItem`

  - ### setEndLeft

    public DrawLine setEndLeft(int endLeft) throws IllegalStateException
    Ending left coordinate of the line. Overrides left coordinate of `endPoint` if both are set.
    Parameters:
      `endLeft` - New endLeft value. Default value is 100
    Returns:
      `DrawLine` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getEndLeft

    public int getEndLeft()
    Ending left coordinate of the line. Overrides left coordinate of `endPoint` if both are set.
    Returns:
      Current endLeft value. Default value is 100

  - ### getEndLeftAsDouble

    public double getEndLeftAsDouble()
    Ending left coordinate of the line. Overrides left coordinate of `endPoint` if both are set.
    Returns:
      Current endLeft value. Default value is 100

  - ### setEndPoint

    public DrawLine 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]
    Returns:
      `DrawLine` instance, for chaining setter calls

  - ### getEndPoint

    public Point getEndPoint()
    End point of the line
    Returns:
      Current endPoint value. Default value is [100,100]

  - ### setEndTop

    public DrawLine setEndTop(int endTop) throws IllegalStateException
    Ending top coordinate of the line. Overrides top coordinate of `endPoint` if both are set.
    Parameters:
      `endTop` - New endTop value. Default value is 100
    Returns:
      `DrawLine` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getEndTop

    public int getEndTop()
    Ending top coordinate of the line. Overrides top coordinate of `endPoint` if both are set.
    Returns:
      Current endTop value. Default value is 100

  - ### getEndTopAsDouble

    public double getEndTopAsDouble()
    Ending top coordinate of the line. Overrides top coordinate of `endPoint` if both are set.
    Returns:
      Current endTop value. Default value is 100

  - ### setKnobs

    public DrawLine setKnobs(KnobType... knobs) throws 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 DrawLine. To update the set of knobs at runtime use `DrawItem.showKnobs()` and `DrawItem.hideKnobs()`.

    DrawLine supports the `KnobType.STARTPOINT`, `KnobType.ENDPOINT`, and `KnobType.MOVE` knob types.

    Overrides:
      `setKnobs` in class `DrawItem`
    Parameters:
      `knobs` - New knobs value. Default value is null
    Returns:
      `DrawLine` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### 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 DrawLine. To update the set of knobs at runtime use `DrawItem.showKnobs()` and `DrawItem.hideKnobs()`.

    DrawLine supports the `KnobType.STARTPOINT`, `KnobType.ENDPOINT`, and `KnobType.MOVE` knob types.

    Overrides:
      `getKnobs` in class `DrawItem`
    Returns:
      Current knobs value. Default value is null

  - ### setShowTitleLabelBackground

    public DrawLine setShowTitleLabelBackground(boolean showTitleLabelBackground) throws IllegalStateException
    If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?

    This defaults to true for `DrawSector`s and shapes that are not commonly filled (e.g. `DrawLine`s).

    Note : This is an advanced setting

    Overrides:
      `setShowTitleLabelBackground` in class `DrawItem`
    Parameters:
      `showTitleLabelBackground` - New showTitleLabelBackground value. Default value is true
    Returns:
      `DrawLine` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getShowTitleLabelBackground

    public boolean getShowTitleLabelBackground()
    If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?

    This defaults to true for `DrawSector`s and shapes that are not commonly filled (e.g. `DrawLine`s).

    Overrides:
      `getShowTitleLabelBackground` in class `DrawItem`
    Returns:
      Current showTitleLabelBackground value. Default value is true

  - ### setStartLeft

    public DrawLine setStartLeft(int startLeft) throws IllegalStateException
    Starting left coordinate of the line. Overrides left coordinate of `startPoint` if both are set.
    Parameters:
      `startLeft` - New startLeft value. Default value is 0
    Returns:
      `DrawLine` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getStartLeft

    public int getStartLeft()
    Starting left coordinate of the line. Overrides left coordinate of `startPoint` if both are set.
    Returns:
      Current startLeft value. Default value is 0

  - ### getStartLeftAsDouble

    public double getStartLeftAsDouble()
    Starting left coordinate of the line. Overrides left coordinate of `startPoint` if both are set.
    Returns:
      Current startLeft value. Default value is 0

  - ### setStartPoint

    public DrawLine 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]
    Returns:
      `DrawLine` instance, for chaining setter calls

  - ### getStartPoint

    public Point getStartPoint()
    Start point of the line
    Returns:
      Current startPoint value. Default value is [0,0]

  - ### setStartTop

    public DrawLine setStartTop(int startTop) throws IllegalStateException
    Starting top coordinate of the line. Overrides top coordinate of `startPoint` if both are set.
    Parameters:
      `startTop` - New startTop value. Default value is 0
    Returns:
      `DrawLine` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getStartTop

    public int getStartTop()
    Starting top coordinate of the line. Overrides top coordinate of `startPoint` if both are set.
    Returns:
      Current startTop value. Default value is 0

  - ### getStartTopAsDouble

    public double getStartTopAsDouble()
    Starting top coordinate of the line. Overrides top coordinate of `startPoint` if both are set.
    Returns:
      Current startTop value. Default value is 0

  - ### setTitleRotationMode

    public DrawLine setTitleRotationMode(TitleRotationMode titleRotationMode) throws IllegalStateException
    The mode in which the `titleLabel` (if shown) is rotated with this draw item.

    Note : This is an advanced setting

    Overrides:
      `setTitleRotationMode` in class `DrawItem`
    Parameters:
      `titleRotationMode` - New titleRotationMode value. Default value is "withLineAlwaysUp"
    Returns:
      `DrawLine` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `DrawItem.setTitle(java.lang.String)`

  - ### getTitleRotationMode

    public TitleRotationMode getTitleRotationMode()
    The mode in which the `titleLabel` (if shown) is rotated with this draw item.
    Overrides:
      `getTitleRotationMode` in class `DrawItem`
    Returns:
      Current titleRotationMode value. Default value is "withLineAlwaysUp"
    See Also:
      - `DrawItem.getTitle()`

  - ### getCenter

    public Point getCenter()
    Get the midpoint of the line.
    Overrides:
      `getCenter` in class `DrawItem`
    Returns:
      the midpoint

  - ### isPointInPath

    public boolean isPointInPath(int x, int y)
    Returns true if the given point in the drawing coordinate system is within this DrawItem's shape, taking into account local transforms.
    Overrides:
      `isPointInPath` in class `DrawItem`
    Parameters:
      `x` - X coordinate of the test point.
      `y` - Y coordinate of the test point.
    Returns:

  - ### 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(Integer left, Integer top)
    Move both the start and end points of the line such that the `startPoint` ends up at the specified coordinate and the line length and angle are unchanged.
    Parameters:
      `left` - new left coordinate in pixels
      `top` - new top coordinate in pixels

  - ### setDefaultProperties

    public static void setDefaultProperties(DrawLine drawLineProperties)
    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:
      `drawLineProperties` - properties that should be used as new defaults when instances of this class are created
    See Also:
      - `SGWTProperties`

  - ### setLogicalStructure

    public LogicalStructureObject setLogicalStructure(DrawLineLogicalStructure s)
    Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

  - ### getLogicalStructure

    public LogicalStructureObject getLogicalStructure()
    Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    Specified by:
      `getLogicalStructure` in interface `LogicalStructure`
    Overrides:
      `getLogicalStructure` in class `DrawItem`