Package 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
Modifier and Type
Field
Description
`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
Description
`Subgraph(Object data)`
Constructs a new subgraph with the given data object.
`Subgraph(Object data, Subgraph parent)`
Constructs a new subgraph with the given data object and parent subgraph.

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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 Details

### Subgraph

public Subgraph(Object data)
Constructs a new subgraph with the given data object.

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

### Subgraph

public Subgraph(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(Object, Subgraph)`

## Method Details

### addMember

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

Parameters:
  `n` - the node to add