Package com.smartgwt.client.widgets.drawing

# Class DrawCurve

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.DrawCurve

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`

Direct Known Subclasses:
  `DrawBlockConnector`

public class DrawCurve extends DrawItem
DrawItem that renders cubic bezier curves.

- ## 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
  `DrawCurve()`
  `DrawCurve(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()`
  `DrawKnob`
  `getC1Knob()`
  If this item is showing `KnobType.CONTROLPOINT1` `control knobs`, this attribute specifies the AutoChild for the `DrawKnob` for control point 1 of current drawCurve.
  `DrawKnob`
  `getC2Knob()`
  If this item is showing `KnobType.CONTROLPOINT2` `control knobs`, this attribute specifies the AutoChild for the `DrawKnob` for control point 2 of current drawCurve.
  `Point`
  `getCenter()`
  Get the center point of the rectangle from the curve's `startPoint` to the `endPoint`.
  `Point`
  `getControlPoint1()`
  First cubic bezier control point.
  `Point`
  `getControlPoint2()`
  Second cubic bezier control point.
  `Point`
  `getEndPoint()`
  End point of the curve
  `KnobType[]`
  `getKnobs()`
  Array of control knobs to display for this item.
  `LineCap`
  `getLineCap()`
  Style of drawing the endpoints of a line.
  `LogicalStructureObject`
  `getLogicalStructure()`
  Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `static DrawCurve`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `boolean`
  `getShowTitleLabelBackground()`
  If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?
  `Point`
  `getStartPoint()`
  Start point of the curve
  `void`
  `moveBy(int x, int y)`
  Increment start, end and control points of this curve
  `void`
  `moveStartPointTo(Integer x, Integer y)`
  Move the start point, end point, and control points of the curve such that the `startPoint` ends up at the specified coordinates and the shape of the curve is unchanged.
  `DrawCurve`
  `setControlPoint1(Point controlPoint1)`
  First cubic bezier control point.
  `DrawCurve`
  `setControlPoint2(Point controlPoint2)`
  Second cubic bezier control point.
  `static void`
  `setDefaultProperties(DrawCurve drawCurveProperties)`
  Class level method to set the default properties of this class.
  `DrawCurve`
  `setEndPoint(Point endPoint)`
  End point of the curve
  If this method is called after the component has been drawn/initialized: Update the endPoint
  `DrawCurve`
  `setKnobs(KnobType... knobs)`
  Array of control knobs to display for this item.
  `DrawCurve`
  `setLineCap(LineCap lineCap)`
  Style of drawing the endpoints of a line.
  `LogicalStructureObject`
  `setLogicalStructure(DrawCurveLogicalStructure s)`
  Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `DrawCurve`
  `setShowTitleLabelBackground(boolean showTitleLabelBackground)`
  If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?
  `DrawCurve`
  `setStartPoint(Point startPoint)`
  Start point of the curve
  If this method is called after the component has been drawn/initialized: Update the startPoint

  ### 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, 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, getTitleRotationMode, getTranslate, getUnderlyingGWTCanvas, getUseSimpleTransform, getXShearFactor, getYShearFactor, getZIndex, hide, hideAllKnobs, hideKnobs, hideKnobs, hover, isInBounds, isPointInPath, 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, 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, setTitleRotationMode, 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, getAutoDraw, 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, setAutoDraw, 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

  - ### DrawCurve

    public DrawCurve()

  - ### DrawCurve

    public DrawCurve(JavaScriptObject jsObj)

- ## Method Details

  - ### getOrCreateRef

    public static DrawCurve 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`

  - ### getC1Knob

    public DrawKnob getC1Knob() throws IllegalStateException
    If this item is showing `KnobType.CONTROLPOINT1` `control knobs`, this attribute specifies the AutoChild for the `DrawKnob` for control point 1 of current drawCurve.

    This component is an AutoChild named "c1Knob". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current c1Knob value. Default value is null
    Throws:
      `IllegalStateException` - if this widget has not yet been rendered.

  - ### getC2Knob

    public DrawKnob getC2Knob() throws IllegalStateException
    If this item is showing `KnobType.CONTROLPOINT2` `control knobs`, this attribute specifies the AutoChild for the `DrawKnob` for control point 2 of current drawCurve.

    This component is an AutoChild named "c2Knob". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current c2Knob value. Default value is null
    Throws:
      `IllegalStateException` - if this widget has not yet been rendered.

  - ### setControlPoint1

    public DrawCurve setControlPoint1(Point controlPoint1)
    First cubic bezier control point.
    If this method is called after the component has been drawn/initialized: Updates the first cubic Bézier control point.
    Parameters:
      `controlPoint1` - left coordinate for control point, in pixels. Default value is [100,0]
    Returns:
      `DrawCurve` instance, for chaining setter calls

  - ### getControlPoint1

    public Point getControlPoint1()
    First cubic bezier control point.
    Returns:
      Current controlPoint1 value. Default value is [100,0]

  - ### setControlPoint2

    public DrawCurve setControlPoint2(Point controlPoint2)
    Second cubic bezier control point.
    If this method is called after the component has been drawn/initialized: Updates the second cubic Bézier control point.
    Parameters:
      `controlPoint2` - left coordinate for control point, in pixels. Default value is [0,100]
    Returns:
      `DrawCurve` instance, for chaining setter calls

  - ### getControlPoint2

    public Point getControlPoint2()
    Second cubic bezier control point.
    Returns:
      Current controlPoint2 value. Default value is [0,100]

  - ### setEndPoint

    public DrawCurve setEndPoint(Point endPoint)
    End point of the curve
    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:
      `DrawCurve` instance, for chaining setter calls

  - ### getEndPoint

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

  - ### setKnobs

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

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

    Overrides:
      `setKnobs` in class `DrawItem`
    Parameters:
      `knobs` - New knobs value. Default value is null
    Returns:
      `DrawCurve` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `DrawItem.setKnobs(com.smartgwt.client.types.KnobType...)`

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

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

    Overrides:
      `getKnobs` in class `DrawItem`
    Returns:
      Current knobs value. Default value is null
    See Also:
      - `DrawItem.getKnobs()`

  - ### setLineCap

    public DrawCurve setLineCap(LineCap lineCap)
    Style of drawing the endpoints of a line.

    Note that for dashed and dotted lines, the lineCap style affects each dash or dot.

    Overrides:
      `setLineCap` in class `DrawItem`
    Parameters:
      `lineCap` - New lineCap value. Default value is "butt"
    Returns:
      `DrawCurve` instance, for chaining setter calls

  - ### getLineCap

    public LineCap getLineCap()
    Style of drawing the endpoints of a line.

    Note that for dashed and dotted lines, the lineCap style affects each dash or dot.

    Overrides:
      `getLineCap` in class `DrawItem`
    Returns:
      Current lineCap value. Default value is "butt"

  - ### setShowTitleLabelBackground

    public DrawCurve 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:
      `DrawCurve` 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

  - ### setStartPoint

    public DrawCurve setStartPoint(Point startPoint)
    Start point of the curve
    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:
      `DrawCurve` instance, for chaining setter calls

  - ### getStartPoint

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

  - ### getCenter

    public Point getCenter()
    Get the center point of the rectangle from the curve's `startPoint` to the `endPoint`.
    Overrides:
      `getCenter` in class `DrawItem`
    Returns:
      the center point

  - ### moveBy

    public void moveBy(int x, int y)
    Increment start, end and control points of this curve
    Overrides:
      `moveBy` in class `DrawItem`
    Parameters:
      `x` - new x coordinate in pixels
      `y` - new y coordinate in pixels

  - ### moveStartPointTo

    public void moveStartPointTo(Integer x, Integer y)
    Move the start point, end point, and control points of the curve such that the `startPoint` ends up at the specified coordinates and the shape of the curve is unchanged.
    Parameters:
      `x` - new x coordinate in pixels
      `y` - new y coordinate in pixels

  - ### setDefaultProperties

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

  - ### setLogicalStructure

    public LogicalStructureObject setLogicalStructure(DrawCurveLogicalStructure 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`