BUG 10786 - added help context IDs for new launch config dialogs
<defineMacro id="DeclareMethod" help="Declares a method, e.g., the prototype."> <macroArgument name="DeclLocation" optional="true" default="" help="name of location into which to add the prototype (either this or DeclPhase must be defined)" /> <macroArgument name="DeclPhase" optional="true" default="" help="name of phase into which to add the prototype (either this or DeclLocation must be defined)" /> <macroArgument name="FunctionName" help="name of function" /> <macroArgument name="FunctionArgs" help="canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")"/> <macroArgument name="ReturnType" optional="true" default="void" help="return type for function" /> <macroArgument name="IsStatic" optional="true" default="false" help="is the function static?" /> <macroArgument name="IsVirtual" optional="true" default="false" help="is the function virtual? (ignored if IsStatic)" /> <macroArgument name="IsConst" optional="true" default="false" help="add 'const' modifier to function?" /> <!-- N.B.: only one of location or phase will be non-empty --> <template location="$(DeclLocation)" phase="$(DeclPhase)" >${($(IsStatic) ? "static " : ($(IsVirtual) ? "virtual " : ""))}$(ReturnType::append-space-unless-empty)$(FunctionName)($(FunctionArgs::as-function-declaration-args::split-and-indent::add-spaces-unless-empty))${($(IsConst) ? " const" : "")}; </template></defineMacro><defineMacro id="GenerateDefaultFunctionBody" help="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." > <macroArgument name="FunctionLocationId" help="name of the function location to define; body is named id+_BODY" /> <macroArgument name="DefaultReturn" optional="true" help="default value to return; overridden if FunctionBody is specified" /> <macroArgument name="ReturnType" optional="true" default="void" help="return type for function" /> <macroArgument name="FunctionBody" optional="true" default="" help="text inside function body (comment and/or code)" /> <template location="$(FunctionLocationId)"><![CDATA[<% if ($(FunctionBody::is-defined)) { %>$(FunctionBody)<% } if ($(DefaultReturn::is-defined) && $(ReturnType::as-string) != "void" && $(ReturnType::as-string) != "") { %>return $(DefaultReturn);<% } %>]]></template></defineMacro><defineMacro id="DefineMethod" help="Defines a method to one location, optionally generating body text,or a default return statement.The generated function is owned by default." > <importArguments macroName="GenerateDefaultFunctionBody" /> <macroArgument name="IsOwned" optional="true" default="true" help="is the function body owned?" /> <macroArgument name="DefnLocation" help="name of location into which to add the function" /> <macroArgument name="FunctionName" help="name of function" /> <macroArgument name="FunctionArgs" help="canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")"/> <macroArgument name="IsConst" optional="true" default="false" help="add 'const' modifier to function?" /> <macroArgument name="ClassName" optional="true" default="${className}" help="the class name" /> <macroArgument name="FunctionComment" optional="true" help="comment appearing before function defn" /> <macroArgument name="IsEventHandler" optional="true" default="false" help="is the function body the user event handler?" /> <macroArgument name="Initializers" optional="true" default="" help="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" /> <macroArgument name="Realize" optional="true" default="false" help="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." /> <defineLocation id="$(FunctionLocationId)" baseLocation="$(DefnLocation)" owned="$(IsOwned)" isEventHandler="$(IsEventHandler)" realize="$(Realize)" location="function($(ClassName)::$(FunctionName)($(FunctionArgs::as-function-location-args)))"> <template><![CDATA[<% if ($(FunctionComment::is-defined)) { %>$(FunctionComment)<% } %>$(ReturnType::append-space-unless-empty)$(ClassName)::$(FunctionName)($(FunctionArgs::as-function-definition-args::split-and-indent::add-spaces-unless-empty))${($(IsConst) ? " const" : "")}<%if ($(Initializers::as-string) != "") { %> : $(Initializers)<% } %> { }]]> </template> </defineLocation> <expandMacro name="GenerateDefaultFunctionBody" /></defineMacro><defineMacro id="GenerateMethod" help="Declares and defines a method to one locationand adds the prototype to another location." > <importArguments macroName="DeclareMethod" /> <importArguments macroName="DefineMethod" /> <expandMacro name="DeclareMethod" /> <expandMacro name="DefineMethod" /></defineMacro><defineMacro id="DefineMethodWithOwnedBody" help="Defines a method with an owned body section.$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$ Also, no default function code is generated, so the provided StartFunctionBody, FunctionBody, and EndFunctionBody must account forany return statements." > <importArguments macroName="DefineMethod" /> <macroArgument name="OwnedRegionLocationId" optional="true" default="$(FunctionLocationId)_BODY" help="location id for enclosed body" /> <macroArgument name="OwnedRegionName" optional="true" default="Generated Contents" help="region name for enclosed body" /> <macroArgument name="StartFunctionBody" optional="true" default="" help="text inside function body (comment and/or code) before the owned section" /> <macroArgument name="FunctionBody" optional="true" default="" help="text inside owned part of function body" /> <macroArgument name="EndFunctionBody" optional="true" default="" help="text inside function body (comment and/or code) after the owned section" /> <expandMacro name="DefineMethod" dontPassArguments="DefaultReturn FunctionBody" help="make a method first: does not pass DefaultReturn since either FunctionBody or EndFunctionBody should be handling the return" /> <template location="$(FunctionLocationId)">$(StartFunctionBody) </template> <defineLocation id="$(OwnedRegionLocationId)" baseLocation="$(FunctionLocationId)" location="region($(OwnedRegionName))" realize="true"> <template>$(FunctionBody) </template> </defineLocation> <template location="$(FunctionLocationId)">$(EndFunctionBody) </template></defineMacro><defineMacro id="GenerateMethodWithOwnedBody" help="Declares and defines a method with an owned body section to one locationand adds the prototype to another location. $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."> <importArguments macroName="DefineMethodWithOwnedBody" /> <importArguments macroName="DeclareMethod" /> <expandMacro name="DeclareMethod" /> <expandMacro name="DefineMethodWithOwnedBody" /></defineMacro><defineMacro id="GenerateMethodWithVariantArguments" help=" Declares and defines an owned method with variant arguments to one locationand adds the prototype to another location. $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$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 prototypechanges and the old body remains behind. "> <importArguments macroName="GenerateMethod" exceptArguments="FunctionArgs IsOwned" help="use all the same arguments from Method, excluding FunctionArgs, whose semantics are different, and IsOwned, which changes defaults"/> <macroArgument name="IsOwned" optional="true" default="true" help="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." /> <macroArgument name="FunctionArgs" help="canonical leading static argument list (e.g. "const TInt& aArg, TInt aFoo = 3") Do not include a trailing comma" /> <macroArgument name="FunctionVarArgsAllowEmpty" optional="false" help="tell whether the varargs may be empty"/> <macroArgument name="FunctionVarArgsDeclExpr" help="generator for the variable arguments as appearing in the declaration (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma"/> <macroArgument name="FunctionVarArgsDefnExpr" help="generator for the variable arguments as appearing in the definition (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma" /> <!-- make a method declaration first --> <template location="$(DeclLocation)" phase="$(DeclPhase)" >${($(IsStatic) ? "static " : ($(IsVirtual) ? "virtual " : ""))}$(ReturnType::append-space-unless-empty)$(FunctionName)( $(FunctionArgs::as-function-declaration-args::split-and-indent)${($(FunctionVarArgsAllowEmpty) ? "" : ", ")}${$(FunctionVarArgsDefnExpr::split-and-indent)} )${($(IsConst) ? " const" : "")}; </template> <!-- now define the function --> <defineLocation id="$(FunctionLocationId)" baseLocation="$(DefnLocation)" owned="$(IsOwned)" location="function($(ClassName)::$(FunctionName)($(FunctionArgs::as-function-location-args),...))"> <template><![CDATA[<% if ($(FunctionComment::is-defined)) { %>$(FunctionComment)<% } %>$(ReturnType::append-space-unless-empty)$(ClassName)::$(FunctionName)( $(FunctionArgs::as-function-definition-args::split-and-indent)${($(FunctionVarArgsAllowEmpty) ? "" : ", ")}${$(FunctionVarArgsDefnExpr::split-and-indent)} )${($(IsConst) ? " const" : "")} { } ]]> </template> </defineLocation> <!-- and define the body --> <expandMacro name="GenerateDefaultFunctionBody" /></defineMacro><defineMacro id="GenerateVirtualMethodOverrideForEventHandler" help="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. "> <importArguments macroName="GenerateMethodWithOwnedBody" exceptArguments="IsVirtual IsStatic" /> <macroArgument name="ClassName" optional="true" default="${handlerClassName}" help="the name of the class" /> <macroArgument name="UserHandlerFunctionArgs" optional="true" help="the arguments passed to the user handler function (== FunctionArgs by default)"/> <!-- declare the virtual function override --> <expandMacro name="GenerateMethodWithOwnedBody" IsStatic="false" IsVirtual="false" /> <!-- generate a call to the user handler --> <template location="$(OwnedRegionLocationId)"><![CDATA[<%if ($(UserHandlerFunctionArgs::is-defined)) {%>${event.handlerName}($(UserHandlerFunctionArgs::as-function-call-args::add-spaces-unless-empty));<% } else { %>${event.handlerName}($(FunctionArgs::as-function-call-args::add-spaces-unless-empty));<% } %>]]></template></defineMacro><defineMacro id="GenerateUserEventHandlerFunction" help="Define a user handler declaration and function. $p$Provides a default header comment and body comment. $p$This is NOT conditional, so include it in a <templateGroup ifEvents="..." /> " > <!-- extends GenerateMethod, but excludes IsVirtual IsStatic and overrides: FunctionBody FunctionComment FunctionName FunctionLocationId --> <importArguments macroName="GenerateMethod" exceptArguments="IsVirtual IsStatic" /> <macroArgument name="ClassName" optional="true" default="${handlerClassName}" help="the name of the class that receives the handler" /> <macroArgument name="FunctionName" optional="true" default="${event.handlerName}" help="the name of the function/method for the handler; generally the default should be used (the name specified in the Events view)" /> <macroArgument name="FunctionLocationId" help="the id for the event handler function" /> <macroArgument name="FunctionComment" optional="true" help="the comment for the function" >/** * Handle the ${event.eventName} event */ </macroArgument> <!-- --> <macroArgument name="FunctionBody" optional="true" help="the body of the function, which by default is a TODO comment" >// TODO: implement ${event.eventName} event handler </macroArgument> <!-- declare the user handler method --> <expandMacro name="GenerateMethod" passArguments="DeclLocation DeclPhase FunctionName FunctionArgs ReturnType IsConst DefnLocation ClassName FunctionLocationId FunctionComment FunctionBody DefaultReturn" IsStatic="false" IsVirtual="false" IsEventHandler="true" IsOwned="false" /></defineMacro>