2
delegate void Handle#{DelegateName}(
3
Convert<#{OriginalTypeName1}>::Type #{ValueName1} ,
4
Convert<#{OriginalTypeName2}>::Type #{ValueName2} ,
5
Convert<#{OriginalTypeName3}>::Type #{ValueName3} );
6
event Handle#{DelegateName}^ Event#{DelegateName}
8
void add(Handle#{DelegateName}^ _value)
10
bool empty = mDelegate#{DelegateName} == nullptr;
12
mDelegate#{DelegateName} += _value;
13
MMYGUI_CHECK_NATIVE(mNative);
16
static_cast<ThisType*>(mNative)->event#{DelegateName} +=
17
static_cast< MyGUI::delegates::IDelegate3<
18
#{OriginalTypeName1} ,
19
#{OriginalTypeName2} ,
20
#{OriginalTypeName3} > *>(
21
new Delegate3< Handle#{DelegateName}^ ,
22
#{OriginalTypeName1} ,
23
#{OriginalTypeName2} ,
24
#{OriginalTypeName3} >(mDelegate#{DelegateName}) );
26
void remove(Handle#{DelegateName}^ _value)
28
mDelegate#{DelegateName} -= _value;
29
MMYGUI_CHECK_NATIVE(mNative);
31
bool empty = mDelegate#{DelegateName} == nullptr;
34
static_cast<ThisType*>(mNative)->event#{DelegateName} -=
35
static_cast< MyGUI::delegates::IDelegate3<
36
#{OriginalTypeName1} ,
37
#{OriginalTypeName2} ,
38
#{OriginalTypeName3} > *>(
39
new Delegate3< Handle#{DelegateName}^ ,
40
#{OriginalTypeName1} ,
41
#{OriginalTypeName2} ,
42
#{OriginalTypeName3} >(mDelegate#{DelegateName}) );
46
Handle#{DelegateName}^ mDelegate#{DelegateName};