org.eclipse.draw2d.text

## Class FlowContainerLayout

- java.lang.Object
- - org.eclipse.draw2d.text.FlowFigureLayout
  - - org.eclipse.draw2d.text.FlowContainerLayout

All Implemented Interfaces:
  LayoutManager, FlowContext

Direct Known Subclasses:
  BlockFlowLayout, InlineFlowLayout

    public abstract class FlowContainerLayout
    extends FlowFigureLayout
    implements FlowContext

A layout for FlowFigures with children.

WARNING: This class is not intended to be subclassed by clients.

Since:
  2.1

### Constructor Summary

Constructors
`protected` `FlowContainerLayout(FlowFigure flowFigure)`

### Method Summary

Methods
`void` `addToCurrentLine(FlowBox child)` Adds the given box the current line and clears the context's state.
`protected void` `cleanup()` Flush anything pending and free all temporary data used during layout.
`protected abstract void` `createNewLine()` Used by getCurrentLine().
`protected abstract void` `flush()` Called after `layoutChildren()` when all children have been laid out.
`int` `getRemainingLineWidth()` This method can be used to query the amount of space left on the current line.
`boolean` `isCurrentLineOccupied()`
`protected void` `layout()` Called during `FlowFigureLayout.layout(IFigure)`.
`protected void` `layoutChildren()` Layout all children.
`protected abstract void` `preLayout()` Called before layoutChildren() to setup any necessary state.

### Methods inherited from class org.eclipse.draw2d.text.FlowFigureLayout

`getConstraint, getContext, getFlowFigure, getMinimumSize, getPreferredSize, invalidate, layout, remove, setConstraint, setFlowContext`

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

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

### Methods inherited from interface org.eclipse.draw2d.text.FlowContext

`addLine, endLine, getContinueOnSameLine, getWidthLookahead, setContinueOnSameLine`

### Constructor Detail

#### FlowContainerLayout

    protected FlowContainerLayout(FlowFigure flowFigure)

See Also:
  `FlowFigureLayout.FlowFigureLayout(FlowFigure)`

### Method Detail

#### addToCurrentLine

    public void addToCurrentLine(FlowBox child)

Adds the given box the current line and clears the context's state.

Specified by:
  `addToCurrentLine` in interface `FlowContext`
Parameters:
  `child` - the FlowBox to add
See Also:
  `FlowContext.addToCurrentLine(FlowBox)`

#### cleanup

    protected void cleanup()

Flush anything pending and free all temporary data used during layout.

#### createNewLine

    protected abstract void createNewLine()

Used by getCurrentLine().

#### flush

    protected abstract void flush()

Called after `layoutChildren()` when all children have been laid out. This method exists to flush the last line.

#### getRemainingLineWidth

    public int getRemainingLineWidth()

Description copied from interface: `FlowContext`
This method can be used to query the amount of space left on the current line. It can help determine where to wrap during layout.

Specified by:
  `getRemainingLineWidth` in interface `FlowContext`
Returns:
  the amount of space left on the current line
See Also:
  `FlowContext.getRemainingLineWidth()`

#### isCurrentLineOccupied

    public boolean isCurrentLineOccupied()

Specified by:
  `isCurrentLineOccupied` in interface `FlowContext`
Returns:
  `true` if the current line contains any fragments
See Also:
  `FlowContext.isCurrentLineOccupied()`

#### layout

    protected void layout()

Description copied from class: `FlowFigureLayout`
Called during `FlowFigureLayout.layout(IFigure)`.

Specified by:
  `layout` in class `FlowFigureLayout`
See Also:
  `FlowFigureLayout.layout()`

#### layoutChildren

    protected void layoutChildren()

Layout all children.

#### preLayout

    protected abstract void preLayout()

Called before layoutChildren() to setup any necessary state.