<!-- $XConsortium: StrTaB.sgm /main/9 1996/09/08 21:07:19 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.MAN446.rsml.1">
<RefMeta>
<RefEntryTitle>XmStringTableParseStringArray</RefEntryTitle>
<ManVolNum>library call</ManVolNum>
</RefMeta>
<RefNameDiv>
<RefName><Function>XmStringTableParseStringArray</Function></RefName>
<RefPurpose>A convenience function that converts an array of strings to a compound string table
<IndexTerm>
<Primary>XmStringTableParseStringArray</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>XmStringTable <Function>XmStringTableParseStringArray</Function></FuncDef>
<!--<ParamDef><Replaceable>strings, count, tag, type, parse, parse_count</Replaceable></ParamDef>-->
<ParamDef>XtPointer <Parameter>*strings</Parameter></ParamDef>
<ParamDef>Cardinal <Parameter>count</Parameter></ParamDef>
<ParamDef>XmStringTag <Parameter>tag</Parameter></ParamDef>
<ParamDef>XmTextType <Parameter>type</Parameter></ParamDef>
<ParamDef>XmParseTable <Parameter>parse</Parameter></ParamDef>
<ParamDef>Cardinal <Parameter>parse_count</Parameter></ParamDef>
<ParamDef>XtPointer <Parameter>call_data</Parameter></ParamDef>
</FuncSynopsis>
</RefSynopsisDiv>
<RefSect1>
<Title>DESCRIPTION</Title>
<Para><Function>XmStringTableParseStringArray</Function> takes an array of strings,
allocates an <StructName Role="typedef">XmStringTable</StructName> with an equal number of slots, calls
<Function>XmStringParseText</Function> on each string in <Symbol Role="Variable">strings</Symbol>, and inserts
the resulting <StructName Role="typedef">XmString</StructName> in the corresponding slot in the
<StructName Role="typedef">XmStringTable</StructName>.
</Para>
<VariableList>
<VarListEntry>
<Term><Symbol Role="Variable">strings</Symbol></Term>
<ListItem>
<Para>Specifies an array of strings of characters as determined by
<Symbol Role="Variable">type</Symbol>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">count</Symbol></Term>
<ListItem>
<Para>Specifies the number of strings in <Symbol Role="Variable">strings</Symbol>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Emphasis>tag</Emphasis></Term>
<ListItem>
<Para>Specifies the tag to be used in creating the result. The type of tag
created (charset or locale) depends on the type of the text and
the value given. If the value specified is NULL, and <Symbol Role="Variable">type</Symbol>
indicates that a charset tag should be created, then the tag will
have the value of
<SystemItem Class="Resource">XmFONTLIST_DEFAULT_TAG</SystemItem>.
If <Symbol Role="Variable">type</Symbol>
indicates a locale tag, then the tag will have the value of
<SystemItem Class="Resource">XmFONTLIST_DEFAULT_TAG</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">type</Symbol></Term>
<ListItem>
<Para>Specifies the type of text to be passed in and the type of tag. If
the type is either <SystemItem Class="Constant">XmMULTIBYTE_TEXT</SystemItem> or <SystemItem Class="Constant">XmWIDECHAR_TEXT</SystemItem>, a
locale tag should be created. If the type is <SystemItem Class="Constant">XmCHARSET_TEXT</SystemItem>, a
charset tag
will
be created.
</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 entries in the parse table.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">call_data</Symbol></Term>
<ListItem>
<Para>Specifies data to be passed to the parse procedures.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect1>
<RefSect1>
<Title>RETURN</Title>
<Para>Returns a new <StructName Role="typedef">XmStringTable</StructName>.
The function allocates space to hold the <StructName Role="typedef">XmStringTable</StructName>.
When the application no longer needs the returned <StructName Role="typedef">XmStringTable</StructName>,
the application should call <Function>XmStringFree</Function>
<Symbol Role="Variable">count</Symbol> times (that is, one time for each returned compound string)
and then call <Function>XtFree</Function> to deallocate the <StructName Role="typedef">XmStringTable</StructName> itself.
</Para>
</RefSect1>
<RefSect1>
<Title>RELATED</Title>
<Para>&cdeman.XmStringFree; and
&cdeman.XmTabList;.
</Para>
</RefSect1>
</RefEntry>
<!--fickle 1.09 7/2/95-->
