Tile Tabs Configuration
Tile Tabs Configuration contains options for different ways to arrange Viewing Tabs in the Viewing Area.

## Tile Tabs Configuration in Workbench Window

This section contains the tile tabs configuration for the selected Workbench Window. If a Scene is saved, the selected Configuration is saved to the Scene and is restored when the Scene is displayed.
Workbench Window Selects the window for control of the window's Tile Tabs Configuration

### Layout of Tabs in a Tile Tabs Configuration

A Tile Tabs Configuration is a grid layout that displays all Tabs in the Window. Regardless of the Configuration Type, the first tab will be in the top left corner with subsequent tabs appearing to the right and wrapping to the next row when a row is filled. Rows and/or columns may also contain 'Spacers' (typically used for text as row/column headers) and tabs skip over these spacers.

### Configuration Types

- Automatic Configuration - This is the default selection and Workbench will adjust the number of rows and columns so that all tabs are displayed. Use Custom when Automatic does not produce the desired layout of tabs.
- Custom Configuration - Allows the user to customize the configuration of the Tile Tabs layout including number of rows, number of columns, heights of the rows, and widths of the columns. If the Custom Configuration contains insufficient rows and columns for the Window's Tabs, some tabs will not be displayed. Conversely, there will be empty space at the bottom when the Tile Tabs Configuration contains space for more tabs than are currently in the Window. The user may also designate rows or columns that contains 'Spacers'.

### Custom Configuration Rows/Columns

###

- Index - The index of the row or column.
- Construction Menu - Allows the user to duplicate, move, or delete rows and columns.
- Content - The content of the row or column chosen from Space or Tab. The content of 'Space' is limited to annotations in "Spacer Coordinate Space" or "Window Space" Annotations. The content of 'Tab' is limited to display of a browser tab along with annotations in spaces other than "Spacer Coordinate Space."
- Type - The type of 'stretching' chosen from Percent and Weight.
- Stretch - The stretching value. When the Type is Percent this value is a percentage and when the Type is weight it is the weight for this row/column.

### Explanation of Stretching

The space allocated to a row is determined by a combination of the Stretching Type and the Stretching Value. (Note that row and column stretching function identically but along different axes) as described below.

#### Percentage Stretching Type

When a row's Type is set to Percentage, that row is allocated the associated Percentage value of the window's height. Thus, if the row's Percentage Height is 20% and the Window is 1000 pixels in height, the row is 200 pixels in height. The Percentage value for each row should be in the range 0% to 100%. If the rows that use Percentage sum to more than 100%, then part or all of the last rows may not be displayed (likewise for columns). If there are no rows/columns that use Weight, then there may be blank unused space, depending on the percentages used."

##### Example of Percentage Stretching

- Row 1: 20%
- Row 2: 50%
- Row 3: 30%

Result for a Window 1000 pixels in height:

- Row 1 Height: 200 pixels (20% of 1000)
- Row 2 Height: 500 pixels (50% of 1000)
- Row 3 Height: 300 pixels (30% of 1000)

####

#### Weighted Stretching Type

When a row's Type is set to Weight, the Height of the row is affected by Stretching Values of all Rows with the Stretching Type set to Weight. To determine the height of the a row, the weights from all rows are summed and the row's weight is divided by the sum. This result (row's weight divided by sum) becomes the percentage of the window's height allocated to the row.

##### Example of Weighted Stretching

- Row 1: 1.0
- Row 2: 2.0
- Row 3: 1.0

Result for a Window 1000 pixels in height (Note: sum of weights is 4.0):

- Row 1 Height: 250 pixels ((1.0 / 4.0) * 1000 = 250)
- Row 2 Height: 500 pixels ((2.0 / 4.0) * 1000 = 500)
- Row 3 Height: 250 pixels ((1.0 / 4.0) * 1000 = 250)

#### Combination of Percentage and Weighted Stretching

When both Percentage and Weighted Stretching are used, rows with Percentage stretching are assigned their requested height percentage and any remaining space is allocated to rows with weighted Stretching.

##### Example of Percentage and Weighted Stretching

- Row 1: Percentage, 20%
- Row 2: Percentage, 30%
- Row 3: Weighted, 1.0
- Row 4: Weighted, 2.0

Result for a Window 1000 pixels in height (Note: Sum of Percentages is 50% and Sum of Weights is 3.0):

- Row 1 Height: 200 pixels (20% of 1000)
- Row 2 Height: 300 pixels (30% of 1000)
- Row 3 Height: 166 pixels ((1.0 / 3.0) * 50% * 1000)
- Row 4 Height: 334 pixels ((2.0 / 3.0) * 50% * 1000)

Now Suppose a 5th row is added with a Weight of 1.0 (the Sum of Weights is 4.0). Notice that the Percentage Type rows remain the same height and the Weighted Type rows shrink in height to accommodate the new row:

- Row 1 Height: 200 pixels (20% of 1000)
- Row 2 Height: 300 pixels (30% of 1000)
- Row 3 Height: 125 pixels ((1.0 / 4.0) * 50% * 1000)
- Row 4 Height: 250 pixels ((2.0 / 4.0) * 50% * 1000)
- Row 5 Height: 125 pixels ((1.0 / 4.0) * 50% * 1000)

### Summary of Percentage and Weighted Stretching

The advantage of using Percentage stretching is that the row will be allocated the requested percentage of the window's height. The disadvantage of Percentage Stretching is that if all rows use Percentage Stretching, and a row is added or removed, the user will need to adjust the stretching percentages to ensure all rows are visible (when a row is added) or to remove empty space (when a row is removed).

The advantage of Weighted stretching is that all of the vertical space will be used and the available space is automatically reallocated when a row is added or removed. The disadvantage is that if rows use different weights, calculations are required to get the desired row heights.

In some instances using both Percentage and Weighted Stretching may be best. One such instance is when the first row's Content is set to Spacer and Annotation are added to the Spacer Row for use as Column Titles. In this case, the recommendation is to use Percentage for this Row and Weight for the Rows below containing the Brain Models. As Rows for Brain Models are added as removed, the Column Titles will remain the same size and the Rows containing the Brain Models will occupy all of the remaining vertical space.

## User Configuration

The User Configuration contains Tile Tabs Configurations that have been created by the user. These configurations are saved in the user's preferences and thus are available in future Workbench sessions.

- New - Click this button to create a new User Configuration
- Rename - Click this button to rename the selected User Configuration
- Delete - Click this button to delete the selected User Configuration

## Replace and Load Push Buttons

- Replace - Replaces (saves) the selected User Configuration with the content of the Custom Configuration
- Load - Copies the selected User Configuration into the Custom Configuration and is used for the layout of the window