|
|
|
|
|
Layout Management
Default implementation for all the common layout patterns is available in Essential Diagram. It also lets you customize existing layout techniques and implement new ones as well.
|
|
|
|
The DirectedTreeLayoutManager implements a layout manager for arranging nodes in a tree-like structure. This LayoutManager can be applied to any diagram that is composed of a directed tree graph with unique root and child nodes. The layout manager lets you orient the tree in just about any direction around the root, and can be used for creating many sophisticated arrangements, a few of which have been illustrated below:
Top-to-Bottom Vertical Tree Layout
Bottom-to-Top Vertical Tree Layout
Left-to-Right Horizontal Tree Layout
Right to Left Horizontal Tree Layout
|
|
|
|
The RadialTreeLayoutManager arranges nodes in a circular layout, positioning the root node at the center of the graph and the child nodes in a circular fashion around the root. Sub-trees formed by the branching of child nodes are located radially around the child nodes. This arrangement results in an ever-expanding concentric arrangement with radial proximity to the root node indicating the node level in the hierarchy.
Radial Hierarchical Layout
|
|
|
|
The TableTreeLayoutManager arranges nodes in a Table layout, positioning the nodes in a rectangular grid of cells, with each node spanning over a single table cell. The TableTreeLayoutManager comes in handy when tabular relationships need to be depicted.
Diagram with Table Tree Layout
|
|
|
|
The Symmetric layout manager arranges all the nodes in a symmetric fashion using the vertical input distance, which specifies the distance between the adjacent nodes.
Symmetric Layout with vertical distance of 100
|
|
|
|
Hierarchical layout manager arranges the nodes in a hierarchical fashion depending on the parent child relationship. Unlike the directed layout, more than one parent item can be defined for a child.
Hierarchical Layout
|
|
|
|
The LayoutManager type provides the basic plumbing required for positioning symbols and nodes and also helps in abstracting away the layout logic from the rest of the diagram data.
By deriving from the LayoutManager type, you can implement custom layout management logic for your diagrams.
Custom Hierarchical Layout
|
|
|
|
|
|
|
|