In map view, containers and agents (and their aliases) - but not ordinary notes - can display tabular summaries of their contents. Tables are drawn only if there is adequate space in the title bar area. The number of rows displayed in the table is limited by the available space; increasing the size of the note (and its $TitleHeight) will increase the size of the table. Note that the container's sort order is reflected in the table. More on a container's title height.
If no $TableExpression is specified but space is available in the title bar, Tinderbox displays an excerpt of the $Text of the container or agent, as it does for notes. If a TableExpression is defined, display of $Text is suppressed, regardless of the height of $TitleHeight. In other words, it is possible to display a table or $Text but not both at the same time.
When a table is displayed, the information in the table is determined by the expression attribute $TableExpression. For example, if TableExpression is
Tinderbox will draw a two-column table containing the $Name and $WordCount of the first few children of the container. The '|' character (often called a vertical bar or 'pipe') separates the columns of the table.
Optional column headings may be specified in the string attribute $TableHeading. Again, columns should be separated by a '|' but note that if referring to attribute names in $TableHeading, a $ prefix is not used as the name is used as a literal string. So the heading may be a any of text labels, attribute named text labels or a mix of the two. The '|' characters to delimit columns is simply inserted inline in the name string - no space padding is required. Any of the following could be used for the above table expression example:
Note title|Word count
Note the lack of $ prefixes in the latter two examples where attribute names are cited and lack of padding around the '|' column title delimiter.
The left column (table and heading) is always left-aligned with all other columns being right-aligned.
For agents, the table is shown beneath the title whilst the viewport remains above.
The table uses various other attributes for its styling:
- Text font: the table is drawn in $NameFont
- Colour: the table default to use $NameColor but will use $MapBodyTextColor if set differently from $NameColor.
- Text size: uses $MapBodyTextSize. Note setting the value to
1will suppress display of table & text data.
N.B. the table heading and content have the same font/colour/size and can't differ from each other.