uidesigner/com.nokia.sdt.series60.componentlibrary/components/CommonMacros.inc.html
changeset 577 b46382ab04d2
parent 0 fb279309251b
--- a/uidesigner/com.nokia.sdt.series60.componentlibrary/components/CommonMacros.inc.html	Tue Nov 10 17:08:19 2009 -0600
+++ b/uidesigner/com.nokia.sdt.series60.componentlibrary/components/CommonMacros.inc.html	Thu Nov 12 14:50:22 2009 -0600
@@ -1,1393 +1,19 @@
-<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>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><html xmlns="http://www.w3.org/1999/xhtml"><head><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"/><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> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </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> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </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> </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> </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> </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> </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"/><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> </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> </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> </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> </td><td><p><p>text inside function body (comment and/or code)</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </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> </td><td><p><p>text inside function body (comment and/or code)</p></p></td></tr></table>
+<a name="DefineMethod"/><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> </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> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </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> </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> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </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> </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> </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>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated.  Otherwise, the   function is generated only if the FunctionBody is non-empty or if   another template contributions to the FunctionLocationId.</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> </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> </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>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated.  Otherwise, the   function is generated only if the FunctionBody is non-empty or if   another template contributions to the FunctionLocationId.</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> </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> </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> </td><td><p><p>text inside function body (comment and/or code)</p></p></td></tr></table>
+<a name="GenerateMethod"/><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> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </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> </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> </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> </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> </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> </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> </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> </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> </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>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated.  Otherwise, the   function is generated only if the FunctionBody is non-empty or if   another template contributions to the FunctionLocationId.</p></p></td></tr></table>
+<a name="DefineMethodWithOwnedBody"/><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> </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> </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> </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> </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> </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> </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> </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> </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> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </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> </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> </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> </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>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated.  Otherwise, the   function is generated only if the FunctionBody is non-empty or if   another template contributions to the FunctionLocationId.</p></p></td></tr></table>
+<a name="GenerateMethodWithOwnedBody"/><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> </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> </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> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </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> </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> </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> </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> </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>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated.  Otherwise, the   function is generated only if the FunctionBody is non-empty or if   another template contributions to the FunctionLocationId.</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> </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> </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> </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> </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"/><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> </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> </td><td><p><p>tell whether the varargs may be empty</p></p></td></tr><tr><td>FunctionVarArgsDeclExpr</td><td>yes</td><td> </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> </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> </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> </td><td><p><p>tell whether the varargs may be empty</p></p></td></tr><tr><td>FunctionVarArgsDeclExpr</td><td>yes</td><td> </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> </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> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionLocationId</td><td>yes</td><td> </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> </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> </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> </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> </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> </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> </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> </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>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated.  Otherwise, the   function is generated only if the FunctionBody is non-empty or if   another template contributions to the FunctionLocationId.</p></p></td></tr></table>
+<a name="GenerateVirtualMethodOverrideForEventHandler"/><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> </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> </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> </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> </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> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </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> </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> </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> </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> </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>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated.  Otherwise, the   function is generated only if the FunctionBody is non-empty or if   another template contributions to the FunctionLocationId.</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> </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> </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> </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> </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"/><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> </td><td><p><p>the id for the event handler function</p></p></td></tr><tr><td>FunctionLocationId</td><td>yes</td><td> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated.  Otherwise, the   function is generated only if the FunctionBody is non-empty or if   another template contributions to the FunctionLocationId.</p></p></td></tr></table>
+</p></body></html>
\ No newline at end of file