void SetTableEntryList(WDS_TableEntryList *set)
WDS_TableEntryList *GetTableEntryList(void)
Set/Get the list of rows associated with the table.
void SetEditable(long set)
long GetEditable(void)
Set/Get the overall table editablity. If a section of the table is editable,
the individual cells can still be set uneditable.
Changing this value will not take effect until
RebuildColumns() is called.
Acceptable OR'able values for set are as follows.
Enumeration values are given for clarity; they are subject to change.
| WDS_TABLE_EDITABLE_NONE 0 |
The table is entirely uneditable.
|
| WDS_TABLE_EDITABLE_ENTRY 1 |
General entries are editable, not including headers and row labels.
|
| WDS_TABLE_EDITABLE_HEADER 2 |
Headers are editable.
|
| WDS_TABLE_EDITABLE_ROWLABEL 4 |
Row labels are editable.
|
| WDS_TABLE_EDITABLE_ALL 7 |
The table is entirely editable.
|
void SetAllSelect(long set)
long GetAllSelect(void)
Set/Get all-select mode. If set,
selecting an entry (editable or not) from any column will also select
the corresponding item of the other columns, but only if they are uneditable.
Acceptable OR'able values for set are as follows.
Enumeration values are given for clarity; they are subject to change.
| WDS_TABLE_ALLSELECT_NONE 0 |
All-select is off.
|
| WDS_TABLE_ALLSELECT_ROW 1 |
Each row is selected as a unit.
|
void SetHeaderLabels(long set)
long GetHeaderLabels(void)
Set/Get the number of the rows at the top of the table that are not scrollable
and stay in place as the other rows are scrolled vertically.
void SetRowLabels(long set)
GetRowLabels(void)
Set/Get the number of the columns at the left of the table
that are not scrollable
and stay in place as the other rows are scrolled horizontally.
These columns are actually placed in a more ancestral partition widget.
void RebuildColumns(void)
Convert the row-based data in the table entry list to the required
column-based data of the tables WDS_TextList's.
The row-based data is not visible until built into columns.
The string pointers are copied directly,
so data is always current in both the publically accessible row form and
interactively-user-editable column form.
Likewise, the WDS_String
values could be taken from other object(s) and still stay current.
void DeleteColumns(void)
Clear the currently built columns.
void SelectRow(long row)
Select the row indexed by row.
Only one row is selected at a time.
void AlterRowHighlight(long row,long on)
Set highlighting for a specified row.
If on is non-zero, the row is drawn with a modified background.
Any number of rows can be highlighted.
void InsertRowsBefore(long at,WDS_TableEntryList *newrows)
Insert the entries in newrows to the specified index location at.
Since WDS_TableEntryList is intrusive, the WDS_TableEntry's
are removed from newrows.
The number of rows is implied by the length of newrows.
The columns are automatically rebuilt.
void MoveRows(long at,long rows,long to)
Move the specified number of rows from the specified index location
at to the location to.
The columns are automatically rebuilt.
void DeleteRows(long at,long rows)
Delete the specified number of rows from the specified index location
at. The columns are automatically rebuilt.
void GetLastEditIndices(long *row,long *column)
Get to location of the last edit.
This is useful in callbacks to determine what has happened.