- All Implemented Interfaces:
CompositableFigure,ConnectableFigure,Figure,FillableFigure,HideableFigure,LockableFigure,PaddableFigure,PathIterableFigure,RectangularFigure,ResizableFigure,ShapeableFigure,StrokableFigure,StyleableFigure,TextableFigure,TextEditableFigure,TextFillableFigure,TextFontableFigure,TextLayoutableFigure,TransformableFigure,TransformCachingFigure,PropertyBean,StyleableBean,StyleablePropertyBean,TreeNode<Figure>
-
Property Summary
Properties inherited from class org.jhotdraw8.draw.figure.AbstractFigure
parentProperties inherited from interface org.jhotdraw8.draw.figure.StyleableFigure
id -
Nested Class Summary
Nested classes/interfaces inherited from interface org.jhotdraw8.draw.figure.TextEditableFigure
TextEditableFigure.TextEditorDataNested classes/interfaces inherited from interface org.jhotdraw8.fxbase.tree.TreeNode
TreeNode.AncestorIterator<T extends TreeNode<T>> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe CSS type selector for this object is "TextArea".Fields inherited from class org.jhotdraw8.fxbase.styleable.AbstractStyleablePropertyBean
keyMaps, propertiesFields inherited from interface org.jhotdraw8.draw.figure.CompositableFigure
BLEND_MODE, EFFECT, OPACITYFields inherited from interface org.jhotdraw8.draw.figure.Figure
declaredAndInheritedKeys, JHOTDRAW_CSS_PREFIX, PARENT_PROPERTYFields inherited from interface org.jhotdraw8.draw.figure.FillableFigure
FILLFields inherited from interface org.jhotdraw8.draw.figure.HideableFigure
VISIBLEFields inherited from interface org.jhotdraw8.draw.figure.LockableFigure
LOCKEDFields inherited from interface org.jhotdraw8.draw.figure.PaddableFigure
PADDING, PADDING_BOTTOM, PADDING_LEFT, PADDING_RIGHT, PADDING_TOPFields inherited from interface org.jhotdraw8.draw.figure.RectangularFigure
BOUNDS, HEIGHT, WIDTH, X, YFields inherited from interface org.jhotdraw8.draw.figure.ShapeableFigure
SHAPE, SHAPE_BOUNDS, SHAPE_BOUNDS_HEIGHT, SHAPE_BOUNDS_WIDTH, SHAPE_BOUNDS_X, SHAPE_BOUNDS_Y, SHAPE_SLICE, SHAPE_SLICE_BOTTOM, SHAPE_SLICE_LEFT, SHAPE_SLICE_RIGHT, SHAPE_SLICE_TOP, SVG_SQUAREFields inherited from interface org.jhotdraw8.draw.figure.StrokableFigure
STROKE, STROKE_DASH_ARRAY, STROKE_DASH_OFFSET, STROKE_LINE_CAP, STROKE_LINE_JOIN, STROKE_MITER_LIMIT, STROKE_STYLE, STROKE_TYPE, STROKE_WIDTHFields inherited from interface org.jhotdraw8.draw.figure.StyleableFigure
ID, PSEUDO_CLASS, STYLE, STYLE_CLASS, TYPE_SELECTOR_NODE_KEYFields inherited from interface org.jhotdraw8.draw.figure.TextableFigure
TEXTFields inherited from interface org.jhotdraw8.draw.figure.TextFillableFigure
TEXT_FILLFields inherited from interface org.jhotdraw8.draw.figure.TextFontableFigure
FONT, FONT_FAMILY, FONT_SIZE, FONT_STYLE, FONT_WEIGHT, STRIKETHROUGH, UNDERLINEFields inherited from interface org.jhotdraw8.draw.figure.TextLayoutableFigure
LINE_SPACING, TEXT_ALIGNMENT, TEXT_HPOS, TEXT_VPOS, WRAPPING_WIDTHFields inherited from interface org.jhotdraw8.draw.figure.TransformableFigure
CACHE, ROTATE, ROTATION_AXIS, ROTATION_PIVOT, SCALE, SCALE_X, SCALE_Y, SCALE_Z, TRANSFORMS, TRANSLATE, TRANSLATE_X, TRANSLATE_Y, TRANSLATE_ZFields inherited from interface org.jhotdraw8.draw.figure.TransformCachingFigure
CACHE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NonNull javafx.scene.NodeThis method is invoked by aRenderContext, when it needs a node to create a JavaFX scene graph for a figure.findConnector(@NonNull javafx.geometry.Point2D pointInLocal, Figure connectingFigure, double tolerance) Gets a connector for this figure at the given location.getTextEditorDataFor(@Nullable javafx.geometry.Point2D pointInLocal, javafx.scene.Node node) Returns text editor data for the given point in local.voidlayout(@NonNull RenderContext ctx) Updates the layout of this figure, based on the layout of its children and the layout of observed layout subjects.voidupdateNode(@NonNull RenderContext ctx, @NonNull javafx.scene.Node node) This method is invoked by aRenderContext, when it needs to update the node which represents the scene graph in the figure.Methods inherited from class org.jhotdraw8.draw.figure.AbstractLeafFigure
getChildren, isAllowsChildren, isSuitableChild, isSuitableParentMethods inherited from class org.jhotdraw8.draw.figure.AbstractFigure
addedToDrawing, createKeyMap, doAddedToDrawing, doRemovedFromDrawing, getCachedLocalToParent, getCachedLocalToWorld, getCachedParentToLocal, getCachedParentToWorld, getCachedWorldToLocal, getCachedWorldToParent, getDrawing, getLayoutObservers, getPropertyChangeListeners, getReadOnlyLayoutObservers, getStyledNonNull, hasPropertyChangeListeners, onPropertyChanged, parentProperty, removeAllLayoutSubjects, removedFromDrawing, removeLayoutSubject, setCachedLocalToParent, setCachedLocalToWorld, setCachedParentToLocal, setCachedParentToWorld, setCachedWorldToLocal, setCachedWorldToParent, updateCssMethods inherited from class org.jhotdraw8.fxbase.styleable.AbstractStyleablePropertyBean
callObservers, containsMapAccessor, getProperties, getStyleableMap, getStyled, getStyled, remove, removeAll, resetStyledValues, setStyledMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jhotdraw8.draw.figure.CompositableFigure
applyCompositableFigurePropertiesMethods inherited from interface org.jhotdraw8.draw.figure.ConnectableFigure
findConnectorMethods inherited from interface org.jhotdraw8.draw.figure.Figure
addChild, addedToDrawing, createHandles, disconnect, firePropertyChangeEvent, firePropertyChangeEvent, getBoundsInParent, getBoundsInWorld, getCenterInLocal, getCenterInParent, getChildren, getDrawing, getLayer, getLayoutBounds, getLayoutBoundsInParent, getLayoutBoundsInWorld, getLayoutObservers, getLayoutSubjects, getParent, getPreferredAspectRatio, getPropertyChangeListeners, getReadOnlyLayoutObservers, getRoot, getStyleableParent, getSupportedKeys, getVisualBounds, getVisualBoundsInWorld, hasPropertyChangeListeners, isAllowsChildren, isDecomposable, isDeletWithLastLayoutSubject, isEditableKey, isGroupReshapeableWith, isLayoutable, isShowing, isSuitableChild, isSuitableParent, isSupportedKey, isVisible, layoutChanged, layoutObserverChanged, layoutSubjectChanged, localToParent, localToWorld, localToWorld, parentProperty, propertyChanged, removeAllLayoutSubjects, removeChild, removedFromDrawing, removeLayoutSubject, reshapeInLocal, reshapeInLocal, setParent, stylesheetChanged, transformChanged, translateInParent, updateCss, worldToLocal, worldToLocal, worldToParent, worldToParentMethods inherited from interface org.jhotdraw8.draw.figure.FillableFigure
applyFillableFigurePropertiesMethods inherited from interface org.jhotdraw8.draw.figure.HideableFigure
applyHideableFigurePropertiesMethods inherited from interface org.jhotdraw8.draw.figure.LockableFigure
isDeletable, isEditable, isSelectableMethods inherited from interface org.jhotdraw8.fxbase.beans.PropertyBean
get, getNonNull, getProperties, getProperty, put, remove, set, setNonNull, valueAtMethods inherited from interface org.jhotdraw8.draw.figure.RectangularFigure
getCssLayoutBounds, reshapeInLocal, translateInLocalMethods inherited from interface org.jhotdraw8.draw.figure.ShapeableFigure
applyShapeableProperties, applyShapeablePropertiesMethods inherited from interface org.jhotdraw8.draw.figure.StrokableFigure
applyStrokableFigureProperties, applyStrokeCapAndJoinProperties, applyStrokeColorProperties, applyStrokeDashProperties, applyStrokeTypeProperties, applyStrokeWidthProperties, getBoundsInLocal, getStyledStrokeMethods inherited from interface org.jhotdraw8.draw.figure.StyleableFigure
applyStyleableFigureProperties, getId, getPseudoClassStates, getStyle, getStyleClasses, idPropertyMethods inherited from interface org.jhotdraw8.fxbase.styleable.StyleablePropertyBean
containsMapAccessor, getStyled, getStyled, getStyledNonNull, remove, removeAll, resetStyledValues, setStyledMethods inherited from interface org.jhotdraw8.draw.figure.TextableFigure
applyTextableFigureProperties, applyTextableFigurePropertiesMethods inherited from interface org.jhotdraw8.draw.figure.TextFillableFigure
applyTextFillableFigureProperties, applyTextFillableFigurePropertiesMethods inherited from interface org.jhotdraw8.draw.figure.TextFontableFigure
applyTextFontableFigureProperties, applyTextFontableFigurePropertiesMethods inherited from interface org.jhotdraw8.draw.figure.TextLayoutableFigure
applyTextLayoutableFigureProperties, applyTextLayoutableFigurePropertiesMethods inherited from interface org.jhotdraw8.draw.figure.TransformableFigure
applyTransformableFigureProperties, clearTransforms, flattenTransforms, getInverseTransform, getLocalToParent, getLocalToParent, getLocalToParentAsList, getParentToLocal, getParentToLocal, getTransform, hasCenterTransforms, reshapeInLocal, reshapeInParent, setTransforms, transformInLocal, transformInParentMethods inherited from interface org.jhotdraw8.draw.figure.TransformCachingFigure
getCachedLocalToParent, getCachedLocalToWorld, getCachedParentToLocal, getCachedParentToWorld, getCachedWorldToLocal, getCachedWorldToParent, getLocalToWorld, getParentToWorld, getWorldToLocal, getWorldToParent, invalidateTransforms, setCachedLocalToParent, setCachedLocalToWorld, setCachedParentToLocal, setCachedParentToWorld, setCachedWorldToLocal, setCachedWorldToParentMethods inherited from interface org.jhotdraw8.fxbase.tree.TreeNode
ancestorIterable, breadthFirstIterable, depthFirstIterable, dumpTree, dumpTree, getAncestor, getChild, getDepth, getFirstChild, getLastChild, getMaxDepth, getPath, postorderIterable, preorderIterable, preorderSpliterator
-
Field Details
-
TYPE_SELECTOR
The CSS type selector for this object is "TextArea".- See Also:
-
-
Constructor Details
-
TextAreaFigure
public TextAreaFigure()
-
-
Method Details
-
createNode
Description copied from interface:FigureThis method is invoked by aRenderContext, when it needs a node to create a JavaFX scene graph for a figure.A typical implementation should look like this:
public Node createNode(RenderContext v) { return new ...desired subclass of Node...(); }A figure may be rendered with multiple
RenderContexts simultaneously. EachRenderContextuses this method to instantiate a JavaFX node for the figure and associate it to the figure.This method must create a new instance because returning an already existing instance may cause undesired side effects on other
RenderContexts.Note that by convention this method may only be invoked by a
RenderContextobject.- Specified by:
createNodein interfaceFigure- Parameters:
ctx- the renderer which will use the node- Returns:
- the newly created node
-
getTextEditorDataFor
public @NonNull TextEditableFigure.TextEditorData getTextEditorDataFor(@Nullable javafx.geometry.Point2D pointInLocal, javafx.scene.Node node) Description copied from interface:TextEditableFigureReturns text editor data for the given point in local.- Specified by:
getTextEditorDataForin interfaceTextEditableFigure- Parameters:
pointInLocal- a point in local, or null to return the default text editor data- Returns:
- text editor data or null if no text can be edited at the given point
-
updateNode
Description copied from interface:FigureThis method is invoked by aRenderContext, when it needs to update the node which represents the scene graph in the figure.A figure which is composed from child figures, must addChild the nodes of its getChildren to its node. This ensures that coordinate space transformations of the composed figure are properly propagated to its getChildren.
public void updateNode(RenderContext rc, Node n) { ObservableList<Node> group = ((Group) n).getChildren(); group.clear(); for (Figure child : children()) { group.addChild(rc.getNode(child)); }A figure may be shown in multiple
RenderContexts. EachRenderContextuses this method to update the a JavaFX node for the figure.Note that the figure must retrieve the JavaFX node from other figures from the render context by invoking
rc.getNode(child)rather than creating new nodes usingchild.createNode(rc). This convention allows to implement a cache in the render context for the Java FX node. Also, render contexts like a drawing view need to associate input events on Java FX nodes to the corresponding figure.This figure does not keep track of changes that require node updates.
DrawingModelto manage node updates.- Specified by:
updateNodein interfaceFigure- Parameters:
ctx- the render contextnode- the node which was created withFigure.createNode(org.jhotdraw8.draw.render.RenderContext)
-
getTypeSelector
- Specified by:
getTypeSelectorin interfaceStyleableBean
-
layout
Description copied from interface:FigureUpdates the layout of this figure, based on the layout of its children and the layout of observed layout subjects.If the layout of this figure depends on the layout of other figures, then calling layout on this figure will only result in the correct result, if layout of the other figures has been performed first.
A figure does not keep track of changes that require layout updates. Use
DrawingModelto manage layout updates.The default implementation is empty.
To layout a drawing use
Drawing.layoutAll(RenderContext). -
findConnector
public @Nullable Connector findConnector(@NonNull javafx.geometry.Point2D pointInLocal, Figure connectingFigure, double tolerance) Description copied from interface:ConnectableFigureGets a connector for this figure at the given location.- Specified by:
findConnectorin interfaceConnectableFigure- Parameters:
pointInLocal- the location of the connector in local coordinates.connectingFigure- The connecting figure or null if unknown. This allows for specific connectors for different connection figures.tolerance- tolerance in world coordinates- Returns:
- Returns the connector. Returns null if there is no connector at the given location.
-
getPathIterator
public @NonNull PathIterator getPathIterator(@NonNull RenderContext ctx, @Nullable AffineTransform tx) - Specified by:
getPathIteratorin interfacePathIterableFigure
-