2
delegate void Handle#{DelegateName}(
3
Convert<#{OriginalTypeName1}>::Type #{ValueName1} ,
4
Convert<#{OriginalTypeName2}>::Type #{ValueName2} ,
5
Convert<#{OriginalTypeName3}>::Type #{ValueName3} ,
6
Convert<#{OriginalTypeName4}>::Type #{ValueName4} );
7
event Handle#{DelegateName}^ Request#{DelegateName}
9
void add(Handle#{DelegateName}^ _value)
11
mDelegate#{DelegateName} += _value;
12
MMYGUI_CHECK_NATIVE(mNative);
13
static_cast<ThisType*>(mNative)->request#{DelegateName} =
14
static_cast< MyGUI::delegates::IDelegate4<
15
#{OriginalTypeName1} ,
16
#{OriginalTypeName2} ,
17
#{OriginalTypeName3} ,
18
#{OriginalTypeName4} > *>(
19
new Delegate4< Handle#{DelegateName}^ ,
20
#{OriginalTypeName1} ,
21
#{OriginalTypeName2} ,
22
#{OriginalTypeName3} ,
23
#{OriginalTypeName4} >(mDelegate#{DelegateName}) );
25
void remove(Handle#{DelegateName}^ _value)
27
mDelegate#{DelegateName} -= _value;
28
MMYGUI_CHECK_NATIVE(mNative);
29
if (mDelegate#{DelegateName} == nullptr)
30
static_cast<ThisType*>(mNative)->request#{DelegateName} = nullptr;
32
static_cast<ThisType*>(mNative)->request#{DelegateName} =
33
static_cast< MyGUI::delegates::IDelegate4<
34
#{OriginalTypeName1} ,
35
#{OriginalTypeName2} ,
36
#{OriginalTypeName3} ,
37
#{OriginalTypeName4} > *>(
38
new Delegate4< Handle#{DelegateName}^ ,
39
#{OriginalTypeName1} ,
40
#{OriginalTypeName2} ,
41
#{OriginalTypeName3} ,
42
#{OriginalTypeName4} >(mDelegate#{DelegateName}) );
46
Handle#{DelegateName}^ mDelegate#{DelegateName};