Packagecom.yworks.yfiles.layout.hierarchic.incremental
Interfacepublic interface ItemFactory

Factory that consistently creates and destroys helper structures in the graph during layout. An implementation of this interface is provided by the com.yworks.yfiles.layout.hierarchic.incremental.HierarchicLayouterImpl during the layout for the different sub modules. It is mainly for internal use.

See also

com.yworks.yfiles.layout.hierarchic.incremental.HierarchicLayouterImpl


Public Methods
 MethodDefined By
  
convertToLabelNode(dummyNode:Node):void
Converts a node to a label node
ItemFactory
  
Creates a bend node in the layer for the given edge
ItemFactory
  
createBendNode2(layer:Layer, edge:Edge, laneDescriptor:SwimLaneDescriptor):Node
Creates a bend node in the layer for the given edge and assigns it to the given lane descriptor
ItemFactory
  
Creates bend node data for a bend node and associates it with the node
ItemFactory
  
Creates bend node data for a bend node and associates it with the node.
ItemFactory
  
createConnectorProxyForGroup(groupNode:Node, groupId:Object, layer:Layer, e:Edge):Node
Create a dummy edge that mimics a connector to a group node.
ItemFactory
  
createDistanceNode(layer:Layer, size:Rectangle2DDouble, edges:Vector.<Object>):Node
Creates a spacer node for the drawing phase using the given bounds
ItemFactory
  
createDummyEdge(newSource:Node, newTarget:Node, oldEdge:Edge, sourceEnd:Boolean, targetEnd:Boolean):Edge
Creates a dummy edge using the given data.
ItemFactory
  
createEdgeGroupNode(layer:Layer, groupId:Object):Node
Creates an edge group node
ItemFactory
  
createEdgeGroupNodeData(node:Node, groupId:Object, source:Boolean):NodeData
Creates an edge group node data for an edge group node and associates it with the node
ItemFactory
  
Creates an edge that connects two group border nodes.
ItemFactory
  
createGroupBorderNode(groupNode:Node, layer:Layer, type:int):Node
Creates a group boundary node for a group node.
ItemFactory
  
Create a dummy node for the group layer.
ItemFactory
  
createGroupNodeConnectorEdge(gn1:Node, gn2:Node, representative:Edge):Edge
Creates a group node connector edge between two group nodes.
ItemFactory
  
Creates edge data for a normal edge and associates it with the edge
ItemFactory
  
Creates node data for a normal node and associates it with the node
ItemFactory
  
createProxyNode(edge:Edge, source:Boolean):Node
Creates a proxy node for an edge during the drawing phase, changing the edge to end/start at the proxy
ItemFactory
  
createProxyNode2(edge:Edge, source:Boolean, laneDescriptor:SwimLaneDescriptor):Node
Creates a proxy node for an edge during the drawing phase, changing the edge to end/start at the proxy.
ItemFactory
  
Creates proxy node data for a proxy node and associates it with the node
ItemFactory
  
createRedirectedGroupEdge(newSource:Node, newTarget:Node, groupEdge:Edge):Edge
Creates a redirected edge to replace an edge connected to a group node.
ItemFactory
  
createReverseDummyEdge(newSource:Node, newTarget:Node, oldEdge:Edge, sourceEnd:Boolean, targetEnd:Boolean):Edge
Creates a reversed dummy edge using the given data
ItemFactory
  
Creates edge data for a same layer edge and associates it with the edge
ItemFactory
  
createSameLayerProxy(layer:Layer, edge:Edge, toProxy:Node):Edge
Creates a same layer proxy node.
ItemFactory
  
createSameLayerSideProxy(inLayer:Layer, forNode:Node, edge:Edge):Node
Creates a proxy node for a same layer edge during the drawing phase that ends at the side of a node.
ItemFactory
  
Creates a proxy node for a same layer edge during the drawing phase that ends at the side of a node.
ItemFactory
  
Creates a same layer switch proxy (switching between two same layer edges on two different sides of the layer).
ItemFactory
  
Creates edge data for a self loop edge and associates it with the edge
ItemFactory
  
destroyDistanceNode(distanceNode:Node):void
Destroys a previously created spacer node for the drawing phase.
ItemFactory
  
destroyLabelNodeLayer(layer:Layer, useInEdges:Boolean):void
Destroys a previously created label layer
ItemFactory
  
Destroys a proxy node that has been created using createProxyNode() for the drawing phase
ItemFactory
  
Destroy a previously created same layer edge proxy
ItemFactory
  
Destroys a proxy node that has been created using.
ItemFactory
  
Destroys a previously generated same layer switch proxy
ItemFactory
  
Inserts a same layer edge or an edge that may span multiple layers into the data structure.
ItemFactory
  
insertGroupNodeLayer(source:Boolean, index:int):Layer
Inserts an edge group node layer
ItemFactory
  
insertLabelNodeLayer(source:Boolean, index:int):Layer
Inserts a layer for label nodes group node layer
ItemFactory
  
Registers an edge as a same layer edge appropriately into all data structures.
ItemFactory
  
Converts a normal edge to a com.yworks.yfiles.layout.hierarchic.incremental.EdgeDataConstants.TYPE_DIRECT_SAME_LAYER_EDGE.
ItemFactory
  
setTemporaryEdgeGroups(edge:Edge, sgId:Object, tgId:Object):EdgeData
Sets a edge group constraint for an edge.
ItemFactory
  
Sets a port constraint for an edge at the given side.
ItemFactory
  
unconvertToLabelNode(labelNode:Node):void
Reverts a label node to the previous kind of node
ItemFactory
Method Detail
convertToLabelNode()method
public function convertToLabelNode(dummyNode:Node):void

Converts a node to a label node

Parameters

dummyNode:Node

createBendNode()method 
public function createBendNode(layer:Layer, edge:Edge):Node

Creates a bend node in the layer for the given edge

Parameters

layer:Layer
 
edge:Edge

Returns
Node
createBendNode2()method 
public function createBendNode2(layer:Layer, edge:Edge, laneDescriptor:SwimLaneDescriptor):Node

Creates a bend node in the layer for the given edge and assigns it to the given lane descriptor

Parameters

layer:Layer
 
edge:Edge
 
laneDescriptor:SwimLaneDescriptor

Returns
Node
createBendNodeData()method 
public function createBendNodeData(node:Node, edge:Edge):NodeData

Creates bend node data for a bend node and associates it with the node

Parameters

node:Node
 
edge:Edge

Returns
NodeData
createBendNodeData2()method 
public function createBendNodeData2(node:Node, edge:Edge, laneDescriptor:SwimLaneDescriptor):NodeData

Creates bend node data for a bend node and associates it with the node. The bend is assigned to the given laneDescriptor

Parameters

node:Node
 
edge:Edge
 
laneDescriptor:SwimLaneDescriptor

Returns
NodeData
createConnectorProxyForGroup()method 
public function createConnectorProxyForGroup(groupNode:Node, groupId:Object, layer:Layer, e:Edge):Node

Create a dummy edge that mimics a connector to a group node.

Parameters

groupNode:Node
 
groupId:Object
 
layer:Layer
 
e:Edge

Returns
Node
createDistanceNode()method 
public function createDistanceNode(layer:Layer, size:Rectangle2DDouble, edges:Vector.<Object>):Node

Creates a spacer node for the drawing phase using the given bounds

Parameters

layer:Layer
 
size:Rectangle2DDouble
 
edges:Vector.<Object>

Returns
Node
createDummyEdge()method 
public function createDummyEdge(newSource:Node, newTarget:Node, oldEdge:Edge, sourceEnd:Boolean, targetEnd:Boolean):Edge

Creates a dummy edge using the given data.

Parameters

newSource:Node
 
newTarget:Node
 
oldEdge:Edge
 
sourceEnd:Boolean
 
targetEnd:Boolean

Returns
Edge
createEdgeGroupNode()method 
public function createEdgeGroupNode(layer:Layer, groupId:Object):Node

Creates an edge group node

Parameters

layer:Layer
 
groupId:Object

