diva.canvas.connector
Class StraightTerminal

java.lang.Object
  extended by diva.canvas.AbstractFigure
      extended by diva.canvas.connector.StraightTerminal
All Implemented Interfaces:
CanvasComponent, Terminal, Figure, VisibleComponent, UserObjectContainer

public class StraightTerminal
extends AbstractFigure
implements Terminal

A terminal that consists of a straight line plus an additional decoration at the connection end of the terminal.

Version:
$Revision: 1.4 $
Author:
John Reekie (johnr@eecs.berkeley.edu)

Constructor Summary
StraightTerminal()
          Create a new terminal which is not attached to anything.
StraightTerminal(Site attachSite)
          Create a new terminal attached to the given site.
StraightTerminal(Site attachSite, Stroke stroke, Paint paint)
          Create a new terminal attached to the given site, with the given stroke and paint.
 
Method Summary
 Site getAttachSite()
          Get the site to which the terminal is attached
 Rectangle2D getBounds()
          Get the bounding box of this terminal.
 Site getConnectSite()
          Get the site to which a connector can attach
 ConnectorEnd getEnd()
          Get the object drawn at the end of the terminal, if there is one.
 Paint getPaint()
          Get the paint of this terminal.
 Shape getShape()
          Get the outline shape of this terminal.
 Stroke getStroke()
          Get the stroke of this terminal.
 boolean hit(Rectangle2D r)
          Test if this terminal is hit by the given rectangle.
 void paint(Graphics2D g)
          Paint the terminal.
 void relocate()
          Tell the terminal to reposition itself over the attachment site.
 void setAttachSite(Site s)
          Set the site to which the terminal is attached.
 void setEnd(ConnectorEnd e)
          Set the object drawn at the end of the terminal.
 void setPaint(Paint p)
          Set the stroke paint pattern of this terminal.
 void setStroke(Stroke s)
          Set the stroke of this terminal.
 void transform(AffineTransform at)
          Transform the terminal.
 void translate(double x, double y)
          Translate the terminal.
 
Methods inherited from class diva.canvas.AbstractFigure
contains, getInteractor, getLayer, getOrigin, getParent, getToolTipText, getTransformContext, getUserObject, intersects, isVisible, paint, repaint, repaint, setInteractor, setParent, setToolTipText, setUserObject, setVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface diva.canvas.Figure
contains, getInteractor, getLayer, getOrigin, getParent, getToolTipText, intersects, setInteractor, setParent, setToolTipText
 
Methods inherited from interface diva.canvas.VisibleComponent
isVisible, paint, setVisible
 
Methods inherited from interface diva.canvas.CanvasComponent
getTransformContext, repaint, repaint
 
Methods inherited from interface diva.util.UserObjectContainer
getUserObject, setUserObject
 

Constructor Detail

StraightTerminal

public StraightTerminal()
Create a new terminal which is not attached to anything. The terminal should not be displayed until after setAttachSite() is called.


StraightTerminal

public StraightTerminal(Site attachSite)
Create a new terminal attached to the given site.


StraightTerminal

public StraightTerminal(Site attachSite,
                        Stroke stroke,
                        Paint paint)
Create a new terminal attached to the given site, with the given stroke and paint. If the attach site is not yet available, pass a NullSite.

Method Detail

getAttachSite

public Site getAttachSite()
Get the site to which the terminal is attached

Specified by:
getAttachSite in interface Terminal

getBounds

public Rectangle2D getBounds()
Get the bounding box of this terminal.

Specified by:
getBounds in interface Figure
Overrides:
getBounds in class AbstractFigure

getConnectSite

public Site getConnectSite()
Get the site to which a connector can attach

Specified by:
getConnectSite in interface Terminal

getEnd

public ConnectorEnd getEnd()
Get the object drawn at the end of the terminal, if there is one.


getPaint

public Paint getPaint()
Get the paint of this terminal.


getShape

public Shape getShape()
Get the outline shape of this terminal.

Specified by:
getShape in interface Figure
Specified by:
getShape in class AbstractFigure

getStroke

public Stroke getStroke()
Get the stroke of this terminal.


hit

public boolean hit(Rectangle2D r)
Test if this terminal is hit by the given rectangle.

Specified by:
hit in interface Figure
Overrides:
hit in class AbstractFigure

paint

public void paint(Graphics2D g)
Paint the terminal.

Specified by:
paint in interface VisibleComponent
Specified by:
paint in class AbstractFigure

relocate

public void relocate()
Tell the terminal to reposition itself over the attachment site.

Specified by:
relocate in interface Terminal

setAttachSite

public void setAttachSite(Site s)
Set the site to which the terminal is attached.

Specified by:
setAttachSite in interface Terminal

setEnd

public void setEnd(ConnectorEnd e)
Set the object drawn at the end of the terminal.


setStroke

public void setStroke(Stroke s)
Set the stroke of this terminal. Currently, this call has no effect on the terminal end shape, if it has one.


setPaint

public void setPaint(Paint p)
Set the stroke paint pattern of this terminal. Currently, this call has no effect on the terminal end shape, if it has one.


transform

public void transform(AffineTransform at)
Transform the terminal. This is ignored, since the location and orientation of a terminal is determined solely by its attachment site and other parameters.

Specified by:
transform in interface Figure
Specified by:
transform in class AbstractFigure

translate

public void translate(double x,
                      double y)
Translate the terminal. This is implemented since it is the most efficient way for figures that contain terminals to translate themselves. However, this method does not call repaint(), on the assumption that the parent figure will do so anyway.

Specified by:
translate in interface Figure
Overrides:
translate in class AbstractFigure


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.