query
PW_LISTSELECT_CURRENT
Get the current value for the listselect item. The return value is of type "char *" and can be NULL.
PW_MENU_xxx
All the query tags for the menu type are also accepted. They will return the data for the items menu in the listselect object.
change
PW_LISTSELECT_ADD
Add an extra choice to the listselect menu. If the menu is not sorted, the item will be added at the end. The parameter should be of type "char *". The pointer to the string is copied, so the memory which contains the string should persist.
PW_LISTSELECT_ADD_COPY
Add an extra choice to the listselect menu. If the menu is not sorted, the item will be added at the end. The parameter should be of type "char *". The string is copied in some memory allocated by the menu.
PW_LISTSELECT_ADD_ARRAY
Add all strings from an array of string to the listselect menu. If the menu is not sorted, then the items are added at the end, in the same order as in the array. This tag requires three parameters, the number of strings in the array, the length of each string, and the base of the array (note that the first two parameters are the indexes used when declaring the array). The items in the menu will just point to the position in the array, so the array should persist.
PW_LISTSELECT_CLEAR
Clear the choices for the listselect menu, however, the current value is not affected. All the items will be removed from the list. This tag does not need a parameter.
PW_LISTSELECT_SORT_COMPARE
This tag allows you to pass a compare routine to the listselect menu, for example, STRCompareCI or STRCompareCD. It requires one parameter of type "Error *rout(char *str, char *with, int *result)". If the parameter is NULL then the listselect menu is not sorted.
PW_LISTSELECT_SIZE
Set the minimum width and height of the listselect item. The tag needs two parameters, the x and y size, both in PROforma coordinates (pt). Setting the size automatically also sets autosize to FALSE.
PW_LISTSELECT_XSIZE
Set the minimum width of the listselect item. The tag needs a PROforma point as parameter. Setting the size automatically also sets autosize to FALSE.
PW_LISTSELECT_YSIZE
Set the minimum height of the listselect item. The tag needs a PROforma point as parameter. Setting the size automatically also sets autosize to FALSE.
PW_LISTSELECT_AUTOSIZE
The parameter is either TRUE or FALSE. By default, the value is TRUE. When autosize is TRUE, then the size of the listselect item will automatically be redetermined when the value of the item has changed. If autosize is FALSE and no size is set explicitly, then the size of the text at the time when the window is first activated is used.
PW_LISTSELECT_CURRENT
Set the current value for the listselect object. When there is no current value when the listselect object is displayed, then the first choice from the listselect menu will become the current value. It is preferred that the value is one of the choices for the object, but this is not obligatory. The parameter is of type "char *". however, the contents of the string should be persistent (the value is not copied).
PW_LISTSELECT_ACTION_SELECT
Set an action routine which should be called when the value for the listselect object changes. The parameter is of type "Error (*)(PWObject object, char *item)". this routine can be called more than once in succession for the same item, and the item can also be NULL, indicating that the listselect object has no current value.
PW_LISTSELECT_TITLE
When you indicate a listselect item, a menu of choices is displayed. This menu by default does not have a title, but if you want, you can set the title with this tag. the parameter is of type "char *".
PW_LISTSELECT_COMMENT
The listselect object displays a choice menu when it is indicated. If you want, this menu can contain an infostring object at the top. This tag allows you to specify the text which should be displayed in that item. The parameter is of type "char *". The text can contain several (newline separated) lines.
PW_LISTSELECT_KEYPRESS
Set the keypress which allows immediate selection of the listselect object. When that key is pressed, the menu which allows you to display a new value is displayed.

PROGS, Professional & Graphical Software
last edited October 8, 1998