mxGraphLayout
function mxGraphLayout( | graph | ) |
|
Constructs a new layout using the given layouts.
Arguments
graph
mxGraphLayout.prototype.graph |
Reference to the enclosing mxGraph.
useBoundingBox
mxGraphLayout.prototype.useBoundingBox |
Boolean indicating if the bounding box of the label should be used if its available. Default is true.
parent
mxGraphLayout.prototype.parent |
The parent cell of the layout, if any
moveCell
mxGraphLayout.prototype.moveCell = function( | cell, | | x, | | y | ) |
|
Notified when a cell is being moved in a parent that has automatic layout to update the cell state (eg. index) so that the outcome of the layout will position the vertex as close to the point (x, y) as possible.
Empty implementation.
Parameters
cell | mxCell which has been moved. |
x | X-coordinate of the new cell location. |
y | Y-coordinate of the new cell location. |
resizeCell
mxGraphLayout.prototype.resizeCell = function( | cell, | | bounds | ) |
|
Notified when a cell is being resized in a parent that has automatic layout to update the other cells in the layout.
Empty implementation.
Parameters
cell | mxCell which has been moved. |
bounds | mxRectangle that represents the new cell bounds. |
execute
mxGraphLayout.prototype.execute = function( | parent | ) |
|
Executes the layout algorithm for the children of the given parent.
Parameters
parent | mxCell whose children should be layed out. |
getGraph
mxGraphLayout.prototype.getGraph = function() |
Returns the graph that this layout operates on.
getConstraint
mxGraphLayout.prototype.getConstraint = function( | key, | | cell, | | edge, | | source | ) |
|
Returns the constraint for the given key and cell. The optional edge and source arguments are used to return inbound and outgoing routing- constraints for the given edge and vertex. This implementation always returns the value for the given key in the style of the given cell.
Parameters
key | Key of the constraint to be returned. |
cell | mxCell whose constraint should be returned. |
edge | Optional mxCell that represents the connection whose constraint should be returned. Default is null. |
source | Optional boolean that specifies if the connection is incoming or outgoing. Default is null. |
traverse
mxGraphLayout.traverse = function( | vertex, | | directed, | | func, | | edge, | | visited | ) |
|
Traverses the (directed) graph invoking the given function for each visited vertex and edge. The function is invoked with the current vertex and the incoming edge as a parameter. This implementation makes sure each vertex is only visited once. The function may return false if the traversal should stop at the given vertex.
Example
mxLog.show();
let cell = graph.getSelectionCell();
graph.traverse(cell, false, function(vertex, edge)
{
mxLog.debug(graph.getLabel(vertex));
});
Parameters
vertex | mxCell that represents the vertex where the traversal starts. |
directed | Optional boolean indicating if edges should only be traversed from source to target. Default is true. |
func | Visitor function that takes the current vertex and the incoming edge as arguments. The traversal stops if the function returns false. |
edge | Optional mxCell that represents the incoming edge. This is null for the first step of the traversal. |
visited | Optional mxDictionary of cell paths for the visited cells. |
isAncestor
mxGraphLayout.prototype.isAncestor = function( | parent, | | child, | | traverseAncestors | ) |
|
Returns true if the given parent is an ancestor of the given child.
Parameters
parent | mxCell that specifies the parent. |
child | mxCell that specifies the child. |
traverseAncestors | boolean whether to |
isVertexMovable
mxGraphLayout.prototype.isVertexMovable = function( | cell | ) |
|
Returns a boolean indicating if the given mxCell is movable or bendable by the algorithm. This implementation returns true if the given cell is movable in the graph.
Parameters
cell | mxCell whose movable state should be returned. |
isVertexIgnored
mxGraphLayout.prototype.isVertexIgnored = function( | vertex | ) |
|
Returns a boolean indicating if the given mxCell should be ignored by the algorithm. This implementation returns false for all vertices.
Parameters
vertex | mxCell whose ignored state should be returned. |
isEdgeIgnored
mxGraphLayout.prototype.isEdgeIgnored = function( | edge | ) |
|
Returns a boolean indicating if the given mxCell should be ignored by the algorithm. This implementation returns false for all vertices.
Parameters
cell | mxCell whose ignored state should be returned. |
setEdgeStyleEnabled
mxGraphLayout.prototype.setEdgeStyleEnabled = function( | edge, | | value | ) |
|
Disables or enables the edge style of the given edge.
setOrthogonalEdge
mxGraphLayout.prototype.setOrthogonalEdge = function( | edge, | | value | ) |
|
Disables or enables orthogonal end segments of the given edge.
getParentOffset
mxGraphLayout.prototype.getParentOffset = function( | parent | ) |
|
Determines the offset of the given parent to the parent of the layout
setEdgePoints
mxGraphLayout.prototype.setEdgePoints = function( | edge, | | points | ) |
|
Replaces the array of mxPoints in the geometry of the given edge with the given array of mxPoints.
setVertexLocation
mxGraphLayout.prototype.setVertexLocation = function( | cell, | | x, | | y | ) |
|
Sets the new position of the given cell taking into account the size of the bounding box if useBoundingBox is true. The change is only carried out if the new location is not equal to the existing location, otherwise the geometry is not replaced with an updated instance. The new or old bounds are returned (including overlapping labels).
Parameters
cell | mxCell whose geometry is to be set. |
x | Integer that defines the x-coordinate of the new location. |
y | Integer that defines the y-coordinate of the new location. |
getVertexBounds
mxGraphLayout.prototype.getVertexBounds = function( | cell | ) |
|
Returns an mxRectangle that defines the bounds of the given cell or the bounding box if useBoundingBox is true.
arrangeGroups
mxGraphLayout.prototype.arrangeGroups = function( | cells, | | border, | | topBorder, | | rightBorder, | | bottomBorder, | | leftBorder | ) |
|
Shortcut to mxGraph.updateGroupBounds with moveGroup set to true.
WeightedCellSorter
A utility class used to track cells whilst sorting occurs on the weighted sum of their connected edges. Does not violate (x.compareTo(y)==0) == (x.equals(y))
WeightedCellSorter
function WeightedCellSorter( | cell, | | weightedValue | ) |
|
Constructs a new weighted cell sorted for the given cell and weight.
weightedValue
WeightedCellSorter.prototype.weightedValue |
The weighted value of the cell stored.
nudge
WeightedCellSorter.prototype.nudge |
Whether or not to flip equal weight values.
visited
WeightedCellSorter.prototype.visited |
Whether or not this cell has been visited in the current assignment.
rankIndex
WeightedCellSorter.prototype.rankIndex |
The index this cell is in the model rank.
cell
WeightedCellSorter.prototype.cell |
The cell whose median value is being calculated.
compare
WeightedCellSorter.prototype.compare = function( | a, | | b | ) |
|
Compares two WeightedCellSorters.