org.jfree.layouting.renderer.process
Class 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
public static final int BOX_MUST_BE_CLOSED
public static final int LAYOUT_OK
public static final int NEED_MORE_DATA
public ValidateModelStep()
public Object getLayoutFailureNodeId()
public int getLayoutFailureResolution()