WDS_TextList

WDS_TextList

wds

1998 12-05


CLASS

WDS_TextList - text listing widget


SYNOPSIS

Class WDS_TextList is a list of text labels. As a single widget, it is much more efficient than a large number of labeled widgets in a generic form.


PUBLIC MEMBER FUNCTIONS

Inheritance from class WDS_Widget



void SetStringList(WDS_StringList *set)

WDS_StringList *GetStringList(void)
Set/Get the list of strings associated with the text list.



void SetSelectedNumber(long set)

long GetSelectedNumber(void)
Set/Get the index of the entry currently selected for editing.



char *GetSelectedString(void)
Get a pointer to the selected string. This string is internally allocated and it is the responsibility of the caller to free the data.



void SetFlags(long set)

long GetFlags(void)
Set/Get the textlist flags. Enumeration values are given for clarity; they are subject to change.



WDS_TEXTLIST_NULL 0 No special flags.
WDS_TEXTLIST_UNEDITABLE_GRAB_KEYBD 1 Grab keyboard focus even is string is uneditable.



void SetDrawOffset(long set)

long GetDrawOffset(void)
Set/Get the offset downward to draw the list.



void SetDrawLength(long set)

long GetDrawLength(void)
Set/Get the altered length for drawing the list.



void GetAlteredGeometry(long *ax,long *ay,long *asx,long *asy)
Get the geometry of the list as altered by SetDrawOffset() and SetDrawLength() . These alterations are used, for example, by WDS_Table() to align lists in different partitions.



void SetShielded(long set)

long GetShielded(void)
Set/Get the number of entries on the top of the list that are not scrollable and always remain in place when the other entries are scrolled. These can be used as headers for the list.



void SetEditable(long set)

long GetEditable(void)
Set/Get whether entries on the list can be edited as an OR'ed sum of the following. Enumeration values are given for clarity; they are subject to change.



WDS_TEXTLIST_EDITABLE_NONE 0 Not editable.
WDS_TEXTLIST_EDITABLE_ENTRY 1 Unshielded entries are editable.
WDS_TEXTLIST_EDITABLE_HEADER 2 Shielded entries are editable.



long IsEditable(long index)
Returns non-zero if the listing under index is editable. In addition to WDS_TextList::GetEditable(), this uses WDS_String::GetEditable() for the specific string.



void AlterRowHighlight(long row,long on)
Set highlighting for the string in the specified row. If on is non-zero, the row is drawn with a modified background. Any number of strings can be highlighted.



void SetOffset(float set)

float GetOffset(void)
Set/Get the scrolled offset in a fractional number of entries.



long GetHeaderHeight(void)

long GetEntryHeight(void)
Get the pixel height of a header or normal entry.


STATE CHANGES


WDS_STATE_0 editing has completed
WDS_STATE_1 editing has started
WDS_STATE_2 selection of uneditable value: left press
WDS_STATE_3 selection of uneditable value: left motion
WDS_STATE_4 selection of uneditable value: left release


FILES

wds/textlist.h Text List header file


SEE ALSO

WDS_intro(3), WDS_Widget(3), WDS_StringList(3), WDS_Table(3)