Eclipse Draw2d 3.3

## org.eclipse.draw2d.text
Class BlockFlowLayout

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

All Implemented Interfaces:
  LayoutManager, FlowContext

Direct Known Subclasses:
  PageFlowLayout

    public class BlockFlowLayout

extends FlowContainerLayout

The layout for `BlockFlow` figures.

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

Since:
  2.1

Constructor Summary
`BlockFlowLayout(BlockFlow blockFlow)` Creates a new BlockFlowLayout with the given BlockFlow.

Method Summary
`protected void` `addCurrentLine()` Align the line horizontally and then commit it.
`void` `addLine(CompositeBox box)` Adds an entire line into the context.
`void` `blockContentsChanged()` Marks the blocks contents as changed.
`protected void` `cleanup()` Flush anything pending and free all temporary data used during layout.
`protected void` `createNewLine()` Used by getCurrentLine().
`protected void` `endBlock()` Called by flush(), adds the BlockBox associated with this BlockFlowLayout to the current line and then ends the line.
`void` `endLine()` The current line should be committed if it is occupied, and then set to `null`.
`protected void` `flush()` Called after `FlowContainerLayout.layoutChildren()` when all children have been laid out.
`protected BlockFlow` `getBlockFlow()` Returns the BlockFlow associated with this BlockFlowLayout
`boolean` `getContinueOnSameLine()` This method is used to convey layout state to different FlowFigures.
`void` `getWidthLookahead(FlowFigure child, int[] result)` This method looks ahead for line-breaks.
`protected void` `preLayout()` Called before layoutChildren() to setup any necessary state.
`void` `setContinueOnSameLine(boolean value)` This method is used to convey layout state to different FlowFigures.
`protected void` `setupBlock()` sets up the single block that contains all of the lines.

Methods inherited from class org.eclipse.draw2d.text.FlowContainerLayout
`addToCurrentLine, getRemainingLineWidth, isCurrentLineOccupied, layout, layoutChildren`

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`

Constructor Detail

### BlockFlowLayout

    public BlockFlowLayout(BlockFlow blockFlow)

  Creates a new BlockFlowLayout with the given BlockFlow.

  Parameters:
    `blockFlow` - the BlockFlow

Method Detail

### addCurrentLine

    protected void addCurrentLine()

  Align the line horizontally and then commit it.

### addLine

    public void addLine(CompositeBox box)

  Description copied from interface: `FlowContext`
  Adds an entire line into the context. If there is a previous line, it is ended.

  Parameters:
    `box` - the line being added
  See Also:
    `FlowContext.addLine(CompositeBox)`

### blockContentsChanged

    public void blockContentsChanged()

  Marks the blocks contents as changed. This means that children will be invalidated during validation.

  Since:
    3.1

### cleanup

    protected void cleanup()

  Description copied from class: `FlowContainerLayout`
  Flush anything pending and free all temporary data used during layout.

  Overrides:
    `cleanup` in class `FlowContainerLayout`
  See Also:
    `FlowContainerLayout.cleanup()`

### createNewLine

    protected void createNewLine()

  Description copied from class: `FlowContainerLayout`
  Used by getCurrentLine().

  Specified by:
    `createNewLine` in class `FlowContainerLayout`
  See Also:
    `FlowContainerLayout.createNewLine()`

### endBlock

    protected void endBlock()

  Called by flush(), adds the BlockBox associated with this BlockFlowLayout to the current line and then ends the line.

### endLine

    public void endLine()

  Description copied from interface: `FlowContext`
  The current line should be committed if it is occupied, and then set to `null`. Otherwise, do nothing.

  See Also:
    `FlowContext.endLine()`

### flush

    protected void flush()

  Description copied from class: `FlowContainerLayout`
  Called after `FlowContainerLayout.layoutChildren()` when all children have been laid out. This method exists to flush the last line.

  Specified by:
    `flush` in class `FlowContainerLayout`
  See Also:
    `FlowContainerLayout.flush()`

### getBlockFlow

    protected final BlockFlow getBlockFlow()

  Returns the BlockFlow associated with this BlockFlowLayout

  Returns:
    the BlockFlow

### getContinueOnSameLine

    public boolean getContinueOnSameLine()

  Description copied from interface: `FlowContext`
  This method is used to convey layout state to different FlowFigures. This state is cleared when a fragment is added to the current line and once the layout is complete.

  Returns:
    `true` if the next fragment should be placed on the current line
  See Also:
    `FlowContext.getContinueOnSameLine()`

### getWidthLookahead

    public void getWidthLookahead(FlowFigure child,
                                  int[] result)

  Description copied from interface: `FlowContext`
  This method looks ahead for line-breaks. When laying out, this method can be used to determine the next line-break across multiple figures.

  Parameters:
    `child` - the search will occur starting from the figure after the given child
    `result` - the width before the next line-break (if one's found; all the width, otherwise) will be added on to the first int in the given array
  See Also:
    `FlowContext.getWidthLookahead(FlowFigure, int[])`

### preLayout

    protected void preLayout()

  Description copied from class: `FlowContainerLayout`
  Called before layoutChildren() to setup any necessary state.

  Specified by:
    `preLayout` in class `FlowContainerLayout`
  See Also:
    `FlowContainerLayout.preLayout()`

### setContinueOnSameLine

    public void setContinueOnSameLine(boolean value)

  Description copied from interface: `FlowContext`
  This method is used to convey layout state to different FlowFigures. This state is cleared when a fragment is added and once the layout is complete.

  Parameters:
    `value` - `true` indicates that the first fragment of the next TextFlow should be laid out on the current line, and not a new one
  See Also:
    `FlowContext.setContinueOnSameLine(boolean)`

### setupBlock

    protected void setupBlock()

  sets up the single block that contains all of the lines.

Eclipse Draw2d 3.3

Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.