Library | File

File "uifcTable.h"

Description

A Table contains cells. Each cell is either a text label (using symbols as well of course) OR a component, but never both. The application can switch between displaying text or component on a per cell basis.
The size of a cell is based on the maximum of
a) the size of the component, if any
b) the width of the column of the cell
The width of all cells in a column is the same.
The height of all cells in a row is the same.
The height of all rows is the same.
The components in the cells could be anything except for a few container classes:
Dialog
MenuBar
Sash
The Table allows components to be created in the resource file and then either assigned to a cell or copied into multiple cells. Each time a new component is created the application code specifies the name so the Table will not run into trouble by automatically choosing a name which may not be unique.
The cell location is determined by the name of the row and the name of the column, so there are 2 arrays, one for row names and one for column names.
If a cell is displaying text (instead of the component) then the cell can be selected by the user.
There is the option of both column and row headers. The column headers can be dragged as sashes to change the sizes of the columns. The row headers are not be draggable sashes as all rows are the same height.
The rows of a Table do NOT resize. When the Table grows vertically in size the Table will simply allow more rows to be shown.
The columns of a Table DO resize, based on the resizeability of the columns. The default resizeability for a column will be 0, indicating no resizing. If a Table grows horizontally only the resizeable columns will stretch, each taking a fraction of the resizing space, just like in the UI. For example, 2 resizeable columns means that each column will get 1/2 the amount of resizing space.
Any number of rows and columns may be locked from scrolling at any time.
Position and visibility of the scrollbars can be controlled.
There is the option to have an entire row be highlighted if any cell in that row is selected.

Enumerated Types
enumuifcTableAction
 


Interface Classes
classuifcTable
classuifcTableCell
classuifcTableColumn
classuifcTableListener
 
classuifcTableRow
classuifcTableTimer
 


Collection Classes
classuifcTableCells
 
classuifcTableColumns
 
classuifcTableRows
 


Functions
uifcTableCell_ptruifcTableCellFind (xrstring device, xrstring component, xrstring name, xrstring name1)
 
uifcTableCell_ptruifcTableCellLookup (xrstring device, xrstring component, xint idx, xint idx1)
 
uifcTableColumn_ptruifcTableColumnDefine (xrstring name)
 
uifcTableColumn_ptruifcTableColumnFind (xrstring device, xrstring component, xrstring name)
 
uifcTableColumn_ptruifcTableColumnLookup (xrstring device, xrstring component, xint idx)
 
uifcTable_ptruifcTableDefine (xrstring name)
 
uifcTable_ptruifcTableFind (xrstring device, xrstring component)
 
uifcTableRow_ptruifcTableRowDefine (xrstring name)
 
uifcTableRow_ptruifcTableRowFind (xrstring device, xrstring component, xrstring name)
 
uifcTableRow_ptruifcTableRowLookup (xrstring device, xrstring component, xint idx)