Package 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
The layout for
BlockFlow
figures.
WARNING: This class is not intended to be subclassed by clients.
- Since:
- 2.1
-
Constructor Summary
ConstructorsConstructorDescriptionBlockFlowLayout
(BlockFlow blockFlow) Creates a new BlockFlowLayout with the given BlockFlow. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Align the line horizontally and then commit it.void
addLine
(CompositeBox box) Adds an entire line into the context.void
Marks the blocks contents as changed.protected void
cleanup()
Flush anything pending and free all temporary data used during layout.protected void
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 tonull
.protected void
flush()
Called afterFlowContainerLayout.layoutChildren()
when all children have been laid out.protected final BlockFlow
Returns the BlockFlow associated with this BlockFlowLayoutboolean
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
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
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
-
Constructor Details
-
BlockFlowLayout
Creates a new BlockFlowLayout with the given BlockFlow.- Parameters:
blockFlow
- the BlockFlow
-
-
Method Details
-
addCurrentLine
protected void addCurrentLine()Align the line horizontally and then commit it. -
addLine
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:
-
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 classFlowContainerLayout
- See Also:
-
createNewLine
protected void createNewLine()Description copied from class:FlowContainerLayout
Used by getCurrentLine().- Specified by:
createNewLine
in classFlowContainerLayout
- See Also:
-
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 tonull
. Otherwise, do nothing.- See Also:
-
flush
protected void flush()Description copied from class:FlowContainerLayout
Called afterFlowContainerLayout.layoutChildren()
when all children have been laid out. This method exists to flush the last line.- Specified by:
flush
in classFlowContainerLayout
- See Also:
-
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:
-
getWidthLookahead
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 childresult
- 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:
-
preLayout
protected void preLayout()Description copied from class:FlowContainerLayout
Called before layoutChildren() to setup any necessary state.- Specified by:
preLayout
in classFlowContainerLayout
- See Also:
-
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:
-
setupBlock
protected void setupBlock()sets up the single block that contains all of the lines.
-