Class TreeLayout<TreeNode>
- Type Parameters:
TreeNode
- Type of elements used as nodes in the tree
The nodes with their final layout can be retrieved through
getNodeBounds()
.
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionTreeLayout
(TreeForTreeLayout<TreeNode> tree, NodeExtentProvider<TreeNode> nodeExtentProvider, Configuration<TreeNode> configuration) TreeLayout
(TreeForTreeLayout<TreeNode> tree, NodeExtentProvider<TreeNode> nodeExtentProvider, Configuration<TreeNode> configuration, boolean useIdentity) Creates a TreeLayout for a given tree. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Check if the tree is a "valid" tree.void
dumpTree
(PrintStream printStream) void
dumpTree
(PrintStream printStream, TreeLayout.DumpConfiguration dumpConfiguration) Prints a dump of the tree to the given printStream, using the node's "toString" method.Returns the bounds of the tree layout.Returns the Configuration used by thisTreeLayout
.int
Returns the number of levels of the tree.Returns the layout of the tree nodes by mapping each node of the tree to its bounds (position and size).Returns theNodeExtentProvider
used by thisTreeLayout
.double
getSizeOfLevel
(int level) Returns the size of a level.getTree()
Returns the Tree the layout is created for.
-
Constructor Details
-
TreeLayout
public TreeLayout(TreeForTreeLayout<TreeNode> tree, NodeExtentProvider<TreeNode> nodeExtentProvider, Configuration<TreeNode> configuration, boolean useIdentity) Creates a TreeLayout for a given tree.In addition to the tree the
NodeExtentProvider
and theConfiguration
must be given.- Parameters:
tree
-nodeExtentProvider
-configuration
-useIdentity
- [default: false] when true, identity ("==") is used instead of equality ("equals(...)") when checking nodes. Within a tree each node must only exist once (using this check).
-
TreeLayout
public TreeLayout(TreeForTreeLayout<TreeNode> tree, NodeExtentProvider<TreeNode> nodeExtentProvider, Configuration<TreeNode> configuration)
-
-
Method Details
-
getTree
Returns the Tree the layout is created for.- Returns:
- the Tree the layout is created for
-
getNodeExtentProvider
Returns theNodeExtentProvider
used by thisTreeLayout
.- Returns:
- the
NodeExtentProvider
used by thisTreeLayout
-
getConfiguration
Returns the Configuration used by thisTreeLayout
.- Returns:
- the Configuration used by this
TreeLayout
-
getBounds
Returns the bounds of the tree layout.The bounds of a TreeLayout is the smallest rectangle containing the bounds of all nodes in the layout. It always starts at (0,0).
- Returns:
- the bounds of the tree layout
-
getLevelCount
public int getLevelCount()Returns the number of levels of the tree.- Returns:
- [level > 0]
-
getSizeOfLevel
public double getSizeOfLevel(int level) Returns the size of a level.When the root is located at the top or bottom the size of a level is the maximal height of the nodes of that level. When the root is located at the left or right the size of a level is the maximal width of the nodes of that level.
- Parameters:
level
-- Returns:
- the size of the level [level >= 0 && level < levelCount]
-
getNodeBounds
Returns the layout of the tree nodes by mapping each node of the tree to its bounds (position and size).For each rectangle x and y will be >= 0. At least one rectangle will have an x == 0 and at least one rectangle will have an y == 0.
- Returns:
- maps each node of the tree to its bounds (position and size).
-
checkTree
public void checkTree()Check if the tree is a "valid" tree.Typically you will use this method during development when you get an unexpected layout from your trees.
The following checks are performed:
- Each node must only occur once in the tree.
-
dumpTree
Prints a dump of the tree to the given printStream, using the node's "toString" method.- Parameters:
printStream
-dumpConfiguration
- [default: new DumpConfiguration()]
-
dumpTree
-