The widgets also provide a wide−character version of the text modification callback,
XmN-modifyVerifyCallbackWcs. This callback is invoked before the value of the widget is modified, so an
application can use it to monitor changes in the widget. The callback is -passed a callback structure of type
XmTextVerifyCallbackStructWcs, which is defined as follows:
typedef struct {
int reason;
XEvent *event;
Boolean doit;
XmTextPosition currInsert, newInsert;
XmTextPosition startPos, endPos;
XmTextBlockWcs text;
} XmTextVerifyCallbackStructWcs;
With this structure the reason field has the value XmCR_MODIFYING_TEXT_VALUE. All of the fields have the
same meaning as the fields in the regular XmTextVerifyCallbackStruct, except that the text field is a
pointer of type XmTextBlockWcs. This structure is defined as follows:
typedef struct {
wchar_t *wcsptr;
int length;
} XmTextBlockRecWcs, *XmTextBlockWcs;
If callback routines are registered for both the XmN-modifyVerifyCallback and the
-XmNmodifyVerifyCallbackWcs, the routines for the XmNmodifyVerifyCallback are invoked first. The
resulting data, which may have been modified, is passed to the XmN-modifyVerifyCallbackWcs routines.
15.6.2 Text Output
The Text and TextField widgets do not use compound strings, so their text output functionality is based directly on
Xlib's internationalized text output capabilities. To support languages that use multiple charsets, X11R5 introduced
the XFontSet abstraction for its text output routines. An XFontSet contains all ...