<!-- $XConsortium: RegisteA.sgm /main/8 1996/09/08 21:26:08 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.MAN19.rsml.1">
<RefMeta>
<RefEntryTitle>MrmRegisterClass</RefEntryTitle>
<ManVolNum>library call</ManVolNum>
</RefMeta>
<RefNameDiv>
<RefName><Function>MrmRegisterClass</Function></RefName>
<RefPurpose>Saves the information needed for MRM to access the widget creation function for user-defined widgets
<IndexTerm>
<Primary>MrmRegisterClass</Primary>
</IndexTerm><IndexTerm>
<Primary>uil functions</Primary>
<Secondary>MrmRegisterClass</Secondary>
</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-->
<!-- -->
<!-- **-->
<!-- **-->
<!-- **  (c) Copyright 1989, 1990, 1992 by Open Software Foundation, Inc.-->
<!-- **      All Rights Reserved.-->
<!-- **-->
<!-- **  (c) Copyright 1987, 1988, 1989, by Hewlett-Packard Company-->
<!-- **-->
<!-- **  (c) Copyright 1987, 1988 by Digital Equipment Corporation,-->
<!-- **      Maynard, MA.  All Rights Reserved.-->
<!-- **-->
<!-- **-->
<RefSynopsisDiv>
<FuncSynopsis>
<FuncSynopsisInfo>#include &lt;Mrm/MrmPublic.h>
</FuncSynopsisInfo>
<FuncDef>Cardinal <Function>MrmRegisterClass</Function></FuncDef>
<!--<ParamDef><Replaceable>class_code, class_name, create_name, create_proc,
class_record</Replaceable></ParamDef>-->
<ParamDef>MrmType <Parameter>class_code</Parameter></ParamDef>
<ParamDef>String <Parameter>class_name</Parameter></ParamDef>
<ParamDef>String <Parameter>create_name</Parameter></ParamDef>
<ParamDef>Widget (*<Parameter>create_proc</Parameter>) ()</ParamDef>
<ParamDef>WidgetClass <Parameter>class_record</Parameter></ParamDef>
</FuncSynopsis><IndexTerm>
<Primary>MRM function</Primary>
<Secondary>MrmRegisterClass</Secondary>
</IndexTerm><IndexTerm>
<Primary>MrmRegisterClass</Primary>
<Secondary>definition</Secondary>
</IndexTerm>
</RefSynopsisDiv>
<RefSect1>
<Title>DESCRIPTION</Title>
<Para>The
<Function>MrmRegisterClass</Function>
function<IndexTerm>
<Primary>MrmRegisterClass</Primary>
<Secondary>description</Secondary>
</IndexTerm>
allows MRM to access user-defined widget classes.
This function registers the necessary information for
MRM to create widgets of this class.
You must call
<Function>MrmRegisterClass</Function>
prior to fetching any user-defined class widget.
</Para>
<Para><Function>MrmRegisterClass</Function>
saves the information needed to access the widget creation
function and to do type conversion of argument lists by using the
information in MRM databases.
</Para>
<VariableList>
<VarListEntry>
<Term><Symbol Role="Variable">class_code</Symbol></Term>
<ListItem>
<Para>This argument is ignored; it is present for compatibility with previous
releases.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>class_name</Literal></Term>
<ListItem>
<Para>This argument is ignored; it is present for compatibility with previous
releases.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">create_name</Symbol></Term>
<ListItem>
<Para>Specifies the case-sensitive name of the low-level widget creation
function for the class.
An example from the Motif Toolkit is
<Function>XmCreateLabel</Function>.
Arguments are
<Symbol Role="Variable">parent_widget</Symbol>,
<Symbol Role="Variable">name</Symbol>,
<Symbol Role="Variable">override_arglist</Symbol>,
and
<Symbol Role="Variable">override_argcount</Symbol>.
</Para>
<Para>For user-defined widgets,
<Symbol Role="Variable">create_name</Symbol>
is the creation procedure in the UIL that defines this widget.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>create_proc</Literal></Term>
<ListItem>
<Para>Specifies the address of the creation function that you named in
<Symbol Role="Variable">create_name</Symbol>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">class_record</Symbol></Term>
<ListItem>
<Para>Specifies a pointer to the class record.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect1>
<RefSect1>
<Title>RETURN</Title>
<IndexTerm>
<Primary>MrmSUCCESS</Primary>
</IndexTerm><IndexTerm>
<Primary>MrmFAILURE</Primary>
</IndexTerm>
<Para>This function returns one of the following status return constants:
</Para>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Constant">MrmSUCCESS</SystemItem></Term>
<ListItem>
<Para>The function executed successfully.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">MrmFAILURE</SystemItem></Term>
<ListItem>
<Para>The function failed.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect1>
</RefEntry>
<!--fickle 1.09 7/2/95-->
