|
JHotDraw 7.1 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jhotdraw.beans.AbstractBean
org.jhotdraw.draw.AbstractFigure
public abstract class AbstractFigure
AbstractFigure provides the functionality for managing listeners for a Figure.
| Field Summary | |
|---|---|
protected int |
changingDepth
This variable is used to prevent endless change loops. |
protected javax.swing.event.EventListenerList |
listenerList
|
| Fields inherited from class org.jhotdraw.beans.AbstractBean |
|---|
propertySupport |
| Constructor Summary | |
|---|---|
AbstractFigure()
Creates a new instance. |
|
| Method Summary | |
|---|---|
void |
addFigureListener(FigureListener l)
Adds a listener for FigureEvent's. |
void |
addNotify(Drawing d)
Informs a figure, that it has been added to a drawing. |
AbstractFigure |
basicClone(java.util.HashMap<Figure,Figure> oldToNew)
|
boolean |
canConnect()
Checks if this figure can be connected. |
void |
changed()
Informs that a figure changed the area of its display box. |
AbstractFigure |
clone()
Returns a clone of the figure, with clones of all aggregated figures, such as chilrend and decorators. |
java.util.Collection<Handle> |
createHandles(int detailLevel)
Creates handles used to manipulate the figure. |
Connector |
findCompatibleConnector(Connector c,
boolean isStart)
Gets a compatible connector. |
Connector |
findConnector(java.awt.geom.Point2D.Double p,
ConnectionFigure prototype)
Returns the Figures connector for the specified location. |
Figure |
findFigureInside(java.awt.geom.Point2D.Double p)
Returns the figure that contains the given point. |
void |
fireAreaInvalidated()
Notify all listenerList that have registered interest for notification on this event type. |
protected void |
fireAreaInvalidated(FigureEvent event)
Notify all listenerList that have registered interest for notification on this event type. |
protected void |
fireAreaInvalidated(java.awt.geom.Rectangle2D.Double invalidatedArea)
Notify all listenerList that have registered interest for notification on this event type. |
protected void |
fireAttributeChanged(AttributeKey attribute,
java.lang.Object oldValue,
java.lang.Object newValue)
Notify all listenerList that have registered interest for notification on this event type. |
protected void |
fireFigureAdded()
Notify all listenerList that have registered interest for notification on this event type. |
void |
fireFigureChanged()
|
protected void |
fireFigureChanged(FigureEvent event)
|
protected void |
fireFigureChanged(java.awt.geom.Rectangle2D.Double changedArea)
Notify all listenerList that have registered interest for notification on this event type. |
protected void |
fireFigureHandlesChanged()
Notify all listenerList that have registered interest for notification on this event type. |
protected void |
fireFigureRemoved()
Notify all listenerList that have registered interest for notification on this event type. |
protected void |
fireFigureRequestRemove()
Notify all listenerList that have registered interest for notification on this event type. |
protected void |
fireUndoableEditHappened(javax.swing.undo.UndoableEdit edit)
Notify all UndoableEditListener of the Drawing, to which this Figure has been added to. |
java.util.Collection<javax.swing.Action> |
getActions(java.awt.geom.Point2D.Double p)
Returns a collection of actions which are presented to the user in a popup menu. |
protected int |
getChangingDepth()
|
java.util.Collection<Connector> |
getConnectors(ConnectionFigure prototype)
Returns all connectors of this Figure for the specified prototype of a ConnectionFigure. |
java.awt.Cursor |
getCursor(java.awt.geom.Point2D.Double p)
Returns a cursor for the specified location. |
java.util.Collection<Figure> |
getDecomposition()
Returns a decompositon of a figure into its parts. |
protected Drawing |
getDrawing()
|
java.awt.geom.Point2D.Double |
getEndPoint()
Returns the untransformed logical end point of the bounds. |
protected java.awt.font.FontRenderContext |
getFontRenderContext()
|
int |
getLayer()
Gets the layer number of the figure. |
protected java.lang.Object |
getLock()
|
Dimension2DDouble |
getPreferredSize()
The preferred size is used by Layouter to determine the preferred size of a Figure. |
java.awt.geom.Point2D.Double |
getStartPoint()
Returns the untransformed logical start point of the bounds. |
Tool |
getTool(java.awt.geom.Point2D.Double p)
Returns a specialized tool for the given coordinate. |
java.lang.String |
getToolTipText(java.awt.geom.Point2D.Double p)
Returns a tooltip for the specified location on the figure. |
boolean |
handleDrop(java.awt.geom.Point2D.Double p,
java.util.Collection<Figure> droppedFigures,
DrawingView view)
Handles a drop. |
boolean |
handleMouseClick(java.awt.geom.Point2D.Double p,
java.awt.event.MouseEvent evt,
DrawingView view)
Handles a mouse click. |
boolean |
includes(Figure figure)
Checks whether the given figure is contained in this figure. |
protected void |
invalidate()
Invalidates cached data of the Figure. |
protected boolean |
isChanging()
|
boolean |
isRemovable()
Returns true, if the user may remove this figure. |
boolean |
isSelectable()
Returns true, if the user may select this figure. |
boolean |
isTransformable()
Returns true, if the user may transform this figure. |
boolean |
isVisible()
A Figure is only drawn by a CompositeFigure, if it is visible. |
void |
remap(java.util.HashMap<Figure,Figure> oldToNew)
|
void |
remap(java.util.Map oldToNew)
After cloning a collection of figures, the ConnectionFigures contained in this collection still connect to the original figures instead of to the clones. |
void |
removeFigureListener(FigureListener l)
Removes a listener for FigureEvent's. |
void |
removeNotify(Drawing d)
Informs a figure, that it has been removed from a drawing. |
void |
requestRemove()
Fires a FigureListener.figureRequestRemove event. |
void |
setBounds(java.awt.geom.Point2D.Double anchor,
java.awt.geom.Point2D.Double lead)
Sets the logical and untransformed bounds of the figure. |
void |
setBounds(java.awt.geom.Rectangle2D.Double bounds)
|
void |
setRemovable(boolean newValue)
|
void |
setSelectable(boolean newValue)
|
void |
setTransformable(boolean newValue)
|
void |
setVisible(boolean newValue)
|
java.lang.String |
toString()
|
protected void |
validate()
|
void |
willChange()
Informs that a figure is about to change something that affects the contents of its display box. |
| Methods inherited from class org.jhotdraw.beans.AbstractBean |
|---|
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, removePropertyChangeListener, removePropertyChangeListener |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.jhotdraw.draw.Figure |
|---|
contains, draw, getAttribute, getAttributes, getAttributesRestoreData, getBounds, getDrawingArea, getTransformRestoreData, restoreAttributesTo, restoreTransformTo, setAttribute, transform |
| Methods inherited from interface org.jhotdraw.xml.DOMStorable |
|---|
read, write |
| Field Detail |
|---|
protected javax.swing.event.EventListenerList listenerList
protected int changingDepth
| Constructor Detail |
|---|
public AbstractFigure()
| Method Detail |
|---|
public void addFigureListener(FigureListener l)
Figure
addFigureListener in interface Figurepublic void removeFigureListener(FigureListener l)
Figure
removeFigureListener in interface Figurepublic void addNotify(Drawing d)
Figure
addNotify in interface Figurepublic void removeNotify(Drawing d)
Figure
removeNotify in interface Figureprotected Drawing getDrawing()
protected java.lang.Object getLock()
public void fireAreaInvalidated()
protected void fireAreaInvalidated(java.awt.geom.Rectangle2D.Double invalidatedArea)
protected void fireAreaInvalidated(FigureEvent event)
protected void fireFigureRequestRemove()
protected void fireFigureAdded()
protected void fireFigureRemoved()
public void fireFigureChanged()
protected void fireFigureChanged(java.awt.geom.Rectangle2D.Double changedArea)
protected void fireFigureChanged(FigureEvent event)
protected void fireAttributeChanged(AttributeKey attribute,
java.lang.Object oldValue,
java.lang.Object newValue)
protected void fireFigureHandlesChanged()
protected void fireUndoableEditHappened(javax.swing.undo.UndoableEdit edit)
public AbstractFigure clone()
Figure
clone in interface Figureclone in class AbstractBeanpublic final AbstractFigure basicClone(java.util.HashMap<Figure,Figure> oldToNew)
public void remap(java.util.HashMap<Figure,Figure> oldToNew)
public java.util.Collection<Handle> createHandles(int detailLevel)
Figure
createHandles in interface FiguredetailLevel - The detail level of the handles. Usually this is 0 for
bounding box handles and 1 for point handles.
Handlepublic java.awt.Cursor getCursor(java.awt.geom.Point2D.Double p)
Figure
getCursor in interface Figurepublic final void setBounds(java.awt.geom.Rectangle2D.Double bounds)
public void setBounds(java.awt.geom.Point2D.Double anchor,
java.awt.geom.Point2D.Double lead)
FigureThis 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 Figureanchor - the start point of the boundslead - the end point of the boundsFigure.getBounds()public boolean canConnect()
canConnect in interface Figureprotected void invalidate()
protected boolean isChanging()
protected int getChangingDepth()
public void willChange()
willChange in interface Figureprotected void validate()
public void changed()
changed in interface FigureFigure.willChange()
public Connector findConnector(java.awt.geom.Point2D.Double p,
ConnectionFigure prototype)
findConnector in interface Figurep - the location of the connector.prototype - The prototype used to create a connection or null if
unknown. This allows for specific connectors for different
connection figures.ChopRectangleConnectorpublic boolean includes(Figure figure)
Figure
includes in interface Figurepublic Figure findFigureInside(java.awt.geom.Point2D.Double p)
Figure
findFigureInside in interface Figure
public Connector findCompatibleConnector(Connector c,
boolean isStart)
Figure
findCompatibleConnector in interface Figurepublic java.util.Collection<javax.swing.Action> getActions(java.awt.geom.Point2D.Double p)
The collection may contain null entries. These entries are used interpreted as separators in the popup menu.
getActions in interface Figurepublic Tool getTool(java.awt.geom.Point2D.Double p)
Returns null, if no specialized tool is available.
getTool in interface Figure
public boolean handleMouseClick(java.awt.geom.Point2D.Double p,
java.awt.event.MouseEvent evt,
DrawingView view)
handleMouseClick in interface Figurep - The location of the mouse event.evt - The mouse event.view - The drawing view which is the source of the mouse event.
public boolean handleDrop(java.awt.geom.Point2D.Double p,
java.util.Collection<Figure> droppedFigures,
DrawingView view)
Figure
handleDrop in interface Figurep - The location of the mouse event.droppedFigures - The dropped figures.view - The drawing view which is the source of the mouse event.
public java.awt.geom.Point2D.Double getEndPoint()
Figure
getEndPoint in interface FigureFigure.setBounds(java.awt.geom.Point2D.Double, java.awt.geom.Point2D.Double)public java.awt.geom.Point2D.Double getStartPoint()
Figure
getStartPoint in interface FigureFigure.setBounds(java.awt.geom.Point2D.Double, java.awt.geom.Point2D.Double)public Dimension2DDouble getPreferredSize()
Figure
getPreferredSize in interface Figurepublic void remap(java.util.Map oldToNew)
Figure
remap in interface Figurepublic boolean isSelectable()
FigurePlease note, that even if this method returns false, the Figure may become part of a selection for other reasons. For example, if the Figure is part of a GroupFigure, then the Figure is indirectly part of the selection, when the user selects the GroupFigure.
isSelectable in interface Figurepublic void setSelectable(boolean newValue)
public boolean isRemovable()
FigurePlease note, that even if this method returns false, the Figure may be removed from the Drawing for other reasons. For example, if the Figure is used to display a warning message, the Figure can be removed from the Drawing, when the warning message is no longer relevant.
isRemovable in interface Figurepublic void setRemovable(boolean newValue)
public boolean isTransformable()
FigurePlease note, that even if this method returns false, the Figure may be transformed for other reasons. For example, if the Figure takes part in an animation.
isTransformable in interface FigureFigure.transform(java.awt.geom.AffineTransform)public void setTransformable(boolean newValue)
public boolean isVisible()
Figure
isVisible in interface Figurepublic void setVisible(boolean newValue)
public java.util.Collection<Figure> getDecomposition()
Figure
getDecomposition in interface Figureprotected java.awt.font.FontRenderContext getFontRenderContext()
public void requestRemove()
FigureFigureListener.figureRequestRemove event.
requestRemove in interface Figurepublic int getLayer()
FigureFigureListener.figureChanged event to
its figure listeners.
getLayer in interface Figurepublic java.lang.String getToolTipText(java.awt.geom.Point2D.Double p)
Figure
getToolTipText in interface Figurepublic java.lang.String toString()
toString in class java.lang.Objectpublic java.util.Collection<Connector> getConnectors(ConnectionFigure prototype)
FigureThis is used by connection tools and connection handles to visualize the connectors when the user is about to create a ConnectionFigure to this Figure.
getConnectors in interface Figureprototype - The prototype used to create a connection or null if
unknown. This allows for specific connectors for different
connection figures.
|
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 | ||||||||