Tinderbox v10 Icon

Container summary display tables

In map view, containers and agents (and their aliases), but not ordinary notes, can display tabular summaries of their contents using code stored in $TableExpression and $TableHeading which can be set in the attributes or via the UI using the container's Summary Table Properties pop-over dialog.

Note: what is an expression?

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, i.e. the number of rows displayed. Note that the container's sort order is reflected in the table. See more on a container's title height.

The displayed data is for the container's child notes; descendants are not included. For example, if $TableExpression is

 $Name+"|"+$WordCount

Note: The '|' character (vertical bar or 'pipe') delimits code defining data for the separate columns of the table.

For the above code, Tinderbox will draw a two-column table containing the $Name and $WordCount of the first few children of the container (for why only some children may be listed drawn see above).

The expression code may be conditional. This lists all children with $Name and $Sibling order data displayed:

if($Prototype != "Attributes"){$Name+"|"+$SiblingOrder} 

This conditional version ignores any children that are agents:

if(!$AgentQuery){$Name+"|"+$SiblingOrder} 

This version only lists items of prototype type "Event":

if($Prototype += "Event"){$Name+"|"+$SiblingOrder} 

Amount of table data displayed

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 Table Expression is defined, display of $Text is suppressed, regardless of the height of $TitleHeight. In other words, it is possible to display either a table of child data or $Text but not both at the same time.

Table headings

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 any one of:

Note the lack of $-prefixes in the latter two examples where an attribute's name (as opposed to its value) is used literally in the heading.

Delimiting columns

In bother the heading and the data (expression), the '|' characters to delimit columns is simply inserted inline in the name string, no explicit padding with space characters is required. Nor is there a need to se a '+'Any of the following could be used for the above table expression example:

Other presentational points

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: