uidesigner/com.nokia.sdt.series60.componentlibrary/components/CommonMacros.inc.html
author fturovic <frank.turovich@nokia.com>
Mon, 22 Jun 2009 10:01:05 -0500
changeset 280 dfa13e00e284
parent 0 fb279309251b
child 577 b46382ab04d2
permissions -rw-r--r--
Build Options context help added

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>Help for Macros in CommonMacros.inc</TITLE>
</HEAD>
<BODY>
<P>
<H1>Table of contents</H1>
<P>
<A href="#DeclareMethod">DeclareMethod</A>
</P>

<P>
<A href="#GenerateDefaultFunctionBody">GenerateDefaultFunctionBody</A>
</P>

<P>
<A href="#DefineMethod">DefineMethod</A>
</P>

<P>
<A href="#GenerateMethod">GenerateMethod</A>
</P>

<P>
<A href="#DefineMethodWithOwnedBody">DefineMethodWithOwnedBody</A>
</P>

<P>
<A href="#GenerateMethodWithOwnedBody">GenerateMethodWithOwnedBody</A>
</P>

<P>
<A href="#GenerateMethodWithVariantArguments">GenerateMethodWithVariantArguments</A>
</P>

<P>
<A href="#GenerateVirtualMethodOverrideForEventHandler">GenerateVirtualMethodOverrideForEventHandler</A>
</P>

<P>
<A href="#GenerateUserEventHandlerFunction">GenerateUserEventHandlerFunction</A>
</P>

</P>
<P>
<A name="DeclareMethod"></A>
<H2>DeclareMethod</H2>
<P>
<P>Declares a method, e.g., the prototype.</P>
</P>
<H3>Arguments</H3>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionName</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionName</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclLocation</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclPhase</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function static?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function virtual? (ignored if IsStatic)</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclLocation</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclPhase</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function static?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function virtual? (ignored if IsStatic)</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
</TABLE>

<A name="GenerateDefaultFunctionBody"></A>
<H2>GenerateDefaultFunctionBody</H2>
<P>
<P>Create the default body for a function.  If FunctionBody is set,  emits that.  If ReturnType is not void and DefaultReturn is set,  create a return statement using its value.</P>
</P>
<H3>Arguments</H3>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of the function location to define; body is named id+_BODY</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of the function location to define; body is named id+_BODY</P>
</P>
</TD>
</TR>
<TR>
<TD>DefaultReturn</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>default value to return; overridden if FunctionBody is specified</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code)</P>
</P>
</TD>
</TR>
<TR>
<TD>DefaultReturn</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>default value to return; overridden if FunctionBody is specified</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code)</P>
</P>
</TD>
</TR>
</TABLE>

<A name="DefineMethod"></A>
<H2>DefineMethod</H2>
<P>
<P>Defines a method to one location, optionally generating body text, or a default return statement. The generated function is owned by default.</P>
</P>
<H3>Arguments</H3>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>DefnLocation</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionName</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")</P>
</P>
</TD>
</TR>
<TR>
<TD>DefnLocation</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionName</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")</P>
</P>
</TD>
</TR>
<TR>
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
<P>
<P>is the function body owned?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
<P>
<P>the class name</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionComment</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>comment appearing before function defn</P>
</P>
</TD>
</TR>
<TR>
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function body the user event handler?</P>
</P>
</TD>
</TR>
<TR>
<TD>Initializers</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>provide any initializer expressions, e.g. for constructors, appearing   on a separate line after the argument list and before the function body.   Do not provide the leading colon (':') as this is added automatically</P>
</P>
</TD>
</TR>
<TR>
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
<P>
<P>is the function body owned?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
<P>
<P>the class name</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionComment</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>comment appearing before function defn</P>
</P>
</TD>
</TR>
<TR>
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function body the user event handler?</P>
</P>
</TD>
</TR>
<TR>
<TD>Initializers</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>provide any initializer expressions, e.g. for constructors, appearing   on a separate line after the argument list and before the function body.   Do not provide the leading colon (':') as this is added automatically</P>
</P>
</TD>
</TR>
</TABLE>
<P>Inherited from <A href="#GenerateDefaultFunctionBody">GenerateDefaultFunctionBody</A>:</P>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of the function location to define; body is named id+_BODY</P>
</P>
</TD>
</TR>
<TR>
<TD>DefaultReturn</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>default value to return; overridden if FunctionBody is specified</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code)</P>
</P>
</TD>
</TR>
</TABLE>

<A name="GenerateMethod"></A>
<H2>GenerateMethod</H2>
<P>
<P>Declares and defines a method to one location and adds the prototype to another location.</P>
</P>
<H3>Arguments</H3>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
</TABLE>
<P>Inherited from <A href="#DeclareMethod">DeclareMethod</A>:</P>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionName</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclLocation</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclPhase</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function static?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function virtual? (ignored if IsStatic)</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
</TABLE>
<P>Inherited from <A href="#DefineMethod">DefineMethod</A>:</P>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of the function location to define; body is named id+_BODY</P>
</P>
</TD>
</TR>
<TR>
<TD>DefnLocation</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the function</P>
</P>
</TD>
</TR>
<TR>
<TD>DefaultReturn</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>default value to return; overridden if FunctionBody is specified</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code)</P>
</P>
</TD>
</TR>
<TR>
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
<P>
<P>is the function body owned?</P>
</P>
</TD>
</TR>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
<P>
<P>the class name</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionComment</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>comment appearing before function defn</P>
</P>
</TD>
</TR>
<TR>
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function body the user event handler?</P>
</P>
</TD>
</TR>
<TR>
<TD>Initializers</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>provide any initializer expressions, e.g. for constructors, appearing   on a separate line after the argument list and before the function body.   Do not provide the leading colon (':') as this is added automatically</P>
</P>
</TD>
</TR>
</TABLE>

<A name="DefineMethodWithOwnedBody"></A>
<H2>DefineMethodWithOwnedBody</H2>
<P>
<P>Defines a method with an owned body section. </P>
<P> The generated function is not owned by default, unlike Method. There may be uses for an owned function with a named owned region, though. </P>
<P>  Also, no default function code is generated, so the provided  StartFunctionBody, FunctionBody, and EndFunctionBody must account for any return statements.</P>
</P>
<H3>Arguments</H3>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside owned part of function body</P>
</P>
</TD>
</TR>
<TR>
<TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD>
<P>
<P>location id for enclosed body</P>
</P>
</TD>
</TR>
<TR>
<TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD>
<P>
<P>region name for enclosed body</P>
</P>
</TD>
</TR>
<TR>
<TD>StartFunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code) before the owned section</P>
</P>
</TD>
</TR>
<TR>
<TD>EndFunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code) after the owned section</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside owned part of function body</P>
</P>
</TD>
</TR>
<TR>
<TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD>
<P>
<P>location id for enclosed body</P>
</P>
</TD>
</TR>
<TR>
<TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD>
<P>
<P>region name for enclosed body</P>
</P>
</TD>
</TR>
<TR>
<TD>StartFunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code) before the owned section</P>
</P>
</TD>
</TR>
<TR>
<TD>EndFunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code) after the owned section</P>
</P>
</TD>
</TR>
</TABLE>
<P>Inherited from <A href="#DefineMethod">DefineMethod</A>:</P>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of the function location to define; body is named id+_BODY</P>
</P>
</TD>
</TR>
<TR>
<TD>DefnLocation</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionName</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")</P>
</P>
</TD>
</TR>
<TR>
<TD>DefaultReturn</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>default value to return; overridden if FunctionBody is specified</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
<P>
<P>is the function body owned?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
<P>
<P>the class name</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionComment</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>comment appearing before function defn</P>
</P>
</TD>
</TR>
<TR>
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function body the user event handler?</P>
</P>
</TD>
</TR>
<TR>
<TD>Initializers</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>provide any initializer expressions, e.g. for constructors, appearing   on a separate line after the argument list and before the function body.   Do not provide the leading colon (':') as this is added automatically</P>
</P>
</TD>
</TR>
</TABLE>

<A name="GenerateMethodWithOwnedBody"></A>
<H2>GenerateMethodWithOwnedBody</H2>
<P>
<P>Declares and defines a method with an owned body section to one location and adds the prototype to another location.  </P>
<P> The generated function is not owned by default, unlike Method. There may be uses for an owned function with a named owned region, though.</P>
</P>
<H3>Arguments</H3>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
</TABLE>
<P>Inherited from <A href="#DefineMethodWithOwnedBody">DefineMethodWithOwnedBody</A>:</P>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of the function location to define; body is named id+_BODY</P>
</P>
</TD>
</TR>
<TR>
<TD>DefnLocation</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionName</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")</P>
</P>
</TD>
</TR>
<TR>
<TD>DefaultReturn</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>default value to return; overridden if FunctionBody is specified</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside owned part of function body</P>
</P>
</TD>
</TR>
<TR>
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
<P>
<P>is the function body owned?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
<P>
<P>the class name</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionComment</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>comment appearing before function defn</P>
</P>
</TD>
</TR>
<TR>
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function body the user event handler?</P>
</P>
</TD>
</TR>
<TR>
<TD>Initializers</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>provide any initializer expressions, e.g. for constructors, appearing   on a separate line after the argument list and before the function body.   Do not provide the leading colon (':') as this is added automatically</P>
</P>
</TD>
</TR>
<TR>
<TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD>
<P>
<P>location id for enclosed body</P>
</P>
</TD>
</TR>
<TR>
<TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD>
<P>
<P>region name for enclosed body</P>
</P>
</TD>
</TR>
<TR>
<TD>StartFunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code) before the owned section</P>
</P>
</TD>
</TR>
<TR>
<TD>EndFunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code) after the owned section</P>
</P>
</TD>
</TR>
</TABLE>
<P>Inherited from <A href="#DeclareMethod">DeclareMethod</A>:</P>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>DeclLocation</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclPhase</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function static?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function virtual? (ignored if IsStatic)</P>
</P>
</TD>
</TR>
</TABLE>

<A name="GenerateMethodWithVariantArguments"></A>
<H2>GenerateMethodWithVariantArguments</H2>
<P>
<P>  Declares and defines an owned method with variant arguments to one location and adds the prototype to another location.   </P>
<P> Variant arguments means design-time variable (not C varargs). The function has a non-empty list of fixed arguments followed by a  non-empty list of variable arguments which are generated by a Javascript expression. </P>
<P> The generated function is owned by default.  It doesn't make sense to use  this non-owned, since this will introduce compile errors when the prototype changes and the old body remains behind.  </P>
</P>
<H3>Arguments</H3>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical leading static argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")    Do not include a trailing comma</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionVarArgsAllowEmpty</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>tell whether the varargs may be empty</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionVarArgsDeclExpr</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>generator for the variable arguments as appearing in the declaration   (a Javascript expression);    if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionVarArgsDefnExpr</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>generator for the variable arguments as appearing in the definition   (a Javascript expression);   if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical leading static argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")    Do not include a trailing comma</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionVarArgsAllowEmpty</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>tell whether the varargs may be empty</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionVarArgsDeclExpr</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>generator for the variable arguments as appearing in the declaration   (a Javascript expression);    if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionVarArgsDefnExpr</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>generator for the variable arguments as appearing in the definition   (a Javascript expression);   if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P>
</P>
</TD>
</TR>
<TR>
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
<P>
<P>tell whether the function is owned.  In general, it should be,   otherwise compile errors will be introduced when the    method's signature changes and the old version is left behind.</P>
</P>
</TD>
</TR>
<TR>
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
<P>
<P>tell whether the function is owned.  In general, it should be,   otherwise compile errors will be introduced when the    method's signature changes and the old version is left behind.</P>
</P>
</TD>
</TR>
</TABLE>
<P>Inherited from <A href="#GenerateMethod">GenerateMethod</A>:</P>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionName</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of the function location to define; body is named id+_BODY</P>
</P>
</TD>
</TR>
<TR>
<TD>DefnLocation</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the function</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclLocation</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclPhase</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function static?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function virtual? (ignored if IsStatic)</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
<TR>
<TD>DefaultReturn</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>default value to return; overridden if FunctionBody is specified</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code)</P>
</P>
</TD>
</TR>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
<P>
<P>the class name</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionComment</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>comment appearing before function defn</P>
</P>
</TD>
</TR>
<TR>
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function body the user event handler?</P>
</P>
</TD>
</TR>
<TR>
<TD>Initializers</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>provide any initializer expressions, e.g. for constructors, appearing   on a separate line after the argument list and before the function body.   Do not provide the leading colon (':') as this is added automatically</P>
</P>
</TD>
</TR>
</TABLE>

