Widget features
Features, as used by these widgets, affect the way the widget looks and/or
feels. Most features have a visible effect. Multiple features may be
manipulated by or'ing values together. For instance:
(FLVF_ROW_HEADER | FLVF_ROW_DIVIDER). Features are manipulated by one of
four functions:
- feature - which will set the features to a specific group.
- feadure_add - which will add new features without affecting exisiting
ones.
- feature_remove - which will remove a set of features without affecting other
features.
- feature_test - which will determine if a enitre set of features
are defined.
For example:
feature(FLVF_MULTI_SELECT | FLVF_ROW_HEADER )
Will set the multi select and row header features while turning off all
other features.
feature_add(FLVF_MULTI_SELECT | FLVF_ROW_HEADER )
Will add multi select and row header features to the existing features.
feature_remove(FLVF_MULTI_SELECT | FLVF_ROW_HEADER )
Will remove multi select and row header features while leaving any other
set features as is.
feature_test(FLVF_MULTI_SELECT | FLVF_ROW_HEADER )
Will test if both multi select and row header features are on. It will
return true only if both are on.
FLVF_NONE
This affects no features at all. Tests will always be true, adding or
removing will change nothing, and setting this feature will turn off
all features.
FLVF_ROW_HEADER
This references the row headings of the widget. Row headings appear
at the top of a row, just under the title if visible.. Row headers are
always in a fixed position.
FLVF_ROW_FOOTER
This references the row footer of the widget. Row footers appear at the
bottom of the widget. Row footers are always in a fixed position.
FLVF_ROW_DIVIDER
This affects whether lines will be drawn between each row. The lines
are always horizontal lines.
FLVF_COL_HEADER
This references the column header of the widget. Column headers never
scroll and will be at the left of the widget. This applies only to
table type widgets.
FLVF_COL_FOOTER
This references the column footer of the widget. Column footers never
scroll and will be at the right of each column if it is visible. This
applies only to table type widgets.
FLVF_COL_DIVIDER
This affects whether lines will be drawn between each column. The lines
are always vertical lines. This applies only to table type widgets.
FLVF_MULTI_SELECT
This determines whether more than one row or cell may be selected at
any given time. If set, rows or cells may be selected by either
dragging the mouse or using the Shift key in conjunction with any
movement key. A block of rows or cells may also be selected by
selecting one row or cell and then holding the Shift key down while
clicking on another row or cell. Cells apply only to table type
widgets, rows apply to both list and table widgets.
FLVF_ROW_SELECT
This determines whether a single cell or an entire row will be selected.
If set the entire row will be visibly selected. This applies to table
type widgets only.
FLVF_PERSIST_SELECT
This determines whether the selection rectangle will remain visible when
the control does not have the focus. If set the selection rectangle will
always be visible, if not set, the selection rectangle will only be
visible when the widget has the focus.
FLVF_FULL_RESIZE
This determines whether resizing is allowed at any boundary or just in
the ends. If set, resizing is allowed at any boundary.
FLVF_DIVIDERS
This determines whether row and column dividers will be visible. If set
both dividers/grid lines will be visible.
FLVF_HEADERS
This determines if row and column headers will be visible. If set both
headers will be visible.
FLVF_FOOTERS
This determines if row and column footers will be visible. If set both
footers will be visible.
FLVF_ROW_ENDS
This determines if both row headers and footers will be visible. If set
both row ends will be visible.
FLVF_COL_ENDS
This determines if both column headers and footers will be visible. If
set both column ends will be visible.
FLVF_ALL_ROW
This determines if row headers, footers, and dividers/grid lines will
be visible. If set they will all be visible.
FLVF_ALL_COL
This determines if column headers, footers, and dividers/grid lines will
be visible. If set they will all be visible.