diva.canvas.toolbox
Class LabelWrapper

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

public class LabelWrapper
extends AbstractFigure

A LabelWrapper is a figure that attaches a label to some other figure. The location at which the label is attached can (in this class) be set to the center or to any of the four edges or corners of the bounding box. (Maybe later we'll figure out a way to have the label locate at a site.) In addition, the anchor and padding attributes of the figure itself can be used to adjust the label location relative to the anchoring point on the main figure.

Note that this class is intended for use in simple applications where a simple label is attached to something. For more complex applications, such as attaching multiple labels, you will need to implement your own class.

Version:
$Id: LabelWrapper.java 38798 2005-07-08 20:00:01Z cxh $
Author:
John Reekie

Field Summary
private  int _anchor
          The label anchor
private  Figure _child
          The child
private  LabelFigure _label
          The label
 
Constructor Summary
LabelWrapper(Figure f, java.lang.String label)
          Construct a new figure with the given child figure and the given string.
 
Method Summary
 java.awt.geom.Rectangle2D getBounds()
          Get the bounds of this figure.
 Figure getChild()
          Get the child figure
 LabelFigure getLabel()
          Get the label.
 java.awt.Shape getShape()
          Get the shape of this figure.
 boolean hit(java.awt.geom.Rectangle2D r)
          We are hit if either the child or the figure is hit.
 void paint(java.awt.Graphics2D g)
          Paint this figure
 void setAnchor(int anchor)
          Set the anchor of the label.
 void transform(java.awt.geom.AffineTransform at)
          Transform the figure with the supplied transform.
 
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, translate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_child

private Figure _child
The child


_label

private LabelFigure _label
The label


_anchor

private int _anchor
The label anchor

Constructor Detail

LabelWrapper

public LabelWrapper(Figure f,
                    java.lang.String label)
Construct a new figure with the given child figure and the given string.

Method Detail

getBounds

public java.awt.geom.Rectangle2D getBounds()
Get the bounds of this figure.

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

getChild

public Figure getChild()
Get the child figure


getLabel

public LabelFigure getLabel()
Get the label. This can be used to adjust the label appearance, anchor, and so on.


getShape

public java.awt.Shape getShape()
Get the shape of this figure. This is the shape of the child figure only -- the label is not included in the shape.

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

hit

public boolean hit(java.awt.geom.Rectangle2D r)
We are hit if either the child or the figure is hit.

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

paint

public void paint(java.awt.Graphics2D g)
Paint this figure

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

setAnchor

public void setAnchor(int anchor)
Set the anchor of the label. The anchor is the position on the child figure at which the label will be located. It can be any of the positioning constants defined in SwingConstants.


transform

public void transform(java.awt.geom.AffineTransform at)
Transform the figure with the supplied transform.

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