1XmStringComponentType(library call) XmStringComponentType(library call)
2
3
4
6 XmStringComponentType — Data type for compound string components
7
9 #include <Xm/Xm.h>
10
12 XmStringComponentType is the data type specifying compound string com‐
13 ponent types. A compound string component identifies some part of a
14 compound string, and can have a value and length. A compound string
15 component can be one of the following types. These component types are
16 grouped according to their length and value types.
17
18 The following components have values of NULL and lengths of 0 (zero).
19
20 XmSTRING_COMPONENT_SEPARATOR
21 This component usually maps to a newline or carriage return
22 in displayed text.
23
24 XmSTRING_COMPONENT_TAB
25 This component may be thought of as a text component contain‐
26 ing only a single tab.
27
28 XmSTRING_COMPONENT_LAYOUT_POP
29 The layout direction is kept on a stack, with the current
30 direction kept on top of the stack. When this component is
31 read, the most recently read layout direction is popped off
32 the stack and replaced by the direction immediately before
33 it.
34
35 XmSTRING_COMPONENT_END
36 This component marks the end of a compound string. No other
37 components should follow. If an application does not place an
38 XmSTRING_COMPONENT_END component at the end of an XmString,
39 Motif automatically does it for the application.
40
41 The following component has a value of XmDirection and the length of
42 that direction.
43
44 XmSTRING_COMPONENT_LAYOUT_PUSH
45 The layout direction is kept on a stack, with the current
46 direction kept on top of the stack. This component replaces
47 the current layout direction, and causes another to be pushed
48 onto the top of this stack.
49
50 The following component has a value of XmStringDirection and the length
51 of that direction.
52
53 XmSTRING_COMPONENT_DIRECTION
54 This component sets the string direction by overriding the
55 previous string direction.
56
57 The following components have values of type char * or some equivalent
58 type, and the lengths of these types.
59
60 XmSTRING_COMPONENT_LOCALE_TEXT
61 This component contains the multibyte text of a compound
62 string.
63
64 XmSTRING_COMPONENT_WIDECHAR_TEXT
65 This component contains the widechar text of a compound
66 string.
67
68 XmSTRING_COMPONENT_TEXT
69 This component contains the charset text of a compound
70 string. Note that a compound string cannot contain both
71 charset and locale (multibyte or widechar) text.
72
73 XmSTRING_COMPONENT_RENDITION_BEGIN
74 This component marks the beginning of a new rendition. All
75 text following this component will be rendered using this
76 rendition as the primary one. If there is already a rendition
77 in effect, it is kept in memory and used to fill in any
78 unspecified values in the primary rendition. Renditions are
79 kept until a corresponding XmSTRING_COMPONENT_RENDITION_END
80 component is encountered.
81
82 XmSTRING_COMPONENT_RENDITION_END
83 This component signifies that the specified rendition will no
84 longer be used to render text, and will not be available to
85 fill in unspecified values of newer renditions.
86
87 XmSTRING_COMPONENT_UNKNOWN
88 This component type signifies that the component contents
89 belong to an unknown component type.
90
91 XmSTRING_COMPONENT_LOCALE
92 Use this component to specify the locale in which an interna‐
93 tionalized application is to execute. The only valid charac‐
94 ter string for this component is _MOTIF_DEFAULT_LOCALE.
95
96 XmSTRING_COMPONENT_TAG
97 For charset text, this is the tag of the font to be used to
98 display the text. This tag is sometimes referred to as the
99 charset tag or the fontlist tag.
100
101 XmSTRING_COMPONENT_CHARSET
102 This component is obsolete and remains for compatibility with
103 previous releases. It has been replaced by XmSTRING_COMPO‐
104 NENT_TAG.
105
106 XmSTRING_COMPONENT_FONTLIST_ELEMENT_TAG
107 This component is obsolete and remains for compatibility with
108 previous releases. It has been replaced by XmSTRING_COMPO‐
109 NENT_TAG.
110
111 Some compound string components depend on values defined in other com‐
112 ponents. The XmSTRING_COMPONENT_TAB component definition, for example,
113 depends on information in the XmSTRING_COMPONENT_RENDITION_BEGIN. To
114 account for these dependencies, a typical compound string will have its
115 member components in the following order:
116
117 [
118 [ XmSTRING_COMPONENT_LAYOUT_PUSH ]
119 [ XmSTRING_COMPONENT_RENDITION_BEGIN ]*
120 [ XmSTRING_COMPONENT_TAG | XmSTRING_COMPONENT_LOCALE ]
121 [ XmSTRING_COMPONENT_TAB ]*
122 [ XmSTRING_COMPONENT_DIRECTION ]
123 [ XmSTRING_COMPONENT_TEXT |
124 XmSTRING_COMPONENT_LOCALE_TEXT |
125 XmSTRING_COMPONENT_WIDECHAR_TEXT ]
126 [ XmSTRING_COMPONENT_RENDITION_END ]*
127 [ XmSTRING_COMPONENT_LAYOUT_POP ]
128 [ XmSTRING_COMPONENT_SEPARATOR ]
129 ]*
130 XmSTRING_COMPONENT_END
131
132
133
134 XmStringComponentType(library call)