<!-- $XConsortium: StrTaE.sgm /main/7 1996/09/08 21:07:43 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->

<RefEntry Id="CDEMMA.MAN449.rsml.1">
<RefMeta>
<RefEntryTitle>XmStringTableUnparse</RefEntryTitle>
<ManVolNum>library call</ManVolNum>
</RefMeta>
<RefNameDiv>
<RefName><Function>XmStringTableUnparse</Function></RefName>
<RefPurpose>A convenience function that converts a table of compound strings to an array of text
<IndexTerm>
<Primary>XmStringTableUnparse</Primary>
</IndexTerm></RefPurpose>
</RefNameDiv>
<!-- @OSF_COPYRIGHT@-->
<!-- COPYRIGHT NOTICE-->
<!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.-->
<!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for-->
<!-- the full copyright text.-->
<!-- -->
<!-- HISTORY-->
<RefSynopsisDiv>
<FuncSynopsis>
<FuncSynopsisInfo>#include &lt;Xm/Xm.h>
</FuncSynopsisInfo>
<FuncDef>XtPointer * <Function>XmStringTableUnparse</Function></FuncDef>
<!--<ParamDef><Replaceable>table, count, tag, tag_type, output_type, parse, parse_count, parse_model</Replaceable></ParamDef>-->
<ParamDef>XmStringTable <Parameter>table</Parameter></ParamDef>
<ParamDef>Cardinal <Parameter>count</Parameter></ParamDef>
<ParamDef>XmStringTag <Parameter>tag</Parameter></ParamDef>
<ParamDef>XmTextType <Parameter>tag_type</Parameter></ParamDef>
<ParamDef>XmTextType <Parameter>output_type</Parameter></ParamDef>
<ParamDef>XmParseTable <Parameter>parse</Parameter></ParamDef>
<ParamDef>Cardinal <Parameter>parse_count</Parameter></ParamDef>
<ParamDef>XmParseModel <Parameter>parse_model</Parameter></ParamDef>
</FuncSynopsis>
</RefSynopsisDiv>
<RefSect1>
<Title>DESCRIPTION</Title>
<Para><Function>XmStringTableUnparse</Function> takes an array of compound strings,
allocates a string array for the type of characters determined by
<Symbol Role="Variable">type</Symbol> with an equal number of slots, calls
<Function>XmStringUnparse</Function>
on each compound string in <Symbol Role="Variable">table</Symbol>,
and inserts the resulting string in the corresponding slot in the array.
</Para>
<VariableList>
<VarListEntry>
<Term><Symbol Role="Variable">table</Symbol></Term>
<ListItem>
<Para>Specifies an <StructName Role="typedef">XmStringTable</StructName> containing the compound string to be
converted.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">count</Symbol></Term>
<ListItem>
<Para>Specifies the number of compound strings in <Symbol Role="Variable">table</Symbol>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Emphasis>tag</Emphasis></Term>
<ListItem>
<Para>Specifies the tag to be used in matching with text segments.
The two
types of tag types are <SystemItem Class="Resource">XmFONTLIST_DEFAULT_TAG</SystemItem> and
<SystemItem Class="Constant">_MOTIF_DEFAULT_LOCALE</SystemItem>.
Only segments tagged with <Emphasis>tag</Emphasis>
will be returned. If <Emphasis>tag</Emphasis> is NULL, all segments will be matched.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">tag_type</Symbol></Term>
<ListItem>
<Para>Specifies the type of tag to be searched for. These types include
<SystemItem Class="Constant">XmMULTIBYTE_TEXT</SystemItem>, <SystemItem Class="Constant">XmWIDECHAR_TEXT</SystemItem>, and
<SystemItem Class="Constant">XmCHARSET_TEXT</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">output_type</Symbol></Term>
<ListItem>
<Para>Specifies the type of text to be generated. These types include
<SystemItem Class="Constant">XmMULTIBYTE_TEXT</SystemItem>, <SystemItem Class="Constant">XmWIDECHAR_TEXT</SystemItem>, and
<SystemItem Class="Constant">XmCHARSET_TEXT</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">parse</Symbol></Term>
<ListItem>
<Para>Specifies the parse table to be used.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">parse_count</Symbol></Term>
<ListItem>
<Para>Specifies the number of items in <Symbol Role="Variable">parse</Symbol>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">parse_model</Symbol></Term>
<ListItem>
<Para>Specifies which non-text components to be considered in matching in
<Symbol Role="Variable">parse_table</Symbol>. Possible values are:
</Para>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Constant">XmOUTPUT_ALL</SystemItem></Term>
<ListItem>
<Para>Puts out all matching components.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmOUTPUT_BETWEEN</SystemItem></Term>
<ListItem>
<Para>Puts out only those matching components that are between two matching
text components.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmOUTPUT_BEGINNING</SystemItem></Term>
<ListItem>
<Para>Puts out only those matching components that are at the beginning of a
matching text component.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmOUTPUT_END</SystemItem></Term>
<ListItem>
<Para>Puts out only those matching components that are at the end of a
matching text component.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmOUTPUT_BOTH</SystemItem></Term>
<ListItem>
<Para>Puts out only those matching components that are at the beginning or
end of a
matching text component.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect1>
<RefSect1>
<Title>RETURN</Title>
<Para>Returns an allocated array of allocated strings.
The application is responsible for managing the allocated space.
The application can recover the allocated strings space by calling <Function>XtFree</Function>
<Symbol Role="Variable">count</Symbol> times (that is, one time for each allocated string).
The application can then recover the allocated array by calling
<Function>XtFree</Function> on the allocated array itself.
</Para>
</RefSect1>
<RefSect1>
<Title>RELATED</Title>
<Para><Literal>XmStringTab.</Literal>
</Para>
</RefSect1>
</RefEntry>
<!--fickle 1.09 7/2/95-->
