org.eclipse.draw2d.graph

## Class Subgraph

- java.lang.Object
- - org.eclipse.draw2d.graph.Node
  - - org.eclipse.draw2d.graph.Subgraph

    public class Subgraph
    extends Node

A Node which may contain other nodes. A Subgraph is a compound or container node. It may have incoming and outgoing edges just like a node. Subgraphs are used in `CompoundDirectedGraph`s. A proper layout of a compound graph ensures that all of a subgraph's children are placed inside its rectangular region. Nodes which do not belong to the subgraph must be placed outside that region.

A Subgraph may contain another Subgraph.

A Subgraph has additional geometric properties which describe the containing box. They are:

- `insets` - the size of the subgraph's border. A subgraph is typically rendered as a thin rectangular box. Sometimes this box is labeled or decorated. The insets can be used to reserve space for this purpose.
- `innerPadding` - the amount of empty space that must be preserved just inside the subgraph's border. This is the minimum space between the border, and the children node's contained inside the subgraph.

Since:
  2.1.2

### Field Summary

Fields
`Insets` `innerPadding` The minimum space between this subgraph's border and it's children.
`Insets` `insets` The space required for this subgraph's border.
`NodeList` `members` The children of this subgraph.

### Fields inherited from class org.eclipse.draw2d.graph.Node

`data, height, incoming, incomingOffset, outgoing, outgoingOffset, rowOrder, sortValue, width, x, y`

### Constructor Summary

Constructors
Constructor and Description
`Subgraph(java.lang.Object data)` Constructs a new subgraph with the given data object.
`Subgraph(java.lang.Object data, Subgraph parent)` Constructs a new subgraph with the given data object and parent subgraph.

### Method Summary

Methods
`void` `addMember(Node n)` Adds the given node to this subgraph.

### Methods inherited from class org.eclipse.draw2d.graph.Node

`getLeft, getOffsetIncoming, getOffsetOutgoing, getPadding, getParent, getRight, getRowConstraint, setPadding, setParent, setRowConstraint, setSize, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### members

    public NodeList members

The children of this subgraph. Nodes may not belong to more than one subgraph.

#### insets

    public Insets insets

The space required for this subgraph's border. The default value is undefined.

#### innerPadding

    public Insets innerPadding

The minimum space between this subgraph's border and it's children.

### Constructor Detail

#### Subgraph

    public Subgraph(java.lang.Object data)

Constructs a new subgraph with the given data object.

Parameters:
  `data` - an arbitrary data object
See Also:
  `Node.Node(Object)`

#### Subgraph

    public Subgraph(java.lang.Object data,
            Subgraph parent)

Constructs a new subgraph with the given data object and parent subgraph.

Parameters:
  `data` - an arbitrary data object
  `parent` - the parent
See Also:
  `Node.Node(Object, Subgraph)`

### Method Detail

#### addMember

    public void addMember(Node n)

Adds the given node to this subgraph.

Parameters:
  `n` - the node to add