|
JHotDraw 7.0.9 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jhotdraw.draw.AbstractFigure
org.jhotdraw.draw.AbstractCompositeFigure
public abstract class AbstractCompositeFigure
A Figure that is composed of several children. A AbstractCompositeFigure doesn't define any layout behavior. It is up to subclassers to arrange the contained children.
Field Summary |
---|
Fields inherited from class org.jhotdraw.draw.AbstractFigure |
---|
changingDepth, listenerList |
Fields inherited from interface org.jhotdraw.draw.CompositeFigure |
---|
LAYOUT_INSETS |
Constructor Summary | |
---|---|
AbstractCompositeFigure()
Creates a new instance. |
Method Summary | |
---|---|
void |
add(Figure figure)
Adds a child to the figure. |
void |
add(int index,
Figure figure)
Adds a child to the figure at the specified index. |
void |
addAll(java.util.Collection<Figure> newFigures)
|
void |
addNotify(Drawing drawing)
Informs a figure, that it has been added to the specified drawing. |
void |
basicAdd(Figure figure)
Adds a child to the figure without firing events. |
void |
basicAdd(int index,
Figure figure)
Adds a child to the figure at the specified index without firing events. |
void |
basicAddAll(java.util.Collection<Figure> newFigures)
|
boolean |
basicRemove(Figure figure)
Removes the specified child without firing events. |
void |
basicRemoveAllChildren()
Removes all children from the composite figure without firing events. |
Figure |
basicRemoveChild(int index)
Removes the child at the specified index without firing events. |
void |
changed()
Informs that a figure changed the area of its display box. |
AbstractCompositeFigure |
clone()
Returns a clone of the figure. |
boolean |
contains(java.awt.geom.Point2D.Double p)
Checks if a point is contained by the figure. |
java.util.Collection<Handle> |
createHandles(int detailLevel)
Creates handles used to manipulate the figure. |
void |
draw(java.awt.Graphics2D g)
Draws the figure and its decorator figure. |
Figure |
findChild(java.awt.geom.Point2D.Double p)
|
int |
findChildIndex(java.awt.geom.Point2D.Double p)
|
Figure |
findFigureInside(java.awt.geom.Point2D.Double p)
Returns the figure that contains the given point. |
java.lang.Object |
getAttribute(AttributeKey name)
Gets an attribute from the Figure. |
java.util.Map<AttributeKey,java.lang.Object> |
getAttributes()
Returns a view to all attributes of this figure. |
java.lang.Object |
getAttributesRestoreData()
Gets data which can be used to restore the attributes of the figure after a setAttribute has been applied to it. |
java.awt.geom.Rectangle2D.Double |
getBounds()
Returns the untransformed logicalbounds of the figure as a Rectangle. |
Figure |
getChild(int index)
Returns the child figure at the specified index. |
int |
getChildCount()
Returns the number of children. |
java.util.List<Figure> |
getChildren()
Returns an unchangeable list view on the children. |
java.util.List<Figure> |
getChildrenFrontToBack()
Returns an iterator to iterate in Z-order front to back over the children. |
java.util.Collection<Figure> |
getDecomposition()
Returns a decompositon of a figure into its parts. |
java.awt.geom.Rectangle2D.Double |
getDrawingArea()
Returns the drawing area of the figure as a Rectangle. |
Layouter |
getLayouter()
Get a Layouter object which encapsulated a layout algorithm for this figure. |
Dimension2DDouble |
getPreferredSize()
The preferred size is used by Layouter to determine the preferred size of a Figure. |
java.lang.Object |
getTransformRestoreData()
Gets data which can be used to restore the transformation of the figure without loss of precision, after a transform has been applied to it. |
boolean |
hasAttribute(AttributeKey key)
|
void |
invalidate()
Informs that a figure needs to be redrawn. |
protected void |
invalidateBounds()
|
void |
layout()
A layout algorithm is used to define how the child components should be laid out in relation to each other. |
void |
read(DOMInput in)
|
boolean |
remove(Figure figure)
Removes the specified child. |
void |
removeAllChildren()
Removes all children. |
void |
removeAttribute(AttributeKey key)
|
Figure |
removeChild(int index)
Removes the child at the specified index. |
void |
removeNotify(Drawing drawing)
Informs a figure, that it has been removed from the specified drawing. |
void |
restoreAttributesTo(java.lang.Object newData)
Restores the attributes of the figure to a previously stored state. |
void |
restoreTransformTo(java.lang.Object geometry)
Restores the transform of the figure to a previously stored state. |
void |
sendToBack(Figure figure)
Sends a figure to the back of the composite figure. |
void |
sendToFront(Figure figure)
Sends a figure to the front of the drawing. |
void |
setAttribute(AttributeKey key,
java.lang.Object value)
Sets an attribute of the figure without firing events. |
void |
setBounds(java.awt.geom.Point2D.Double anchor,
java.awt.geom.Point2D.Double lead)
Sets the logical and untransformed bounds of the figure and of its decorator figure. |
void |
setLayouter(Layouter newLayouter)
Set a Layouter object which encapsulated a layout algorithm for this figure. |
void |
transform(java.awt.geom.AffineTransform tx)
Transforms the figure. |
protected void |
validate()
|
void |
willChange()
Informs that a figure is about to change something that affects the contents of its display box. |
void |
write(DOMOutput out)
|
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.jhotdraw.draw.Figure |
---|
addFigureListener, canConnect, findCompatibleConnector, findConnector, getActions, getConnectors, getCursor, getEndPoint, getLayer, getStartPoint, getTool, getToolTipText, handleDrop, handleMouseClick, includes, isInteractive, isVisible, remap, removeFigureListener, requestRemove, setVisible |
Constructor Detail |
---|
public AbstractCompositeFigure()
Method Detail |
---|
public java.util.Collection<Handle> createHandles(int detailLevel)
Figure
createHandles
in interface Figure
createHandles
in class AbstractFigure
detailLevel
- The detail level of the handles. Usually this is 0 for
bounding box handles and 1 for point handles.
Handle
public void add(Figure figure)
CompositeFigure
add
in interface CompositeFigure
public void add(int index, Figure figure)
CompositeFigure
add
in interface CompositeFigure
public void addAll(java.util.Collection<Figure> newFigures)
public void basicAdd(Figure figure)
CompositeFigure
basicAdd
in interface CompositeFigure
public void basicAdd(int index, Figure figure)
CompositeFigure
basicAdd
in interface CompositeFigure
public void basicAddAll(java.util.Collection<Figure> newFigures)
public void addNotify(Drawing drawing)
Figure
addNotify
in interface Figure
addNotify
in class AbstractFigure
public void removeNotify(Drawing drawing)
Figure
removeNotify
in interface Figure
removeNotify
in class AbstractFigure
public boolean remove(Figure figure)
CompositeFigure
remove
in interface CompositeFigure
public Figure removeChild(int index)
CompositeFigure
removeChild
in interface CompositeFigure
public boolean basicRemove(Figure figure)
CompositeFigure
basicRemove
in interface CompositeFigure
public Figure basicRemoveChild(int index)
CompositeFigure
basicRemoveChild
in interface CompositeFigure
public void removeAllChildren()
removeAllChildren
in interface CompositeFigure
add(org.jhotdraw.draw.Figure)
public void basicRemoveAllChildren()
CompositeFigure
basicRemoveAllChildren
in interface CompositeFigure
public void sendToBack(Figure figure)
figure
- that is part of this composite figurepublic void sendToFront(Figure figure)
figure
- that is part of the drawingpublic void transform(java.awt.geom.AffineTransform tx)
transform
in interface Figure
tx
- The transformation.Figure.getTransformRestoreData()
,
Figure.restoreTransformTo(java.lang.Object)
public void setBounds(java.awt.geom.Point2D.Double anchor, java.awt.geom.Point2D.Double lead)
Figure
This is used by Tool's which create a new Figure and by Tool's which connect a Figure to another Figure.
This is a basic operation which does not fire events. Use the following code sequence, if you need event firing:
aFigure.willChange(); aFigure.setBounds(...); aFigure.changed();
setBounds
in interface Figure
setBounds
in class AbstractFigure
anchor
- the start point of the boundslead
- the end point of the boundsFigure.getBounds()
public java.util.List<Figure> getChildren()
CompositeFigure
getChildren
in interface CompositeFigure
public int getChildCount()
CompositeFigure
getChildCount
in interface CompositeFigure
public Figure getChild(int index)
CompositeFigure
getChild
in interface CompositeFigure
public java.util.List<Figure> getChildrenFrontToBack()
public void setAttribute(AttributeKey key, java.lang.Object value)
Figure
Use AttributeKey.basicSet
for typesafe access to this
method.
This is a basic operation which does not fire events. Use method
setAttribute
if you need event firing, or - alternatively - the following
code sequence:
aFigure.willChange(); Object oldData = aFigure.getAttributesRestoreData(); STROKE_COLOR.basicSet(aFigure, ...); aFigure.changed(); Object newData = aFigure.getAttributesRestoreData(); ...fire an UndoableEditEvent oldData and newData...
setAttribute
in interface Figure
AttributeKey.basicSet(org.jhotdraw.draw.Figure, T)
public java.lang.Object getAttribute(AttributeKey name)
Figure
Use AttributeKey.get()
for typesafe access to this method.
getAttribute
in interface Figure
AttributeKey.get(org.jhotdraw.draw.Figure)
public java.util.Map<AttributeKey,java.lang.Object> getAttributes()
Figure
getAttributes
in interface Figure
public java.lang.Object getAttributesRestoreData()
Figure
getAttributesRestoreData
in interface Figure
#basicSetAttribue(AttributeKey,Object)
public void restoreAttributesTo(java.lang.Object newData)
Figure
restoreAttributesTo
in interface Figure
public boolean contains(java.awt.geom.Point2D.Double p)
Figure
This is used for hit testing by Tool's.
contains
in interface Figure
public Figure findFigureInside(java.awt.geom.Point2D.Double p)
Figure
findFigureInside
in interface Figure
findFigureInside
in class AbstractFigure
public Figure findChild(java.awt.geom.Point2D.Double p)
public int findChildIndex(java.awt.geom.Point2D.Double p)
public Layouter getLayouter()
getLayouter
in interface CompositeFigure
public void layout()
layout
in interface CompositeFigure
public void setLayouter(Layouter newLayouter)
setLayouter
in interface CompositeFigure
newLayouter
- encapsulation of a layout algorithm.public Dimension2DDouble getPreferredSize()
Figure
getPreferredSize
in interface Figure
getPreferredSize
in class AbstractFigure
public java.awt.geom.Rectangle2D.Double getDrawingArea()
Figure
The drawing area needs to be large enough, to take line width, line caps and other decorations into account that exceed the bounds of the Figure.
getDrawingArea
in interface Figure
public java.awt.geom.Rectangle2D.Double getBounds()
Figure
getBounds
in interface Figure
public void draw(java.awt.Graphics2D g)
Figure
draw
in interface Figure
g
- The Graphics2D to draw to.public AbstractCompositeFigure clone()
Figure
clone
in interface Figure
clone
in class AbstractFigure
protected void invalidateBounds()
public java.util.Collection<Figure> getDecomposition()
Figure
getDecomposition
in interface Figure
getDecomposition
in class AbstractFigure
public void read(DOMInput in) throws java.io.IOException
read
in interface DOMStorable
java.io.IOException
public void write(DOMOutput out) throws java.io.IOException
write
in interface DOMStorable
java.io.IOException
public void restoreTransformTo(java.lang.Object geometry)
Figure
restoreTransformTo
in interface Figure
public java.lang.Object getTransformRestoreData()
Figure
getTransformRestoreData
in interface Figure
Figure.transform(AffineTransform)
public void willChange()
AbstractFigure
willChange
in interface Figure
willChange
in class AbstractFigure
public void changed()
AbstractFigure
changed
in interface Figure
changed
in class AbstractFigure
Figure.willChange()
public void invalidate()
AbstractFigure
invalidate
in interface Figure
invalidate
in class AbstractFigure
protected void validate()
validate
in class AbstractFigure
public void removeAttribute(AttributeKey key)
public boolean hasAttribute(AttributeKey key)
|
Copyright 1996-2007 (c) JHotDraw.org. Some rights reserved. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |