Pluggable layout code must conform to the pluggable layout contract. The following steps outline a simple pluggable layout.
- Diagram calls layout engine with layout context.
- Layout engine loops over nodes using getNodeCount and getNodeByIndex()
- layout engine gets dimensions of node by calling getBounds()
- layout engine sets position on node by calling setPosition()
- Layout engine loops over links using getLinkCount and getLinkByIndex()
- layout engine gets start and end nodes by calling getStartId()/getEndId() on a link object
- layout engine analyzes nodes position and dimensions by calling getPosition() and getBounds() on each node and finds connection points for the link start/end
- layout engine creates a link path by calling setPoints() on a link object
- Diagram applies node positions from layout context
The DvtDiagramLayoutContext interface defines the context for a layout call.
- Source:
Methods
-
getComponentSize() → {Object}
-
Get the size of the Diagram.
- Source:
Properties:
Name Type Description x
number x-coordinate y
number y-coordinate w
number width h
number height Returns:
An object containing properties of the diagram size- Type
- Object
-
getCurrentViewport() → {Object}
-
Get the current viewport used by the component in the layout's coordinate system for the diagram
- Source:
Properties:
Name Type Description x
number x-coordinate y
number y-coordinate w
number width h
number height Returns:
An object containing properties of the current viewport- Type
- Object
-
getLinkById(id) → {oj.DvtDiagramLayoutContextLink}
-
Get a link context by id.
Parameters:
Name Type Description id
string id of link context to get - Source:
Returns:
-
getLinkByIndex(index) → {oj.DvtDiagramLayoutContextLink}
-
Get a link context by index.
Parameters:
Name Type Description index
number index of link context to get - Source:
Returns:
-
getLinkCount() → {number}
-
Get the number of links to layout.
- Source:
Returns:
- Type
- number
-
getNodeById(id) → {oj.DvtDiagramLayoutContextNode}
-
Get a node context by id.
Parameters:
Name Type Description id
string id of node context to get - Source:
Returns:
-
getNodeByIndex(index) → {oj.DvtDiagramLayoutContextNode}
-
Get a node context by index.
Parameters:
Name Type Description index
number index of node context to get - Source:
Returns:
-
getNodeCount() → {number}
-
Get the number of nodes to layout.
- Source:
Returns:
- Type
- number
-
getViewport() → {Object}
-
Get the viewport the component should use after the layout, in the layout's coordinate system.
- Source:
Properties:
Name Type Description x
number x-coordinate y
number y-coordinate w
number width h
number height Returns:
An object containing properties of the viewport- Type
- Object
-
isLocaleR2L() → {boolean}
-
Get whether the reading direction for the locale is right-to-left.
- Source:
Returns:
- Type
- boolean
-
setViewport(viewport)
-
Set the viewport the component should use after the layout, in the layout's coordinate system.
Parameters:
Name Type Description viewport
Object An object containing properties of the viewport that the component should use after the layout - Source:
Properties:
Name Type Description x
number x-coordinate y
number y-coordinate w
number width h
number height