<A name="GenerateVirtualMethodOverrideForEventHandler"></A>
<H2>GenerateVirtualMethodOverrideForEventHandler</H2>
<P>
<P>Override a virtual method with a non-owned function with an owned body.   This must be invoked in a templateGroup that has an ifEvents="..." attribute, so the 'event' variable is available. </P>
</P>
<H3>Arguments</H3>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD>
<P>
<P>the name of the class</P>
</P>
</TD>
</TR>
<TR>
<TD>UserHandlerFunctionArgs</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>the arguments passed to the user handler function (== FunctionArgs by default)</P>
</P>
</TD>
</TR>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD>
<P>
<P>the name of the class</P>
</P>
</TD>
</TR>
<TR>
<TD>UserHandlerFunctionArgs</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>the arguments passed to the user handler function (== FunctionArgs by default)</P>
</P>
</TD>
</TR>
</TABLE>
<P>Inherited from <A href="#GenerateMethodWithOwnedBody">GenerateMethodWithOwnedBody</A>:</P>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of the function location to define; body is named id+_BODY</P>
</P>
</TD>
</TR>
<TR>
<TD>DefnLocation</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionName</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")</P>
</P>
</TD>
</TR>
<TR>
<TD>DefaultReturn</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>default value to return; overridden if FunctionBody is specified</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside owned part of function body</P>
</P>
</TD>
</TR>
<TR>
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
<P>
<P>is the function body owned?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionComment</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>comment appearing before function defn</P>
</P>
</TD>
</TR>
<TR>
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function body the user event handler?</P>
</P>
</TD>
</TR>
<TR>
<TD>Initializers</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>provide any initializer expressions, e.g. for constructors, appearing   on a separate line after the argument list and before the function body.   Do not provide the leading colon (':') as this is added automatically</P>
</P>
</TD>
</TR>
<TR>
<TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD>
<P>
<P>location id for enclosed body</P>
</P>
</TD>
</TR>
<TR>
<TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD>
<P>
<P>region name for enclosed body</P>
</P>
</TD>
</TR>
<TR>
<TD>StartFunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code) before the owned section</P>
</P>
</TD>
</TR>
<TR>
<TD>EndFunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>text inside function body (comment and/or code) after the owned section</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclLocation</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclPhase</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
</P>
</TD>
</TR>
</TABLE>

<A name="GenerateUserEventHandlerFunction"></A>
<H2>GenerateUserEventHandlerFunction</H2>
<P>
<P> Define a user handler declaration and function.  </P>
<P> Provides a default header comment and body comment.  </P>
<P> This is NOT conditional, so include it in a &lt;templateGroup ifEvents="..." /&gt;  </P>
</P>
<H3>Arguments</H3>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>the id for the event handler function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionLocationId</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>the id for the event handler function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionName</TD><TD>no</TD><TD>${event.handlerName}</TD><TD>
<P>
<P>the name of the function/method for the handler;     generally the default should be used (the name specified in the Events view)</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>the body of the function, which by default is a TODO comment</P>
</P>
</TD>
</TR>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD>
<P>
<P>the name of the class that receives the handler</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionComment</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>the comment for the function</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionName</TD><TD>no</TD><TD>${event.handlerName}</TD><TD>
<P>
<P>the name of the function/method for the handler;     generally the default should be used (the name specified in the Events view)</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionBody</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>the body of the function, which by default is a TODO comment</P>
</P>
</TD>
</TR>
<TR>
<TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD>
<P>
<P>the name of the class that receives the handler</P>
</P>
</TD>
</TR>
<TR>
<TD>FunctionComment</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>the comment for the function</P>
</P>
</TD>
</TR>
</TABLE>
<P>Inherited from <A href="#GenerateMethod">GenerateMethod</A>:</P>
<TABLE border="1" cellpadding="3">
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
<TR>
<TD>FunctionArgs</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>canonical argument list (e.g. "const TInt&amp; aArg, TInt aFoo = 3")</P>
</P>
</TD>
</TR>
<TR>
<TD>DefnLocation</TD><TD>yes</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the function</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclLocation</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>DeclPhase</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
</P>
</TD>
</TR>
<TR>
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
<P>
<P>return type for function</P>
</P>
</TD>
</TR>
<TR>
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>add 'const' modifier to function?</P>
</P>
</TD>
</TR>
<TR>
<TD>DefaultReturn</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>default value to return; overridden if FunctionBody is specified</P>
</P>
</TD>
</TR>
<TR>
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
<P>
<P>is the function body owned?</P>
</P>
</TD>
</TR>
<TR>
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
<P>
<P>is the function body the user event handler?</P>
</P>
</TD>
</TR>
<TR>
<TD>Initializers</TD><TD>no</TD><TD>&nbsp;</TD><TD>
<P>
<P>provide any initializer expressions, e.g. for constructors, appearing   on a separate line after the argument list and before the function body.   Do not provide the leading colon (':') as this is added automatically</P>
</P>
</TD>
</TR>
</TABLE>

</P>
</BODY>
</HTML>