Returns
Node
createEdgeGroupNodeData()method 
public function createEdgeGroupNodeData(node:Node, groupId:Object, source:Boolean):NodeData

Creates an edge group node data for an edge group node and associates it with the node

Parameters

node:Node
 
groupId:Object
 
source:Boolean

Returns
NodeData
createGroupBorderEdge()method 
public function createGroupBorderEdge(source:Node, target:Node):Edge

Creates an edge that connects two group border nodes.

Parameters

source:Node
 
target:Node

Returns
Edge
createGroupBorderNode()method 
public function createGroupBorderNode(groupNode:Node, layer:Layer, type:int):Node

Creates a group boundary node for a group node.

Parameters

groupNode:Node
 
layer:Layer
 
type:int

Returns
Node
createGroupLayerDummyNode()method 
public function createGroupLayerDummyNode():Node

Create a dummy node for the group layer.

Returns
Node
createGroupNodeConnectorEdge()method 
public function createGroupNodeConnectorEdge(gn1:Node, gn2:Node, representative:Edge):Edge

Creates a group node connector edge between two group nodes.

Parameters

gn1:Node
 
gn2:Node
 
representative:Edge

Returns
Edge
createNormalEdgeData()method 
public function createNormalEdgeData(edge:Edge):EdgeData

Creates edge data for a normal edge and associates it with the edge

Parameters

edge:Edge

Returns
EdgeData
createNormalNodeData()method 
public function createNormalNodeData(node:Node):NodeData

Creates node data for a normal node and associates it with the node

Parameters

node:Node

Returns
NodeData
createProxyNode()method 
public function createProxyNode(edge:Edge, source:Boolean):Node

Creates a proxy node for an edge during the drawing phase, changing the edge to end/start at the proxy

Parameters

edge:Edge
 
source:Boolean

Returns
Node — the proxy
createProxyNode2()method 
public function createProxyNode2(edge:Edge, source:Boolean, laneDescriptor:SwimLaneDescriptor):Node

Creates a proxy node for an edge during the drawing phase, changing the edge to end/start at the proxy.

Parameters

edge:Edge
 
source:Boolean
 
laneDescriptor:SwimLaneDescriptor

Returns
Node — the proxy
createProxyNodeData()method 
public function createProxyNodeData(node:Node, proxy:Node, edge:Edge):NodeData

Creates proxy node data for a proxy node and associates it with the node

Parameters

node:Node
 
proxy:Node
 
edge:Edge

Returns
NodeData
createRedirectedGroupEdge()method 
public function createRedirectedGroupEdge(newSource:Node, newTarget:Node, groupEdge:Edge):Edge

Creates a redirected edge to replace an edge connected to a group node.

Parameters

newSource:Node
 
newTarget:Node
 
groupEdge:Edge

Returns
Edge
createReverseDummyEdge()method 
public function createReverseDummyEdge(newSource:Node, newTarget:Node, oldEdge:Edge, sourceEnd:Boolean, targetEnd:Boolean):Edge

Creates a reversed dummy edge using the given data

Parameters

newSource:Node
 
newTarget:Node
 
oldEdge:Edge
 
sourceEnd:Boolean
 
targetEnd:Boolean

Returns
Edge
createSameLayerEdgeData()method 
public function createSameLayerEdgeData(edge:Edge):EdgeData

Creates edge data for a same layer edge and associates it with the edge

Parameters

edge:Edge

Returns
EdgeData
createSameLayerProxy()method 
public function createSameLayerProxy(layer:Layer, edge:Edge, toProxy:Node):Edge

Creates a same layer proxy node.

Parameters

layer:Layer
 
edge:Edge
 
toProxy:Node

Returns
Edge
createSameLayerSideProxy()method 
public function createSameLayerSideProxy(inLayer:Layer, forNode:Node, edge:Edge):Node

Creates a proxy node for a same layer edge during the drawing phase that ends at the side of a node.

Parameters

inLayer:Layer
 
forNode:Node
 
edge:Edge

Returns
Node — the proxy
createSameLayerSideProxy2()method 
public function createSameLayerSideProxy2(inLayer:Layer, forNode:Node, edge:Edge, sld:SwimLaneDescriptor):Node

