diva.canvas.toolbox
Class IconFigure

java.lang.Object
  extended by diva.canvas.AbstractFigure
      extended by diva.canvas.toolbox.IconFigure
All Implemented Interfaces:
CanvasComponent, Figure, VisibleComponent, UserObjectContainer

public class IconFigure
extends AbstractFigure

An IconFigure is a figure that contains a main background figure, a PaintedObject to decorate that figure, a label, and an arbitrary number of attached Terminal objects.

Version:
$Revision: 1.7 $
Author:
John Reekie

Constructor Summary
IconFigure(Figure f)
          Create a new icon figure using the given figure as the "background" figure.
IconFigure(Figure f, PaintedObject g)
          Create a new icon figure using the given figure as the "background" figure and the given Painted object as its "graphic."
IconFigure(Figure f, PaintedObject g, String label)
          Create a new icon figure using the given figure as the "background" figure, the given Painted object as its "graphic," and the given string as a displayed label.
IconFigure(Figure f, String label)
          Create a new icon figure using the given figure as the "background" figure and with the given label.
 
Method Summary
 void addTerminal(Terminal t, int side, double offset)
          Add the given terminal, on the given side and with the given offset, to the icon.
 Figure getBackground()
          Get the background figure of the icon.
 Rectangle2D getBounds()
          Get the bounding box of this icon, including the terminals.
 Composite getComposite()
          Get the composite of this icon, or null if it doesn't have one.
 PaintedObject getGraphic()
          Get the painted object that is drawn over the top of the icon as its "graphic."
 Shape getShape()
          Get the shape of this figure.
 Terminal getTerminal(int index)
          Get the terminal at the given index
 boolean intersects(Rectangle2D r)
          Test if this figure intersects the given rectangle.
 void paint(Graphics2D g)
          Paint the icon.
 void setComposite(Composite c)
          Set the color composition operator of this figure.
 void setLabel(String s)
          Set the label of this figure.
 Iterator terminals()
          Get an iterator over the terminals of this figure.
 void transform(AffineTransform at)
          Transform the figure with the supplied transform.
 void translate(double x, double y)
          Translate the figure the given distance.
 
Methods inherited from class diva.canvas.AbstractFigure
contains, getInteractor, getLayer, getOrigin, getParent, getToolTipText, getTransformContext, getUserObject, hit, 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
 

Constructor Detail

IconFigure

public IconFigure(Figure f)
Create a new icon figure using the given figure as the "background" figure.


IconFigure

public IconFigure(Figure f,
                  PaintedObject g)
Create a new icon figure using the given figure as the "background" figure and the given Painted object as its "graphic."


IconFigure

public IconFigure(Figure f,
                  String label)
Create a new icon figure using the given figure as the "background" figure and with the given label.


IconFigure

public IconFigure(Figure f,
                  PaintedObject g,
                  String label)
Create a new icon figure using the given figure as the "background" figure, the given Painted object as its "graphic," and the given string as a displayed label.

Method Detail

addTerminal

public void addTerminal(Terminal t,
                        int side,
                        double offset)
Add the given terminal, on the given side and with the given offset, to the icon. A BoundsSite will be created and the terminal attached to it. See the BoundsSite class for a decsription if the side and offset arguments.


getBackground

public Figure getBackground()
Get the background figure of the icon.


getBounds

public Rectangle2D getBounds()
Get the bounding box of this icon, including the terminals. The bounds of the painted objects on top of the icon is not included in the calculation, as its expensive to compute and whoever created the icon is assumed to check that the painted objects are within bounds at creation time.

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

getGraphic

public PaintedObject getGraphic()
Get the painted object that is drawn over the top of the icon as its "graphic."


getComposite

public Composite getComposite()
Get the composite of this icon, or null if it doesn't have one.


getShape

public Shape getShape()
Get the shape of this figure. This is the shape of the background figure.

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

getTerminal

public Terminal getTerminal(int index)
Get the terminal at the given index


intersects

public boolean intersects(Rectangle2D r)
Test if this figure intersects the given rectangle.

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

paint

public void paint(Graphics2D g)
Paint the icon.

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

setComposite

public void setComposite(Composite c)
Set the color composition operator of this figure. If the composite is set to null, then the composite will not be changed when the figure is painted -- provided that all other objects in the system are well-behaved, this means that icons will be opaque. The default composite value is null.


setLabel

public void setLabel(String s)
Set the label of this figure.


terminals

public Iterator terminals()
Get an iterator over the terminals of this figure.


transform

public void transform(AffineTransform at)
Transform the figure with the supplied transform. This method transforms the background figure and the graphic, but not the label or the terminals.

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

translate

public void translate(double x,
                      double y)
Translate the figure the given distance.

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


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