Array Layout Hints
By default, all array parameters are displayed horizontally across a menu page. Adjacent OIDs of the same size will format in DashBoard in a tabular format. For example, 3 array parameters with 4 elements each, the layout would appear as:
Figure 10 - Default array layout.
Column headers can be added by adding a read-only INT16_ARRAY parameter to the menu immediately before the other arrays (widget hint WIDGET_ARRAY_HEADER_HORIZONTAL). The parameter is expected to have a choice constraint. The string values of the elements of this parameter provide the column headers. The resulting display is:
Figure 11 - WIDGET_ARRAY_HEADER_HORIZONTAL hint.
Array elements can also be given a vertical layout. Changing the widget hint for the header array to WIDGET_ARRAY_HEADER_VERTICAL provides the following layout:
Figure 12 - WIDGET_ARRAY_HEADER_VERTICAL hint.
Array layout can be specified by including a read-only INT16_ARRAY parameter as a header, with one of the following widget hints:
Widget Name |
Value |
Description |
WIDGET_ARRAY_HEADER_VERTICAL |
15 |
indicates that the associated array parameter and all subsequent parameters should be displayed in a vertical layout |
WIDGET_ARRAY_HEADER_HORIZONTAL |
16 |
indicates that the associated array parameter and all subsequent parameters should be displayed in a horizontal layout |
Normally sequential array OIDs will be formatted as a single table. If it is desired to break a block of sequential array OIDs into multiple tables, it is necessary to insert a non-array OID, or switch from a horizontal layout hint to a vertical layout hint (or vice versa). If multiple arrays of different size are encoded with different sizes, the layout may be unpredictable.
WIDGET_ARRAY_HEADER_VERTICAL (15)
This hint indicates that the associated array parameter and subsequent parameters should be displayed in a vertical layout. The elements of the parameter will be used as row labels for display. The names of the following arrays are used as column labels. The header should be a read-only INT16_ARRAY parameter with a choice constraint to allow meaningful text labels. The elements of each array are displayed as specified by the widget hint for that array.
The vertical array layout will be applied until another WIDGET_ARRAY_HEADER_VERTICAL starts a new set of vertical columns, a WIDGET_ARRAY_HEADER_HORIZONTAL declares that subsequent arrays should be laid out horizontally, a non-array element in found on the page, or the end of the menu page is reached.
Figure 13 shows an INT16_ARRAY parameter named "Channel", provides a vertical layout and row labels for 7 array parameters named “Channel Update”, “Source”, “Vertical Channel”, “Delay Array (ms)”, “Gain (dB)”, “Invert”, and “Destination”.
Figure 13 - INT6_ARRAY vertical layout example.
WIDGET_ARRAY_HEADER_HORIZONTAL (16)
The WIDGET_ARRAY_HEADER_HORIZONTAL is used to create a header over a horizontal array. It will also will end a block of vertical array elements. Each element in the header parameter will be displayed as a column header.
Figure 14 shows an INT16_ARRAY parameter named "Channel" providing a horizontal layout and column labels for 7 array parameters named “Horizontal Channel”, “Source”, “Delay Array (ms)”, “Gain (dB)”, “Invert”, “Destination” and “Transition”.
Figure 14 - INT16_ARRAY horizontal layout example.