I know that I can use XmTextSetString to "populate" a scrolled text widget by
supplying it with a null terminated string.

I have however a few questions:

While executing inside a callback routine, does it make much of a difference
if I repeatedly use InsertText to populate the widget (one record at a time)
as opposed to accumulating all the text in memory and then use a single
SetString ?

(It is my understanding that during a callback, the windows don't get
refreshed with changes, is that correct ?)

I am concerned about the loading of very large files. Doing it on a
record-by-record basis eliminates the need to make a local copy of the whole
file and then having XmTestSetString create a second copy internally. On the
other hand, doing it record by record may have performance implications if
each call creates too much overhead.

--------

Second question:

Some of the data I need to load into the scrolled text widget (currently
read-only) will contain varous control characters (for instance, some printer
setup modules). The data I get from the OS is a counted string which may
contain nulls etc. Is there a way to tell the text widget to read a counted
string as opposed to a null terminated string ?

----------

Third question:

On my platform (VMS), there is a font that provides a graphical display of
control characters (for istance, carriage return appears as a small "cr"
(compressed into a single character). But I woudl need to change the font
whenever I need to display a control character).

Is there a way to specify different font for different portions of the
contents of a ScrolledText widget, or can those contain only a single font ?

Which widget should I use if the ScrolledText cannot support multiple fonts
for the contents ?