XmStringComponentType(3X) UNIX System V XmStringComponentType(3X)
NAME
XmStringComponentType - Data type for compound string
components
SYNOPSIS
#include <Xm/Xm.h>
VERSION
This page documents Motif 2.1.
DESCRIPTION
XmStringComponentType is the data type specifying compound
string component types. A compound string component
identifies some part of a compound string, and can have a
value and length. A compound string component can be one of
the following types. These component types are grouped
according to their length and value types.
The following components have values of NULL and lengths of
0 (zero).
XmSTRINGCOMPONENTSEPARATOR
This component usually maps to a newline or
carriage return in displayed text.
XmSTRINGCOMPONENTTAB
This component may be thought of as a text
component containing only a single tab.
XmSTRINGCOMPONENTLAYOUTPOP
The layout direction is kept on a stack, with the
current direction kept on top of the stack. When
this component is read, the most recently read
layout direction is popped off the stack and
replaced by the direction immediately before it.
XmSTRINGCOMPONENTEND
This component marks the end of a compound string.
No other components should follow. If an
application does not place an
XmSTRINGCOMPONENTEND component at the end of an
XmString, Motif automatically does it for the
application.
The following component has a value of XmDirection and the
length of that direction.
XmSTRINGCOMPONENTLAYOUTPUSH
The layout direction is kept on a stack, with the
current direction kept on top of the stack. This
component replaces the current layout direction,
and causes another to be pushed onto the top of
Page 1 (printed 1/22/99)
XmStringComponentType(3X) UNIX System V XmStringComponentType(3X)
this stack.
The following component has a value of XmStringDirection and
the length of that direction.
XmSTRINGCOMPONENTDIRECTION
This component sets the string direction by
overriding the previous string direction.
The following components have values of type char * or some
equivalent type, and the lengths of these types.
XmSTRINGCOMPONENTLOCALETEXT
This component contains the multibyte text of a
compound string.
XmSTRINGCOMPONENTWIDECHARTEXT
This component contains the widechar text of a
compound string.
XmSTRINGCOMPONENTTEXT
This component contains the charset text of a
compound string. Note that a compound string
cannot contain both charset and locale (multibyte
or widechar) text.
XmSTRINGCOMPONENTRENDITIONBEGIN
This component marks the beginning of a new
rendition. All text following this component will
be rendered using this rendition as the primary
one. If there is already a rendition in effect, it
is kept in memory and used to fill in any
unspecified values in the primary rendition.
Renditions are kept until a corresponding
XmSTRINGCOMPONENTRENDITIONEND component is
encountered.
XmSTRINGCOMPONENTRENDITIONEND
This component signifies that the specified
rendition will no longer be used to render text,
and will not be available to fill in unspecified
values of newer renditions.
XmSTRINGCOMPONENTUNKNOWN
This component type signifies that the component
contents belong to an unknown component type.
XmSTRINGCOMPONENTLOCALE
Use this component to specify the locale in which
an internationalized application is to execute.
The only valid character string for this component
is MOTIFDEFAULTLOCALE.
Page 2 (printed 1/22/99)
XmStringComponentType(3X) UNIX System V XmStringComponentType(3X)
XmSTRINGCOMPONENTTAG
For charset text, this is the tag of the font to
be used to display the text. This tag is sometimes
referred to as the charset tag or the fontlist
tag.
XmSTRINGCOMPONENTCHARSET
This component is obsolete and remains for
compatibility with previous releases. It has been
replaced by XmSTRINGCOMPONENTTAG.
XmSTRINGCOMPONENTFONTLISTELEMENTTAG
This component is obsolete and remains for
compatibility with previous releases. It has been
replaced by XmSTRINGCOMPONENTTAG.
Some compound string components depend on values defined in
other components. The XmSTRINGCOMPONENTTAB component
definition, for example, depends on information in the
XmSTRINGCOMPONENTRENDITIONBEGIN. To account for these
dependencies, a typical compound string will have its member
components in the following order:
[
[ XmSTRINGCOMPONENTLAYOUTPUSH ]
[ XmSTRINGCOMPONENTRENDITIONBEGIN ]*
[ XmSTRINGCOMPONENTTAG | XmSTRINGCOMPONENTLOCALE ]
[ XmSTRINGCOMPONENTTAB ]*
[ XmSTRINGCOMPONENTDIRECTION ]
[ XmSTRINGCOMPONENTTEXT |
XmSTRINGCOMPONENTLOCALETEXT |
XmSTRINGCOMPONENTWIDECHARTEXT ]
[ XmSTRINGCOMPONENTRENDITIONEND ]*
[ XmSTRINGCOMPONENTLAYOUTPOP ]
[ XmSTRINGCOMPONENTSEPARATOR ]
]*
XmSTRINGCOMPONENTEND
Page 3 (printed 1/22/99)