Class DrawCurve

All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, HasVisibility, IsWidget, LogicalStructure, HasClickHandlers, 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.
  • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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 DrawSectors and shapes that are not commonly filled (e.g. DrawLines).

      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 DrawSectors and shapes that are not commonly filled (e.g. DrawLines).

      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:
    • 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