Class TableLayoutManager
java.lang.Object
org.apache.fop.layoutmgr.AbstractBaseLayoutManager
org.apache.fop.layoutmgr.AbstractLayoutManager
org.apache.fop.layoutmgr.BlockStackingLayoutManager
org.apache.fop.layoutmgr.SpacedBorderedPaddedBlockLayoutManager
org.apache.fop.layoutmgr.table.TableLayoutManager
- All Implemented Interfaces:
PercentBaseContext, Constants, BlockLevelLayoutManager, BreakOpportunity, ConditionalElementListener, LayoutManager
public class TableLayoutManager
extends SpacedBorderedPaddedBlockLayoutManager
implements BreakOpportunity
LayoutManager for a table FO.
A table consists of columns, table header, table footer and multiple
table bodies.
The header, footer and body add the areas created from the table cells.
The table then creates areas for the columns, bodies and rows
the render background.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classTemporary holder of column background informations for a table-cell's area.Nested classes/interfaces inherited from class BlockStackingLayoutManager
BlockStackingLayoutManager.MappingPosition -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate booleanprivate Positionprivate ColumnSetupprivate TableContentLayoutManagerprivate Blockprivate List<List<KnuthElement>> private intprivate intprivate booleanprivate List<List<KnuthElement>> private static org.apache.commons.logging.Loglogging instanceprivate doubleprivate booleanprivate List<TableCellLayoutManager> private Markersprivate Markersprivate doubleFields inherited from class SpacedBorderedPaddedBlockLayoutManager
discardBorderAfter, discardBorderBefore, discardPaddingAfter, discardPaddingBefore, effSpaceAfter, effSpaceBeforeFields inherited from class BlockStackingLayoutManager
adjustedSpaceAfter, adjustedSpaceBefore, bpUnit, breakBeforeServed, endIndent, firstVisibleMarkServed, foSpaceAfter, foSpaceBefore, parentArea, referenceIPD, startIndent, storedListFields inherited from class AbstractLayoutManager
childLMiter, childLMs, curChildLM, fobjIter, parentLayoutManagerFields inherited from class AbstractBaseLayoutManager
fobj, generatesBlockArea, generatesReferenceAreaFields inherited from interface Constants
COMPOUND_COUNT, COMPOUND_MASK, COMPOUND_SHIFT, CP_BLOCK_PROGRESSION_DIRECTION, CP_CONDITIONALITY, CP_INLINE_PROGRESSION_DIRECTION, CP_LENGTH, CP_MAXIMUM, CP_MINIMUM, CP_OPTIMUM, CP_PRECEDENCE, CP_WITHIN_COLUMN, CP_WITHIN_LINE, CP_WITHIN_PAGE, EN_100, EN_200, EN_300, EN_400, EN_500, EN_600, EN_700, EN_800, EN_900, EN_ABSOLUTE, EN_ABSOLUTE_COLORMETRIC, EN_AFTER, EN_AFTER_EDGE, EN_ALL, EN_ALPHABETIC, EN_ALTERNATE, EN_ALWAYS, EN_ANY, EN_AUTO, EN_AUTO_EVEN, EN_AUTO_ODD, EN_AVOID, EN_BACKSLANT, EN_BASELINE, EN_BEFORE, EN_BEFORE_EDGE, EN_BIDI_OVERRIDE, EN_BLANK, EN_BLINK, EN_BLOCK, EN_BOLDER, EN_BOTH, EN_BOTTOM, EN_BOUNDED_IN_ONE_DIMENSION, EN_BT, EN_CAPITALIZE, EN_CAPTION, EN_CENTER, EN_CENTRAL, EN_CHARACTER_BY_CHARACTER, EN_COLLAPSE, EN_COLLAPSE_WITH_PRECEDENCE, EN_COLUMN, EN_CONDENSED, EN_CONSIDER_SHIFTS, EN_DASHED, EN_DISCARD, EN_DISREGARD_SHIFTS, EN_DOCUMENT, EN_DOTS, EN_DOTTED, EN_DOUBLE, EN_EMBED, EN_END, EN_END_ON_EVEN, EN_END_ON_ODD, EN_ERROR_IF_OVERFLOW, EN_EVEN, EN_EVEN_PAGE, EN_EXPANDED, EN_EXTRA_CONDENSED, EN_EXTRA_EXPANDED, EN_FALSE, EN_FIC, EN_FIRST, EN_FIRST_INCLUDING_CARRYOVER, EN_FIRST_STARTING, EN_FIXED, EN_FONT_HEIGHT, EN_FORCE, EN_FSWP, EN_GROOVE, EN_HANGING, EN_HIDDEN, EN_HIDE, EN_ICON, EN_IDEOGRAPHIC, EN_IGNORE, EN_IGNORE_IF_AFTER_LINEFEED, EN_IGNORE_IF_BEFORE_LINEFEED, EN_IGNORE_IF_SURROUNDING_LINEFEED, EN_INDEFINITE, EN_INDENT, EN_INHERIT, EN_INSET, EN_INSIDE, EN_INTEGER_PIXELS, EN_ITALIC, EN_JUSTIFY, EN_LARGER, EN_LAST, EN_LAST_ENDING, EN_LAST_STARTING, EN_LEAVE_SEPARATE, EN_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LINK, EN_LOWERCASE, EN_LR, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MERGE, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NEW, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, EN_NO_LINK, EN_NO_OVERLINE, EN_NO_UNDERLINE, EN_NO_WRAP, EN_NON_UNIFORM, EN_NONE, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, EN_OBLIQUE, EN_ODD, EN_ODD_PAGE, EN_ONLY, EN_OUTSET, EN_OUTSIDE, EN_OVERLINE, EN_PAGE, EN_PAGE_SEQUENCE, EN_PAGINATE, EN_PERCEPTUAL, EN_PRE, EN_PRESERVE, EN_REFERENCE_AREA, EN_RELATIVE, EN_RELATIVE_COLOMETRIC, EN_REPEAT, EN_REPEATX, EN_REPEATY, EN_REPLACE, EN_RESAMPLE_ANY_METHOD, EN_RESET_SIZE, EN_REST, EN_RETAIN, EN_RIDGE, EN_RIGHT, EN_RL, EN_RL_TB, EN_RTL, EN_RULE, EN_SATURATION, EN_SCALE_DOWN_TO_FIT, EN_SCALE_TO_FIT, EN_SCALE_UP_TO_FIT, EN_SCROLL, EN_SELECT_FIRST_FITTING, EN_SEMI_CONDENSED, EN_SEMI_EXPANDED, EN_SEPARATE, EN_SHOW, EN_SMALL_CAPS, EN_SMALL_CAPTION, EN_SMALLER, EN_SOLID, EN_SPACE, EN_START, EN_STATIC, EN_STATUS_BAR, EN_SUB, EN_SUPER, EN_SUPPRESS, EN_TABLE, EN_TABLE_FRAGMENT, EN_TB, EN_TB_LR, EN_TB_RL, EN_TEXT_AFTER_EDGE, EN_TEXT_BEFORE_EDGE, EN_TEXT_BOTTOM, EN_TEXT_TOP, EN_TOP, EN_TRADITIONAL, EN_TREAT_AS_SPACE, EN_TREAT_AS_ZERO_WIDTH_SPACE, EN_TRUE, EN_ULTRA_CONDENSED, EN_ULTRA_EXPANDED, EN_UNBOUNDED, EN_UNDERLINE, EN_UNIFORM, EN_UPPERCASE, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_USECONTENT, EN_VISIBLE, EN_WIDER, EN_WRAP, ENUM_COUNT, FO_BASIC_LINK, FO_BIDI_OVERRIDE, FO_BLOCK, FO_BLOCK_CONTAINER, FO_BOOKMARK, FO_BOOKMARK_TITLE, FO_BOOKMARK_TREE, FO_CHANGE_BAR_BEGIN, FO_CHANGE_BAR_END, FO_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FLOW_ASSIGNMENT, FO_FLOW_MAP, FO_FLOW_NAME_SPECIFIER, FO_FLOW_SOURCE_LIST, FO_FLOW_TARGET_LIST, FO_FOLIO_PREFIX, FO_FOLIO_SUFFIX, FO_FOOTNOTE, FO_FOOTNOTE_BODY, FO_INDEX_KEY_REFERENCE, FO_INDEX_PAGE_CITATION_LIST, FO_INDEX_PAGE_CITATION_LIST_SEPARATOR, FO_INDEX_PAGE_CITATION_RANGE_SEPARATOR, FO_INDEX_PAGE_NUMBER_PREFIX, FO_INDEX_PAGE_NUMBER_SUFFIX, FO_INDEX_RANGE_BEGIN, FO_INDEX_RANGE_END, FO_INITIAL_PROPERTY_SET, FO_INLINE, FO_INLINE_CONTAINER, FO_INSTREAM_FOREIGN_OBJECT, FO_LAYOUT_MASTER_SET, FO_LEADER, FO_LIST_BLOCK, FO_LIST_ITEM, FO_LIST_ITEM_BODY, FO_LIST_ITEM_LABEL, FO_MARKER, FO_MULTI_CASE, FO_MULTI_PROPERTIES, FO_MULTI_PROPERTY_SET, FO_MULTI_SWITCH, FO_MULTI_TOGGLE, FO_PAGE_NUMBER, FO_PAGE_NUMBER_CITATION, FO_PAGE_NUMBER_CITATION_LAST, FO_PAGE_SEQUENCE, FO_PAGE_SEQUENCE_MASTER, FO_PAGE_SEQUENCE_WRAPPER, FO_REGION_AFTER, FO_REGION_BEFORE, FO_REGION_BODY, FO_REGION_END, FO_REGION_NAME_SPECIFIER, FO_REGION_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_RETRIEVE_TABLE_MARKER, FO_ROOT, FO_SCALING_VALUE_CITATION, FO_SIMPLE_PAGE_MASTER, FO_SINGLE_PAGE_MASTER_REFERENCE, FO_STATIC_CONTENT, FO_TABLE, FO_TABLE_AND_CAPTION, FO_TABLE_BODY, FO_TABLE_CAPTION, FO_TABLE_CELL, FO_TABLE_COLUMN, FO_TABLE_FOOTER, FO_TABLE_HEADER, FO_TABLE_ROW, FO_TITLE, FO_UNKNOWN_NODE, FO_WRAPPER, FRM_OBJ_COUNT, NOT_SET, PR_ABSOLUTE_POSITION, PR_ACTIVE_STATE, PR_ALIGNMENT_ADJUST, PR_ALIGNMENT_BASELINE, PR_AUTO_RESTORE, PR_AZIMUTH, PR_BACKGROUND, PR_BACKGROUND_ATTACHMENT, PR_BACKGROUND_COLOR, PR_BACKGROUND_IMAGE, PR_BACKGROUND_POSITION, PR_BACKGROUND_POSITION_HORIZONTAL, PR_BACKGROUND_POSITION_VERTICAL, PR_BACKGROUND_REPEAT, PR_BASELINE_SHIFT, PR_BLANK_OR_NOT_BLANK, PR_BLOCK_PROGRESSION_DIMENSION, PR_BORDER, PR_BORDER_AFTER_COLOR, PR_BORDER_AFTER_PRECEDENCE, PR_BORDER_AFTER_STYLE, PR_BORDER_AFTER_WIDTH, PR_BORDER_BEFORE_COLOR, PR_BORDER_BEFORE_PRECEDENCE, PR_BORDER_BEFORE_STYLE, PR_BORDER_BEFORE_WIDTH, PR_BORDER_BOTTOM, PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_WIDTH, PR_BORDER_COLLAPSE, PR_BORDER_COLOR, PR_BORDER_END_COLOR, PR_BORDER_END_PRECEDENCE, PR_BORDER_END_STYLE, PR_BORDER_END_WIDTH, PR_BORDER_LEFT, PR_BORDER_LEFT_COLOR, PR_BORDER_LEFT_STYLE, PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT, PR_BORDER_RIGHT_COLOR, PR_BORDER_RIGHT_STYLE, PR_BORDER_RIGHT_WIDTH, PR_BORDER_SEPARATION, PR_BORDER_SPACING, PR_BORDER_START_COLOR, PR_BORDER_START_PRECEDENCE, PR_BORDER_START_STYLE, PR_BORDER_START_WIDTH, PR_BORDER_STYLE, PR_BORDER_TOP, PR_BORDER_TOP_COLOR, PR_BORDER_TOP_STYLE, PR_BORDER_TOP_WIDTH, PR_BORDER_WIDTH, PR_BOTTOM, PR_BREAK_AFTER, PR_BREAK_BEFORE, PR_CAPTION_SIDE, PR_CASE_NAME, PR_CASE_TITLE, PR_CHANGE_BAR_CLASS, PR_CHANGE_BAR_COLOR, PR_CHANGE_BAR_OFFSET, PR_CHANGE_BAR_PLACEMENT, PR_CHANGE_BAR_STYLE, PR_CHANGE_BAR_WIDTH, PR_CHARACTER, PR_CLEAR, PR_CLIP, PR_COLOR, PR_COLOR_PROFILE_NAME, PR_COLUMN_COUNT, PR_COLUMN_GAP, PR_COLUMN_NUMBER, PR_COLUMN_WIDTH, PR_CONTENT_HEIGHT, PR_CONTENT_TYPE, PR_CONTENT_WIDTH, PR_COUNTRY, PR_CUE, PR_CUE_AFTER, PR_CUE_BEFORE, PR_DESTINATION_PLACEMENT_OFFSET, PR_DIRECTION, PR_DISPLAY_ALIGN, PR_DOMINANT_BASELINE, PR_ELEVATION, PR_EMPTY_CELLS, PR_END_INDENT, PR_ENDS_ROW, PR_EXTENT, PR_EXTERNAL_DESTINATION, PR_FLOAT, PR_FLOW_MAP_NAME, PR_FLOW_MAP_REFERENCE, PR_FLOW_NAME, PR_FLOW_NAME_REFERENCE, PR_FONT, PR_FONT_FAMILY, PR_FONT_SELECTION_STRATEGY, PR_FONT_SIZE, PR_FONT_SIZE_ADJUST, PR_FONT_STRETCH, PR_FONT_STYLE, PR_FONT_VARIANT, PR_FONT_WEIGHT, PR_FORCE_PAGE_COUNT, PR_FORMAT, PR_GLYPH_ORIENTATION_HORIZONTAL, PR_GLYPH_ORIENTATION_VERTICAL, PR_GROUPING_SEPARATOR, PR_GROUPING_SIZE, PR_HEIGHT, PR_HYPHENATE, PR_HYPHENATION_CHARACTER, PR_HYPHENATION_KEEP, PR_HYPHENATION_LADDER_COUNT, PR_HYPHENATION_PUSH_CHARACTER_COUNT, PR_HYPHENATION_REMAIN_CHARACTER_COUNT, PR_ID, PR_INDEX_CLASS, PR_INDEX_KEY, PR_INDICATE_DESTINATION, PR_INITIAL_PAGE_NUMBER, PR_INLINE_PROGRESSION_DIMENSION, PR_INTERNAL_DESTINATION, PR_INTRINSIC_SCALE_VALUE, PR_INTRUSION_DISPLACE, PR_KEEP_TOGETHER, PR_KEEP_WITH_NEXT, PR_KEEP_WITH_PREVIOUS, PR_LANGUAGE, PR_LAST_LINE_END_INDENT, PR_LEADER_ALIGNMENT, PR_LEADER_LENGTH, PR_LEADER_PATTERN, PR_LEADER_PATTERN_WIDTH, PR_LEFT, PR_LETTER_SPACING, PR_LETTER_VALUE, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, PR_LINEFEED_TREATMENT, PR_MARGIN, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP, PR_MARKER_CLASS_NAME, PR_MASTER_NAME, PR_MASTER_REFERENCE, PR_MAX_HEIGHT, PR_MAX_WIDTH, PR_MAXIMUM_REPEATS, PR_MEDIA_USAGE, PR_MERGE_PAGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_RANGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_SEQUENTIAL_PAGE_NUMBERS, PR_MIN_HEIGHT, PR_MIN_WIDTH, PR_NUMBER_COLUMNS_REPEATED, PR_NUMBER_COLUMNS_SPANNED, PR_NUMBER_ROWS_SPANNED, PR_ODD_OR_EVEN, PR_ORPHANS, PR_OVERFLOW, PR_PADDING, PR_PADDING_AFTER, PR_PADDING_BEFORE, PR_PADDING_BOTTOM, PR_PADDING_END, PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_START, PR_PADDING_TOP, PR_PAGE_BREAK_AFTER, PR_PAGE_BREAK_BEFORE, PR_PAGE_BREAK_INSIDE, PR_PAGE_CITATION_STRATEGY, PR_PAGE_HEIGHT, PR_PAGE_NUMBER_TREATMENT, PR_PAGE_POSITION, PR_PAGE_WIDTH, PR_PAUSE, PR_PAUSE_AFTER, PR_PAUSE_BEFORE, PR_PITCH, PR_PITCH_RANGE, PR_PLAY_DURING, PR_POSITION, PR_PRECEDENCE, PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS, PR_PROVISIONAL_LABEL_SEPARATION, PR_REF_ID, PR_REF_INDEX_KEY, PR_REFERENCE_ORIENTATION, PR_REGION_NAME, PR_REGION_NAME_REFERENCE, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_BOUNDARY_WITHIN_TABLE, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, PR_RETRIEVE_POSITION_WITHIN_TABLE, PR_RICHNESS, PR_RIGHT, PR_ROLE, PR_RULE_STYLE, PR_RULE_THICKNESS, PR_SCALING, PR_SCALING_METHOD, PR_SCORE_SPACES, PR_SCRIPT, PR_SHOW_DESTINATION, PR_SIZE, PR_SOURCE_DOCUMENT, PR_SPACE_AFTER, PR_SPACE_BEFORE, PR_SPACE_END, PR_SPACE_START, PR_SPAN, PR_SPEAK, PR_SPEAK_HEADER, PR_SPEAK_NUMERAL, PR_SPEAK_PUNCTUATION, PR_SPEECH_RATE, PR_SRC, PR_START_INDENT, PR_STARTING_STATE, PR_STARTS_ROW, PR_STRESS, PR_SUPPRESS_AT_LINE_BREAK, PR_SWITCH_TO, PR_TABLE_LAYOUT, PR_TABLE_OMIT_FOOTER_AT_BREAK, PR_TABLE_OMIT_HEADER_AT_BREAK, PR_TARGET_PRESENTATION_CONTEXT, PR_TARGET_PROCESSING_CONTEXT, PR_TARGET_STYLESHEET, PR_TEXT_ALIGN, PR_TEXT_ALIGN_LAST, PR_TEXT_ALTITUDE, PR_TEXT_DECORATION, PR_TEXT_DEPTH, PR_TEXT_INDENT, PR_TEXT_SHADOW, PR_TEXT_TRANSFORM, PR_TOP, PR_TREAT_AS_WORD_SPACE, PR_UNICODE_BIDI, PR_VERTICAL_ALIGN, PR_VISIBILITY, PR_VOICE_FAMILY, PR_VOLUME, PR_WHITE_SPACE, PR_WHITE_SPACE_COLLAPSE, PR_WHITE_SPACE_TREATMENT, PR_WIDOWS, PR_WIDTH, PR_WORD_SPACING, PR_WRAP_OPTION, PR_WRITING_MODE, PR_X_ABBREVIATION, PR_X_ALT_TEXT, PR_X_AUTO_TOGGLE, PR_X_BACKGROUND_IMAGE_HEIGHT, PR_X_BACKGROUND_IMAGE_WIDTH, PR_X_BORDER_AFTER_END_RADIUS, PR_X_BORDER_AFTER_RADIUS_END, PR_X_BORDER_AFTER_RADIUS_START, PR_X_BORDER_AFTER_START_RADIUS, PR_X_BORDER_BEFORE_END_RADIUS, PR_X_BORDER_BEFORE_RADIUS_END, PR_X_BORDER_BEFORE_RADIUS_START, PR_X_BORDER_BEFORE_START_RADIUS, PR_X_BORDER_END_RADIUS_AFTER, PR_X_BORDER_END_RADIUS_BEFORE, PR_X_BORDER_RADIUS, PR_X_BORDER_START_RADIUS_AFTER, PR_X_BORDER_START_RADIUS_BEFORE, PR_X_DISABLE_COLUMN_BALANCING, PR_X_HEADER_COLUMN, PR_X_LAYER, PR_X_NUMBER_CONVERSION_FEATURES, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_X_XML_BASE, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAreas(PositionIterator parentIter, LayoutContext layoutContext) The table area is a reference area that contains areas for columns, bodies, rows and the contents are in cells.(package private) voidaddBackgroundArea(Block background) Adds the given area to this layout manager's area, without updating the used bpd.voidaddChildArea(Area childArea) Add the child area to this layout manager.protected voidClears the list of markers in the current table fragment.voiddiscardSpace(KnuthGlue spaceGlue) Discard space.voidintgetBaseLength(int lengthBase, FObj fobj) Returns the base length for the given length base.protected CommonBorderPaddingBackgroundReturns theCommonBorderPaddingBackgroundinstance from the FO handled by this layout manager.(package private) List<List<KnuthElement>> intint(package private) List<List<KnuthElement>> Returns the keep-together property specified on the FObj.Returns the keep-with-next property specified on the FObj.Returns the keep-with-previous property specified on the FObj.getNextKnuthElements(LayoutContext context, int alignment) Get a sequence of KnuthElements representing the content of the node assigned to the LM.getParentArea(Area childArea) Return an Area which can contain the passed childArea.getTable()voidinitialize the layout manager.intnegotiateBPDAdjustment(int adj, KnuthElement lastElement) Negotiate BPD adjustment.protected voidpossiblyRegisterMarkersForTables(Map<String, Marker> markers, boolean isStarting, boolean isFirst, boolean isLast) (package private) voidregisterColumnBackgroundArea(TableColumn column, Block backgroundArea, int xShift) Registers the given area, that will be used to render the part of column background covered by a table-cell.voidregisterMarkers(Map<String, Marker> marks, boolean starting, boolean isfirst, boolean islast) Register the markers for this table.protected voidCalls addAreas() for each of the saved TableCellLayoutManagers.voidreset()Re-initializes this layout manager in order to re-generate its Knuth elements according to a new IPD value.private voidResolves a RetrieveTableMarker by finding a qualifying Marker to which it is bound to.protected voidSaves a TableCellLayoutManager for later use.(package private) voidsetFooterFootnotes(List<List<KnuthElement>> footnotes) (package private) voidsetHeaderFootnotes(List<List<KnuthElement>> footnotes) voidsetRepeateHeader(boolean repeateHeader) private booleansupportResize(FONode node) Methods inherited from class SpacedBorderedPaddedBlockLayoutManager
getBaselineOffset, notifyBorder, notifyPadding, notifySpaceMethods inherited from class BlockStackingLayoutManager
addBlockSpacing, addChildToArea, addFirstVisibleMarks, addInBetweenBreak, addKnuthElementsForBorderPaddingAfter, addKnuthElementsForBorderPaddingBefore, addKnuthElementsForBreakAfter, addKnuthElementsForBreakBefore, addKnuthElementsForSpaceAfter, addKnuthElementsForSpaceBefore, addLastVisibleMarks, addPendingMarks, breakBeforeServed, flush, getBreakBefore, getChangedKnuthElements, getContentAreaBPD, getContentAreaIPD, getCurrentArea, getIPIndents, getKeepTogether, getKeepWithNext, getKeepWithPrevious, getNextChildElements, getNextKnuthElements, getParentKeepTogether, getSpaceAfterProperty, getSpaceBeforeProperty, handleOverflow, isRestartAtLM, makeChildLayoutContext, mustKeepTogether, mustKeepWithNext, mustKeepWithPrevious, neededUnits, setContentAreaIPD, setCurrentArea, updateContentAreaIPDwithOverconstrainedAdjust, updateContentAreaIPDwithOverconstrainedAdjust, wrapPositionElement, wrapPositionElements, wrapPositionElementsMethods inherited from class AbstractLayoutManager
addChildLM, addChildLMs, addId, checkEndOfLayout, createChildLMs, createNextChildLMs, getChildLM, getChildLMs, getCurrentPage, getCurrentPV, getParent, getPSLM, handlingFloat, hasLineAreaDescendant, hasNextChildLM, isFinished, isFirst, isLast, newNoLineAreaDescendantException, notifyEndOfLayout, notifyPos, preserveChildrenAtEndOfLayout, recreateChildrenLMs, registerMarkers, setCurrentChildLM, setFinished, setParent, toString, transferExtensionAttachments, transferExtensions, transferForeignAttributesMethods inherited from class AbstractBaseLayoutManager
getAncestorBlockAreaBPD, getAncestorBlockAreaIPD, getChangeBarList, getFObj, getGeneratesBlockArea, getGeneratesLineArea, getGeneratesReferenceArea, getParentAreaBPD, getParentAreaIPD, getReferenceAreaBPD, getReferenceAreaIPD, isFromFootnote, isRestartable, setFromFootnote, setGeneratesBlockArea, setGeneratesReferenceAreaMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface BreakOpportunity
getBreakBeforeMethods inherited from interface LayoutManager
addChildLM, addChildLMs, createNextChildLMs, getChildLMs, getFObj, getGeneratesBlockArea, getGeneratesLineArea, getGeneratesReferenceArea, getParent, getPSLM, hasLineAreaDescendant, isFinished, isFromFootnote, isRestartable, notifyPos, setFinished, setFromFootnote, setParent
-
Field Details
-
log
private static org.apache.commons.logging.Log loglogging instance -
contentLM
-
columns
-
curBlockArea
-
tableUnit
private double tableUnit -
oldTableUnit
private double oldTableUnit -
autoLayout
private boolean autoLayout -
halfBorderSeparationBPD
private int halfBorderSeparationBPD -
halfBorderSeparationIPD
private int halfBorderSeparationIPD -
columnBackgroundAreas
-
auxiliaryPosition
-
savedTCLMs
-
areAllTCLMsSaved
private boolean areAllTCLMsSaved -
tableMarkers
-
tableFragmentMarkers
-
hasRetrieveTableMarker
private boolean hasRetrieveTableMarker -
repeatedHeader
private boolean repeatedHeader -
headerFootnotes
-
-
Constructor Details
-
TableLayoutManager
Create a new table layout manager.- Parameters:
node- the table FO
-
-
Method Details
-
getCommonBorderPaddingBackground
Description copied from class:SpacedBorderedPaddedBlockLayoutManagerReturns theCommonBorderPaddingBackgroundinstance from the FO handled by this layout manager.- Specified by:
getCommonBorderPaddingBackgroundin classSpacedBorderedPaddedBlockLayoutManager
-
getTable
- Returns:
- the table FO
-
getColumns
- Returns:
- the column setup for this table.
-
initialize
public void initialize()initialize the layout manager. Allows each layout manager to calculate often used values.- Specified by:
initializein interfaceLayoutManager- Overrides:
initializein classAbstractLayoutManager
-
resetSpaces
private void resetSpaces() -
getHalfBorderSeparationBPD
public int getHalfBorderSeparationBPD()- Returns:
- half the value of border-separation.block-progression-dimension, or 0 if border-collapse="collapse".
-
getHalfBorderSeparationIPD
public int getHalfBorderSeparationIPD()- Returns:
- half the value of border-separation.inline-progression-dimension, or 0 if border-collapse="collapse".
-
getNextKnuthElements
Get a sequence of KnuthElements representing the content of the node assigned to the LM.- Specified by:
getNextKnuthElementsin interfaceLayoutManager- Overrides:
getNextKnuthElementsin classBlockStackingLayoutManager- Parameters:
context- the LayoutContext used to store layout informationalignment- the desired text alignment- Returns:
- the list of KnuthElements
-
supportResize
-
getAuxiliaryPosition
- Overrides:
getAuxiliaryPositionin classBlockStackingLayoutManager- Returns:
- a cached auxiliary Position instance used for things like spaces.
-
registerColumnBackgroundArea
Registers the given area, that will be used to render the part of column background covered by a table-cell. If percentages are used to place the background image, the final bpd of the (fraction of) table that will be rendered on the current page must be known. The traits can't then be set when the areas for the cell are created since at that moment this bpd is yet unknown. So they will instead be set in TableLM'saddAreas(PositionIterator, LayoutContext)method.- Parameters:
column- the table-column element from which the cell gets background informationsbackgroundArea- the block of the cell's dimensions that will hold the column backgroundxShift- additional amount by which the image must be shifted to be correctly placed (to counterbalance the cell's start border)
-
addAreas
The table area is a reference area that contains areas for columns, bodies, rows and the contents are in cells.- Specified by:
addAreasin interfaceLayoutManager- Overrides:
addAreasin classAbstractLayoutManager- Parameters:
parentIter- the position iteratorlayoutContext- the layout context for adding areas
-
getParentArea
Return an Area which can contain the passed childArea. The childArea may not yet have any content, but it has essential traits set. In general, if the LayoutManager already has an Area it simply returns it. Otherwise, it makes a new Area of the appropriate class. It gets a parent area for its area by calling its parent LM. Finally, based on the dimensions of the parent area, it initializes its own area. This includes setting the content IPD and the maximum BPD.- Specified by:
getParentAreain interfaceLayoutManager- Overrides:
getParentAreain classAbstractLayoutManager- Parameters:
childArea- the child area- Returns:
- the parent area of the child
-
addChildArea
Add the child area to this layout manager.- Specified by:
addChildAreain interfaceLayoutManager- Overrides:
addChildAreain classBlockStackingLayoutManager- Parameters:
childArea- the child area to add
-
addBackgroundArea
Adds the given area to this layout manager's area, without updating the used bpd.- Parameters:
background- an area
-
negotiateBPDAdjustment
Negotiate BPD adjustment.- Specified by:
negotiateBPDAdjustmentin interfaceBlockLevelLayoutManager- Overrides:
negotiateBPDAdjustmentin classBlockStackingLayoutManager- Parameters:
adj- amount to adjustlastElement- the last knuth element- Returns:
- the resulting adjusted BPD
-
discardSpace
Discard space.- Specified by:
discardSpacein interfaceBlockLevelLayoutManager- Overrides:
discardSpacein classBlockStackingLayoutManager- Parameters:
spaceGlue- the space
-
getKeepTogetherProperty
Returns the keep-together property specified on the FObj. Default implementation throws aIllegalStateException. Must be implemented by the subclass, if applicable.- Specified by:
getKeepTogetherPropertyin interfaceBlockLevelLayoutManager- Overrides:
getKeepTogetherPropertyin classBlockStackingLayoutManager- Returns:
- the keep-together property
-
getKeepWithPreviousProperty
Returns the keep-with-previous property specified on the FObj. Default implementation throws aIllegalStateException. Must be implemented by the subclass, if applicable.- Specified by:
getKeepWithPreviousPropertyin interfaceBlockLevelLayoutManager- Overrides:
getKeepWithPreviousPropertyin classBlockStackingLayoutManager- Returns:
- the keep-together property
-
getKeepWithNextProperty
Returns the keep-with-next property specified on the FObj. Default implementation throws aIllegalStateException. Must be implemented by the subclass, if applicable.- Specified by:
getKeepWithNextPropertyin interfaceBlockLevelLayoutManager- Overrides:
getKeepWithNextPropertyin classBlockStackingLayoutManager- Returns:
- the keep-together property
-
getBaseLength
Returns the base length for the given length base. Length base should be one of the constants defined inLengthBase.- Specified by:
getBaseLengthin interfacePercentBaseContext- Overrides:
getBaseLengthin classAbstractBaseLayoutManager- Parameters:
lengthBase- Indicates which type of the base length value is to be returnedfobj- The FO object against which the percentage should be evaluated- Returns:
- The base length value of the given kind
-
reset
public void reset()Re-initializes this layout manager in order to re-generate its Knuth elements according to a new IPD value.- Specified by:
resetin interfaceLayoutManager- Overrides:
resetin classBlockStackingLayoutManager
-
saveTableHeaderTableCellLayoutManagers
Saves a TableCellLayoutManager for later use.- Parameters:
tclm- a TableCellLayoutManager that has a RetrieveTableMarker
-
repeatAddAreasForSavedTableHeaderTableCellLayoutManagers
protected void repeatAddAreasForSavedTableHeaderTableCellLayoutManagers()Calls addAreas() for each of the saved TableCellLayoutManagers. -
resolveRetrieveTableMarker
Resolves a RetrieveTableMarker by finding a qualifying Marker to which it is bound to.- Parameters:
rtm- the RetrieveTableMarker to be resolved- Returns:
- a bound RetrieveTableMarker instance or null if no qualifying Marker found
-
registerMarkers
public void registerMarkers(Map<String, Marker> marks, boolean starting, boolean isfirst, boolean islast) Register the markers for this table.- Parameters:
marks- the map of markers to addstarting- if the area being added is starting or endingisfirst- if the area being added has is-first traitislast- if the area being added has is-last trait
-
clearTableFragmentMarkers
protected void clearTableFragmentMarkers()Clears the list of markers in the current table fragment. Should be called just before starting a new header (that belongs to the next table fragment). -
flagAsHavingRetrieveTableMarker
public void flagAsHavingRetrieveTableMarker() -
possiblyRegisterMarkersForTables
protected void possiblyRegisterMarkersForTables(Map<String, Marker> markers, boolean isStarting, boolean isFirst, boolean isLast) - Overrides:
possiblyRegisterMarkersForTablesin classAbstractLayoutManager
-
setHeaderFootnotes
-
getHeaderFootnotes
List<List<KnuthElement>> getHeaderFootnotes() -
setRepeateHeader
public void setRepeateHeader(boolean repeateHeader)
-