|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.mindfusion.diagramming.DiagramItem
com.mindfusion.diagramming.DiagramNode
com.mindfusion.diagramming.ShapeNode
public class ShapeNode
ShapeNode objects represent nodes in graphs, tree, process diagrams, etc.
Use the setShape(com.mindfusion.diagramming.Shape)
method to specify the shape of a node. There are many
predefined shapes provided by the Shape
class, which also lets you
define your custom shapes.
ShapeNodes can be rotated, either interactively using the rotation handle above a
node, or programmatically using the DiagramNode.setRotationAngle(float)
method.
Nodes can display images and text. Use the setImage(java.awt.Image)
method to specify
an image that should be painted inside a node. The position and alignment of
an image within the node are set via the setImageAlign(int)
method.
To make a node as big as its image, call resizeToFitImage()
.
To set the node's text, call setText(java.lang.String)
. The text attributes can be changed
through the DiagramItem.setTextBrush(com.mindfusion.diagramming.Brush)
and setTextFormat(com.mindfusion.diagramming.TextFormat)
methods. To get
even richer text formatting, call setEnableStyledText(boolean)
to true and
embed HTML-like formatting tags in the raw text. To make a node big enough to display
its text without clipping, call resizeToFitText(com.mindfusion.diagramming.FitSize)
.
Call setTransparent(boolean)
to make a node transparent, so that only its
text and image will be drawn.
Field Summary |
---|
Fields inherited from class com.mindfusion.diagramming.DiagramNode |
---|
allowIncomingLinks, allowOutgoingLinks, anchorPattern, AV_Cancel, AV_EndModIncoming, AV_EndModOutgoing, AV_StartModIncoming, AV_StartModOutgoing, AV_UpdateIncoming, AV_UpdateOutgoing, AV_UpdIntscIncoming, AV_UpdIntscOutgoing, AV_UpdPosIncoming, AV_UpdPosOutgoing, bounds, enabledHandles, handlesStyle, incomingLinks, masterGroup, obstacle, outgoingLinks, savedBounds |
Fields inherited from class com.mindfusion.diagramming.DiagramItem |
---|
brush, cycleDetected, cycleProtect, modifyDX, modifyDY, modifyHandle, modifying, pen, ptEnd, ptMdfLast, ptOrg, ptSavedEnd, ptSavedOrg, subordinateGroup |
Constructor Summary | |
---|---|
ShapeNode()
Initializes a new instance of the ShapeNode class. |
|
ShapeNode(Diagram parent)
Initializes a new ShapeNode instance by setting its properties to the default values specified in the diagram. |
|
ShapeNode(ShapeNode prototype)
Initializes a new ShapeNode instance by copying the attribute values from the specified prototype node. |
Method Summary | |
---|---|
boolean |
containsPoint(java.awt.geom.Point2D point)
ShapeNode.containsPoint override. |
boolean |
containsPoint(java.awt.geom.Point2D point,
float threshold)
DiagramNode.containsPoint override. |
protected ConnectionPoint |
createConnectionPoint(DiagramLink link,
java.awt.geom.Point2D pt,
boolean incoming)
|
protected DiagramItemProperties |
createProperties()
DiagramItem.createProperties() override. |
protected void |
drawLocal(java.awt.Graphics2D graphics,
RenderOptions options)
Override in a derived class to provide implementation specific drawing for the node. |
protected void |
drawShadowLocal(java.awt.Graphics2D graphics,
RenderOptions options)
Override in a derived class to provide implementation specific drawing for the shadow of the node. |
int |
getCustomDraw()
Gets a value indicating what type of custom drawing to perform on a node. |
java.awt.geom.Rectangle2D |
getEditRect(java.awt.geom.Point2D mousePosition)
|
boolean |
getEnableStyledText()
Gets a value indicating whether the text of a node contains formatting tags which should be processed by JDiagram. |
java.awt.Font |
getFont()
Gets the font used to draw the text label of a node. |
java.awt.Image |
getImage()
Gets the image displayed inside this node. |
int |
getImageAlign()
Gets the alignment of the node's image. |
java.lang.String |
getPlainText()
Gets the plain text extracted from the formatted text by removing the formatting tags. |
protected java.awt.geom.Rectangle2D |
getRepaintRect(boolean includeConnected)
Gets the repaint region for this item, taking into account factors such as pen, selection handles and shadow. |
boolean |
getRotateImage()
Gets a value indicating whether the image displayed inside a node should rotate together with the node. |
boolean |
getRotateText()
Gets a value indicating whether the text displayed inside a node should rotate together with the node. |
Shape |
getShape()
Gets the shape of a node. |
float |
getShapeOrientation()
Gets an orientation angle applied to the shape definition before the shape points are mapped to the node's bounding rectangle. |
java.lang.String |
getText()
Gets the text displayed inside this node. |
TextFormat |
getTextFormat()
Gets a TextFormat object specifying how to format and align the text of this node. |
java.lang.String |
getTextToEdit()
|
boolean |
getTransparent()
Gets a value indicating whether only the text and image of a node should be drawn on the screen. |
protected void |
loadFromXml(org.w3c.dom.Element xmlElement,
XmlPersistContext context)
Loads the item content from an XML element. |
protected void |
onChangeTextPadding()
|
protected void |
onLoad(Diagram diagram)
DiagramItem.onLoad(com.mindfusion.diagramming.Diagram) override. |
protected void |
onRotationAngleChanged()
DiagramNode.onRotationAngleChanged() override. |
protected void |
onUpdateBounds()
Invoked when the bounding rectangle of the node has changed. |
void |
readExternal(java.io.ObjectInput in)
Implements Externalizable. |
void |
renderText(java.lang.String text,
java.awt.geom.Rectangle2D dest,
com.mindfusion.diagramming.DrawTextHint hint)
|
void |
resizeToFitImage()
Resizes a node so that it will be as big as the image displayed in the node. |
boolean |
resizeToFitText(FitSize fit)
Makes a node big enough to display its text without clipping. |
protected void |
restoreProperties(DiagramItemProperties props)
DiagramItem.restoreProperties(com.mindfusion.diagramming.DiagramItemProperties) override. |
protected void |
saveProperties(DiagramItemProperties props)
DiagramItem.saveProperties(com.mindfusion.diagramming.DiagramItemProperties) override. |
protected void |
saveToXml(org.w3c.dom.Element xmlElement,
XmlPersistContext context)
Saves the item content into an XML element. |
void |
setCustomDraw(int value)
Sets a value indicating what type of custom drawing to perform on a node. |
void |
setEditedText(java.lang.String newText)
|
void |
setEnableStyledText(boolean value)
Sets a value indicating whether the text of a node contains formatting tags which should be processed by JDiagram. |
void |
setFont(java.awt.Font value)
Sets the font used to draw the text label of a node. |
void |
setImage(java.awt.Image value)
Sets the image that should be displayed inside the node. |
void |
setImageAlign(int value)
Sets the alignment of the node's image. |
void |
setRotateImage(boolean value)
Sets a value indicating whether the image displayed inside a node should rotate together with the node. |
void |
setRotateText(boolean value)
Sets a value indicating whether the text displayed inside a node should rotate together with the node. |
void |
setShape(Shape value)
Sets the shape of a node to the specified Shape instance. |
void |
setShapeOrientation(float value)
Sets an orientation angle applied to the shape definition before the shape points are mapped to the node's bounding rectangle. |
void |
setText(java.lang.String value)
Sets the text label displayed inside this node. |
void |
setTextFormat(TextFormat value)
Sets a TextFormat object specifying how to format and align the text of this node. |
void |
setTransparent(boolean value)
Sets a value indicating whether only the text and image of a node should be drawn on the screen. |
void |
writeExternal(java.io.ObjectOutput out)
Implements Externalizable. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ShapeNode()
public ShapeNode(Diagram parent)
parent
- A Diagram
instance whose default node
attributes are copied to this node.public ShapeNode(ShapeNode prototype)
prototype
- A ShapeNode
instance whose attributes are
copied to this node.Method Detail |
---|
protected java.awt.geom.Rectangle2D getRepaintRect(boolean includeConnected)
DiagramItem
getRepaintRect
in class DiagramNode
includeConnected
- true if related items should be considered too; otherwise, false.
protected void onUpdateBounds()
DiagramNode
onUpdateBounds
in class DiagramNode
protected void drawLocal(java.awt.Graphics2D graphics, RenderOptions options)
DiagramNode
drawLocal
in class DiagramNode
graphics
- The Graphics2D surface to draw the node on.options
- Provides options for the drawing operation.protected void drawShadowLocal(java.awt.Graphics2D graphics, RenderOptions options)
DiagramNode
drawShadowLocal
in class DiagramNode
graphics
- The Graphics2D object where the shadow should be rendered.options
- Provides options for the drawing operation.public void renderText(java.lang.String text, java.awt.geom.Rectangle2D dest, com.mindfusion.diagramming.DrawTextHint hint)
public boolean containsPoint(java.awt.geom.Point2D point, float threshold)
containsPoint
in class DiagramNode
point
- The point to check.threshold
- Specifies the size of the area around the node
outlines where the point is still considered inside the node.
public boolean containsPoint(java.awt.geom.Point2D point)
containsPoint
in class DiagramNode
point
- The point to check.
public java.awt.Image getImage()
java.awt.Image
object.public void setImage(java.awt.Image value)
value
- A java.awt.Image
object.public int getImageAlign()
ImageAlign
constants.public void setImageAlign(int value)
value
- One of the ImageAlign
constants.public java.lang.String getText()
String
containing the label text.public void setText(java.lang.String value)
value
- A String
containing the label text.public java.lang.String getPlainText()
String
containing the label text stripped from
formatting tags.public TextFormat getTextFormat()
TextFormat
object specifying how to format and align the text of this node.
TextFormat
object specifying the text format and alignment.public void setTextFormat(TextFormat value)
TextFormat
object specifying how to format and align the text of this node.
value
- A TextFormat
object specifying the text format and alignment.public boolean getTransparent()
true
to display only the node text and image,
otherwise false
.public void setTransparent(boolean value)
value
- true
to display only the node text and image,
otherwise false
.public void resizeToFitImage()
public int getCustomDraw()
CustomDraw
constants.public void setCustomDraw(int value)
value
- One of the CustomDraw
constants.public boolean resizeToFitText(FitSize fit)
fit
- A member of the FitSize
enumeration specifying
whether the width or height of the node should remain unchanged.
true
if the node is resized successfully; otherwise false
.public Shape getShape()
Shape
object representing the node's shape.public void setShape(Shape value)
Shape
instance. The
initial shape of a node is the one set via the
Diagram.setDefaultShape(com.mindfusion.diagramming.Shape)
method.
value
- A Shape
object representing the node's shape.public float getShapeOrientation()
public void setShapeOrientation(float value)
value
- A float value specifying the shape definition orientation.protected void onRotationAngleChanged()
DiagramNode.onRotationAngleChanged()
override.
onRotationAngleChanged
in class DiagramNode
public boolean getRotateImage()
true
if the node image rotates when
the node is rotated, otherwise false
.public void setRotateImage(boolean value)
value
- true
to rotate the node image when
the node is rotated, otherwise false
.public boolean getRotateText()
true
if the node text rotates when
the node is rotated, otherwise false
.public void setRotateText(boolean value)
value
- true
to rotate the node text when
the node is rotated, otherwise false
.protected ConnectionPoint createConnectionPoint(DiagramLink link, java.awt.geom.Point2D pt, boolean incoming)
createConnectionPoint
in class DiagramNode
public java.lang.String getTextToEdit()
getTextToEdit
in interface InplaceEditable
public void setEditedText(java.lang.String newText)
setEditedText
in interface InplaceEditable
public java.awt.geom.Rectangle2D getEditRect(java.awt.geom.Point2D mousePosition)
getEditRect
in interface InplaceEditable
public java.awt.Font getFont()
getFont
in class DiagramItem
java.awt.Font
object representing the label font.public void setFont(java.awt.Font value)
setFont
in class DiagramItem
value
- A java.awt.Font
object representing the label font.protected DiagramItemProperties createProperties()
DiagramItem.createProperties()
override.
createProperties
in class DiagramNode
protected void saveProperties(DiagramItemProperties props)
DiagramItem.saveProperties(com.mindfusion.diagramming.DiagramItemProperties)
override.
saveProperties
in class DiagramNode
props
- A DiagramItemProperties-derived object where
the item's properties should be saved.protected void restoreProperties(DiagramItemProperties props)
DiagramItem.restoreProperties(com.mindfusion.diagramming.DiagramItemProperties)
override.
restoreProperties
in class DiagramNode
props
- A DiagramItemProperties -derived object containing a
snapshot of the item's properties.protected void onChangeTextPadding()
onChangeTextPadding
in class DiagramItem
public boolean getEnableStyledText()
true
if JDiagram should process formatting tags
when rendering the node label, otherwise false
.public void setEnableStyledText(boolean value)
value
- true
if JDiagram should process formatting tags
when rendering the node label, otherwise false
.public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
writeExternal
in class DiagramNode
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
readExternal
in class DiagramNode
java.io.IOException
java.lang.ClassNotFoundException
protected void onLoad(Diagram diagram)
DiagramItem.onLoad(com.mindfusion.diagramming.Diagram)
override.
onLoad
in class DiagramItem
protected void saveToXml(org.w3c.dom.Element xmlElement, XmlPersistContext context)
DiagramItem
saveToXml
in class DiagramNode
xmlElement
- An Element
the item's data should be stored into.context
- An XmlPersistContext
object providing contextual information about the serialization process and some helper serialization methods.protected void loadFromXml(org.w3c.dom.Element xmlElement, XmlPersistContext context) throws javax.xml.transform.TransformerException, XmlException
DiagramItem
loadFromXml
in class DiagramNode
xmlElement
- An XmlElement containing the item's data.context
- An XmlPersistContext
object providing contextual
information about the serialization process and some helper serialization methods
javax.xml.transform.TransformerException
XmlException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |