What the Grouping concept basically provides, is the possibility to put a graph structure inside a node which itself is contained in another graph. A node that contains another graph structure is called a group node. By such a nesting of nodes or entire graphs inside of other nodes, a tree-like hierarchy of nodes is induced. The top-level graph of this hierarchy is called the root graph. A graph that contains a nested graph is called the parent graph of that nested graph.
Group nodes can be in either of two states. When closed, their contained graph structure is not accessible and thus cannot be edited. When open, the nodes and edges contained in a group node are shown inside its bounds and are part of the same graph structure as the group node. This allows them being edited. The latter scheme also allows visualizing edges in their entirety, even if their end points reside on different levels in the node hierarchy.
In a hierarchy of nodes, parts of a graph can be moved to another hierarchy
level, i.e., graph structures can be moved into and out of group nodes.
The edges connecting the part that has been moved with the rest of the graph
won't get lost, even if group nodes get closed.
Original edges will be represented by edges that connect to the node in which the subgraph is nested in. When opening group nodes or unpacking the contents of a group node again, the original edges will be restored. Hence the structure of a graph won't be destroyed by a sequence of nesting operations.
Node Hierarchy Features
yEd displays three different views of a node hierarchy at the same time:
- An overview that displays the graph which is shown in the main view in its entirety. See also: The 'Overview' Tool Window
- The Structure View that shows the complete node hierarchy. It supports modifications of the graph's node hierarchy using simple mouse gestures, for example. See also: The 'Structure View' Tool Window
- The main view displays the graph from a specific hierarchy level downward. Optionally, the graphs that are nested within closed group nodes are displayed as well, whereas the contents of open groups are recursively visualized at all times.
The Menu Bar
The 'Grouping' menu contains the following items:
The Popup Menu
By right clicking on the main view a popup menu will become visible. As a convenience the menu contains the more frequently used entries of the Grouping menu.
Using the Node Hierarchy Features
There are some additional node hierarchy-related operations available on the main view that are triggered by mouse gestures.
- Dropping a selection of nodes onto an open group node will make the selected nodes part of the grouping when the SHIFT modifier is pressed. The location of the mouse cursor must be on an open group node when the mouse button gets released.
- Starting a drag from within an open group node while holding the SHIFT modifier will ungroup the dragged nodes from their current group.
- Double-clicking on a group node triggers the View Group Content action.
- When creating edges from or to open group nodes, the edge creation will only be triggered if the border of the group node is used for the beginning or the ending of the edge creation. This makes it possible to drag selection boxes and create bends for edges inside of group nodes, but not in the region of the border of the group node.
- Unlike with ordinary nodes, group nodes will only be selected if the selection box fully contains the group node. This makes it possible to select nodes within an open group node without selecting the group node itself.