XmStringComponentType

XmStringComponentType — Тип компонентов составной строки

Использование

#include <Xm/Xm.h>

Описание

Тип данных XmStringComponentType используется для определения типа сомпонента сосавной строки. Компонент составной строки определяет некоторую часть составной строки и имеет значение и длинну. Компонент составной строки может иметь один из приведенных ниже типов. Типы компонентов сгруппированны в оответствии с их длинной и типом значения.

Следующие компоненты имеют значение NULL и длинну 0 (нуль):

XmSTRING_COMPONENT_SEPARATOR

Этот компонент при отображении текста обычно имеет смысл новой строки или перевода каретки.

XmSTRING_COMPONENT_TAB

Этот компонент может интерпретироваться как текстовый компонент, содержащий единственный символ табуляции.

Xm_STRING_COMPONENT_LAYOUT_POP

Направление расположения хранится в стеке, текущее направление хранится на вершине стека. Когда прочитан этот компонент, последнее прочитанное направление расположения будет удалено из стека, а его место займет направление, непосредственно предшествовавшее ему.

Xm_STRING_COMPONENT_END

Этот компонент обозначает конец составной строки. За этим компонентом не бывает других компонентов. Если приложение не расположит компонент XmSTRING_COMPONENT_END в конце составной строки XmString, то Motif сделает это самостоятельно.

Следующие компоненты имеют значение типа XmDirection и длинну, соответствующую этому направлению:

Xm_STRING_COMPONENT_LAYOUT_PUSH

Направление расположения хранится в стеке, текущее направление хранится на вершине стека. Этот компонент замещает текущее значение направления расположения, и вызывает помещение на вершину стека другого значения.

Следующие компоненты имеют значение типа XmStringDirection и длинну, соответствующую этому направлению:

Xm_STRING_COMPONENT_DIRECTION

Этот компонент устанавливает направление строки и переназначает предыдущее направление.

Следующие компоненты имеют тип char * или некоторый эквивалентный тип, и длинну этого типа:

XmSTRING_COMPONENT_LOCALE_TEXT

Этот компонент содержит многобайтный текст составной строки.

XmSTRING_COMPONENT_WIDECHAR_TEXT

Этот компонент содержит текст составной строки в широких символах.

XmSTRING_COMPONENT_TEXT

Этот компонент содержит текст составной строки с указанием набора знаков. Имейте в виду, что составная строка неможет одновременно содержать как текст с указанием набора символов, так и текст с локализацией (в многобайтных символах и в широких символах).

XmSTRING_COMPONENT_RENDITION_BEGIN

Этот компонент обозначает начало использования нового визуального воспроизведения. Весь текст, следующий за этим компонентом, будет воспроизводиться с использованием этого визуального воспроизведения как первичного. Если уже действует другое визуальное воспроизведение, то оно сохраняется в памяти и используется для заполнения любых неопределенных значений в первичном визуальном воспроизведении. Визуальное воспроизведение сохраняется пока не встретится компонент XmSTRING_COMPONENT_RENDITION_END.

XmSTRING_COMPONENT_RENDITION_END

Этот компонент обозначает, что указанное визуальное воспроизведение более не будет использоваться для воспроизведения текста, и более не будет доступно для заполнения неопределенных значений новых визуальных воспроизведений.

XmSTRING_COMPONENT_UNKNOWN

Этот тип компонента обозначает, что содержимое этого компонента соответствует неизвестному типу компонента.

XmSTRING_LOCALE

Этот компонент используется для обозначения локализации в которой исполняется интернациональное приложение. Единственной допустимой строкой символов для этого компонента является _MOTIF_DEFAULT_LOCALE.

XmSTRING_COMPONENT_TAG

Для текста с указанием набора знаков, это тэг шрифта, используемого при отображения текста. Этот тэг иногда используется как тэе набора символов или как тэг набора шрифтов.

XmSTRING_COMPONENT_CHARSET

Этот компонент устарел и сохранен только для совместимости с предыдущими версиями. Он был заменен на XmSTRING_COMPONENT_TAG.

XmSTRING_COMPONENT_FONTLIST_ELEMENT_TAG

Этот компонент устарел и сохранен только для совместимости с предыдущими версиями. Он был заменен на XmSTRING_COMPONENT_TAG.

Некоторые компоненты составной строки зависят от значений, определенных другими компонентами. Например, компонент XmSTRING_COMPONENT_TAB зависит от информации в компоненте XmSTRING_COMPONENT_RENDITION_BEGIN. Для учета таких зависимостей, типовая составная строки должна хранить свои элементы в следующем порядке:
[
 [XmSTRING_COMPONENT_LAYOUT_PUSH]
 [XmSTRING_COMPONENT_RENDITION_BEGIN]*
 [XmSTRING_COMPONENT_TAG | XmSTRING_COMPONENT_LOCALE]
 [XmSTRING_COMPONENT_TAB]*
 [XmSTRING_COMPONENT_DIRECTION]
 [XmSTRING_COMPONENT_TEXT |
  XmSTRING_COMPONENT_LOCALE_TEST|
  XmSTRING_COMPONENT_WIDECHAR_TEXT]
 [XmSTRING_COMPONENT_RENDITION_END]*
 [XmSTRING_COMPONENT_LAYOUT_POP]
 [XmSTRING_COMPONENT_SEPARATOR]
]*
XmSTRING_COMPONENT_END