|
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 Figure
public void removeFigureListener(FigureListener l)
Figure
removeFigureListener
in interface Figure
public void addNotify(Drawing d)
Figure
addNotify
in interface Figure
public void removeNotify(Drawing d)
Figure
removeNotify
in interface Figure
protected 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 Figure
clone
in class AbstractBean
public 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 Figure
detailLevel
- The detail level of the handles. Usually this is 0 for
bounding box handles and 1 for point handles.
Handle
public java.awt.Cursor getCursor(java.awt.geom.Point2D.Double p)
Figure
getCursor
in interface Figure
public final void setBounds(java.awt.geom.Rectangle2D.Double bounds)
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
anchor
- the start point of the boundslead
- the end point of the boundsFigure.getBounds()
public boolean canConnect()
canConnect
in interface Figure
protected void invalidate()
protected boolean isChanging()
protected int getChangingDepth()
public void willChange()
willChange
in interface Figure
protected void validate()
public void changed()
changed
in interface Figure
Figure.willChange()
public Connector findConnector(java.awt.geom.Point2D.Double p, ConnectionFigure prototype)
findConnector
in interface Figure
p
- 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.ChopRectangleConnector
public boolean includes(Figure figure)
Figure
includes
in interface Figure
public Figure findFigureInside(java.awt.geom.Point2D.Double p)
Figure
findFigureInside
in interface Figure
public Connector findCompatibleConnector(Connector c, boolean isStart)
Figure
findCompatibleConnector
in interface Figure
public 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 Figure
public 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 Figure
p
- 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 Figure
p
- 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 Figure
Figure.setBounds(java.awt.geom.Point2D.Double, java.awt.geom.Point2D.Double)
public java.awt.geom.Point2D.Double getStartPoint()
Figure
getStartPoint
in interface Figure
Figure.setBounds(java.awt.geom.Point2D.Double, java.awt.geom.Point2D.Double)
public Dimension2DDouble getPreferredSize()
Figure
getPreferredSize
in interface Figure
public void remap(java.util.Map oldToNew)
Figure
remap
in interface Figure
public boolean isSelectable()
Figure
Please 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 Figure
public void setSelectable(boolean newValue)
public boolean isRemovable()
Figure
Please 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 Figure
public void setRemovable(boolean newValue)
public boolean isTransformable()
Figure
Please 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 Figure
Figure.transform(java.awt.geom.AffineTransform)
public void setTransformable(boolean newValue)
public boolean isVisible()
Figure
isVisible
in interface Figure
public void setVisible(boolean newValue)
public java.util.Collection<Figure> getDecomposition()
Figure
getDecomposition
in interface Figure
protected java.awt.font.FontRenderContext getFontRenderContext()
public void requestRemove()
Figure
FigureListener.figureRequestRemove
event.
requestRemove
in interface Figure
public int getLayer()
Figure
FigureListener.figureChanged
event to
its figure listeners.
getLayer
in interface Figure
public java.lang.String getToolTipText(java.awt.geom.Point2D.Double p)
Figure
getToolTipText
in interface Figure
public java.lang.String toString()
toString
in class java.lang.Object
public java.util.Collection<Connector> getConnectors(ConnectionFigure prototype)
Figure
This 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 Figure
prototype
- 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 |