All the tags which are valid for edline objects, can als be applied to direct edline (dedline) objects.

create
PW_EDLINE_MAXLENGTH
Set the maximum length of the string which can be edited in an edline object. The parameter is of type "int".
PW_EDLINE_VISIBLE_LINES
An edline can have several lines. They are independent of each other (i.e. there is no word wrap) and you can get to/from each line with the up/down cursor keys. This tag determines how many lines there are in the edline. They are normally all visible in the window. Beware, you cannot change the number if lines later on - if this tag is not given, the edline only has one line... The parameter is the number of lines. The length of each line is limited by the maxlength setting above.
change
PW_EDLINE_SET
Set the string which should be presented for editing in the edline object. If the string is longer than the maximum length, then as much as possible will be used. The parameter is of type "char *". For multi-line edlines, this will set the current line for the object. That is the line which was last edited by the user.
PW_EDLINE_SET_LINE
Set the string which should be presented for editing in any line of the edline object. The parameters are the string to set ("char *") and the line to set it to ("int"). If the string is longer than the maximum length, then as much as possible will be used. The line number is forced in range.
PW_EDLINE_SET_ARRAY
Use an array to set the strings for the edline. There are three parameters : the number of lines to fill in (which should be the number of elements in the array), the maximum length of each string in the array, and the array itself. The type makes sure that no overflow can occur if there are more lines in the array than in the edline, or if the length of each line in the edline is less than that of each element in the array.
PW_EDLINE_GET
Get the string which is contained in the edline. Two parameters are needed, the length of the buffer (an "int"), and the pointer to the buffer ("char *"). If the text in the object is larger than the buffer, the buffer will be filled as much as possible. For edlines which contains more than one line, you will modify the current line.
PW_EDLINE_GET_LINE
This will set the current line, and then fill in a string with the value of that line. You have to give three parameters, the length of the buffer ("int"), the base of the buffer ("char *") and the line number. The line number is forced in range. If the text in the object is larger than the buffer, the buffer will be filled as much as possible.
PW_EDLINE_GET_ARRAY
Fill an array with the lines from the edline object. There are three parameters : the number of lines to fill in (which should be the number of elements in the array), the maximum length of each string in the array, and the array itself. The type makes sure that no overflow can occur if there are more lines in the edline than in the array, or if the length of each line in the edline is larger than that of each element in the array.
PW_EDLINE_WIDTH
Set the size of the edline object, one parameter in PROforma points.
PW_EDLINE_WIDTH_PIX
Set the size of the edline object, one parameter in pixels ("int").
PW_EDLINE_WIDTH_FS
Set the size of the edline object, on parameter in fixpoint ("pt"). The window size is calculated as the parameter times the fontsize used for the text in the object.
PW_EDLINE_KEYPRESS
Attach a keypress with the edline. The pressing of the key will be equivalent with a PW_EVENT_HIT on the item, so the item can be edited. The parameter is the primary keypress, which is of type "char".
PW_EDLINE_ACTION_AFTER
Set the routine which should be called when the user finished editing the edline (when the user pressed ), as a post processing routine. The parameter should be of type "Error (*)(PWObject object)". This can be used to modify some part of the system according to the data entered.
PW_EDLINE_ACTION_DO
Set the routine which should be called when the user indicates the edline with a PW_EVENT_DO. If such a routine exists, then this routine will be called, and the item in the edline cannot be edited. If there is no ACTION_DO routine, then a PW_EVENT_DO is treated the same as a PW_EVENT_HIT. The parameter should be of type "Error (*)(PWObject object)". This can be used to modify some part of the system according to the data entered.
PW_EDLINE_EDLINE_AFTER
Some navigation is possible with edlines. Several edline objects can be linked together so that you can edit several items and keep your hands at the keyboard. This tag allows you to set the edline which should be edited after this one (when pressing ENTER). The parameter is of type "PWObject" and has to be a possible catch object ! Of course the ACTION_AFTER routine is called before moving to the next object.
PW_EDLINE_EDLINE_NEXT
Some navigation is possible with edlines. Several edline objects can be linked together so that you can edit several items and keep your hands at the keyboard. This tag allows you to set the edline which should be edited as the next one, which can be reached by pressing TAB. The parameter is of type "PWObject" and has to be a possible catch object ! Of course the ACTION_AFTER routine is called before moving to the next object.
PW_EDLINE_EDLINE_PREV
Some navigation is possible with edlines. Several edline objects can be linked together so that you can edit several items and keep your hands at the keyboard. This tag allows you to set the edline which should be edited as the previous one, which can be reached by pressing SHIFT TAB. The parameter is of type "PWObject" and has to be a possible catch object ! Of course the ACTION_AFTER routine is called before moving to the next object.
PW_EDLINE_EDLINE_UP
Some navigation is possible with edlines. Several edline objects can be linked together so that you can edit several items and keep your hands at the keyboard. This tag allows you to set the edline which should be edited as the above one, which can be reached by pressing the UP cursor key. The parameter is of type "PWObject" and has to be a possible catch object ! Of course the ACTION_AFTER routine is called before moving to the next object.
PW_EDLINE_EDLINE_DOWN
Some navigation is possible with edlines. Several edline objects can be linked together so that you can edit several items and keep your hands at the keyboard. This tag allows you to set the edline which should be edited as the below one, which can be reached by pressing the DOWN cursor key. The parameter is of type "PWObject" and has to be a possible catch object ! Of course the ACTION_AFTER routine is called before moving to the next object.
PW_EDLINE_ACTIVATE
Activate the edline object to which this tag is passed. The edline object will wait for input from the user. When this tag is passed to a direct edline object, then that object will be selected as catch all keypresses object. So the edline is ready for input from the user. This tag has no parameter. The actions are in principle the same as hitting the edline.
PW_EDLINE_ACTION_TEST
This tag allow you to define a routine which can constrain which keypresses should be reacted to by the edline object, or even give a special meaning to certain keypresses. The tag needs one parameter, which is a function of type "Error (*)(PWObject object, EdlineInfo *info)". This function is called each time a key is pressed inside the edline object, and once before the editing starts (with a nul key).

To make it somewhat easier to use, there are some standard builtin routines to constrain the text in the edline object to numbers, either natural numbers (PW_EDLINE_ACTION_TEST_NATURAL), integers same as natural, but including sign) (PW_EDLINE_ACTION_TEST_INTEGER), of floating point numbers (also including decimal point) (PW_EDLINE_ACTION_TEST_FLOAT).

The test routine is passed a structure which contains details about the current value of the string, its maximum length, current length, the cursor position and the key which was pressed. Depending on these values, the routine can do one of three things :

PW_EDLINE_PRINT_ESCAPE
This tag allows you to specify whether any escape code in the string have to be displayed in full (TRUE) or whether they should be displayed as the character they represent (FALSE). On parameter is needed, the new status. The default is FALSE.

PROGS, Professional & Graphical Software
last edited February 12, 1997