Package org.eclipse.draw2d.text
Interface FlowContext
- All Known Implementing Classes:
BlockFlowLayout
,FlowContainerLayout
,InlineFlowLayout
,PageFlowLayout
public interface FlowContext
The context that a
FlowFigureLayout
uses to perform its layout.
WARNING: This interface is not intended to be implemented by clients. It exists to define the API between the layout and its context.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addLine
(CompositeBox box) Adds an entire line into the context.void
addToCurrentLine
(FlowBox box) Adds the given box into the current line.void
endLine()
The current line should be committed if it is occupied, and then set tonull
.boolean
This method is used to convey layout state to different FlowFigures.int
This method can be used to query the amount of space left on the current line.void
getWidthLookahead
(FlowFigure child, int[] width) This method looks ahead for line-breaks.boolean
void
setContinueOnSameLine
(boolean value) This method is used to convey layout state to different FlowFigures.
-
Method Details
-
addToCurrentLine
Adds the given box into the current line.- Parameters:
box
- the FlowBox to add
-
addLine
Adds an entire line into the context. If there is a previous line, it is ended.- Parameters:
box
- the line being added- Since:
- 3.1
-
endLine
void endLine()The current line should be committed if it is occupied, and then set tonull
. Otherwise, do nothing. -
getRemainingLineWidth
int getRemainingLineWidth()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.- Returns:
- the amount of space left on the current line
- Since:
- 3.1
-
getContinueOnSameLine
boolean getContinueOnSameLine()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- Since:
- 3.1
- See Also:
-
getWidthLookahead
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 childwidth
- 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- Since:
- 3.1
-
isCurrentLineOccupied
boolean isCurrentLineOccupied()- Returns:
true
if the current line contains any fragments
-
setContinueOnSameLine
void setContinueOnSameLine(boolean value) 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- Since:
- 3.1
- See Also:
-