0
+ − 1
<HTML>
+ − 2
<HEAD>
+ − 3
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ − 4
<TITLE>Help for Macros in CommonMacros.inc</TITLE>
+ − 5
</HEAD>
+ − 6
<BODY>
+ − 7
<P>
+ − 8
<H1>Table of contents</H1>
+ − 9
<P>
+ − 10
<A href="#DeclareMethod">DeclareMethod</A>
+ − 11
</P>
+ − 12
+ − 13
<P>
+ − 14
<A href="#GenerateDefaultFunctionBody">GenerateDefaultFunctionBody</A>
+ − 15
</P>
+ − 16
+ − 17
<P>
+ − 18
<A href="#DefineMethod">DefineMethod</A>
+ − 19
</P>
+ − 20
+ − 21
<P>
+ − 22
<A href="#GenerateMethod">GenerateMethod</A>
+ − 23
</P>
+ − 24
+ − 25
<P>
+ − 26
<A href="#DefineMethodWithOwnedBody">DefineMethodWithOwnedBody</A>
+ − 27
</P>
+ − 28
+ − 29
<P>
+ − 30
<A href="#GenerateMethodWithOwnedBody">GenerateMethodWithOwnedBody</A>
+ − 31
</P>
+ − 32
+ − 33
<P>
+ − 34
<A href="#GenerateMethodWithVariantArguments">GenerateMethodWithVariantArguments</A>
+ − 35
</P>
+ − 36
+ − 37
<P>
+ − 38
<A href="#GenerateVirtualMethodOverrideForEventHandler">GenerateVirtualMethodOverrideForEventHandler</A>
+ − 39
</P>
+ − 40
+ − 41
<P>
+ − 42
<A href="#GenerateUserEventHandlerFunction">GenerateUserEventHandlerFunction</A>
+ − 43
</P>
+ − 44
+ − 45
</P>
+ − 46
<P>
+ − 47
<A name="DeclareMethod"></A>
+ − 48
<H2>DeclareMethod</H2>
+ − 49
<P>
+ − 50
<P>Declares a method, e.g., the prototype.</P>
+ − 51
</P>
+ − 52
<H3>Arguments</H3>
+ − 53
<TABLE border="1" cellpadding="3">
+ − 54
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 55
<TR>
+ − 56
<TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD>
+ − 57
<P>
+ − 58
<P>name of function</P>
+ − 59
</P>
+ − 60
</TD>
+ − 61
</TR>
+ − 62
<TR>
+ − 63
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 64
<P>
+ − 65
<P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P>
+ − 66
</P>
+ − 67
</TD>
+ − 68
</TR>
+ − 69
<TR>
+ − 70
<TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD>
+ − 71
<P>
+ − 72
<P>name of function</P>
+ − 73
</P>
+ − 74
</TD>
+ − 75
</TR>
+ − 76
<TR>
+ − 77
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 78
<P>
+ − 79
<P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P>
+ − 80
</P>
+ − 81
</TD>
+ − 82
</TR>
+ − 83
<TR>
+ − 84
<TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD>
+ − 85
<P>
+ − 86
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
+ − 87
</P>
+ − 88
</TD>
+ − 89
</TR>
+ − 90
<TR>
+ − 91
<TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD>
+ − 92
<P>
+ − 93
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
+ − 94
</P>
+ − 95
</TD>
+ − 96
</TR>
+ − 97
<TR>
+ − 98
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 99
<P>
+ − 100
<P>return type for function</P>
+ − 101
</P>
+ − 102
</TD>
+ − 103
</TR>
+ − 104
<TR>
+ − 105
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
+ − 106
<P>
+ − 107
<P>is the function static?</P>
+ − 108
</P>
+ − 109
</TD>
+ − 110
</TR>
+ − 111
<TR>
+ − 112
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
+ − 113
<P>
+ − 114
<P>is the function virtual? (ignored if IsStatic)</P>
+ − 115
</P>
+ − 116
</TD>
+ − 117
</TR>
+ − 118
<TR>
+ − 119
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 120
<P>
+ − 121
<P>add 'const' modifier to function?</P>
+ − 122
</P>
+ − 123
</TD>
+ − 124
</TR>
+ − 125
<TR>
+ − 126
<TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD>
+ − 127
<P>
+ − 128
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
+ − 129
</P>
+ − 130
</TD>
+ − 131
</TR>
+ − 132
<TR>
+ − 133
<TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD>
+ − 134
<P>
+ − 135
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
+ − 136
</P>
+ − 137
</TD>
+ − 138
</TR>
+ − 139
<TR>
+ − 140
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 141
<P>
+ − 142
<P>return type for function</P>
+ − 143
</P>
+ − 144
</TD>
+ − 145
</TR>
+ − 146
<TR>
+ − 147
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
+ − 148
<P>
+ − 149
<P>is the function static?</P>
+ − 150
</P>
+ − 151
</TD>
+ − 152
</TR>
+ − 153
<TR>
+ − 154
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
+ − 155
<P>
+ − 156
<P>is the function virtual? (ignored if IsStatic)</P>
+ − 157
</P>
+ − 158
</TD>
+ − 159
</TR>
+ − 160
<TR>
+ − 161
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 162
<P>
+ − 163
<P>add 'const' modifier to function?</P>
+ − 164
</P>
+ − 165
</TD>
+ − 166
</TR>
+ − 167
</TABLE>
+ − 168
+ − 169
<A name="GenerateDefaultFunctionBody"></A>
+ − 170
<H2>GenerateDefaultFunctionBody</H2>
+ − 171
<P>
+ − 172
<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>
+ − 173
</P>
+ − 174
<H3>Arguments</H3>
+ − 175
<TABLE border="1" cellpadding="3">
+ − 176
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 177
<TR>
+ − 178
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 179
<P>
+ − 180
<P>name of the function location to define; body is named id+_BODY</P>
+ − 181
</P>
+ − 182
</TD>
+ − 183
</TR>
+ − 184
<TR>
+ − 185
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 186
<P>
+ − 187
<P>name of the function location to define; body is named id+_BODY</P>
+ − 188
</P>
+ − 189
</TD>
+ − 190
</TR>
+ − 191
<TR>
+ − 192
<TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD>
+ − 193
<P>
+ − 194
<P>default value to return; overridden if FunctionBody is specified</P>
+ − 195
</P>
+ − 196
</TD>
+ − 197
</TR>
+ − 198
<TR>
+ − 199
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 200
<P>
+ − 201
<P>return type for function</P>
+ − 202
</P>
+ − 203
</TD>
+ − 204
</TR>
+ − 205
<TR>
+ − 206
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 207
<P>
+ − 208
<P>text inside function body (comment and/or code)</P>
+ − 209
</P>
+ − 210
</TD>
+ − 211
</TR>
+ − 212
<TR>
+ − 213
<TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD>
+ − 214
<P>
+ − 215
<P>default value to return; overridden if FunctionBody is specified</P>
+ − 216
</P>
+ − 217
</TD>
+ − 218
</TR>
+ − 219
<TR>
+ − 220
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 221
<P>
+ − 222
<P>return type for function</P>
+ − 223
</P>
+ − 224
</TD>
+ − 225
</TR>
+ − 226
<TR>
+ − 227
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 228
<P>
+ − 229
<P>text inside function body (comment and/or code)</P>
+ − 230
</P>
+ − 231
</TD>
+ − 232
</TR>
+ − 233
</TABLE>
+ − 234
+ − 235
<A name="DefineMethod"></A>
+ − 236
<H2>DefineMethod</H2>
+ − 237
<P>
+ − 238
<P>Defines a method to one location, optionally generating body text, or a default return statement. The generated function is owned by default.</P>
+ − 239
</P>
+ − 240
<H3>Arguments</H3>
+ − 241
<TABLE border="1" cellpadding="3">
+ − 242
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 243
<TR>
+ − 244
<TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD>
+ − 245
<P>
+ − 246
<P>name of location into which to add the function</P>
+ − 247
</P>
+ − 248
</TD>
+ − 249
</TR>
+ − 250
<TR>
+ − 251
<TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD>
+ − 252
<P>
+ − 253
<P>name of function</P>
+ − 254
</P>
+ − 255
</TD>
+ − 256
</TR>
+ − 257
<TR>
+ − 258
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 259
<P>
+ − 260
<P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P>
+ − 261
</P>
+ − 262
</TD>
+ − 263
</TR>
+ − 264
<TR>
+ − 265
<TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD>
+ − 266
<P>
+ − 267
<P>name of location into which to add the function</P>
+ − 268
</P>
+ − 269
</TD>
+ − 270
</TR>
+ − 271
<TR>
+ − 272
<TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD>
+ − 273
<P>
+ − 274
<P>name of function</P>
+ − 275
</P>
+ − 276
</TD>
+ − 277
</TR>
+ − 278
<TR>
+ − 279
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 280
<P>
+ − 281
<P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P>
+ − 282
</P>
+ − 283
</TD>
+ − 284
</TR>
+ − 285
<TR>
+ − 286
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
+ − 287
<P>
+ − 288
<P>is the function body owned?</P>
+ − 289
</P>
+ − 290
</TD>
+ − 291
</TR>
+ − 292
<TR>
+ − 293
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 294
<P>
+ − 295
<P>add 'const' modifier to function?</P>
+ − 296
</P>
+ − 297
</TD>
+ − 298
</TR>
+ − 299
<TR>
+ − 300
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
+ − 301
<P>
+ − 302
<P>the class name</P>
+ − 303
</P>
+ − 304
</TD>
+ − 305
</TR>
+ − 306
<TR>
+ − 307
<TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD>
+ − 308
<P>
+ − 309
<P>comment appearing before function defn</P>
+ − 310
</P>
+ − 311
</TD>
+ − 312
</TR>
+ − 313
<TR>
+ − 314
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
+ − 315
<P>
+ − 316
<P>is the function body the user event handler?</P>
+ − 317
</P>
+ − 318
</TD>
+ − 319
</TR>
+ − 320
<TR>
+ − 321
<TD>Initializers</TD><TD>no</TD><TD> </TD><TD>
+ − 322
<P>
+ − 323
<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>
+ − 324
</P>
+ − 325
</TD>
+ − 326
</TR>
+ − 327
<TR>
+ − 328
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
+ − 329
<P>
+ − 330
<P>is the function body owned?</P>
+ − 331
</P>
+ − 332
</TD>
+ − 333
</TR>
+ − 334
<TR>
+ − 335
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 336
<P>
+ − 337
<P>add 'const' modifier to function?</P>
+ − 338
</P>
+ − 339
</TD>
+ − 340
</TR>
+ − 341
<TR>
+ − 342
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
+ − 343
<P>
+ − 344
<P>the class name</P>
+ − 345
</P>
+ − 346
</TD>
+ − 347
</TR>
+ − 348
<TR>
+ − 349
<TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD>
+ − 350
<P>
+ − 351
<P>comment appearing before function defn</P>
+ − 352
</P>
+ − 353
</TD>
+ − 354
</TR>
+ − 355
<TR>
+ − 356
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
+ − 357
<P>
+ − 358
<P>is the function body the user event handler?</P>
+ − 359
</P>
+ − 360
</TD>
+ − 361
</TR>
+ − 362
<TR>
+ − 363
<TD>Initializers</TD><TD>no</TD><TD> </TD><TD>
+ − 364
<P>
+ − 365
<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>
+ − 366
</P>
+ − 367
</TD>
+ − 368
</TR>
+ − 369
</TABLE>
+ − 370
<P>Inherited from <A href="#GenerateDefaultFunctionBody">GenerateDefaultFunctionBody</A>:</P>
+ − 371
<TABLE border="1" cellpadding="3">
+ − 372
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 373
<TR>
+ − 374
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 375
<P>
+ − 376
<P>name of the function location to define; body is named id+_BODY</P>
+ − 377
</P>
+ − 378
</TD>
+ − 379
</TR>
+ − 380
<TR>
+ − 381
<TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD>
+ − 382
<P>
+ − 383
<P>default value to return; overridden if FunctionBody is specified</P>
+ − 384
</P>
+ − 385
</TD>
+ − 386
</TR>
+ − 387
<TR>
+ − 388
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 389
<P>
+ − 390
<P>return type for function</P>
+ − 391
</P>
+ − 392
</TD>
+ − 393
</TR>
+ − 394
<TR>
+ − 395
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 396
<P>
+ − 397
<P>text inside function body (comment and/or code)</P>
+ − 398
</P>
+ − 399
</TD>
+ − 400
</TR>
+ − 401
</TABLE>
+ − 402
+ − 403
<A name="GenerateMethod"></A>
+ − 404
<H2>GenerateMethod</H2>
+ − 405
<P>
+ − 406
<P>Declares and defines a method to one location and adds the prototype to another location.</P>
+ − 407
</P>
+ − 408
<H3>Arguments</H3>
+ − 409
<TABLE border="1" cellpadding="3">
+ − 410
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 411
</TABLE>
+ − 412
<P>Inherited from <A href="#DeclareMethod">DeclareMethod</A>:</P>
+ − 413
<TABLE border="1" cellpadding="3">
+ − 414
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 415
<TR>
+ − 416
<TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD>
+ − 417
<P>
+ − 418
<P>name of function</P>
+ − 419
</P>
+ − 420
</TD>
+ − 421
</TR>
+ − 422
<TR>
+ − 423
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 424
<P>
+ − 425
<P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P>
+ − 426
</P>
+ − 427
</TD>
+ − 428
</TR>
+ − 429
<TR>
+ − 430
<TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD>
+ − 431
<P>
+ − 432
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
+ − 433
</P>
+ − 434
</TD>
+ − 435
</TR>
+ − 436
<TR>
+ − 437
<TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD>
+ − 438
<P>
+ − 439
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
+ − 440
</P>
+ − 441
</TD>
+ − 442
</TR>
+ − 443
<TR>
+ − 444
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 445
<P>
+ − 446
<P>return type for function</P>
+ − 447
</P>
+ − 448
</TD>
+ − 449
</TR>
+ − 450
<TR>
+ − 451
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
+ − 452
<P>
+ − 453
<P>is the function static?</P>
+ − 454
</P>
+ − 455
</TD>
+ − 456
</TR>
+ − 457
<TR>
+ − 458
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
+ − 459
<P>
+ − 460
<P>is the function virtual? (ignored if IsStatic)</P>
+ − 461
</P>
+ − 462
</TD>
+ − 463
</TR>
+ − 464
<TR>
+ − 465
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 466
<P>
+ − 467
<P>add 'const' modifier to function?</P>
+ − 468
</P>
+ − 469
</TD>
+ − 470
</TR>
+ − 471
</TABLE>
+ − 472
<P>Inherited from <A href="#DefineMethod">DefineMethod</A>:</P>
+ − 473
<TABLE border="1" cellpadding="3">
+ − 474
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 475
<TR>
+ − 476
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 477
<P>
+ − 478
<P>name of the function location to define; body is named id+_BODY</P>
+ − 479
</P>
+ − 480
</TD>
+ − 481
</TR>
+ − 482
<TR>
+ − 483
<TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD>
+ − 484
<P>
+ − 485
<P>name of location into which to add the function</P>
+ − 486
</P>
+ − 487
</TD>
+ − 488
</TR>
+ − 489
<TR>
+ − 490
<TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD>
+ − 491
<P>
+ − 492
<P>default value to return; overridden if FunctionBody is specified</P>
+ − 493
</P>
+ − 494
</TD>
+ − 495
</TR>
+ − 496
<TR>
+ − 497
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 498
<P>
+ − 499
<P>text inside function body (comment and/or code)</P>
+ − 500
</P>
+ − 501
</TD>
+ − 502
</TR>
+ − 503
<TR>
+ − 504
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
+ − 505
<P>
+ − 506
<P>is the function body owned?</P>
+ − 507
</P>
+ − 508
</TD>
+ − 509
</TR>
+ − 510
<TR>
+ − 511
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
+ − 512
<P>
+ − 513
<P>the class name</P>
+ − 514
</P>
+ − 515
</TD>
+ − 516
</TR>
+ − 517
<TR>
+ − 518
<TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD>
+ − 519
<P>
+ − 520
<P>comment appearing before function defn</P>
+ − 521
</P>
+ − 522
</TD>
+ − 523
</TR>
+ − 524
<TR>
+ − 525
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
+ − 526
<P>
+ − 527
<P>is the function body the user event handler?</P>
+ − 528
</P>
+ − 529
</TD>
+ − 530
</TR>
+ − 531
<TR>
+ − 532
<TD>Initializers</TD><TD>no</TD><TD> </TD><TD>
+ − 533
<P>
+ − 534
<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>
+ − 535
</P>
+ − 536
</TD>
+ − 537
</TR>
+ − 538
</TABLE>
+ − 539
+ − 540
<A name="DefineMethodWithOwnedBody"></A>
+ − 541
<H2>DefineMethodWithOwnedBody</H2>
+ − 542
<P>
+ − 543
<P>Defines a method with an owned body section. </P>
+ − 544
<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>
+ − 545
<P> Also, no default function code is generated, so the provided StartFunctionBody, FunctionBody, and EndFunctionBody must account for any return statements.</P>
+ − 546
</P>
+ − 547
<H3>Arguments</H3>
+ − 548
<TABLE border="1" cellpadding="3">
+ − 549
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 550
<TR>
+ − 551
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 552
<P>
+ − 553
<P>text inside owned part of function body</P>
+ − 554
</P>
+ − 555
</TD>
+ − 556
</TR>
+ − 557
<TR>
+ − 558
<TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD>
+ − 559
<P>
+ − 560
<P>location id for enclosed body</P>
+ − 561
</P>
+ − 562
</TD>
+ − 563
</TR>
+ − 564
<TR>
+ − 565
<TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD>
+ − 566
<P>
+ − 567
<P>region name for enclosed body</P>
+ − 568
</P>
+ − 569
</TD>
+ − 570
</TR>
+ − 571
<TR>
+ − 572
<TD>StartFunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 573
<P>
+ − 574
<P>text inside function body (comment and/or code) before the owned section</P>
+ − 575
</P>
+ − 576
</TD>
+ − 577
</TR>
+ − 578
<TR>
+ − 579
<TD>EndFunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 580
<P>
+ − 581
<P>text inside function body (comment and/or code) after the owned section</P>
+ − 582
</P>
+ − 583
</TD>
+ − 584
</TR>
+ − 585
<TR>
+ − 586
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 587
<P>
+ − 588
<P>text inside owned part of function body</P>
+ − 589
</P>
+ − 590
</TD>
+ − 591
</TR>
+ − 592
<TR>
+ − 593
<TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD>
+ − 594
<P>
+ − 595
<P>location id for enclosed body</P>
+ − 596
</P>
+ − 597
</TD>
+ − 598
</TR>
+ − 599
<TR>
+ − 600
<TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD>
+ − 601
<P>
+ − 602
<P>region name for enclosed body</P>
+ − 603
</P>
+ − 604
</TD>
+ − 605
</TR>
+ − 606
<TR>
+ − 607
<TD>StartFunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 608
<P>
+ − 609
<P>text inside function body (comment and/or code) before the owned section</P>
+ − 610
</P>
+ − 611
</TD>
+ − 612
</TR>
+ − 613
<TR>
+ − 614
<TD>EndFunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 615
<P>
+ − 616
<P>text inside function body (comment and/or code) after the owned section</P>
+ − 617
</P>
+ − 618
</TD>
+ − 619
</TR>
+ − 620
</TABLE>
+ − 621
<P>Inherited from <A href="#DefineMethod">DefineMethod</A>:</P>
+ − 622
<TABLE border="1" cellpadding="3">
+ − 623
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 624
<TR>
+ − 625
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 626
<P>
+ − 627
<P>name of the function location to define; body is named id+_BODY</P>
+ − 628
</P>
+ − 629
</TD>
+ − 630
</TR>
+ − 631
<TR>
+ − 632
<TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD>
+ − 633
<P>
+ − 634
<P>name of location into which to add the function</P>
+ − 635
</P>
+ − 636
</TD>
+ − 637
</TR>
+ − 638
<TR>
+ − 639
<TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD>
+ − 640
<P>
+ − 641
<P>name of function</P>
+ − 642
</P>
+ − 643
</TD>
+ − 644
</TR>
+ − 645
<TR>
+ − 646
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 647
<P>
+ − 648
<P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P>
+ − 649
</P>
+ − 650
</TD>
+ − 651
</TR>
+ − 652
<TR>
+ − 653
<TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD>
+ − 654
<P>
+ − 655
<P>default value to return; overridden if FunctionBody is specified</P>
+ − 656
</P>
+ − 657
</TD>
+ − 658
</TR>
+ − 659
<TR>
+ − 660
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 661
<P>
+ − 662
<P>return type for function</P>
+ − 663
</P>
+ − 664
</TD>
+ − 665
</TR>
+ − 666
<TR>
+ − 667
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
+ − 668
<P>
+ − 669
<P>is the function body owned?</P>
+ − 670
</P>
+ − 671
</TD>
+ − 672
</TR>
+ − 673
<TR>
+ − 674
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 675
<P>
+ − 676
<P>add 'const' modifier to function?</P>
+ − 677
</P>
+ − 678
</TD>
+ − 679
</TR>
+ − 680
<TR>
+ − 681
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
+ − 682
<P>
+ − 683
<P>the class name</P>
+ − 684
</P>
+ − 685
</TD>
+ − 686
</TR>
+ − 687
<TR>
+ − 688
<TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD>
+ − 689
<P>
+ − 690
<P>comment appearing before function defn</P>
+ − 691
</P>
+ − 692
</TD>
+ − 693
</TR>
+ − 694
<TR>
+ − 695
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
+ − 696
<P>
+ − 697
<P>is the function body the user event handler?</P>
+ − 698
</P>
+ − 699
</TD>
+ − 700
</TR>
+ − 701
<TR>
+ − 702
<TD>Initializers</TD><TD>no</TD><TD> </TD><TD>
+ − 703
<P>
+ − 704
<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>
+ − 705
</P>
+ − 706
</TD>
+ − 707
</TR>
+ − 708
</TABLE>
+ − 709
+ − 710
<A name="GenerateMethodWithOwnedBody"></A>
+ − 711
<H2>GenerateMethodWithOwnedBody</H2>
+ − 712
<P>
+ − 713
<P>Declares and defines a method with an owned body section to one location and adds the prototype to another location. </P>
+ − 714
<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>
+ − 715
</P>
+ − 716
<H3>Arguments</H3>
+ − 717
<TABLE border="1" cellpadding="3">
+ − 718
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 719
</TABLE>
+ − 720
<P>Inherited from <A href="#DefineMethodWithOwnedBody">DefineMethodWithOwnedBody</A>:</P>
+ − 721
<TABLE border="1" cellpadding="3">
+ − 722
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 723
<TR>
+ − 724
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 725
<P>
+ − 726
<P>name of the function location to define; body is named id+_BODY</P>
+ − 727
</P>
+ − 728
</TD>
+ − 729
</TR>
+ − 730
<TR>
+ − 731
<TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD>
+ − 732
<P>
+ − 733
<P>name of location into which to add the function</P>
+ − 734
</P>
+ − 735
</TD>
+ − 736
</TR>
+ − 737
<TR>
+ − 738
<TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD>
+ − 739
<P>
+ − 740
<P>name of function</P>
+ − 741
</P>
+ − 742
</TD>
+ − 743
</TR>
+ − 744
<TR>
+ − 745
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 746
<P>
+ − 747
<P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P>
+ − 748
</P>
+ − 749
</TD>
+ − 750
</TR>
+ − 751
<TR>
+ − 752
<TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD>
+ − 753
<P>
+ − 754
<P>default value to return; overridden if FunctionBody is specified</P>
+ − 755
</P>
+ − 756
</TD>
+ − 757
</TR>
+ − 758
<TR>
+ − 759
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 760
<P>
+ − 761
<P>return type for function</P>
+ − 762
</P>
+ − 763
</TD>
+ − 764
</TR>
+ − 765
<TR>
+ − 766
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 767
<P>
+ − 768
<P>text inside owned part of function body</P>
+ − 769
</P>
+ − 770
</TD>
+ − 771
</TR>
+ − 772
<TR>
+ − 773
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
+ − 774
<P>
+ − 775
<P>is the function body owned?</P>
+ − 776
</P>
+ − 777
</TD>
+ − 778
</TR>
+ − 779
<TR>
+ − 780
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 781
<P>
+ − 782
<P>add 'const' modifier to function?</P>
+ − 783
</P>
+ − 784
</TD>
+ − 785
</TR>
+ − 786
<TR>
+ − 787
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
+ − 788
<P>
+ − 789
<P>the class name</P>
+ − 790
</P>
+ − 791
</TD>
+ − 792
</TR>
+ − 793
<TR>
+ − 794
<TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD>
+ − 795
<P>
+ − 796
<P>comment appearing before function defn</P>
+ − 797
</P>
+ − 798
</TD>
+ − 799
</TR>
+ − 800
<TR>
+ − 801
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
+ − 802
<P>
+ − 803
<P>is the function body the user event handler?</P>
+ − 804
</P>
+ − 805
</TD>
+ − 806
</TR>
+ − 807
<TR>
+ − 808
<TD>Initializers</TD><TD>no</TD><TD> </TD><TD>
+ − 809
<P>
+ − 810
<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>
+ − 811
</P>
+ − 812
</TD>
+ − 813
</TR>
+ − 814
<TR>
+ − 815
<TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD>
+ − 816
<P>
+ − 817
<P>location id for enclosed body</P>
+ − 818
</P>
+ − 819
</TD>
+ − 820
</TR>
+ − 821
<TR>
+ − 822
<TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD>
+ − 823
<P>
+ − 824
<P>region name for enclosed body</P>
+ − 825
</P>
+ − 826
</TD>
+ − 827
</TR>
+ − 828
<TR>
+ − 829
<TD>StartFunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 830
<P>
+ − 831
<P>text inside function body (comment and/or code) before the owned section</P>
+ − 832
</P>
+ − 833
</TD>
+ − 834
</TR>
+ − 835
<TR>
+ − 836
<TD>EndFunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 837
<P>
+ − 838
<P>text inside function body (comment and/or code) after the owned section</P>
+ − 839
</P>
+ − 840
</TD>
+ − 841
</TR>
+ − 842
</TABLE>
+ − 843
<P>Inherited from <A href="#DeclareMethod">DeclareMethod</A>:</P>
+ − 844
<TABLE border="1" cellpadding="3">
+ − 845
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 846
<TR>
+ − 847
<TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD>
+ − 848
<P>
+ − 849
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
+ − 850
</P>
+ − 851
</TD>
+ − 852
</TR>
+ − 853
<TR>
+ − 854
<TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD>
+ − 855
<P>
+ − 856
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
+ − 857
</P>
+ − 858
</TD>
+ − 859
</TR>
+ − 860
<TR>
+ − 861
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
+ − 862
<P>
+ − 863
<P>is the function static?</P>
+ − 864
</P>
+ − 865
</TD>
+ − 866
</TR>
+ − 867
<TR>
+ − 868
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
+ − 869
<P>
+ − 870
<P>is the function virtual? (ignored if IsStatic)</P>
+ − 871
</P>
+ − 872
</TD>
+ − 873
</TR>
+ − 874
</TABLE>
+ − 875
+ − 876
<A name="GenerateMethodWithVariantArguments"></A>
+ − 877
<H2>GenerateMethodWithVariantArguments</H2>
+ − 878
<P>
+ − 879
<P> Declares and defines an owned method with variant arguments to one location and adds the prototype to another location. </P>
+ − 880
<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>
+ − 881
<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>
+ − 882
</P>
+ − 883
<H3>Arguments</H3>
+ − 884
<TABLE border="1" cellpadding="3">
+ − 885
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 886
<TR>
+ − 887
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 888
<P>
+ − 889
<P>canonical leading static argument list (e.g. "const TInt& aArg, TInt aFoo = 3") Do not include a trailing comma</P>
+ − 890
</P>
+ − 891
</TD>
+ − 892
</TR>
+ − 893
<TR>
+ − 894
<TD>FunctionVarArgsAllowEmpty</TD><TD>yes</TD><TD> </TD><TD>
+ − 895
<P>
+ − 896
<P>tell whether the varargs may be empty</P>
+ − 897
</P>
+ − 898
</TD>
+ − 899
</TR>
+ − 900
<TR>
+ − 901
<TD>FunctionVarArgsDeclExpr</TD><TD>yes</TD><TD> </TD><TD>
+ − 902
<P>
+ − 903
<P>generator for the variable arguments as appearing in the declaration (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P>
+ − 904
</P>
+ − 905
</TD>
+ − 906
</TR>
+ − 907
<TR>
+ − 908
<TD>FunctionVarArgsDefnExpr</TD><TD>yes</TD><TD> </TD><TD>
+ − 909
<P>
+ − 910
<P>generator for the variable arguments as appearing in the definition (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P>
+ − 911
</P>
+ − 912
</TD>
+ − 913
</TR>
+ − 914
<TR>
+ − 915
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 916
<P>
+ − 917
<P>canonical leading static argument list (e.g. "const TInt& aArg, TInt aFoo = 3") Do not include a trailing comma</P>
+ − 918
</P>
+ − 919
</TD>
+ − 920
</TR>
+ − 921
<TR>
+ − 922
<TD>FunctionVarArgsAllowEmpty</TD><TD>yes</TD><TD> </TD><TD>
+ − 923
<P>
+ − 924
<P>tell whether the varargs may be empty</P>
+ − 925
</P>
+ − 926
</TD>
+ − 927
</TR>
+ − 928
<TR>
+ − 929
<TD>FunctionVarArgsDeclExpr</TD><TD>yes</TD><TD> </TD><TD>
+ − 930
<P>
+ − 931
<P>generator for the variable arguments as appearing in the declaration (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P>
+ − 932
</P>
+ − 933
</TD>
+ − 934
</TR>
+ − 935
<TR>
+ − 936
<TD>FunctionVarArgsDefnExpr</TD><TD>yes</TD><TD> </TD><TD>
+ − 937
<P>
+ − 938
<P>generator for the variable arguments as appearing in the definition (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P>
+ − 939
</P>
+ − 940
</TD>
+ − 941
</TR>
+ − 942
<TR>
+ − 943
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
+ − 944
<P>
+ − 945
<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>
+ − 946
</P>
+ − 947
</TD>
+ − 948
</TR>
+ − 949
<TR>
+ − 950
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
+ − 951
<P>
+ − 952
<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>
+ − 953
</P>
+ − 954
</TD>
+ − 955
</TR>
+ − 956
</TABLE>
+ − 957
<P>Inherited from <A href="#GenerateMethod">GenerateMethod</A>:</P>
+ − 958
<TABLE border="1" cellpadding="3">
+ − 959
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 960
<TR>
+ − 961
<TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD>
+ − 962
<P>
+ − 963
<P>name of function</P>
+ − 964
</P>
+ − 965
</TD>
+ − 966
</TR>
+ − 967
<TR>
+ − 968
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 969
<P>
+ − 970
<P>name of the function location to define; body is named id+_BODY</P>
+ − 971
</P>
+ − 972
</TD>
+ − 973
</TR>
+ − 974
<TR>
+ − 975
<TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD>
+ − 976
<P>
+ − 977
<P>name of location into which to add the function</P>
+ − 978
</P>
+ − 979
</TD>
+ − 980
</TR>
+ − 981
<TR>
+ − 982
<TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD>
+ − 983
<P>
+ − 984
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
+ − 985
</P>
+ − 986
</TD>
+ − 987
</TR>
+ − 988
<TR>
+ − 989
<TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD>
+ − 990
<P>
+ − 991
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
+ − 992
</P>
+ − 993
</TD>
+ − 994
</TR>
+ − 995
<TR>
+ − 996
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 997
<P>
+ − 998
<P>return type for function</P>
+ − 999
</P>
+ − 1000
</TD>
+ − 1001
</TR>
+ − 1002
<TR>
+ − 1003
<TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD>
+ − 1004
<P>
+ − 1005
<P>is the function static?</P>
+ − 1006
</P>
+ − 1007
</TD>
+ − 1008
</TR>
+ − 1009
<TR>
+ − 1010
<TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD>
+ − 1011
<P>
+ − 1012
<P>is the function virtual? (ignored if IsStatic)</P>
+ − 1013
</P>
+ − 1014
</TD>
+ − 1015
</TR>
+ − 1016
<TR>
+ − 1017
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 1018
<P>
+ − 1019
<P>add 'const' modifier to function?</P>
+ − 1020
</P>
+ − 1021
</TD>
+ − 1022
</TR>
+ − 1023
<TR>
+ − 1024
<TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD>
+ − 1025
<P>
+ − 1026
<P>default value to return; overridden if FunctionBody is specified</P>
+ − 1027
</P>
+ − 1028
</TD>
+ − 1029
</TR>
+ − 1030
<TR>
+ − 1031
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 1032
<P>
+ − 1033
<P>text inside function body (comment and/or code)</P>
+ − 1034
</P>
+ − 1035
</TD>
+ − 1036
</TR>
+ − 1037
<TR>
+ − 1038
<TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD>
+ − 1039
<P>
+ − 1040
<P>the class name</P>
+ − 1041
</P>
+ − 1042
</TD>
+ − 1043
</TR>
+ − 1044
<TR>
+ − 1045
<TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD>
+ − 1046
<P>
+ − 1047
<P>comment appearing before function defn</P>
+ − 1048
</P>
+ − 1049
</TD>
+ − 1050
</TR>
+ − 1051
<TR>
+ − 1052
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
+ − 1053
<P>
+ − 1054
<P>is the function body the user event handler?</P>
+ − 1055
</P>
+ − 1056
</TD>
+ − 1057
</TR>
+ − 1058
<TR>
+ − 1059
<TD>Initializers</TD><TD>no</TD><TD> </TD><TD>
+ − 1060
<P>
+ − 1061
<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>
+ − 1062
</P>
+ − 1063
</TD>
+ − 1064
</TR>
+ − 1065
</TABLE>
+ − 1066
+ − 1067
<A name="GenerateVirtualMethodOverrideForEventHandler"></A>
+ − 1068
<H2>GenerateVirtualMethodOverrideForEventHandler</H2>
+ − 1069
<P>
+ − 1070
<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>
+ − 1071
</P>
+ − 1072
<H3>Arguments</H3>
+ − 1073
<TABLE border="1" cellpadding="3">
+ − 1074
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 1075
<TR>
+ − 1076
<TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD>
+ − 1077
<P>
+ − 1078
<P>the name of the class</P>
+ − 1079
</P>
+ − 1080
</TD>
+ − 1081
</TR>
+ − 1082
<TR>
+ − 1083
<TD>UserHandlerFunctionArgs</TD><TD>no</TD><TD> </TD><TD>
+ − 1084
<P>
+ − 1085
<P>the arguments passed to the user handler function (== FunctionArgs by default)</P>
+ − 1086
</P>
+ − 1087
</TD>
+ − 1088
</TR>
+ − 1089
<TR>
+ − 1090
<TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD>
+ − 1091
<P>
+ − 1092
<P>the name of the class</P>
+ − 1093
</P>
+ − 1094
</TD>
+ − 1095
</TR>
+ − 1096
<TR>
+ − 1097
<TD>UserHandlerFunctionArgs</TD><TD>no</TD><TD> </TD><TD>
+ − 1098
<P>
+ − 1099
<P>the arguments passed to the user handler function (== FunctionArgs by default)</P>
+ − 1100
</P>
+ − 1101
</TD>
+ − 1102
</TR>
+ − 1103
</TABLE>
+ − 1104
<P>Inherited from <A href="#GenerateMethodWithOwnedBody">GenerateMethodWithOwnedBody</A>:</P>
+ − 1105
<TABLE border="1" cellpadding="3">
+ − 1106
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 1107
<TR>
+ − 1108
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 1109
<P>
+ − 1110
<P>name of the function location to define; body is named id+_BODY</P>
+ − 1111
</P>
+ − 1112
</TD>
+ − 1113
</TR>
+ − 1114
<TR>
+ − 1115
<TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD>
+ − 1116
<P>
+ − 1117
<P>name of location into which to add the function</P>
+ − 1118
</P>
+ − 1119
</TD>
+ − 1120
</TR>
+ − 1121
<TR>
+ − 1122
<TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD>
+ − 1123
<P>
+ − 1124
<P>name of function</P>
+ − 1125
</P>
+ − 1126
</TD>
+ − 1127
</TR>
+ − 1128
<TR>
+ − 1129
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 1130
<P>
+ − 1131
<P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P>
+ − 1132
</P>
+ − 1133
</TD>
+ − 1134
</TR>
+ − 1135
<TR>
+ − 1136
<TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD>
+ − 1137
<P>
+ − 1138
<P>default value to return; overridden if FunctionBody is specified</P>
+ − 1139
</P>
+ − 1140
</TD>
+ − 1141
</TR>
+ − 1142
<TR>
+ − 1143
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 1144
<P>
+ − 1145
<P>return type for function</P>
+ − 1146
</P>
+ − 1147
</TD>
+ − 1148
</TR>
+ − 1149
<TR>
+ − 1150
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 1151
<P>
+ − 1152
<P>text inside owned part of function body</P>
+ − 1153
</P>
+ − 1154
</TD>
+ − 1155
</TR>
+ − 1156
<TR>
+ − 1157
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
+ − 1158
<P>
+ − 1159
<P>is the function body owned?</P>
+ − 1160
</P>
+ − 1161
</TD>
+ − 1162
</TR>
+ − 1163
<TR>
+ − 1164
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 1165
<P>
+ − 1166
<P>add 'const' modifier to function?</P>
+ − 1167
</P>
+ − 1168
</TD>
+ − 1169
</TR>
+ − 1170
<TR>
+ − 1171
<TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD>
+ − 1172
<P>
+ − 1173
<P>comment appearing before function defn</P>
+ − 1174
</P>
+ − 1175
</TD>
+ − 1176
</TR>
+ − 1177
<TR>
+ − 1178
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
+ − 1179
<P>
+ − 1180
<P>is the function body the user event handler?</P>
+ − 1181
</P>
+ − 1182
</TD>
+ − 1183
</TR>
+ − 1184
<TR>
+ − 1185
<TD>Initializers</TD><TD>no</TD><TD> </TD><TD>
+ − 1186
<P>
+ − 1187
<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>
+ − 1188
</P>
+ − 1189
</TD>
+ − 1190
</TR>
+ − 1191
<TR>
+ − 1192
<TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD>
+ − 1193
<P>
+ − 1194
<P>location id for enclosed body</P>
+ − 1195
</P>
+ − 1196
</TD>
+ − 1197
</TR>
+ − 1198
<TR>
+ − 1199
<TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD>
+ − 1200
<P>
+ − 1201
<P>region name for enclosed body</P>
+ − 1202
</P>
+ − 1203
</TD>
+ − 1204
</TR>
+ − 1205
<TR>
+ − 1206
<TD>StartFunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 1207
<P>
+ − 1208
<P>text inside function body (comment and/or code) before the owned section</P>
+ − 1209
</P>
+ − 1210
</TD>
+ − 1211
</TR>
+ − 1212
<TR>
+ − 1213
<TD>EndFunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 1214
<P>
+ − 1215
<P>text inside function body (comment and/or code) after the owned section</P>
+ − 1216
</P>
+ − 1217
</TD>
+ − 1218
</TR>
+ − 1219
<TR>
+ − 1220
<TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD>
+ − 1221
<P>
+ − 1222
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
+ − 1223
</P>
+ − 1224
</TD>
+ − 1225
</TR>
+ − 1226
<TR>
+ − 1227
<TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD>
+ − 1228
<P>
+ − 1229
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
+ − 1230
</P>
+ − 1231
</TD>
+ − 1232
</TR>
+ − 1233
</TABLE>
+ − 1234
+ − 1235
<A name="GenerateUserEventHandlerFunction"></A>
+ − 1236
<H2>GenerateUserEventHandlerFunction</H2>
+ − 1237
<P>
+ − 1238
<P> Define a user handler declaration and function. </P>
+ − 1239
<P> Provides a default header comment and body comment. </P>
+ − 1240
<P> This is NOT conditional, so include it in a <templateGroup ifEvents="..." /> </P>
+ − 1241
</P>
+ − 1242
<H3>Arguments</H3>
+ − 1243
<TABLE border="1" cellpadding="3">
+ − 1244
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 1245
<TR>
+ − 1246
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 1247
<P>
+ − 1248
<P>the id for the event handler function</P>
+ − 1249
</P>
+ − 1250
</TD>
+ − 1251
</TR>
+ − 1252
<TR>
+ − 1253
<TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD>
+ − 1254
<P>
+ − 1255
<P>the id for the event handler function</P>
+ − 1256
</P>
+ − 1257
</TD>
+ − 1258
</TR>
+ − 1259
<TR>
+ − 1260
<TD>FunctionName</TD><TD>no</TD><TD>${event.handlerName}</TD><TD>
+ − 1261
<P>
+ − 1262
<P>the name of the function/method for the handler; generally the default should be used (the name specified in the Events view)</P>
+ − 1263
</P>
+ − 1264
</TD>
+ − 1265
</TR>
+ − 1266
<TR>
+ − 1267
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 1268
<P>
+ − 1269
<P>the body of the function, which by default is a TODO comment</P>
+ − 1270
</P>
+ − 1271
</TD>
+ − 1272
</TR>
+ − 1273
<TR>
+ − 1274
<TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD>
+ − 1275
<P>
+ − 1276
<P>the name of the class that receives the handler</P>
+ − 1277
</P>
+ − 1278
</TD>
+ − 1279
</TR>
+ − 1280
<TR>
+ − 1281
<TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD>
+ − 1282
<P>
+ − 1283
<P>the comment for the function</P>
+ − 1284
</P>
+ − 1285
</TD>
+ − 1286
</TR>
+ − 1287
<TR>
+ − 1288
<TD>FunctionName</TD><TD>no</TD><TD>${event.handlerName}</TD><TD>
+ − 1289
<P>
+ − 1290
<P>the name of the function/method for the handler; generally the default should be used (the name specified in the Events view)</P>
+ − 1291
</P>
+ − 1292
</TD>
+ − 1293
</TR>
+ − 1294
<TR>
+ − 1295
<TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD>
+ − 1296
<P>
+ − 1297
<P>the body of the function, which by default is a TODO comment</P>
+ − 1298
</P>
+ − 1299
</TD>
+ − 1300
</TR>
+ − 1301
<TR>
+ − 1302
<TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD>
+ − 1303
<P>
+ − 1304
<P>the name of the class that receives the handler</P>
+ − 1305
</P>
+ − 1306
</TD>
+ − 1307
</TR>
+ − 1308
<TR>
+ − 1309
<TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD>
+ − 1310
<P>
+ − 1311
<P>the comment for the function</P>
+ − 1312
</P>
+ − 1313
</TD>
+ − 1314
</TR>
+ − 1315
</TABLE>
+ − 1316
<P>Inherited from <A href="#GenerateMethod">GenerateMethod</A>:</P>
+ − 1317
<TABLE border="1" cellpadding="3">
+ − 1318
<TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH>
+ − 1319
<TR>
+ − 1320
<TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD>
+ − 1321
<P>
+ − 1322
<P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P>
+ − 1323
</P>
+ − 1324
</TD>
+ − 1325
</TR>
+ − 1326
<TR>
+ − 1327
<TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD>
+ − 1328
<P>
+ − 1329
<P>name of location into which to add the function</P>
+ − 1330
</P>
+ − 1331
</TD>
+ − 1332
</TR>
+ − 1333
<TR>
+ − 1334
<TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD>
+ − 1335
<P>
+ − 1336
<P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P>
+ − 1337
</P>
+ − 1338
</TD>
+ − 1339
</TR>
+ − 1340
<TR>
+ − 1341
<TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD>
+ − 1342
<P>
+ − 1343
<P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P>
+ − 1344
</P>
+ − 1345
</TD>
+ − 1346
</TR>
+ − 1347
<TR>
+ − 1348
<TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD>
+ − 1349
<P>
+ − 1350
<P>return type for function</P>
+ − 1351
</P>
+ − 1352
</TD>
+ − 1353
</TR>
+ − 1354
<TR>
+ − 1355
<TD>IsConst</TD><TD>no</TD><TD>false</TD><TD>
+ − 1356
<P>
+ − 1357
<P>add 'const' modifier to function?</P>
+ − 1358
</P>
+ − 1359
</TD>
+ − 1360
</TR>
+ − 1361
<TR>
+ − 1362
<TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD>
+ − 1363
<P>
+ − 1364
<P>default value to return; overridden if FunctionBody is specified</P>
+ − 1365
</P>
+ − 1366
</TD>
+ − 1367
</TR>
+ − 1368
<TR>
+ − 1369
<TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD>
+ − 1370
<P>
+ − 1371
<P>is the function body owned?</P>
+ − 1372
</P>
+ − 1373
</TD>
+ − 1374
</TR>
+ − 1375
<TR>
+ − 1376
<TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD>
+ − 1377
<P>
+ − 1378
<P>is the function body the user event handler?</P>
+ − 1379
</P>
+ − 1380
</TD>
+ − 1381
</TR>
+ − 1382
<TR>
+ − 1383
<TD>Initializers</TD><TD>no</TD><TD> </TD><TD>
+ − 1384
<P>
+ − 1385
<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>
+ − 1386
</P>
+ − 1387
</TD>
+ − 1388
</TR>
+ − 1389
</TABLE>
+ − 1390
+ − 1391
</P>
+ − 1392
</BODY>
+ − 1393
</HTML>