public class IlvLinkImage extends IlvGraphic implements IlvPolyPointsInterface
IlvLinkImage
is the base class for links, that is, graphic
objects that are the visual representation of a connection between two
nodes in an IlvGrapher
instance.
IlvLinkImage
draws a straight line between the connection
points of the origin and destination nodes in a grapher instance. See
Connection Points for more information.
You retrieve the origin node by calling getFrom()
and
the destination node by calling getTo()
.
You can control the graphic appearance of the link by calling
the methods setForeground(Color)
, setLineWidth(double)
,
setLineStyle(float[])
, setLineJoin(int)
and
setEndCap(int)
. A link can be oriented or nonoriented. An
An oriented link has an arrow drawn at the destination. You can specify
this attribute when calling the constructor
IlvLinkImage(IlvGraphic, IlvGraphic, boolean)
, and you can
change it afterwards by calling setOriented(boolean)
.
Use subclasses of IlvLinkImage
, such as
IlvEnhancedPolylineLinkImage
for more complex graphical representations of a link.
The following code example shows how to connect two nodes in a grapher with
an IlvLinkImage
instance:
IlvGrapher grapher = new IlvGrapher(); // Create new ellipse node and add it to the grapher. IlvGraphic node1 = new IlvEllipse(new IlvRect(30, 10, 50, 50), true, false); grapher.addNode(node1, false); // Add a new rectangular node to the grapher. IlvGraphic node2 = new IlvRectangle(new IlvRect(220, 80, 50, 50), false, true); grapher.addNode(node2, true); // Link the two nodes and add them to a grapher. IlvLinkImage link = new IlvLinkImage(node1, node2, true); grapher.addLink(link, false); // Connect the grapher to the view. IlvManagerView view = new IlvManagerView(grapher); view.setBackground(Color.WHITE); JFrame frame = new JFrame("IlvLinkImage"); frame.setLayout(new BorderLayout(2, 2)); frame.getContentPane().add(view); frame.setSize(320, 200); frame.setVisible(true);
The following image shows the link created in the code example:
When a link is created between two nodes, it is attached to the default connection point of each node. Each node has five default connection points, one at the center of each side of its bounding rectangle and one at the center of the bounding rectangle. The connection point used depends on the location and size of the origin and destination node.
Note: subclasses of IlvLinkConnector
can be
used to obtain connection points different to the default ones.
By default, the visibility of nodes and links is controlled independently. You can set a link to be visible even when its origin and destination nodes are invisible.
The visibility a link can be coupled to the visibility of its end
nodes, such that it becomes invisible when its origin or destination node
becomes invisible. To enable this, install an
IlvLinkVisibilityHandler
as the manager listener for the grapher holding your link:
IlvGrapher grapher = new IlvGrapher(); IlvLinkImage link = ... ... // Install a link visibility handler. All links are managed by the handler. grapher.addManagerContentChangedListener(new IlvLinkVisibilityHandler());
// Mark a link as unmanaged. IlvLinkVisibilityHandler.setManaged(link, false);
The visibility of link
is now independent of the visibility of
its end nodes. It is is controlled by calling
IlvManager.setVisible(IlvGraphic, boolean, boolean)
.
A grapher can be nested inside another grapher. Links that cross grapher boundaries, that is, links for who the origin and destination nodes are in different graphers, are called intergraph links. The intergraph link between a node stored in grapher A and a node stored in grapher B must be stored in a common ancestor of A and B. For optimal performance, the intergraph link should be stored in the first common ancestor. The following code example shows how this is done:
IlvGraphic origin, destination; ... // Add the origin and destination nodes to different graphers. ... IlvLinkImage link = new IlvLinkImage(origin, destination, false); // Use this static method to add the link to the first common // ancestor of the origin and destination nodes. IlvGrapher.addInterGraphLink(link, false);
IlvLinkImage
supplies the write
method used to
write an IlvLinkImage
instance to an
IlvOutputStream
. Do not call this method directly, call
IlvManager.write
.
Perforce JViews Framework provides view interactors so a user can create
links between nodes via the graphical interface. For example,
IlvMakeLinkInteractor
is used to create an IlvLinkImage
when a user selects the
origin and destination nodes with the mouse.
IlvGrapher
,
Serialized FormConstructor and Description |
---|
IlvLinkImage(IlvGraphic from,
IlvGraphic to,
boolean oriented)
Creates a new link image.
|
IlvLinkImage(IlvInputStream stream)
Reads the object from an
IlvInputStream . |
IlvLinkImage(IlvLinkImage source)
Creates an
IlvLinkImage by copying an existing one. |
Modifier and Type | Method and Description |
---|---|
boolean |
allowsPointInsertion()
Indicates if the insertion of intermediate points is allowed.
|
boolean |
allowsPointMove(int index)
Returns
true if the interactors are allowed to move the point
with the specified index, and returns false otherwise. |
boolean |
allowsPointRemoval()
Indicates if the removal of intermediate points is allowed.
|
void |
applyTransform(IlvTransformer t)
Applies a transformation to the shape of the link.
|
protected IlvRect |
arrowBBox(IlvPoint from,
IlvPoint to,
IlvTransformer t)
Computes the bounding rectangle of the
arrow when the link is oriented.
|
protected boolean |
arrowContains(IlvPoint p,
IlvPoint tp,
IlvPoint from,
IlvPoint to,
IlvTransformer t)
Returns whether the arrow head contains the input point.
|
IlvRect |
boundingBox(IlvTransformer t)
Returns the bounding rectangle of the object.
|
boolean |
contains(IlvPoint p,
IlvPoint tp,
IlvTransformer t)
Tests if a point lies within the outline of the link.
|
IlvGraphic |
copy()
Copies the object.
|
void |
draw(Graphics dst,
IlvTransformer t)
Draws the link.
|
protected void |
drawArrow(Graphics dst,
IlvPoint from,
IlvPoint to,
IlvTransformer t)
Draws the arrow of the link if the link is oriented.
|
protected void |
finalize()
Does the necessary operation when the
object is garbage collected.
|
protected double |
getArrowSize(double lineWidth,
IlvTransformer t)
Returns the size of the arrow for the corresponding
t
and lineWidth . |
void |
getConnectionPoints(IlvPoint src,
IlvPoint dst,
IlvTransformer t)
Computes the origin and destination points to draw the link.
|
IlvPoint |
getConnectionReferencePoint(boolean origin,
IlvTransformer t)
Returns the reference connection point.
|
int |
getEndCap()
Returns the decoration applied at the end of the polyline.
|
Color |
getForeground()
Returns the color of the object.
|
IlvGraphic |
getFrom()
Returns the origin object.
|
IlvRect |
getFromBoundingBox(IlvTransformer t)
Returns the bounding box of the graphic object that is the
origin of this link.
|
IlvTransformer |
getFromTransformer(IlvTransformer t)
Returns the transformer used to draw the origin node of the
link, when the link is drawn with the specified transformer.
|
int |
getLineJoin()
Returns the decoration applied when two segments are joined.
|
float[] |
getLineStyle()
Returns the array representing the lengths of the dash segments.
|
double |
getLineWidth()
Returns the line width of the object.
|
double |
getLineWidth(IlvTransformer t)
Returns the line width that is
actually displayed when the object is drawn
with the specified transformer.
|
boolean |
getLinkConnectorConnectionPoint(boolean origin,
IlvPoint p,
IlvTransformer t)
Returns in
p the position of the extremity of the link when
a link connector is used to control the connection point of the link. |
IlvPoint[] |
getLinkPoints()
Returns the points that define the link, for the identity transformation.
|
IlvPoint[] |
getLinkPoints(IlvTransformer t)
Returns the points that define the link.
|
static IlvTransformer |
getLocalTransformerOf(IlvGraphic node,
IlvGraphicBag linkBag,
IlvTransformer t)
Returns the transformer used to draw the input node which is supposed
to be an end node of the link, when the link is drawn with the specified
transformer.
|
double |
getMaximumLineWidth()
Returns the maximum line width of the link.
|
IlvGraphic |
getOpposite(IlvGraphic node)
If
node is the destination object, returns the origin object. |
IlvPoint |
getPointAt(int index,
IlvTransformer t)
Returns the point at a specified index.
|
int |
getPointsCardinal()
Returns the number of points of the link, including the connection points.
|
IlvGraphic |
getTo()
Returns the destination object.
|
IlvRect |
getToBoundingBox(IlvTransformer t)
Returns the bounding box of the graphic object that is the
destination of this link.
|
IlvTransformer |
getToTransformer(IlvTransformer t)
Returns the transformer used to draw the destination node of the
link, when the link is drawn with the specified transformer.
|
IlvGraphic |
getVisibleFrom()
Returns the origin graphic object visible on the screen if the
link is an intergraph link.
|
IlvGraphic |
getVisibleTo()
Returns the destination graphic object visible on the screen if the
link is an intergraph link.
|
void |
insertPoint(int index,
double x,
double y,
IlvTransformer t)
The insertion of a point is not allowed in
IlvLinkImage . |
boolean |
isOriented()
Returns
true if the link is oriented, and false
otherwise. |
boolean |
isPersistent()
Returns
true when the IlvLinkImage
instance can be saved in an IVL file. |
boolean |
isSpline()
Returns
true if the link has spline routing functionality. |
IlvSelection |
makeSelection()
Creates a selection object for this object.
|
void |
movePoint(int index,
double x,
double y,
IlvTransformer t)
Changes the position of a point.
|
boolean |
pointsInBBox()
Returns
true if all points are contained inside the bounding
rectangle of the object. |
void |
removePoint(int index,
IlvTransformer t)
The removal of a point is not allowed in
IlvLinkImage . |
void |
setEndCap(int endCap)
Changes the decoration applied at the end of the polyline.
|
void |
setForeground(Color c)
Changes the color of the object.
|
void |
setFrom(IlvGraphic obj)
Changes the origin of the link.
|
void |
setIntermediateLinkPoints(IlvPoint[] points,
int index,
int length)
Changes the intermediate points that define the link.
|
void |
setLineJoin(int lineJoin)
Changes the decoration applied when two segments are joined.
|
void |
setLineStyle(float[] lineStyle)
Changes the array representing the lengths of the dash segments.
|
void |
setLineWidth(double lineWidth)
Changes the line width of the object.
|
void |
setLinkPoints(IlvPoint[] points)
Sets the points that define the link.
|
void |
setMaximumLineWidth(double maximumLineWidth)
Changes the maximum line width of the link.
|
void |
setOriented(boolean oriented)
Sets the link as oriented or nonoriented.
|
void |
setTo(IlvGraphic obj)
Changes the destination of the link.
|
void |
write(IlvOutputStream stream)
Writes the object to an
IlvOutputStream . |
boolean |
zoomable()
Returns
true if the object is zoomable, and
false otherwise. |
addActionListener, addNamedPropertyListener, allViewsRemoved, baseTextDirectionChanged, blinkingStateOn, boundingBox, callDraw, componentOrientationChanged, getAndAssociateObjectInteractor, getBaseTextDirection, getBlinkingAction, getBlinkingObjectOwner, getBlinkingOffPeriod, getBlinkingOnPeriod, getCenter, getComponentOrientation, getDefaultInteractor, getGraphicBag, GetGraphicObject, getIntersectionWithOutline, getLocale, getName, getNamedProperty, getObjectInteractor, getPopupMenu, getPopupMenu, getPopupMenuName, getProperty, getResolvedBaseTextDirection, getToolTipBaseTextDirection, getToolTipText, getToolTipText, getTopLevelGraphicBag, getTransferData, getTransferDataFlavors, getULocale, getZOrderIndex, hasProperty, inside, intersects, invalidateBBoxCache, invalidateBidiCache, isBaseTextDirectionSensitive, isComponentOrientationSensitive, isDataFlavorSupported, isEditable, isInApplyToObject, isLocaleSensitive, isMovable, isSelectable, isVisible, localeChanged, move, move, moveResize, needsViewNotification, notifyObjectInteractorToManager, processActionEvent, reDraw, registerBlinkingResource, removeActionListener, removeNamedProperty, removeNamedPropertyListener, removeProperty, replaceProperty, resize, rotate, scale, setBackground, setBaseTextDirection, setBaseTextDirectionDuringConstruction, setBlinkingAction, setBlinkingOffPeriod, setBlinkingOnPeriod, setEditable, setFillOn, setGraphicBag, setInApplyToObject, setMovable, setName, setNamedProperty, setNameImpl, setObjectInteractor, setPopupMenu, setPopupMenuName, setProperty, setSelectable, setStrokeOn, setToolTipBaseTextDirection, setToolTipText, setVisible, setZOrderIndex, toString, translate, updateNeedsViewNotification, usesBidiMarkers, viewAddedOrRemoved
public IlvLinkImage(IlvGraphic from, IlvGraphic to, boolean oriented)
from
- The origin object.to
- The destination object.oriented
- If true
, an arrow is drawn at the
destination point.public IlvLinkImage(IlvLinkImage source)
IlvLinkImage
by copying an existing one.source
- The origin of the copy.public IlvLinkImage(IlvInputStream stream) throws IlvReadFileException
IlvInputStream
.stream
- The input stream.IlvReadFileException
- if the format is not correct.public IlvGraphic copy()
copy
in class IlvGraphic
IlvGraphic
instance.IlvGraphic
public final IlvGraphic getFrom()
getTo()
public void setFrom(IlvGraphic obj)
setTo(ilog.views.IlvGraphic)
public final IlvGraphic getTo()
getFrom()
public void setTo(IlvGraphic obj)
setFrom(ilog.views.IlvGraphic)
public final IlvGraphic getOpposite(IlvGraphic node)
node
is the destination object, returns the origin object.
If node
is the origin object, returns the destination object.
If node
is not the origin object, nor the destination object,
the method throws an exception.public int getPointsCardinal()
2
.getPointsCardinal
in interface IlvPolyPointsInterface
public boolean allowsPointInsertion()
false
.
Subclasses can override this method to return true
,
that is, to indicate that the insertion of intermediate points is allowed.allowsPointInsertion
in interface IlvPolyPointsInterface
true
if the insertion of intermediate points is
allowed and false
otherwise.insertPoint(int, double, double, ilog.views.IlvTransformer)
public boolean allowsPointRemoval()
false
.
Subclasses can override this method to return true
,
that is, to indicate that the removal of intermediate points is allowed.allowsPointRemoval
in interface IlvPolyPointsInterface
true
if the removal of intermediate points is
allowed and false
otherwise.removePoint(int, ilog.views.IlvTransformer)
public boolean allowsPointMove(int index)
true
if the interactors are allowed to move the point
with the specified index, and returns false
otherwise.
index
is the index of the first point, the method returns
true
if and only if a link connector (see IlvLinkConnector
)
is attached either to the origin node or to the origin of the link and the
method IlvLinkConnector.allowsConnectionPointMove(ilog.views.IlvLinkImage, boolean)
called on the link connector returns true
.
Otherwise, the method returns false
.
index
is the index of the last point, the method returns
true
if and only if a link connector is attached either
to the destination node or to the destination of the link and the
method IlvLinkConnector.allowsConnectionPointMove(ilog.views.IlvLinkImage, boolean)
called on the link connector returns true
.
Otherwise, the method returns false
.
IlvLinkConnector.Get(IlvLinkImage, boolean)
.
true
.allowsPointMove
in interface IlvPolyPointsInterface
index
- The index of the point.public void insertPoint(int index, double x, double y, IlvTransformer t)
IlvLinkImage
.
Therefore this method has an empty implementation and should not be called.insertPoint
in interface IlvPolyPointsInterface
index
- The index at which the new point will be inserted.x
- The x coordinate of the new point.y
- The y coordinate of the new point.t
- The transformer used to draw the polypoint.public void removePoint(int index, IlvTransformer t)
IlvLinkImage
.
Therefore this method has an empty implementation and should not be called.removePoint
in interface IlvPolyPointsInterface
index
- The index of the point to remove.t
- The transformer used to draw the polypoint.public IlvPoint getPointAt(int index, IlvTransformer t)
getPointAt
in interface IlvPolyPointsInterface
index
- The index of the point.t
- The transformer used to draw the link.public void movePoint(int index, double x, double y, IlvTransformer t)
index
is the index of the first point,
the default implementation calls the method
IlvLinkConnector.Get(IlvLinkImage, boolean)
(with
true
for the origin
argument)
to obtain the link connector instance that actually controls
the connection point of the link on the origin node.
If a link connector exists, the method
IlvLinkConnector.connectLink(ilog.views.IlvLinkImage, ilog.views.IlvPoint, boolean, ilog.views.IlvTransformer)
is called on it.
Otherwise, the method does nothing.
index
is the index of the last point,
the default implementation calls the method
IlvLinkConnector.Get(IlvLinkImage, boolean)
(with
false
for the origin
argument)
to obtain the link connector instance that actually controls
the connection point of the link on the destination node.
If a link connector exists, the method
IlvLinkConnector.connectLink(ilog.views.IlvLinkImage, ilog.views.IlvPoint, boolean, ilog.views.IlvTransformer)
is called on it.
Otherwise, the method does nothing.
index
is not the index of the first or last point,
the default implementation of the method does nothing.
super.movePoint
for the index of the first and last point
to ensure that link connectors work properly.
movePoint
should be called only if the link object
is outside any manager, or if the method is used inside the
IlvApplyObject.apply(ilog.views.IlvGraphic, java.lang.Object)
of an IlvApplyObject
that is
passed to IlvManager.applyToObject(ilog.views.IlvGraphic, ilog.views.IlvApplyObject, java.lang.Object, boolean)
. The latter updates the manager
quadtrees.
movePoint
in interface IlvPolyPointsInterface
index
- The index of the point to be moved.x
- The new x coordinate (in manager coordinates).y
- The new y coordinate (in manager coordinates).t
- The transformer used to draw the link.IlvApplyObject
,
IlvManager.applyToObject(ilog.views.IlvGraphic, ilog.views.IlvApplyObject, java.lang.Object, boolean)
public void setIntermediateLinkPoints(IlvPoint[] points, int index, int length)
length
points in the points
array beginning at the index
point and will use them for
a new intermediate points array.
If the array is null
or the length parameter is 0,
intermediate points are removed.
setIntermediateLinkPoints
should be called only if
the link object is outside any manager, or if the method is used inside
apply
of an IlvApplyObject
that is passed to
IlvManager.applyToObject
. The latter updates the manager
quadtrees.
points
- An array of points.index
- The index of the point that will be the first intermediate
point.length
- The number of intermediate points taken in the points array.IlvApplyObject
,
IlvManager.applyToObject(ilog.views.IlvGraphic, ilog.views.IlvApplyObject, java.lang.Object, boolean)
public boolean pointsInBBox()
true
if all points are contained inside the bounding
rectangle of the object.
The default implementation returns true
.pointsInBBox
in interface IlvPolyPointsInterface
public IlvPoint getConnectionReferencePoint(boolean origin, IlvTransformer t)
IlvPinLinkConnector
will first call
getConnectionReferencePoint
and return the pin that is
closest to the reference point.
For a link that is a simple line, this method returns the center of
the destination node for the origin node, and the center of the origin
node for the destination node.origin
- If true
, the connection
point of the origin node is searched for. If origin
is
false
, then the connection point of the destination node
is searched for.t
- The transformer used to draw the link.IlvPinLinkConnector
public void getConnectionPoints(IlvPoint src, IlvPoint dst, IlvTransformer t)
t
.
src
- A point for storing the origin.dst
- A point for storing the destination.t
- The transformer used to draw the link.IlvLinkConnector.getConnectionPoint(ilog.views.IlvLinkImage, boolean, ilog.views.IlvTransformer)
public final boolean getLinkConnectorConnectionPoint(boolean origin, IlvPoint p, IlvTransformer t)
p
the position of the extremity of the link when
a link connector is used to control the connection point of the link.
If there is no link connector, that is the method
IlvLinkConnector.Get(IlvLinkImage, boolean)
returns null
,
the method returns false
.origin
- If true
, the position of
the connection point for the link origin is determined. Otherwise the
position of the connection point for the link destination is determined.p
- A point for storing the result.t
- The transformer that is used to draw the link.IlvLinkConnector.getConnectionPoint(ilog.views.IlvLinkImage, boolean, ilog.views.IlvTransformer)
public final IlvRect getToBoundingBox(IlvTransformer t)
t
- The transformer used to draw the link.getFromBoundingBox(ilog.views.IlvTransformer)
public final IlvRect getFromBoundingBox(IlvTransformer t)
t
- The transformer used to draw the link.getToBoundingBox(ilog.views.IlvTransformer)
public final IlvGraphic getVisibleFrom()
getFrom()
if the link is not an intergraph link.
When the link is an intergraph link and its origin node
is in a collapsed grapher or if a parent grapher is collapsed,
the returned object
is the topmost collapsed grapher and not the origin node,
which is not visible on the screen.getVisibleTo()
,
getFromBoundingBox(ilog.views.IlvTransformer)
,
getFromTransformer(ilog.views.IlvTransformer)
,
getFrom()
public final IlvGraphic getVisibleTo()
getTo()
if the link is not an intergraph link.
When the link is an intergraph link and its destination node
is in a collapsed grapher or if a parent grapher is collapsed,
the returned object
is the topmost collapsed grapher and not the destination node,
which is not visible on the screen.getVisibleFrom()
,
getToBoundingBox(ilog.views.IlvTransformer)
,
getToTransformer(ilog.views.IlvTransformer)
,
getTo()
public final IlvTransformer getFromTransformer(IlvTransformer t)
IlvLinkBundle
or
IlvCompositeLink
.
t
- The transformer used to draw the link.getToTransformer(ilog.views.IlvTransformer)
,
getVisibleFrom()
,
getFromBoundingBox(ilog.views.IlvTransformer)
,
getFrom()
public final IlvTransformer getToTransformer(IlvTransformer t)
IlvLinkBundle
or
IlvCompositeLink
.
t
- The transformer used to draw the link.getFromTransformer(ilog.views.IlvTransformer)
,
getVisibleTo()
,
getToBoundingBox(ilog.views.IlvTransformer)
,
getTo()
public static IlvTransformer getLocalTransformerOf(IlvGraphic node, IlvGraphicBag linkBag, IlvTransformer t)
IlvLinkBundle
or
IlvCompositeLink
.node
- An origin or destination node of the link.linkBag
- The graphic bag of the link.t
- The transformer used to draw the link.public boolean isSpline()
true
if the link has spline routing functionality.
The default implementation always returns false
.protected void drawArrow(Graphics dst, IlvPoint from, IlvPoint to, IlvTransformer t)
from
and to
. The head of
the arrow is on point to
.
Note that the points are already transformed by the transformer.public void draw(Graphics dst, IlvTransformer t)
draw
in class IlvGraphic
dst
- The destination Graphics.t
- The transformation used to draw the object.IlvGraphic.callDraw(Graphics,IlvTransformer)
,
IlvGraphic.boundingBox(IlvTransformer)
,
IlvGraphic.zoomable()
,
IlvGraphic
protected double getArrowSize(double lineWidth, IlvTransformer t)
t
and lineWidth
.
By default, the arrow is proportional to the link line width and the
transformer zoom factor. By overriding this method the subclass can
change the size of the arrow.
If the overridden method returns a size that is no
longer proportional to the transformer's zoom factor, you may need to
override the zoomable()
method to return false
.lineWidth
- The line width used to drawn the object.t
- The transformer used to draw the link.t
and lineWidth
.getLineWidth()
protected IlvRect arrowBBox(IlvPoint from, IlvPoint to, IlvTransformer t)
from
and to
. The head of
the arrow is on point to
.
Note that the points are already transformed by the transformer.protected boolean arrowContains(IlvPoint p, IlvPoint tp, IlvPoint from, IlvPoint to, IlvTransformer t)
from
and to
. The head of
the arrow is on point to
.p
- The point to be tested.tp
- The point p
transformed by the transformer
t
.from
- The start of the segment that has the arrow head.
The point is already transformed by the transformer t
.to
- The end of the segment that has the arrow head.
The point is already transformed by the transformer t
.t
- The transformation used to draw the link.true
if the point is inside the arrow head.drawArrow(java.awt.Graphics, ilog.views.IlvPoint, ilog.views.IlvPoint, ilog.views.IlvTransformer)
public IlvRect boundingBox(IlvTransformer t)
boundingBox
in interface IlvPolyPointsInterface
boundingBox
in class IlvGraphic
t
- The transformer used to draw the link.IlvGraphic.draw(java.awt.Graphics, ilog.views.IlvTransformer)
,
IlvGraphic.zoomable()
,
IlvGraphic
public void applyTransform(IlvTransformer t)
applyTransform
in class IlvGraphic
t
- The transformation to be applied.IlvGraphic
public boolean contains(IlvPoint p, IlvPoint tp, IlvTransformer t)
contains
in class IlvGraphic
p
- The point to be tested.tp
- The point p
transformed by the transformer
t
.t
- The transformation used to draw the link.true
if the point lies inside this graphic object.IlvGraphic
public boolean zoomable()
true
if the object is zoomable, and
false
otherwise.
Note that the link is zoomable if the origin node, the destination node,
and the link connectors eventually used to control its connection
points are zoomable.zoomable
in class IlvGraphic
IlvGraphic.zoomable()
,
IlvLinkConnector.zoomable()
public boolean isOriented()
true
if the link is oriented, and false
otherwise.
An oriented link has an arrow drawn at the destination.setOriented(boolean)
public void setOriented(boolean oriented)
isOriented()
public void setForeground(Color c)
IlvBlinkingColor
.setForeground
in class IlvGraphic
c
- The new color.getForeground()
public Color getForeground()
setForeground(java.awt.Color)
public double getLineWidth()
setLineWidth(double)
public double getLineWidth(IlvTransformer t)
t
- The transformer used to draw the link.setLineWidth(double)
public void setLineWidth(double lineWidth)
lineWidth
- The new line width.getLineWidth()
public int getEndCap()
IlvStroke
.
The default value is CAP_SQUARE
.IlvStroke
,
setEndCap(int)
public void setEndCap(int endCap)
endCap
- The new decoration style. The values
are defined in the class IlvStroke
.
The default value is CAP_SQUARE
.IlvStroke
,
getEndCap()
public int getLineJoin()
IlvStroke
.
The default value is JOIN_MITER
.IlvStroke
,
setLineJoin(int)
public void setLineJoin(int lineJoin)
lineJoin
- The new decoration style. The values are defined
in the class IlvStroke
.
The default value is JOIN_MITER
.IlvStroke
,
getLineJoin()
public double getMaximumLineWidth()
setMaximumLineWidth(double)
public void setMaximumLineWidth(double maximumLineWidth)
maximumLineWidth
- The maximum line width, or 0 to indicate no limit.getMaximumLineWidth()
public float[] getLineStyle()
setLineStyle(float[])
public void setLineStyle(float[] lineStyle)
lineStyle
- The new line style.getLineStyle()
public IlvPoint[] getLinkPoints(IlvTransformer t)
getConnectionPoints
member function to compute the points.
You may override this method to define more points.public final IlvPoint[] getLinkPoints()
public final void setLinkPoints(IlvPoint[] points)
applyToObject
method of the manager.points
- An array of points.public IlvSelection makeSelection()
IlvLinkImageSelection
.makeSelection
in class IlvGraphic
IlvLinkImageSelection
public void write(IlvOutputStream stream) throws IOException
IlvOutputStream
.
You should not
call this method directly; instead, you should use the write
methods of the manager.write
in interface IlvPersistentObject
write
in class IlvGraphic
stream
- The output stream.IOException
- thrown when an exception occurs during
the write operation for this object.public boolean isPersistent()
true
when the IlvLinkImage
instance can be saved in an IVL
file.isPersistent
in class IlvGraphic
true
when both the
From
an To
nodes for this
IlvLinkImage
instance are persistent.© Copyright 2024 Rogue Wave Software, Inc., a Perforce company.. All Rights Reserved.