|
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
org.jhotdraw.draw.AbstractAttributedFigure
org.jhotdraw.draw.AbstractAttributedDecoratedFigure
org.jhotdraw.draw.TextAreaFigure
public class TextAreaFigure
A TextAreaFigure contains formatted text.
It automatically rearranges the text to fit its allocated display area,
breaking the lines at word boundaries whenever possible.
The text can contain either LF or CRLF sequences to separate paragraphs,
as well as tab characters for table like formatting and alignment.
Currently the tabs are distributed at regular intervals as determined by
the TabSize property. Tabs align correctly with either fixed
or variable fonts.
If, when resizing, the vertical size of the display box is not enough to
display all the text, TextAreaFigure displays a dashed red line at the
bottom of the figure to indicate there is hidden text.
TextAreFigure uses all standard attributes for the area Rectangle2D.Double,
ie: FillColor, PenColor for the border, FontSize, FontStyle, and FontName,
as well as four additional attributes LeftMargin, RightMargin, TopMargin,
and TabSize.
A DrawingEditor should provide the TextAreaTool to create a TextAreaFigure.
FIXME - TextAreaFigure should not draw a rectangle on its own but rather rely on a decorator. We probably need a DecoratorConnector for this and we need a way to specify the inner bounds of the decorator. We also need a way to center the text of the TextAreaFigure verticaly and horizontaly.
| Field Summary | |
|---|---|
protected java.awt.geom.Rectangle2D.Double |
bounds
|
protected boolean |
editable
|
| Fields inherited from class org.jhotdraw.draw.AbstractFigure |
|---|
changingDepth, listenerList |
| Fields inherited from class org.jhotdraw.beans.AbstractBean |
|---|
propertySupport |
| Constructor Summary | |
|---|---|
TextAreaFigure()
Creates a new instance. |
|
TextAreaFigure(java.lang.String text)
|
|
| Method Summary | |
|---|---|
TextAreaFigure |
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. |
protected void |
drawFill(java.awt.Graphics2D g)
This method is called by method draw() to draw the fill area of the figure. |
protected void |
drawStroke(java.awt.Graphics2D g)
This method is called by method draw() to draw the text of the figure . |
protected void |
drawText(java.awt.Graphics2D g)
|
boolean |
figureContains(java.awt.geom.Point2D.Double p)
|
java.awt.geom.Rectangle2D.Double |
getBounds()
Returns the untransformed logicalbounds of the figure as a Rectangle. |
java.awt.Color |
getFillColor()
Returns the fill color to be used by a text editor for editing this Figure. |
java.awt.Font |
getFont()
Returns the font to be used by a text editor for editing this Figure. |
float |
getFontSize()
Gets the font size of the text held by the TextHolderFigure. |
Insets2D.Double |
getInsets()
Returns the insets used to draw text. |
TextHolderFigure |
getLabelFor()
Sometimes we want to use a TextHolderFigure as a label for another TextHolderFigure. |
int |
getTabSize()
Gets the number of characters used to expand tabs. |
java.lang.String |
getText()
Gets the text shown by the text figure. |
java.awt.Color |
getTextColor()
Returns the text color to be used by a text editor for editing this Figure. |
int |
getTextColumns()
Gets the number of columns to be overlaid when the figure is edited. |
Tool |
getTool(java.awt.geom.Point2D.Double p)
Returns a specialized tool for the given coordinate. |
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. |
void |
invalidate()
Invalidates cached data of the Figure. |
boolean |
isEditable()
Returns true if the text of the TextHolderFigure can be edited. |
boolean |
isTextOverflow()
Returns true, if the text does not fit into the bounds of the Figure. |
void |
read(DOMInput in)
|
protected void |
readBounds(DOMInput in)
|
void |
restoreTransformTo(java.lang.Object geometry)
Restores the transform of the figure to a previously stored state. |
void |
setBounds(java.awt.geom.Point2D.Double anchor,
java.awt.geom.Point2D.Double lead)
Sets the logical and untransformed bounds of the figure. |
void |
setEditable(boolean b)
|
void |
setFontSize(float size)
Sets the font size of the text held by the TextHolderFigure. |
void |
setText(java.lang.String newText)
Sets the text shown by the text figure. |
void |
transform(java.awt.geom.AffineTransform tx)
Transforms the shape of the Figure. |
void |
write(DOMOutput out)
|
protected void |
writeBounds(DOMOutput out)
|
| Methods inherited from class org.jhotdraw.draw.AbstractAttributedDecoratedFigure |
|---|
contains, draw, drawDecorator, drawFigure, getDecorator, getDrawingArea, getFigureDrawingArea, readDecorator, setDecorator, updateDecoratorBounds, writeDecorator |
| Methods inherited from class org.jhotdraw.draw.AbstractAttributedFigure |
|---|
applyAttributesTo, getAttribute, getAttributeKey, getAttributes, getAttributesRestoreData, getStroke, getStrokeMiterLimitFactor, hasAttribute, isAttributeEnabled, readAttributes, removeAttribute, restoreAttributesTo, setAttribute, setAttributeEnabled, setAttributes, writeAttributes |
| 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 |
|---|
addFigureListener, addNotify, canConnect, changed, contains, draw, findCompatibleConnector, findConnector, findFigureInside, getActions, getAttribute, getAttributes, getAttributesRestoreData, getConnectors, getCursor, getDecomposition, getDrawingArea, getEndPoint, getLayer, getPreferredSize, getStartPoint, getToolTipText, handleDrop, handleMouseClick, includes, isRemovable, isSelectable, isTransformable, isVisible, remap, removeFigureListener, removeNotify, requestRemove, restoreAttributesTo, setAttribute, willChange |
| Field Detail |
|---|
protected java.awt.geom.Rectangle2D.Double bounds
protected boolean editable
| Constructor Detail |
|---|
public TextAreaFigure()
public TextAreaFigure(java.lang.String text)
| Method Detail |
|---|
protected void drawText(java.awt.Graphics2D g)
drawText in class AbstractAttributedFigureprotected void drawFill(java.awt.Graphics2D g)
AbstractAttributedFigure
drawFill in class AbstractAttributedFigureprotected void drawStroke(java.awt.Graphics2D g)
AbstractAttributedFigure
drawStroke in class AbstractAttributedFigure
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 FiguresetBounds in class AbstractFigureanchor - the start point of the boundslead - the end point of the boundsFigure.getBounds()public void transform(java.awt.geom.AffineTransform tx)
FigureThis is a basic operation which does not fire events. Use the following code sequence, if you need event firing:
aFigure.willChange(); aFigure.transform(...); aFigure.changed();
transform in interface Figuretx - The transformation.Figure.getTransformRestoreData(),
Figure.restoreTransformTo(java.lang.Object)public boolean figureContains(java.awt.geom.Point2D.Double p)
figureContains in class AbstractAttributedDecoratedFigurepublic java.awt.geom.Rectangle2D.Double getBounds()
Figure
getBounds in interface Figurepublic void restoreTransformTo(java.lang.Object geometry)
Figure
restoreTransformTo in interface Figurepublic java.lang.Object getTransformRestoreData()
Figure
getTransformRestoreData in interface FigureFigure.transform(AffineTransform)public java.lang.String getText()
getText in interface TextHolderFigurepublic Insets2D.Double getInsets()
getInsets in interface TextHolderFigurepublic int getTabSize()
TextHolderFigure
getTabSize in interface TextHolderFigurepublic void setText(java.lang.String newText)
setText in interface TextHolderFigurepublic int getTextColumns()
TextHolderFigure
getTextColumns in interface TextHolderFigurepublic java.awt.Font getFont()
TextHolderFigure
getFont in interface TextHolderFigurepublic java.awt.Color getTextColor()
TextHolderFigure
getTextColor in interface TextHolderFigurepublic java.awt.Color getFillColor()
TextHolderFigure
getFillColor in interface TextHolderFigurepublic void setFontSize(float size)
TextHolderFigure
setFontSize in interface TextHolderFigurepublic float getFontSize()
TextHolderFigure
getFontSize in interface TextHolderFigurepublic boolean isEditable()
TextHolderFigure
isEditable in interface TextHolderFigurepublic void setEditable(boolean b)
public Tool getTool(java.awt.geom.Point2D.Double p)
Returns null, if no specialized tool is available.
getTool in interface FiguregetTool in class AbstractFigurepublic TextHolderFigure getLabelFor()
TextHolderFigure
getLabelFor in interface TextHolderFigurepublic TextAreaFigure clone()
Figure
clone in interface Figureclone in class AbstractAttributedDecoratedFigurepublic java.util.Collection<Handle> createHandles(int detailLevel)
Figure
createHandles in interface FigurecreateHandles in class AbstractFiguredetailLevel - The detail level of the handles. Usually this is 0 for
bounding box handles and 1 for point handles.
Handle
protected void readBounds(DOMInput in)
throws java.io.IOException
java.io.IOException
protected void writeBounds(DOMOutput out)
throws java.io.IOException
java.io.IOException
public void read(DOMInput in)
throws java.io.IOException
read in interface DOMStorableread in class AbstractAttributedDecoratedFigurejava.io.IOException
public void write(DOMOutput out)
throws java.io.IOException
write in interface DOMStorablewrite in class AbstractAttributedDecoratedFigurejava.io.IOExceptionpublic void invalidate()
AbstractFigure
invalidate in class AbstractFigurepublic boolean isTextOverflow()
TextHolderFigure
isTextOverflow in interface TextHolderFigure
|
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 | ||||||||