SwimLanes
renderer displays
vertical or horizontal stripes in the background of the diagram. Swimlanes
are used to represent logical groups of nodes. For example, in a workflow
process, each swimlane could represent a department of a company,
and the activities executed within each department would be placed
in the corresponding swimlane.SwimLanes
renderer can
be used alone, but it is most often used in conjunction with a GraphLayout
renderer
configured to use a hierarchical layout algorithm, because the hierarchical
layout has the ability to automatically arrange the nodes of the hierarchy
according to the swimlanes to which they belong.SwimLanes
renderer,
corresponding to two different implementations. The first one, IlvSwimLaneRenderer
,
is a basic implementation of swimlanes, internally managed by the
renderer. The second one, IlvLaneRenderer
,
differs from the first one in several ways:SDM { SwimLanes : true; }
SDM { Lanes : true; }
IlvLaneRenderer
is used in
the BPMN modeler.SwimLaneConstraints
property
in the style sheet. The value of this property is examined for each
node, and a swimlane is created for each different value. Note that
this is the same property as the one used by the GraphLayout
renderer,
which makes sure that the GraphLayout
and SwimLanes
renderers
group nodes into swimlanes in the same way.node.activity[department=”R&D”] { SwimLaneConstraint : “R&D Department”; } node.activity[department=”Sales”] { SwimLaneConstraint : “Sales Department”; }
“R&D
Department”
and “Sales Department”
.SwimLanes
renderer. Property |
Type |
Default |
Description |
---|---|---|---|
alpha |
float |
0.5 |
The alpha value (that is to say the transparency)
of the allocated colors. |
brightness |
float |
0.8 |
The brightness of the allocated colors. |
defaultSwimLanes |
String |
null |
Can be used to create default swimlanes in
an empty diagram. The string is a comma-separated list containing
the titles of the default swimlanes. |
draggingEnabled |
boolean |
true |
Allows you to drag a node from one swimlane
to another. |
hue |
float |
0.2 |
The hue with which the color allocation algorithm
will start. |
layer |
int |
0 |
The index of the manager layer in which the
swimlane graphics will be added. |
margin |
int |
5 |
The margin between two adjacent swimlanes. |
saturation |
float |
0.5 |
The saturation of the allocated colors. |
SwimLanes
renderer. Property |
Type |
Default |
Description |
---|---|---|---|
SwimLaneConstraint |
Object |
null |
Defines the swimlane to which the node belongs. |
SwimLaneGraphic |
IlvGraphic |
null |
Lets you customize the graphic object used
to represent the swimlane. By default, an IlvGeneralNode is
used. |
SwimLaneLabel |
String |
null |
Lets you customize the title of the swimlane.
By default, the title is the value of the SwimLaneConstraint property. |
SwimLaneColor |
Color |
null |
Lets you customize the color of the swimlane.
By default, the colors are allocated automatically, based on the hue,
saturation, brightness, and alpha properties of the renderer. |
SwimLaneGraphic
, SwimLaneColor
,
and SwimLaneLabel
properties on all nodes.
Although the SwimLane Renderer makes use of only the first node in
a swimlane to set these properties, you may not find it easy to keep
track of which node is the first node. Property |
Type |
Default |
Description |
---|---|---|---|
defaultLength |
float |
500 |
Default length of the lanes, that is, the
width if the lanes are horizontal, or the height if they are vertical. |
defaultSize |
float |
100 |
Default size of the lanes, that is, the height
if the lanes are horizontal, or the width if they are vertical. |
horizontal |
boolean |
true |
Lane orientation. |
margin |
float |
5 |
Margin between the objects inside the lane
and the edges of the lane. |
spacing |
float |
10 |
Minimum spacing between adjacent lanes. |
sublaneOffset |
float |
0 |
If the lanes are horizontal, this property
changes the offset between the left side of a sublane and the left
side of the parent lane. This offset is used to leave room for a label. |
LaneName:<name>
,
where <name>
is the name of the lane.
If this rule also creates an IlvGraphic
that
implements ilog.views.IlvLabelInterface
,
then this graphic will be the label of the lane and will appear in
front of the lane. In general, the class of the lane graphic representation
is ilog.views.sdm.graphic.IlvDefaultLaneGraphic
,
which displays vertical labels for horizontal lanes. In addition
to LaneName
, two more properties are then
interpreted: Property |
Type |
Default |
Description |
---|---|---|---|
LaneName |
string |
"" |
Sets the matching node as a lane (or a pool)
and defines its name. |
LaneLength |
float |
defaultLength |
Overrides the lane default length. |
LaneSize |
float |
defaultSize |
Overrides the lane default size. |
node.Pool, node.Lane { // These properties define the look of pools and lanes. // The IlvDefaultLaneGraphic is a subclass of IlvGeneralNode // that can display its label vertically (when the lane is horizontal). // class : "ilog.views.sdm.graphic.IlvDefaultLaneGraphic"; shapeType : "Rectangle"; fillStyle : "SOLID_COLOR"; strokeWidth : "1"; horizontal : "true"; label : "@Name"; toolTipText : "@Name"; labelPosition : "Center"; labelSpacing : "5"; minLabelZoom : "0"; // This property identifies the object as a Pool or a Lane, // and tells the Lane renderer that it must handle it. // LaneName : "@Name"; Anchor : "TopLeft"; // Tell the link layout to preserve pools/lanes. LayoutFixed : "true"; }
Property |
Type |
Default |
Description |
---|---|---|---|
Lane |
string |
"" |
Sets the matching object in the named lane. |
node[lane] { Lane : "@lane"; }
"lane"
are
assigned to the lane with the "lane"
attribute
value.