Class ValidateModelStep
- java.lang.Object
-
- org.jfree.layouting.renderer.process.IterateStructuralProcessStep
-
- org.jfree.layouting.renderer.process.ValidateModelStep
-
public class ValidateModelStep extends IterateStructuralProcessStep
This step checks, whether the model will be layoutable. Closed nodes are always layoutable. Nodes are non-layoutable, if they contain boxes with a width or margin of 'auto', tables with auto-width columns or if there is an open out-of-normal-flow element (floating or positioned element). if the preferred width is AUTO, then we have to check the whole thing. If (according to CSS3-Box) the width computes to the intrinsic width, then the layout is not computable yet. For now, we always assume that all elements have a horizontal flow. That simplifies all tests to whether the element is a flow root. For tables, the choice is a bit more complex. If the table uses the auto table-layout algorithm, the model is layoutable, if the table has no auto-width columns. If the table uses the fixed layout algorithm, the width of the table is auto but all columns have a non-auto-width, then the model will be layoutable at once. Columns with an auto-width in a fixed table model become layoutable as soon as the first row of data has been given.- Author:
- Thomas Morgner
-
-
Field Summary
Fields Modifier and Type Field Description static intBOX_MUST_BE_CLOSEDstatic intLAYOUT_OKstatic intNEED_MORE_DATA
-
Constructor Summary
Constructors Constructor Description ValidateModelStep()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfinishBlockBox(BlockRenderBox box)java.lang.ObjectgetLayoutFailureNodeId()intgetLayoutFailureResolution()booleanisLayoutable(LogicalPageBox root)protected booleanstartBlockBox(BlockRenderBox box)protected booleanstartInlineBox(InlineRenderBox box)protected voidstartNormalFlow(NormalFlowRenderBox box)-
Methods inherited from class org.jfree.layouting.renderer.process.IterateStructuralProcessStep
finishInlineBox, finishNormalFlow, finishOtherBox, finishOtherNode, processBoxChilds, processParagraphChilds, startOtherBox, startOtherNode, startProcessing
-
-
-
-
Field Detail
-
LAYOUT_OK
public static final int LAYOUT_OK
- See Also:
- Constant Field Values
-
NEED_MORE_DATA
public static final int NEED_MORE_DATA
- See Also:
- Constant Field Values
-
BOX_MUST_BE_CLOSED
public static final int BOX_MUST_BE_CLOSED
- See Also:
- Constant Field Values
-
-
Method Detail
-
isLayoutable
public boolean isLayoutable(LogicalPageBox root)
-
getLayoutFailureNodeId
public java.lang.Object getLayoutFailureNodeId()
-
getLayoutFailureResolution
public int getLayoutFailureResolution()
-
finishBlockBox
protected void finishBlockBox(BlockRenderBox box)
- Overrides:
finishBlockBoxin classIterateStructuralProcessStep
-
startBlockBox
protected boolean startBlockBox(BlockRenderBox box)
- Overrides:
startBlockBoxin classIterateStructuralProcessStep
-
startInlineBox
protected boolean startInlineBox(InlineRenderBox box)
- Overrides:
startInlineBoxin classIterateStructuralProcessStep
-
startNormalFlow
protected void startNormalFlow(NormalFlowRenderBox box)
- Overrides:
startNormalFlowin classIterateStructuralProcessStep
-
-