Creates a proxy node for a same layer edge during the drawing phase that ends at the side of a node.

Parameters

inLayer:Layer
 
forNode:Node
 
edge:Edge
 
sld:SwimLaneDescriptor

Returns
Node — the proxy
createSameLayerSwitchProxy()method 
public function createSameLayerSwitchProxy(layer:Layer, edge:Edge):Node

Creates a same layer switch proxy (switching between two same layer edges on two different sides of the layer).

Parameters

layer:Layer
 
edge:Edge

Returns
Node
createSelfLoopEdgeData()method 
public function createSelfLoopEdgeData(edge:Edge):EdgeData

Creates edge data for a self loop edge and associates it with the edge

Parameters

edge:Edge

Returns
EdgeData
destroyDistanceNode()method 
public function destroyDistanceNode(distanceNode:Node):void

Destroys a previously created spacer node for the drawing phase.

Parameters

distanceNode:Node

destroyLabelNodeLayer()method 
public function destroyLabelNodeLayer(layer:Layer, useInEdges:Boolean):void

Destroys a previously created label layer

Parameters

layer:Layer — the layer to destroy
 
useInEdges:Boolean — whether the incoming edges should be used as the resulting edges

destroyProxyNode()method 
public function destroyProxyNode(proxyNode:Node):Edge

Destroys a proxy node that has been created using createProxyNode() for the drawing phase

Parameters

proxyNode:Node

Returns
Edge

See also

destroySameLayerProxy()method 
public function destroySameLayerProxy(edge:Edge):Edge

Destroy a previously created same layer edge proxy

Parameters

edge:Edge

Returns
Edge
destroySameLayerSideProxy()method 
public function destroySameLayerSideProxy(proxyNode:Node):void

Destroys a proxy node that has been created using. createProxyNode() for the drawing phase

Parameters

proxyNode:Node

See also

destroySameLayerSwitchProxy()method 
public function destroySameLayerSwitchProxy(node:Node):Edge

Destroys a previously generated same layer switch proxy

Parameters

node:Node

Returns
Edge
insertEdge()method 
public function insertEdge(edge:Edge):EdgeList

Inserts a same layer edge or an edge that may span multiple layers into the data structure. Returns the list of edges that has been created if this edge spans multiple layers.

Parameters

edge:Edge

Returns
EdgeList
insertGroupNodeLayer()method 
public function insertGroupNodeLayer(source:Boolean, index:int):Layer

Inserts an edge group node layer

Parameters

source:Boolean
 
index:int

Returns
Layer
insertLabelNodeLayer()method 
public function insertLabelNodeLayer(source:Boolean, index:int):Layer

Inserts a layer for label nodes group node layer

Parameters

source:Boolean
 
index:int

Returns
Layer
registerSameLayerEdge()method 
public function registerSameLayerEdge(edge:Edge):void

Registers an edge as a same layer edge appropriately into all data structures.

Parameters

edge:Edge

setDirectlyConnectSameLayerEdge()method 
public function setDirectlyConnectSameLayerEdge(sameLayerEdge:Edge):void

Converts a normal edge to a com.yworks.yfiles.layout.hierarchic.incremental.EdgeDataConstants.TYPE_DIRECT_SAME_LAYER_EDGE.

Parameters

sameLayerEdge:Edge

See also

setTemporaryEdgeGroups()method 
public function setTemporaryEdgeGroups(edge:Edge, sgId:Object, tgId:Object):EdgeData

Sets a edge group constraint for an edge.

Parameters

edge:Edge
 
sgId:Object
 
tgId:Object

Returns
EdgeData
setTemporaryPortConstraint()method 
public function setTemporaryPortConstraint(edge:Edge, source:Boolean, pc:PortConstraint):EdgeData

Sets a port constraint for an edge at the given side.

Parameters

edge:Edge
 
source:Boolean
 
pc:PortConstraint

Returns
EdgeData
unconvertToLabelNode()method 
public function unconvertToLabelNode(labelNode:Node):void

Reverts a label node to the previous kind of node

Parameters

labelNode:Node