typedef struct t_block { // Block descriptor
int index; // Index of pos record in the .ini file
int type; // One of BLK_xxx
int percent; // Percent of block in left/top subblock
int offset; // Offset of dividing line, pixels
struct t_block *blk1; // Top/left subblock, NULL if leaf
int minp1; // Min size of 1st subblock, pixels
int maxc1; // Max size of 1st subblock, chars, or 0
struct t_block *blk2; // Bottom/right subblock, NULL if leaf
int minp2; // Min size of 2nd subblock, pixels
int maxc2; // Max size of 2nd subblock, chars, or 0
t_table *table; // Descriptor of table window
wchar_t tabname[SHORTNAME]; // Tab (tab window only)
wchar_t title[TEXTLEN]; // Title (tab window) or speech name
wchar_t status[TEXTLEN]; // Status (tab window only)
} t_block;
Describes panel of frame window (parent with several resizable child tables, like CPU) or tab in tab collection (parent with tab control that displays one of the several child tables, like Search).
Members when t_block is part of the frame window:
index
Index of the record in the initialization file that saves position of the dividing line in the nodes of type BLK_HDIV and BLK_VDIV. Must be unique within the frame window. Ignored by the leaf nodes
type
Type of the node, one of the following flags:
BLK_HDIV - node is a separator that divides block into the top (blk1) and bottom (blk2) subblocks
BLK_VDIV - node is a separator that divides block into the left (blk1) and right (blk2) subblock
BLK_TABLE - leaf node that describes table window. Member table must be defined
percent
BLK_HDIV - node is a separator that divides block into the top (blk1) and bottom (blk2) subblocks
BLK_VDIV - node is a separator that divides block into the left (blk1) and right (blk2) subblock
BLK_TABLE - leaf node that describes table window. Member table must be defined
Default percent of the block that will be assigned to the top or left subblock. If frame window is tagged as TABLE_SAVEPOS, data from the initialization file will override this setting. Ignored by leaf nodes
offset
Current offset of the dividing line in pixels. Ignored by the leaf nodes
blk1
If node is a separator, pointer to the top or left subblock. This subblock may be a separator or a leaf node. Ignored by the leaf nodes
minp1
Minimal width (BLK_VDIV) or height (BLK_HDIV) of the first subblock in screen pixels
maxc1
Maximal width (BLK_VDIV) or height (BLK_HDIV) of the first subblock in characters. If pointed subnode is a leaf, uses font selected into the table associated with subnode. Otherwise, uses default font
blk2
If node is a separator, pointer to the bottom or right subblock. This subblock may be a separator or a leaf node. Ignored by the leaf nodes
minp2
Minimal width (BLK_VDIV) or height (BLK_HDIV) of the second subblock in screen pixels
maxc2
Maximal width (BLK_VDIV) or height (BLK_HDIV) of the second subblock in characters. If pointed subnode is a leaf, uses font selected into the table associated with subnode. Otherwise, uses default font
table
For leaf nodes (BLK_TABLE), pointer to the structure of type t_table, descriptor of the table that defines which data will be displayed in the block. Ignored by the separator nodes
tabname
Ignored
title
UNICODE string at most TEXTLEN wide characters long, text that will be spoken when text-to-speech is activated and user changes focus to the given frame, or empty string if this feature is unsupported
status
Ignored
Members when t_block is part of the tab collection:
index
Ignored, may be freely reused
type
Type of the node, must be set to the following value:
BLK_TABLE - tab node
percent
BLK_TABLE - tab node
Ignored
offset
Ignored
blk1
Pointer to the next tab, or NULL if this is the last displayed tab
minp1
Ignored
maxc1
Ignored
blk2
Ignored, must be NULL
minp2
Ignored
maxc2
Ignored
table
Pointer to the structure of type t_table, descriptor of the table that defines which data will be displayed in the tab
tabname
UNICODE string at most SHORTNAME wide characters long, text displayed in the tab
title
UNICODE string at most TEXTLEN wide characters long, tooltip that will be displayed when user moves mouse pointer over the tab control, or empty string if this feature is unsupported
status
UNICODE string at most TEXTLEN wide characters long, text that will be displayed in the status bar of the tab window of type TABLE_STATUS when given tab is selected
See also: