|  | Programming Guide |        | 
Writes text into a word wrapped text widget
int sm_ww_write(int field_number, char *buffer, int offset);int sm_n_ww_write(char *field_name, char *buffer, int offset);
field_name, field_number- Specifies the field to receive the contents of
buffer. The field must be a multiline text widget whoseword_wrapproperty is set toPV_YES.
buffer- A pointer to a null-terminated buffer that contains the text to write.
offset- The offset into the word wrap field at which to start writing. Supply a value of 0 to start writing at the beginning of the field. If supplied value is greater than the field's total length, Panther recalculates the value of
offsetto the field's length + 1; the contents ofbufferare thereby appended to the end of the field.
0 The number of bytes written to the field.
sm_ww_writecopiesbuffertext into the specified word wrap field—that is, a multiline text widget whose Word Wrap property is set to Yes.sm_ww_writewraps at the end of words and leaves a space at the end of each line. If a word is equal to or longer than the length of the field,sm_ww_writebreaks the word one character before the end of the field, appends a space, and wraps the rest of the word on the next line.
If you try to copy data that is too large for the field to hold,
sm_ww_writetruncates the excess text. If the field's original contents exceeds the amount of text inbuffer, the leftover text remains in the field. To avoid this, first clear the field with sm_clear_array or one of its variants before callingsm_ww_write.
/* this procedure reads text from a filestream and
* reads each line into a word wrapped field. It uses
* sm_ww_write to reformat the file text so that it
* wraps within the field.
*/proc wrapFileTextToMulti
{
vars str, last_char, wwErr, err, fileStream
call sm_fio_error_set(0)
/* get file stream sent from previous dialog */
receive DATA fileStream
err = 0
while (err == 0)
{
str = sm_fio_gets(fileStream, 255)
/* check for error condition like EOF */
if (str != "")
{
last_char = sm_n_ww_length("comments")
/* if writing to empty array */
if (last_char = 0)
{
wwErr = sm_n_ww_write("comments", str, last_char)
}
/* otherwise add space after last char before write*/
else
{
wwErr = sm_n_ww_write("comments", " ", last_char)
wwErr = sm_n_ww_write("comments", str, last_char + 1)
}
}
else
{
err = sm_fio_error()
}
}
call sm_fio_close(fileStream)
return
}
sm_clear_array, sm_ww_length, sm_ww_read



