FOM Reference > Formatting > Tables > fTableResolved interface
  
fTableResolved interface
Objects of this class collect all settings pertaining to tables.
absoluteEnd attribute
PI: tbabsend
Returns where the right edge of the table is measured from.
absoluteEnd
Access
read-only
Returns
int
absoluteStart attribute
PI: tbabsstart
Returns where the left edge of the table is measured from.
absoluteStart
Access
read-only
Returns
int
allowBreaks attribute
PI: tbbreaks
Returns true if breaks are allowed for the table.
allowBreaks
Access
read-only
Returns
boolean
avoidAll attribute
PI: tbavoidall
avoidAll
Access
read-only
Returns
boolean
avoidClear attribute
PI: tbavoidclear
avoidClear
Access
read-only
Returns
boolean
avoidMe attribute
PI: tbavoidme
avoidMe
Access
read-only
Returns
boolean
avoidNone attribute
PI: tbavoidnone
avoidNone
Access
read-only
Returns
boolean
avoidPreserve attribute
PI: tbavoidpreserve
avoidPreserve
Access
read-only
Returns
boolean
backgroundColor attribute
PI: tbbgc
Returns the background colour of the table.
backgroundColor
Access
read-only
Returns
fColor
columnSets attribute
PI: tbcolsets
Returns the column set display definitions.
columnSets
Access
read-only
Returns
String
columnSpans attribute
PI: tbspanspec
Returns the column span specifications for the table.
columnSpans
Access
read-only
Returns
fTableResolvedColumnSpan
columns attribute
Returns the individual columns of the table.
columns
Access
read-only
Returns
fTableResolvedColumn
defaultCell attribute
Returns the default settings for cells in this table.
defaultCell
Access
read-only
Returns
fTableResolvedCell
defaultRow attribute
Returns the default settings for rows in this table.
defaultRow
Access
read-only
Returns
fTableRow
footnote attribute
PI: tbfnote
Specifies a footnote control stream for table footnotes.
Returns the footnote object for the table when one has been defined, otherwise null is returned.
footnote
Access
read-only
Returns
fFootnote
frameColumnEdges attribute
PI: tbrulefc
Returns true if the table-columns on the left of frame-columns will return true for (?l) or [l] when specified as the conditions for cell rules/background colours. Works similarly for right hand edges and (?r) or [r].
frameColumnEdges
Access
read-only
Returns
boolean
gutterLeft attribute
PI: tbgutl
Returns the width of the table's left gutter. NOTE: If value = 0, nothing will be returned.
gutterLeft
Access
read-only
Returns
fColumnWidth
gutterRight attribute
PI: tbgutr
Returns the width of the table's left gutter. NOTE: If value = 0, nothing will be returned.
gutterRight
Access
read-only
Returns
fColumnWidth
headerKeepTogether attribute
PI: tbhkeeptog
Returns true if any header rows for the table are to be automatically kept together.
headerKeepTogether
Access
read-only
Returns
boolean
horizontalAlign attribute
PI: tbfmth
Returns the table format criteria.
horizontalAlign
Access
read-only
Returns
String
horizontalProgression attribute
PI: tbfmthdir
Returns the value of the property. If horizontalProgression is 1, the system will transpose left and right settings of the horizontalAlign property. This will only affect tables which are smaller than the parent column. See also progression.
horizontalProgression
Access
read-only
Returns
int
ignoreFillers attribute
PI: tbigfill
Returns true if the table will restrict the fillers and stop the space at the bottom of cells from being filled.
ignoreFillers
Access
read-only
Returns
boolean
ignoreRuleWidths attribute
PI: tbignrw
Returns the value of the property. If false then table rules extend into the table and their width reduces the amount of space for content. If true then the width of any table rules are ignored and they are drawn centred on the table boundary.
ignoreRuleWidths
Access
read-only
Returns
boolean
inRepeatedHeader attribute
Returns true if the current cell is a repeated header.
inRepeatedHeader
Access
read-only
Returns
boolean
keepTogether attribute
PI: tbkeeptog
Returns the priority that the contents of the table is kept together, using the priorities in the same way other table keeps work
keepTogether
Access
read-only
Returns
int
keepWithNext attribute
PI: tbkeep
Returns the priority used to keep the end of a table with the item following it, with the priority behaving in a similar way to paragraph keeps.
keepWithNext
Access
read-only
Returns
int
keepWithPrevious attribute
PI: tbkeepp
Returns the priority used that the start of this table is kept with the previous item, using the priorities in the same way that paragraph keeps work.
keepWithPrevious
Access
read-only
Returns
int
margin attribute
PI: tbma
Returns the width of the top, bottom, left and right margins.
margin
Access
read-only
Returns
fLength
marginBottom attribute
PI: tbmb
Returns the width of the bottom table margin.
marginBottom
Access
read-only
Returns
fLength
marginBottomPriority attribute
PI: tbmbp
Returns the priority for bottom margin.
marginBottomPriority
Access
read-only
Returns
int
marginColumnTop attribute
PI: tbmct
Returns the width of the Margin at the top of each column.
marginColumnTop
Access
read-only
Returns
fLength
marginColumnTopPriority attribute
PI: tbmctp
Returns the priority for column top margin.
marginColumnTopPriority
Access
read-only
Returns
int
marginDropTop attribute
PI: tbmdt
Returns the width of the top drop which will occur whenever a table is at the top of a column.
marginDropTop
Access
read-only
Returns
fLength
marginFollowOrientation attribute
PI: tborientm
Returns true if the values for marginTop, marginLeft, marginBottom and marginRight are adjusted so they follow the orientation of the table.
marginFollowOrientation
Access
read-only
Returns
boolean
marginLeft attribute
PI: tbml
Returns the width of the left table margin.
marginLeft
Access
read-only
Returns
fLength
marginMiddle attribute
PI: tbmmid
Returns the height of the margin between duplicate sets of a table: the default value is 0.
marginMiddle
Access
read-only
Returns
fLength
marginRight attribute
PI: tbmr
Returns the width of the right table margin.
marginRight
Access
read-only
Returns
fLength
marginTop attribute
PI: tbmt
Returns the width of the margin above the table.
marginTop
Access
read-only
Returns
fLength
marginTopModeAcross attribute
PI: tbmtmodea
By default tables following a break across will use a column top margin. Returns true if the table is using normal top margins.
marginTopModeAcross
Access
read-only
Returns
boolean
marginTopModeTable attribute
PI: tbmtmodet
By default tables following a table will use a column top margin. If this returns true then this will mean the table is using normal top margins.
marginTopModeTable
Access
read-only
Returns
boolean
marginTopPriority attribute
PI: tbmtp
Returns the priority for the top margin.
marginTopPriority
Access
read-only
Returns
int
marginTopSpan attribute
PI: tbmtspan
Returns true if the table top or column top margins specified after a span are spanning as well.
marginTopSpan
Access
read-only
Returns
boolean
mustFit attribute
PI: tbmustfit
Returns true if the table must fit.
mustFit
Access
read-only
Returns
boolean
name attribute
A name can be given to the table in order to make it easier to determine which table is being started and ended using the tableStart() and tableEnd() routines and to determine which table object is being formatted.
name
Access
read-only
Returns
String
noSkipCounters attribute
PI: tbnsshow
Returns true when table headers and footers are being skipped (using mode 2), then by default any changes to the showstring counters are also skipped/ignored.
noSkipCounters
Access
read-only
Returns
boolean
numColumns attribute
PI: tbcoln
Returns the number of columns defined for the current table.
numColumns
Access
read-only
Returns
int
numRows attribute
PI: tbrown
Returns the number of rows in the table.
numRows
Access
read-only
Returns
int
orientation attribute
PI: tborient
Returns the value relating to how a table is rotated. This property is used to rotate a table 90 degrees counter clockwise.
orientation
Access
read-only
Returns
int
overflow attribute
PI: tbovflow
Returns the table overflow mode, as described in OverflowMode.
overflow
Access
read-only
Returns
int
overflowRowZero attribute
PI: tbovrowz
Returns the row number defined when a table overflows from one page to the next, or one column to the next, then the appropriate row number will be reset to zero when the table restarts. See fTableResolved.RowZeroModes.
overflowRowZero
Access
read-only
Returns
int
paddingBottom attribute
PI: tbpadb
Returns the amount of padding at the bottom of the table.
paddingBottom
Access
read-only
Returns
fLength
paddingLeft attribute
PI: tbpadl
Returns the amount of padding left of the table.
paddingLeft
Access
read-only
Returns
fLength
paddingRight attribute
PI: tbpadr
Returns the amount of padding right of the table.
paddingRight
Access
read-only
Returns
fLength
paddingTop attribute
PI: tbpadt
Returns the amount of padding at the top of the table.
paddingTop
Access
read-only
Returns
fLength
positionReset attribute
PI: tbposreset
positionReset
Access
read-only
Returns
boolean
prescan attribute
PI: tbprescan
Returns true if the current table is in pre-scan mode.
prescan
Access
read-only
Returns
boolean
progression attribute
PI: tbdir
Returns 1 if the columns flow from right to left. Default is 0.
progression
Access
read-only
Returns
int
readOnly attribute
By default only the cells for the top level table are editable during formatting. This property returns whether the cells for the desired table are read only.
readOnly
Access
read-only
Returns
boolean
resetCounters attribute
PI: tbreshow
Returns the current value of the property. When a table overflows a page and headers and footers etc. are inserted then by default the showstring counters flow through from the main body of the table. If resetCounters is non-zero, then when 3B2 re-inserts the header, the showstring counters are put back to the values that they had when the header was first encountered and stored. The header is then formatted and then the counters are restored to the value they had ready for the rest of the body of the table.
N.B. This includes restoring the value of the show string counters for the current page number. So within the header the page number being displayed will be the page on which the header was defined.
When using column and frame references there is a potential clash with any table headers and particularly when using resetCounters = 1. The column and frame references are inserted within the context of the header, so will pick up the header's show string counters, will modify those counters for the duration of the header, and then those changes will be discarded for the main body of the table and any text afterwards. To add more flexibility in this situation, from version 8.10s, resetCounters can also take the value 2. When setting resetCounters = 2, the header is still formatted within its original context and counters, but the frame and column references get given the counters from the main body of the table, and any changes they make are then carried over into the main body of the table after the header finishes.
Added num[,slot] option from version 8.11q, which only applies if num is non-zero. slot is allowed to take a value from 1-5 which has two corresponding effects:
When the counters are recalled, the counters from the main flow of the table are placed in the designated slot (1-5), so they can then be accessed using <?showget>, <?showput>, <?showswap> and <?showclear>.
Whatever counters are in the designated slot will then be used when returning to the main body of the table.
The point of these options is to allow the header to pick up the counters it had when it was originally defined so that it formats as expected; but also to allow the header to make changes within the body of the table - ie to increment a count for each header displayed. The expected use is that for any counter changes that the header needs to make for the body of the table, the following actions will be done:
get the existing counters from the body of the table that are currently in the slot by using <?showget> or <?showswap>
modify the counters
put them back into the slot using either <?showput> or <?showswap> knowing that these will be restored to the body of the table once the header finishes.
resetCounters
Access
read-only
Returns
String
rowFill attribute
PI: tbrfill
Returns true when there is a need for more cells in a table to fill a line. rowFill will add more cells so that a line is full. The cells generated by Arbortext APP use, if it exists, the empty cell reference declared with fTableResolvedCell::emptyReference.
rowFill
Access
read-only
Returns
boolean
rowOrphanPriority attribute
PI: tbrorp
Returns the priority of the rowOrphans. Orphans are the first rows of a table which occur at the bottom of a column or page. See KeepPriorities.
rowOrphanPriority
Access
read-only
Returns
int
rowOrphans attribute
PI: tbror
Returns the minimum number of orphan rows for the current table. Orphans are the first rows of a table which occur at the bottom of a column or page.
rowOrphans
Access
read-only
Returns
int
rowOrphansExtended attribute
PI: tbrorx
This option determines when the orphans are applied to tables. Reutrns false (the default) if the orphans are only applied to the first rows in the table. Returns true if the orphans are applied to the first rows in any portion of the table where it overflows.
rowOrphansExtended
Access
read-only
Returns
boolean
rowWidowPriority attribute
PI: tbrwidp
Returns the priority of the rowWidows. Widows are the last rows of a table which overflow to the top of a column or page. Default is 255, which is the same as 1. See KeepPriorities.
rowWidowPriority
Access
read-only
Returns
int
rowWidows attribute
PI: tbrwid
Returns the minimum number of widows rows for the current table. Widows are the last rows of a table which overflow to the top of a column or page.
The number of rows in the table must be specified using fTableResolved.numRows for row widows to be used.
rowWidows
Access
read-only
Returns
int
ruleBottom attribute
PI: tbbotr
Returns true when this property forces the bottom rules to be displayed when a table flows over from one page to the next, or one column to the next.
ruleBottom
Access
read-only
Returns
boolean
ruleTop attribute
PI: tbtopr
Returns true when this property forces the top rules to be displayed when a table flows over from one page to the next, or one column to the next.
ruleTop
Access
read-only
Returns
boolean
rules attribute
PI: tbrules
Returns the table rules object.
rules
Access
read-only
Returns
fRules
simulateColumns attribute
PI: tbsimcol
Returns the current value of the property. In normal tables, the top of each cell is treated like the top of a column, in that paragraph column top margins will be used. However, this does not allow fParagraph::topDrop to be used and if you overflow the cell, column top margins won't apply after the break. When using overflow = 3 for slim tables, it is designed to simulate frame columns and so as well as flowing from one column to the next on overflows, it also works with fParagraph::topDrop and follows the behaviour of normal text at the top of each cell, as if it was at the top of a column; including broken cells.
Setting simulateColumns = 1 allows normal non-slim tables to also simulate column tops at the top of each cell and when breaking and hence also allows fParagraph::topDrop to be used.
When specifying simulateColumns = 2 it works in the same way as simulateColumns = 1 but only applies to cells that are themselves at the top of a frame column. See marginColumnTop and marginDropTop for definition of what is at the top of a frame column and note that the use of simulateColumns allows this definition to cascade down a series of nested tables.
When using simulateColumns = 2 within a boxhead the behaviour is slightly different, as the expected use is to try and align content with the top of a column and within a boxed row the top of cells don't necessarily align with each other. Therefore within the boxhead, fParagraph::topDrop doesn't get applied to each individual cell, but is applied as a one-off to the whole boxed row. This is done by picking up the value of fParagraph::topDrop for the highest cell within the row and using this as a vertical shift for the whole row.
When specifying simulateColumns = 3 it works in the same way as simulateColumns = 1 allowing the use of fParagraph::topDrop, but normal top margins are used instead of using column top margins. This will then also cascade into nested tables or blocks at the top of the cell.
N.B. This does mean that if your cells have top rules, then fParagraph::topDrop won't be seen to have its usual effect.
Blocks: default to simulateColumns = 2 unless numColumns is set explicitly, at which point they use simulateColumns = 1 instead. The basic principle is that if the block is being used to define columns, then they will be treated as such.
simulateColumns
Access
read-only
Returns
int
skipEndGutter attribute
PI: tbskipegut
Returns true if there is a gutter defined for the end of the table and this is to be ignored.
skipEndGutter
Access
read-only
Returns
boolean
spanAvoid attribute
PI: tbamode
Returns true if Arbortext APP will try and fit the table columns within the frame columns whilst avoiding the frame gutters.
spanAvoid
Access
read-only
Returns
boolean
spanColumns attribute
PI: tbacross
Returns true if the table will break across columns within the frame.
spanColumns
Access
read-only
Returns
boolean
spanColumnsNum attribute
PI: tbacross
Returns the number of columns to span across.
spanColumnsNum
Access
read-only
Returns
int
spanFrame attribute
PI: tbspanframe
Returns true if the table will break across all columns.
spanFrame
Access
read-only
Returns
boolean
spreadColumns attribute
PI: tbspread
Returns the current value of spreadColumns. If true, the columns will all be expanded in proportion to their widths to make up the shortfall.
spreadColumns
Access
read-only
Returns
boolean
vjAbsolute attribute
PI: tbabsvj
Returns true if any table's vertical margins specified are absolute limits to how much stretch can be applied.
vjAbsolute
Access
read-only
Returns
boolean
vjForce attribute
PI: tbfvj
Returns true if the text in a table is set to fill the full column depth.
vjForce
Access
read-only
Returns
boolean
vjGutter attribute
PI: tbvjmgut
Returns the space between rows of the table.
vjGutter
Access
read-only
Returns
fLength
vjGutterPriority attribute
PI: tbvjpgut
Returns the priority for the space between rows of the table.
vjGutterPriority
Access
read-only
Returns
int
vjLimit attribute
PI: tbfvjl
Returns true if there is less than the specified height left at the bottom of the column, then vjLimit will cause the whole table to VJ.
vjLimit
Access
read-only
Returns
fLength
vjMarginBottom attribute
PI: tbvjmbot
Returns the space below the table, which is ignored if the table is the last thing in the column.
vjMarginBottom
Access
read-only
Returns
fLength
vjMarginBottomPriority attribute
PI: tbvjpbot
Returns the priority for the space below the table, which is ignored if the table is the last thing in the column.
vjMarginBottomPriority
Access
read-only
Returns
int
vjMarginColumnTop attribute
PI: tbvjmctop
Returns the space above the table when the table is the first thing in a column.
vjMarginColumnTop
Access
read-only
Returns
fLength
vjMarginColumnTopPriority attribute
PI: tbvjpctop
Returns the priority for the space above the table when the table is the first thing in a column.
vjMarginColumnTopPriority
Access
read-only
Returns
int
vjMarginRow attribute
PI: tbvjmrow
Returns the space below the text in the row, which effectively makes each cell deeper. This will mean that if the text is vertically centred, flushed to bottom or VJ'ed itself, then it will use this extra space.
vjMarginRow
Access
read-only
Returns
fLength
vjMarginRowBottom attribute
PI: tbvjmrowb
Returns the space below the text in each cell, but above any bottom cell rules. The text will not expand into this space, as it does with vjMarginRow.
vjMarginRowBottom
Access
read-only
Returns
fLength
vjMarginRowBottomPriority attribute
PI: tbvjprowb
Returns the priority for the space below the text in each cell, but above any bottom cell rules. The text will not expand into this space, as it does with vjMarginRowPriority.
vjMarginRowBottomPriority
Access
read-only
Returns
int
vjMarginRowPriority attribute
PI: tbvjprow
Returns the priority for the space below the text in the row, which effectively makes each cell deeper. This will mean that if the text is vertically centred, flushed to bottom or VJ'ed itself, then it will use this extra space.
vjMarginRowPriority
Access
read-only
Returns
int
vjMarginRowTop attribute
PI: tbvjmrowt
Returns the space below any top rules in a cell, but above the text. The text will not ignore this space when vertically centring, VJ'ing etc.
vjMarginRowTop
Access
read-only
Returns
fLength
vjMarginRowTopPriority attribute
PI: tbvjprowt
Returns the priority for the space below any top rules in a cell, but above the text. The text will not ignore this space when vertically centring, VJ'ing etc.
vjMarginRowTopPriority
Access
read-only
Returns
int
vjMarginRuleBottom attribute
PI: tbvjmrbot
Returns the space between the last row of the table and the table bottom rules.
vjMarginRuleBottom
Access
read-only
Returns
fLength
vjMarginRuleBottomPriority attribute
PI: tbvjprbot
Returns the priority for the space between the last row of the table and the table bottom rules.
vjMarginRuleBottomPriority
Access
read-only
Returns
int
vjMarginRuleColumnTop attribute
PI: tbvjmrctop
Returns the space between the table top rule and the first row when the table is the first thing in a column.
vjMarginRuleColumnTop
Access
read-only
Returns
fLength
vjMarginRuleColumnTopPriority attribute
PI: tbvjprctop
Returns the priority for space between the table top rule and the first row when the table is the first thing in a column.
vjMarginRuleColumnTopPriority
Access
read-only
Returns
int
vjMarginRuleTop attribute
PI: tbvjmrtop
Returns the space between the table top rule and the first row when the table is not the first thing in a column.
vjMarginRuleTop
Access
read-only
Returns
fLength
vjMarginRuleTopPriority attribute
PI: tbvjprtop
Returns the priority for space between the table top rule and the first row when the table is not the first thing in a column.
vjMarginRuleTopPriority
Access
read-only
Returns
int
vjMarginTop attribute
PI: tbvjmtop
Returns the space above the table when the table is not the first thing in a column.
vjMarginTop
Access
read-only
Returns
fLength
vjMarginTopPriority attribute
PI: tbvjptop
Returns the priority for space above the table when the table is not the first thing in a column.
vjMarginTopPriority
Access
read-only
Returns
int
width attribute
PI: tbw
Returns the width of the table. NOTE: If value = 0, nothing will be returned.
width
Access
read-only
Returns
fColumnWidth
widthCalc attribute
PI: tbwcalc
Returns the value relating to the algorithm used when calculating the column widths, but only has any effect when the contents of cells spanning multiple columns are wider than the sum of the columns they span. The current methods implemented for num are as follows:
0 Default
An attempt is made to increase the width of all individual columns equally, spreading the space between them.
1 Right-most
Extra space needed for the spanning cell, is applied to the rightmost column being spanned only. Adjusts the column widths, working up in the number of columns spanned.
2 None
Cells spanning multiple columns have no effect on the width of columns, so if the text within them is too wide, it will need to wrap.
3 Right-most
New for v6.51a: Extra space needed for the spanning cell, is applied to the right-most column being spanned as in mode 1. But works from the left column to the right which should guarantee the smallest table necessary.
N.B.
Other methods may be added in the future, so make sure you stick to these four.
From version 6.52a, widthCalc needs to interact with widthCalcMode and fTableResolvedCell::widthMode when cell widths are allowed to wrap. Spanned cells can now also be given minimum and maximum widths in the same way that normal cells can. widthCalc still always affects the order in which spanned columns are taken into account, but now only affects the distribution of space to columns once those columns are at least as wide as their maximum widths.
widthCalc
Access
read-only
Returns
int
widthCalcMode attribute
PI: tbhcalc
Returns the value of the property. It effects the method that 3B2 will use to determine how to allocate space to columns, when there is enough space for all minimum measured column widths to be used, but not enough for maximum measured widths. This works in conjunction with widthCalc if the table contains cells that span columns. The values of code are as follows:
0
This is the default method. Priority is given to columns with a higher ratio of maximum to minimum widths. This should give the effect of keeping the number of lines within each row to a minimum.
1
Space is allocated proportionately.
2
Minimum widths only are used.
When pre-scanning to measure the column widths, by default 3B2 limits the width of any column to the maximum width of the frame/table. By setting wide_mode to 1, 3B2 will measure any columns as wide as possible. This has the effect of increasing the priority given to columns containing long paragraphs.
N.B.
Do not use any values of code, other than the ones specified, as others may be added in the future.
Much greater control of the final look can also be gained by setting fTableResolvedCell::widthMode on individual rows/cells; i.e. measuring could be restricted to the table header.
widthCalcMode
Access
read-only
Returns
String
widthMode attribute
PI: tbwmode
Returns the value of the property. When a table is too wide for a frame column, by default it just takes up the space that it needs. widthMode lets you specify alternative behaviours as follows:
0
This is the default, which lets the table be too wide, unless columnSets has been specified.
1
Strips off any columns on the right until the table fits.
2
Strips off columns from the right until the table fits, and then duplicates the table below with any master columns and any remaining columns. This will continue until all the columns have been accounted for. When duplicating and repeating a table with a different set of columns, any columns that have been designated as masters will be inserted into every copy of the table. By default column 1 will be treated as a solitary master column, but you can use fTableResolvedColumn::isMaster = true on it and other columns to override the default. 3B2 will always insist that each set of columns includes the master columns and at least one extra column and will still make the table too wide if this rule can't be followed. When you want two columns to stay together use fTableResolvedColumn.keepWidthNext = true to keep one column with the next.
3
Will always use the values specified in columnSets even if the table is narrow enough for the frame column.
> 3
Reserved; do not use.
widthMode
Access
read-only
Returns
int