FOM Reference > Formatting > Blocks > fBlockResolved interface
  
fBlockResolved interface
This object can be used to retrieve properties for the current block whilst it is being formatted. Only valid after blockStart() has been called, but before blockEnd() is called for that block.
absoluteEnd attribute
PI: blockabsend
This property can be used to retrieve where the right edge of a block is measured from.
If 0 (the default) the indent is relative to its parent block.
If 1 the indent is relative to the right margin. This will be the right edge of a frame, a multicolumn block, or a table cell.
If 2 the indent follows the same rules as setting 1 in all cases except table cells. If the block is in a table cell, the indent will be relative to the cells padding not its edge.
Normally in a nested block its edges are measured from the inside of the parent cell's rules after also taking into account any cell padding.
Searching back through the hierarchy of parent tables and blocks, if one is found with more than a single column, or one had its number of columns specified explicity, then when absoluteStart = true the block will be measured from the border of that parents column edge. This will still be inside any rules of the parent cell but will ignore any of its cell padding. If no conforming parent table/block exists then absoluteStart = true will measure directly from the frame column boundary. From this right boundary, the current block's right margin will then be applied, along with block rules and padding etc in the normal way.
absoluteEnd
Access
read-only
Returns
int
absoluteStart attribute
PI: blockabsstart
Returns where the left edge of a block is measured from.
If 0 (the default) the indent is relative to its parent block.
If 1 the indent is relative to the left margin. This will be the start edge of a frame, a multicolumn block, or a table cell.
If 2 the indent follows the same rules as setting 1 in all cases except table cells. If the block is in a table cell, the indent will be relative to the cells padding.
Normally in a nested block its edges are measured from the inside of the parent cell's rules after also taking into account any cell padding.
Searching back through the hierarchy of parent tables and blocks, if one is found with more than a single column, or one had its number of columns specified explicity, then when absoluteStart = true the block will be measured from the border of that parents column edge. This will still be inside any rules of the parent cell but will ignore any of its cell padding. If no conforming parent table/block exists then absoluteStart = true will measure directly from the frame column boundary. From this left boundary, the current block's left margin will then be applied, along with block rules and padding etc in the normal way.
absoluteStart
Access
read-only
Returns
int
avoidAll attribute
PI: blockavoidall
Returns true if the block is avoiding everything.
avoidAll
Access
read-only
Returns
boolean
avoidClear attribute
PI: blockavoidclear
Documentation TO DO
avoidClear
Access
read-only
Returns
boolean
avoidMe attribute
PI: blockavoidme
Returns true if the block is avoiding everything but still allowing the input stream to flow around it.
avoidMe
Access
read-only
Returns
boolean
avoidNone attribute
PI: blockavoidnone
Returns true if the block is avoiding nothing.
avoidNone
Access
read-only
Returns
boolean
avoidPreserve attribute
PI: blockavoidpreserve
avoidPreserve
Access
read-only
Returns
boolean
backgroundColor attribute
PI: blockbgcolor
Returns the colour of the current block.
backgroundColor
Access
read-only
Returns
fColor
balanceBefore attribute
PI: blockbalbef
TODO
balanceBefore
Access
read-only
Returns
boolean
balanceColumns attribute
PI: blockbal
Returns value of column balancing for this block.
balanceColumns
Access
read-only
Returns
boolean
breakTop attribute
PI: blockbreaktop
TODO
breakTop
Access
read-only
Returns
boolean
columns attribute
The individual columns of the block. Accessible in array format. Example: formatting.currentBlock.columns[0] Will return an fBlockResolvedColummn which represents the first column in the current block.
columns
Access
read-only
Returns
fBlockResolvedColumn
defaultParagraph attribute
Returns the paragraph property fallbacks for block contents.
defaultParagraph
Access
read-only
Returns
fParagraph
defaultRegion attribute
Returns the styling information for the regions inside this block.
defaultRegion
Access
read-only
Returns
fBlockResolvedRegion
defaultRow attribute
Returns the styling information for the rows of this block.
defaultRow
Access
read-only
Returns
fBlockRow
defaultStyle attribute
Returns the styling information for block contents.
defaultStyle
Access
read-only
Returns
fStyle
defaultTable attribute
Returns the default settings for tables in this block.
defaultTable
Access
read-only
Returns
fTable
defaultTeX attribute
Returns the default TeX property values for block contents.
defaultTeX
Access
read-only
Returns
fTeX
footnote attribute
PI: blockfnctrl
Returns the footnote object for the block when one has been defined, otherwise null is returned.
If a footnote reference is processed inside a block and that block does not have a footnote control stream, then the footnote control stream of the frame containing the block is applied. Similarly if a footnote is placed in a nested block which has no footnote control stream, then the parent block's footnote control stream is used, if it exists, else that of the frame.
footnote
Access
read-only
Returns
fFootnote
frameColumnEdges attribute
PI: blockrulefc
Returns true if 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: blockgutl
Returns the width of the left gutter. NOTE: If value = 0, nothing will be returned.
gutterLeft
Access
read-only
Returns
fColumnWidth
gutterRight attribute
PI: blockgutr
Returns the width of the right gutter. NOTE: If value = 0, nothing will be returned.
gutterRight
Access
read-only
Returns
fColumnWidth
horizontalAlign attribute
PI: blockfmth
Returns block horizontal alignment.
horizontalAlign
Access
read-only
Returns
String
horizontalProgression attribute
PI: blockfmthprogression
Returns the value of horizontal progression. 1 indicates the text flows from right to left and 0 left to right.
horizontalProgression
Access
read-only
Returns
int
ignoreFillers attribute
PI: blockignorefillers
Returns true if the block will restrict the fillers and stop the space at the bottom of cells from being filled.
ignoreFillers
Access
read-only
Returns
boolean
indent attribute
PI: blockindent
Returns the current block indentation.
indent
Access
read-only
Returns
fLength
indentEnd attribute
PI: blockindentend
Returns where the blocks indentation ends.
indentEnd
Access
read-only
Returns
fLength
indentStart attribute
PI: blockindentstart
Returns where the blocks indentation starts
indentStart
Access
read-only
Returns
fLength
indentTab attribute
PI: blockindenttab
Returns the block indentation tab stop.
indentTab
Access
read-only
Returns
fBlockTab
indentTab2 attribute
PI: blockindenttab2
Returns the second block indentation tab stop.
indentTab2
Access
read-only
Returns
fBlockTab
keepTogether attribute
PI: blockkeeptogether
Returns the way that the contents of the block is kept together, using the priorities in the same way other block keeps work
This is a column based keep and ensures that the block is kept within the same parent column, be it either a frame column, a slim table column or a block column.
keepTogether
Access
read-only
Returns
int
keepWithNext attribute
PI: blockkeep
Returns the priority used to keep the end of a block 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: blockkeepp
Returns the priority used that the start of this block 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: blockma
Returns the margin width around the block.
margin
Access
read-only
Returns
fLength
marginBottom attribute
PI: blockmt
Returns the width of the bottom margin.
marginBottom
Access
read-only
Returns
fLength
marginBottomPriority attribute
PI: blockmbp
Returns the priority for bottom margin.
marginBottomPriority
Access
read-only
Returns
int
marginColumnTop attribute
PI: blockmct
Return the margin width at the top of each column.
marginColumnTop
Access
read-only
Returns
fLength
marginColumnTopPriority attribute
PI: blockmctp
Returns the priority for column top margin.
marginColumnTopPriority
Access
read-only
Returns
int
marginDropTop attribute
PI: blockdroptop
Returns the width of the top drop which will occur whenever a block is at the top of a column.
marginDropTop
Access
read-only
Returns
fLength
marginFollowOrientation attribute
PI: blockorientm
Returns true if the values for marginTop, marginLeft, marginBottom and marginRight are adjusted so they follow the orientation of the block.
marginFollowOrientation
Access
read-only
Returns
boolean
marginLeft attribute
PI: blockml
Returns the width of the left margin. It is possible to add margins to the outside of the block, in this way you can adjust the block position relative to the text surrounding it. With all the block margin commands you need to add a value (height or width) for the margin you require e.g. block.marginLeft = '20mm' would add a 20mm margin left of the block.
marginLeft
Access
read-only
Returns
fLength
marginRight attribute
PI: blockmr
Returns the width of the right margin. It is possible to add margins to the outside of the block, in this way you can adjust the block position relative to the text surrounding it. With all the block margin commands you need to add a value (height or width) for the margin you require e.g. block.marginRight = '20mm' would add a 20mm margin right of the block.
marginRight
Access
read-only
Returns
fLength
marginTop attribute
PI: blockmt
Returns the width of the top margin. It is possible to add margins to the outside of the block, in this way you can adjust the block position relative to the text surrounding it. With all the block margin commands you need to add a value (height or width) for the margin you require e.g. block.marginTop = '20mm' would add a 20mm margin above the block.
marginTop
Access
read-only
Returns
fLength
marginTopModeAcross attribute
PI: blockmtmodea
By default blocks following a break across will use a column top margin. Returns true if the block is using normal top margins.
marginTopModeAcross
Access
read-only
Returns
boolean
marginTopModeTable attribute
PI: blockmtmodet
By default blocks following a table will use a column top margin. Returns true if normal top margins are used in this situation instead.
marginTopModeTable
Access
read-only
Returns
boolean
marginTopPriority attribute
PI: blockmtp
Returns the priority for top margin.
marginTopPriority
Access
read-only
Returns
int
marginTopSpan attribute
PI: blockmtspan
Returns true if the block top or column top margins specified after a span are to span as well.
marginTopSpan
Access
read-only
Returns
boolean
mustFit attribute
PI: blockmustfit
Returns true if this table must fit and so it will overlap with a warning if it doesn't.
An expected use would be for a rotated block within a parent table column, to ensure that the rotated content will fit, even if the parent column is too narrow.
mustFit
Access
read-only
Returns
boolean
name attribute
A name can be given to the block in order to make it easier to determine which block is being started and ended using the blockStart() and blockEnd() routines and to determine which block object is being formatted.
name
Access
read-only
Returns
String
noSkipCounters attribute
PI: blocknoskipshow
Returns true when block 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: blocknumcols
Returns the number of columns in the current block.
numColumns
Access
read-only
Returns
int
obeyFitDescenders attribute
PI: blockobeyfitb
Returns true if the block depth is to take into account the fParagraph.fitDescenders property of the last paragraph within the block.
obeyFitDescenders
Access
read-only
Returns
boolean
orientation attribute
PI: blockorient
Returns the value relating to how a table is rotated. This property is used to rotate a block 90 degrees counter clockwise. This is a particularly useful function if the block is too wide for the frame. Using orientation you can rotate a block so that it is presented in a landscape view that fits the dimensions of the frame.
orientation
Access
read-only
Returns
int
paddingBottom attribute
PI: blockpadb
Returns the amount of padding at the bottom of the block.
paddingBottom
Access
read-only
Returns
fLength
paddingLeft attribute
PI: blockpadl
Returns the amount of padding left of the block.
paddingLeft
Access
read-only
Returns
fLength
paddingRight attribute
PI: blockpadr
Returns the amount of padding right of the block.
paddingRight
Access
read-only
Returns
fLength
paddingTop attribute
PI: blockpadt
Returns the amount of padding at the top of the block.
paddingTop
Access
read-only
Returns
fLength
positionReset attribute
PI: blockposreset
Returns the current value of the property.
positionReset
Access
read-only
Returns
boolean
prescan attribute
PI:
Returns true if the current block is in pre-scan mode.
prescan
Access
read-only
Returns
boolean
progression attribute
PI: blockprogression
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 regions for the top level block are editable during formatting. This property returns whether the regions for the desired block are read only.
readOnly
Access
read-only
Returns
boolean
resetCounters attribute
PI: blockreshow
Returns the current value of the property. When a block overflows a page and headers and footers etc. are inserted then by default the showstring counters flow through from the main body of the block. 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 block.
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 block 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 block 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 block, and any changes they make are then carried over into the main body of the block 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 block 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 block.
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 block - 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 block, the following actions will be done:
get the existing counters from the body of the block 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 block once the header finishes.
resetCounters
Access
read-only
Returns
String
ruleBottom attribute
PI: blockbotr
Returns true if the bottom rules are forced to be displayed.
ruleBottom
Access
read-only
Returns
boolean
ruleTop attribute
PI: blocktopr
Returns true if the top rules are forced to be displayed.
ruleTop
Access
read-only
Returns
boolean
rules attribute
PI: blockrules
Returns the current block rules.
rules
Access
read-only
Returns
fRules
simulateColumns attribute
PI: blocksimcol
Returns the current value of the property. 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.
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 blocks.
simulateColumns
Access
read-only
Returns
int
skipEndGutter attribute
PI: blockskipegut
Returns true if there is a gutter defined for the end of the block and this is to be ignored.
skipEndGutter
Access
read-only
Returns
boolean
spanAvoid attribute
PI: blockacrossmode
Returns true if Arbortext APP will try and fit the block columns within the frame columns whilst avoiding the frame gutters.
spanAvoid
Access
read-only
Returns
boolean
spanColumns attribute
PI: blockacross
Returns true if the table will break across columns within the frame.
spanColumns
Access
read-only
Returns
boolean
spanColumnsNum attribute
PI: blockacross
Returns the number of columns to span across.
spanColumnsNum
Access
read-only
Returns
int
spanFrame attribute
PI: blockspanframe
Returns true if the table will break across all columns.
spanFrame
Access
read-only
Returns
boolean
spanParents attribute
PI: blockspanparents
Returns true if the block is spanning its parents.
spanParents
Access
read-only
Returns
boolean
spreadColumns attribute
PI: blockspread
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: blockvjabs
Returns true if any block's vertical margins specified are absolute limits to how much stretch can be applied.
vjAbsolute
Access
read-only
Returns
boolean
vjForce attribute
PI: blockvjforce
Returns true if the text in a block is set to fill the full column depth.
vjForce
Access
read-only
Returns
boolean
vjGutter attribute
PI: blockvjmgut
Returns the space between rows of the table.
vjGutter
Access
read-only
Returns
fLength
vjGutterPriority attribute
PI: blockvjpgut
Returns the priority for space between rows of the table.
vjGutterPriority
Access
read-only
Returns
int
vjLimit attribute
PI: blockvjforcelimit
Returns true if there is less than the specified height left at the bottom of the column, then vjLimit will cause the whole block to VJ.
vjLimit
Access
read-only
Returns
fLength
vjMarginBottom attribute
PI: blockvjmbot
Returns the space below the table.
vjMarginBottom
Access
read-only
Returns
fLength
vjMarginBottomPriority attribute
PI: blockvjpbot
Returns the priority for space below the table.
vjMarginBottomPriority
Access
read-only
Returns
int
vjMarginColumnTop attribute
PI: blockvjmctop
Returns the space above the table when the table is the first thing in a column. Otherwise the default value is returned.
vjMarginColumnTop
Access
read-only
Returns
fLength
vjMarginColumnTopPriority attribute
PI: blockvjpctop
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: blockvjmrow
Returns the space below the text in the row.
vjMarginRow
Access
read-only
Returns
fLength
vjMarginRowBottom attribute
PI: blockvjmrowb
Returns the space below the text in each cell, but above any bottom cell rules.
vjMarginRowBottom
Access
read-only
Returns
fLength
vjMarginRowBottomPriority attribute
PI: blockvjprowb
Returns the priority for the space below the text in each cell, but above any bottom cell rules.
vjMarginRowBottomPriority
Access
read-only
Returns
int
vjMarginRowPriority attribute
PI: blockvjprow
Returns the priority for space below the text in the row.
vjMarginRowPriority
Access
read-only
Returns
int
vjMarginRowTop attribute
PI: blockvjmrowt
Returns the space below any top rules in a cell, but above the text.
vjMarginRowTop
Access
read-only
Returns
fLength
vjMarginRowTopPriority attribute
PI: blockvjprowt
Returns the priority for the space below any top rules in a cell, but above the text.
vjMarginRowTopPriority
Access
read-only
Returns
int
vjMarginRuleBottom attribute
PI: blockvjmrbot
Returns the space between the last row of the table and the table bottom rules.
vjMarginRuleBottom
Access
read-only
Returns
fLength
vjMarginRuleBottomPriority attribute
PI: blockvjprbot
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: blockvjmrctop
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: blockvjprctop
Returns the priority for the 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: blockvjmrtop
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: blockvjprtop
Returns the priority for the 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: blockvjmtop
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: blockvjptop
Returns the priority for the space above the table when the table is not the first thing in a column.
vjMarginTopPriority
Access
read-only
Returns
int
width attribute
PI: blockwidth
Returns the width of the current block. NOTE: If value = 0, nothing will be returned.
width
Access
read-only
Returns
fColumnWidth
widthFlex attribute
PI: blockwidthflex
Returns the value of the property. Setting widthFlex = false allows the block to stick with the width that it started with.
widthFlex
Access
read-only
Returns
boolean