Class DrawLinePath

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

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.
  • Constructor Details

    • DrawLinePath

      public DrawLinePath()
    • DrawLinePath

      public DrawLinePath(JavaScriptObject jsObj)
  • Method Details

    • getOrCreateRef

      public static DrawLinePath 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
    • setConnectorOrientation

      public DrawLinePath setConnectorOrientation(ConnectorOrientation connectorOrientation) throws IllegalStateException
      The ConnectorOrientation controlling the orientation and behavior of this line's tail segments.
      Parameters:
      connectorOrientation - New connectorOrientation value. Default value is "auto"
      Returns:
      DrawLinePath instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getConnectorOrientation

      public ConnectorOrientation getConnectorOrientation()
      The ConnectorOrientation controlling the orientation and behavior of this line's tail segments.
      Returns:
      Current connectorOrientation value. Default value is "auto"
    • setConnectorStyle

      public DrawLinePath setConnectorStyle(ConnectorStyle connectorStyle) throws IllegalStateException
      The ConnectorStyle controlling the presentation and behavior of this line's tail segments.
      Parameters:
      connectorStyle - New connectorStyle value. Default value is "diagonal"
      Returns:
      DrawLinePath instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getConnectorStyle

      public ConnectorStyle getConnectorStyle()
      The ConnectorStyle controlling the presentation and behavior of this line's tail segments.
      Returns:
      Current connectorStyle value. Default value is "diagonal"
    • setControlPoint1

      public DrawLinePath 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
      Returns:
      DrawLinePath instance, for chaining setter calls
    • getControlPoint1

      public Point getControlPoint1()
      The point at which the leading tail segment joins the connecting center segment.
      Returns:
      Current controlPoint1 value. Default value is null
    • setControlPoint2

      public DrawLinePath 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
      Returns:
      DrawLinePath instance, for chaining setter calls
    • 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:
      Current controlPoint2 value. Default value is null
    • setEndArrow

      public DrawLinePath setEndArrow(ArrowStyle endArrow)
      Style of arrow head to draw at the end of the line or path.
      Overrides:
      setEndArrow in class DrawItem
      Parameters:
      endArrow - New endArrow value. Default value is "open", IRW
      Returns:
      DrawLinePath instance, for chaining setter calls
      See Also:
    • getEndArrow

      public ArrowStyle getEndArrow()
      Style of arrow head to draw at the end of the line or path.
      Overrides:
      getEndArrow in class DrawItem
      Returns:
      Current endArrow value. Default value is "open", IRW
      See Also:
    • setEndLeft

      public DrawLinePath 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 0 , IRW
      Returns:
      DrawLinePath 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 0 , IRW
    • 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 0 , IRW
    • setEndPoint

      public DrawLinePath 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:
      DrawLinePath 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 DrawLinePath 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 0 , IRW
      Returns:
      DrawLinePath 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 0 , IRW
    • 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 0 , IRW
    • setKnobs

      public DrawLinePath 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 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 - New knobs value. Default value is null
      Returns:
      DrawLinePath 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 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:
      Current knobs value. Default value is null
      See Also:
    • setShowTitleLabelBackground

      public DrawLinePath 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:
      DrawLinePath 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
    • setStartLeft

      public DrawLinePath 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 , IRW
      Returns:
      DrawLinePath 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 , IRW
    • 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 , IRW
    • setStartPoint

      public DrawLinePath 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:
      DrawLinePath 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 DrawLinePath 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 , IRW
      Returns:
      DrawLinePath 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 , IRW
    • 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 , IRW
    • setTailSize

      public DrawLinePath setTailSize(int tailSize) throws IllegalStateException
      Length of the horizontal/vertical "tail segments" between the start and end points of this DrawLinePath and the connecting center segment.
      Parameters:
      tailSize - New tailSize value. Default value is 30
      Returns:
      DrawLinePath instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the 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:
      Current tailSize value. Default value is 30
    • getTailSizeAsDouble

      public double getTailSizeAsDouble()
      Length of the horizontal/vertical "tail segments" between the start and end points of this DrawLinePath and the connecting center segment.
      Returns:
      Current tailSize value. Default value is 30
    • setTitleRotationMode

      public DrawLinePath 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:
      DrawLinePath instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • 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:
    • 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(Integer left, 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
      See Also:
    • setLogicalStructure

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