public interface IItemFactory
An implementation of this interface is provided by the HierarchicLayoutCore
during the layout for the different
sub-modules.
Modifier and Type | Method and Description |
---|---|
void |
convertToLabelNode(Node dummyNode)
Converts a given
Node to a label node. |
default Node |
createBendNode(ILayer layer,
Edge edge)
Creates a bend
Node for the given Edge in the given ILayer and assigns it to the given SwimlaneDescriptor
instance. |
Node |
createBendNode(ILayer layer,
Edge edge,
SwimlaneDescriptor laneDescriptor)
Creates a bend
Node for the given Edge in the given ILayer and assigns it to the given SwimlaneDescriptor
instance. |
default INodeData |
createBendNodeData(Node node,
Edge edge)
|
INodeData |
createBendNodeData(Node node,
Edge edge,
SwimlaneDescriptor laneDescriptor)
|
Node |
createConnectorProxyForGroup(Node groupNode,
Object groupId,
ILayer layer,
Edge edge)
|
Node |
createContentConnectorProxyForGroup(Node groupNode,
Object groupId,
ILayer layer,
Edge e)
Creates a dummy node that mimics a connector to a group node from a descendant.
|
Node |
createDistanceNode(ILayer layer,
Rectangle2D size,
Edge[] edges)
|
Edge |
createDummyEdge(Node newSource,
Node newTarget,
Edge oldEdge,
boolean sourceEnd,
boolean targetEnd)
Creates a dummy
Edge using the given data. |
Node |
createEdgeGroupNode(ILayer layer,
Object groupId)
|
INodeData |
createEdgeGroupNodeData(Node node,
Object groupId,
boolean source)
|
Edge |
createGroupBorderEdge(Node source,
Node target)
|
Node |
createGroupBorderNode(Node groupNode,
ILayer layer,
NodeDataType type)
|
Node |
createGroupLayerDummyNode()
|
Edge |
createGroupNodeConnectorEdge(Node groupNode1,
Node groupNode2,
Edge representative)
|
IEdgeData |
createNormalEdgeData(Edge edge)
|
INodeData |
createNormalNodeData(Node node)
|
default Node |
createProxyNode(Edge edge,
boolean source)
Creates a proxy
Node for an Edge during the drawing phase, changing the Edge to end/start at the
proxy and assigns it to a SwimlaneDescriptor instance. |
Node |
createProxyNode(Edge edge,
boolean source,
SwimlaneDescriptor laneDescriptor)
Creates a proxy
Node for an Edge during the drawing phase, changing the Edge to end/start at the
proxy and assigns it to a SwimlaneDescriptor instance. |
INodeData |
createProxyNodeData(Node node,
Node proxy,
Edge edge)
|
Edge |
createRecursiveDummyEdge(Node newSource,
Node newTarget,
Edge oldEdge,
boolean sourceEnd,
boolean targetEnd)
Creates a dummy edge that belongs to a recursive
Edge . |
Node |
createRecursiveEdgeDummy(ILayer layer,
Edge edge,
SwimlaneDescriptor laneDescriptor)
|
INodeData |
createRecursiveEdgeNodeData(Node node,
Edge edge,
SwimlaneDescriptor laneDescriptor)
|
IEdgeData |
createRecursiveSameLayerEdgeData(Edge edge,
IEdgeData originalEdgeData,
boolean isUpper)
|
Edge |
createRedirectedGroupEdge(Node newSource,
Node newTarget,
Edge groupEdge)
|
Edge |
createReverseDummyEdge(Node newSource,
Node newTarget,
Edge oldEdge,
boolean sourceEnd,
boolean targetEnd)
Creates a reversed dummy
Edge using the given data. |
IEdgeData |
createSameLayerEdgeData(Edge edge)
|
Edge |
createSameLayerProxy(ILayer layer,
Edge edge,
Node toProxy)
|
default Node |
createSameLayerSideProxy(ILayer inLayer,
Node forNode,
Edge edge)
|
Node |
createSameLayerSideProxy(ILayer inLayer,
Node forNode,
Edge edge,
SwimlaneDescriptor sld)
|
Node |
createSameLayerSwitchProxy(ILayer layer,
Edge edge)
|
IEdgeData |
createSelfLoopEdgeData(Edge edge)
|
void |
destroyDistanceNode(Node distanceNode)
Destroys a spacer
Node for the drawing phase created using
createDistanceNode(ILayer, Rectangle2D, Edge[]) . |
void |
destroyGroupConnectorLayer(ILayer layer,
boolean useInEdges)
Removes the given layer for proxies at groups to handle direct group content connector edges between a node in the
first/last layer of the group node and the groups border.
|
void |
destroyLabelNodeLayer(ILayer layer,
boolean useInEdges)
Destroys a previously created label layer.
|
Edge |
destroyProxyNode(Node proxyNode)
Destroys a proxy
Node created using createProxyNode(Edge, boolean, SwimlaneDescriptor) for the drawing
phase. |
Edge |
destroySameLayerProxy(Edge edge)
Destroys a same-layer
Edge proxy created using createSameLayerProxy(ILayer, Edge, Node) . |
void |
destroySameLayerSideProxy(Node proxyNode)
Destroys a proxy
Node created using createProxyNode(Edge, boolean, SwimlaneDescriptor) for the drawing
phase. |
Edge |
destroySameLayerSwitchProxy(Node node)
Destroys a same-layer switch proxy
Node created using createSameLayerSwitchProxy(ILayer, Edge) . |
EdgeList |
insertEdge(Edge edge)
|
ILayer |
insertGroupConnectorLayer(boolean top,
int index)
Inserts a layer for proxies at groups to handle direct group content connector edges between a node in the first/last
layer of the group node and the groups border.
|
ILayer |
insertGroupNodeLayer(boolean source,
int index)
|
ILayer |
insertLabelNodeLayer(boolean source,
int index)
Inserts a
ILayer for labels. |
void |
registerSameLayerEdge(Edge edge)
|
void |
setDirectlyConnectSameLayerEdge(Edge sameLayerEdge)
|
IEdgeData |
setTemporaryEdgeGroups(Edge edge,
Object sgId,
Object tgId)
|
IEdgeData |
setTemporaryEdgeThickness(Edge edge,
double thickness)
|
IEdgeData |
setTemporaryPortConstraint(Edge edge,
boolean source,
PortConstraint pc)
|
void |
unconvertToLabelNode(Node labelNode)
Reverts a label node to the normal
Node . |
void convertToLabelNode(Node dummyNode)
Node
to a label node.dummyNode
- the given Node
to be converteddefault Node createBendNode(ILayer layer, Edge edge)
Node
for the given Edge
in the given ILayer
and assigns it to the given SwimlaneDescriptor
instance.Node createBendNode(ILayer layer, Edge edge, SwimlaneDescriptor laneDescriptor)
Node
for the given Edge
in the given ILayer
and assigns it to the given SwimlaneDescriptor
instance.layer
- the given ILayer
instanceedge
- the given Edge
laneDescriptor
- a given SwimlaneDescriptor
instanceNode
default INodeData createBendNodeData(Node node, Edge edge)
INodeData
object for a bend Node
and associates it with the Node
.
The bend is assigned to the given SwimlaneDescriptor
instance.
INodeData createBendNodeData(Node node, Edge edge, SwimlaneDescriptor laneDescriptor)
INodeData
object for a bend Node
and associates it with the Node
.
The bend is assigned to the given SwimlaneDescriptor
instance.
node
- the given Node
edge
- the given Edge
laneDescriptor
- the given SwimlaneDescriptor
instanceINodeData
object for the given bend Node
Node createConnectorProxyForGroup(Node groupNode, Object groupId, ILayer layer, Edge edge)
Node createContentConnectorProxyForGroup(Node groupNode, Object groupId, ILayer layer, Edge e)
groupNode
- the group node to which the edge is connectedgroupId
- the id of the group nodelayer
- the layer to which the dummy node will be assignede
- the edge that connects to the dummy nodeNode createDistanceNode(ILayer layer, Rectangle2D size, Edge[] edges)
Edge createDummyEdge(Node newSource, Node newTarget, Edge oldEdge, boolean sourceEnd, boolean targetEnd)
Edge
using the given data.newSource
- the source node of the Edge
newTarget
- the target node of the Edge
oldEdge
- the old Edge
from which to retrieve the datasourceEnd
- true
if the source node of the edge is referred, false
otherwisetargetEnd
- true
if the target node of the edge is referred, false
otherwiseEdge
INodeData createEdgeGroupNodeData(Node node, Object groupId, boolean source)
Node createGroupBorderNode(Node groupNode, ILayer layer, NodeDataType type)
groupNode
- the given group Node
layer
- the given ILayer
type
- one of NodeDataType.GROUP_BEGIN
or NodeDataType.GROUP_END
Node
Edge createGroupNodeConnectorEdge(Node groupNode1, Node groupNode2, Edge representative)
default Node createProxyNode(Edge edge, boolean source)
Node
for an Edge
during the drawing phase, changing the Edge
to end/start at the
proxy and assigns it to a SwimlaneDescriptor
instance.Node createProxyNode(Edge edge, boolean source, SwimlaneDescriptor laneDescriptor)
Node
for an Edge
during the drawing phase, changing the Edge
to end/start at the
proxy and assigns it to a SwimlaneDescriptor
instance.edge
- the given Edge
source
- true
if the node is the source node of the edge, false
otherwiselaneDescriptor
- a given SwimlaneDescriptor
instanceNode
Edge createRecursiveDummyEdge(Node newSource, Node newTarget, Edge oldEdge, boolean sourceEnd, boolean targetEnd)
Edge
.newSource
- the source node of the Edge
newTarget
- the target node of the Edge
oldEdge
- the old Edge
from which to retrieve the datasourceEnd
- true
if the source node of the edge is referred, false
otherwisetargetEnd
- true
if the target node of the edge is referred, false
otherwiseEdge
Node createRecursiveEdgeDummy(ILayer layer, Edge edge, SwimlaneDescriptor laneDescriptor)
INodeData createRecursiveEdgeNodeData(Node node, Edge edge, SwimlaneDescriptor laneDescriptor)
node
- the given Node
edge
- the given Edge
to which the dummy Node
belongslaneDescriptor
- the given SwimlaneDescriptor
instanceINodeData
instanceIEdgeData createRecursiveSameLayerEdgeData(Edge edge, IEdgeData originalEdgeData, boolean isUpper)
Edge createRedirectedGroupEdge(Node newSource, Node newTarget, Edge groupEdge)
Edge createReverseDummyEdge(Node newSource, Node newTarget, Edge oldEdge, boolean sourceEnd, boolean targetEnd)
Edge
using the given data.newSource
- the source node of the Edge
newTarget
- the target node of the Edge
oldEdge
- the old Edge
from which to retrieve the datasourceEnd
- true
if the source node of the edge is referred, false
otherwisetargetEnd
- true
if the target node of the edge is referred, false
otherwiseEdge
default Node createSameLayerSideProxy(ILayer inLayer, Node forNode, Edge edge)
Node createSameLayerSideProxy(ILayer inLayer, Node forNode, Edge edge, SwimlaneDescriptor sld)
Node
for a same-layer Edge
during the drawing phase that ends at the side of a node.inLayer
- the given ILayer
instanceforNode
- the given Node
edge
- the given Edge
sld
- a given SwimlaneDescriptor
instanceNode
void destroyDistanceNode(Node distanceNode)
Node
for the drawing phase created using
createDistanceNode(ILayer, Rectangle2D, Edge[])
.distanceNode
- the Node
to be destroyedvoid destroyGroupConnectorLayer(ILayer layer, boolean useInEdges)
layer
- the layer to destroyuseInEdges
- whether the incoming edges should be used as the resulting edgesEdgeLayoutDescriptor.setDirectGroupContentEdgeRoutingEnabled(boolean)
void destroyLabelNodeLayer(ILayer layer, boolean useInEdges)
layer
- the layer to destroyuseInEdges
- whether the incoming edges should be used as the resulting edgesEdge destroyProxyNode(Node proxyNode)
Node
created using createProxyNode(Edge, boolean, SwimlaneDescriptor)
for the drawing
phase.proxyNode
- the proxy Node
to be destroyedEdge destroySameLayerProxy(Edge edge)
Edge
proxy created using createSameLayerProxy(ILayer, Edge, Node)
.void destroySameLayerSideProxy(Node proxyNode)
Node
created using createProxyNode(Edge, boolean, SwimlaneDescriptor)
for the drawing
phase.proxyNode
- the proxy Node
to be destroyedEdge destroySameLayerSwitchProxy(Node node)
Node
created using createSameLayerSwitchProxy(ILayer, Edge)
.ILayer insertGroupConnectorLayer(boolean top, int index)
top
- true
if this layer is placed above a group nodes, false
if placed belowindex
- the index where the layer is insertedEdgeLayoutDescriptor.setDirectGroupContentEdgeRoutingEnabled(boolean)
ILayer insertGroupNodeLayer(boolean source, int index)
ILayer insertLabelNodeLayer(boolean source, int index)
ILayer
for labels.void registerSameLayerEdge(Edge edge)
edge
- the given Edge
to be registeredvoid setDirectlyConnectSameLayerEdge(Edge sameLayerEdge)
sameLayerEdge
- the given same-layer Edge
IEdgeData setTemporaryEdgeThickness(Edge edge, double thickness)
edge
- the given Edge
thickness
- the new edge thicknessIEdgeData
object with an adjusted EdgeLayoutDescriptor
IEdgeData setTemporaryPortConstraint(Edge edge, boolean source, PortConstraint pc)
edge
- the given Edge
source
- true
of the port constraint is defined on the source node of the Edge
, false
otherwisepc
- the given PortConstraint
instanceIEdgeData
object