1 /*!
2 	@file
3 	@author		Generate utility by Albert Semenov
4 	@date		01/2009
5 	@module
6 */
7 #pragma once
8 
9 #include "MyGUI_Managed_WidgetUserData.h"
10 
11 namespace MyGUI
12 {
13 	namespace Managed
14 	{
15 
16 		public ref class WidgetInput abstract : public WidgetUserData
17 		{
18 
19 		private:
20 			typedef MyGUI::Widget ThisType;
21 
22 		public:
WidgetInput()23 			WidgetInput() : WidgetUserData() { }
24 
25 		internal:
WidgetInput(MyGUI::Widget * _native)26 			WidgetInput( MyGUI::Widget* _native ) : WidgetUserData(_native) { }
27 
28 			//InsertPoint
29 
30 	public:
31 		delegate void HandleToolTip(
32 			Convert<MyGUI::Widget *>::Type _sender ,
33 			Convert<const MyGUI::ToolTipInfo &>::Type _info );
34 		event HandleToolTip^ EventToolTip
35 		{
36 			void add(HandleToolTip^ _value)
37 			{
38 				bool empty = mDelegateToolTip == nullptr;
39 
40 				mDelegateToolTip += _value;
41 				MMYGUI_CHECK_NATIVE(mNative);
42 
43 				if (empty)
44 					static_cast<ThisType*>(mNative)->eventToolTip +=
45 						static_cast< MyGUI::delegates::IDelegate2<
46 							MyGUI::Widget * ,
47 							const MyGUI::ToolTipInfo & > *>(
48 								new Delegate2< HandleToolTip^ ,
49 								MyGUI::Widget * ,
50 								const MyGUI::ToolTipInfo & >(mDelegateToolTip) );
51 			}
52 			void remove(HandleToolTip^ _value)
53 			{
54 				mDelegateToolTip -= _value;
55 				MMYGUI_CHECK_NATIVE(mNative);
56 
57 				bool empty = mDelegateToolTip == nullptr;
58 
59 				if (empty)
60 					static_cast<ThisType*>(mNative)->eventToolTip -=
61 						static_cast< MyGUI::delegates::IDelegate2<
62 							MyGUI::Widget * ,
63 							const MyGUI::ToolTipInfo & > *>(
64 								new Delegate2< HandleToolTip^ ,
65 									MyGUI::Widget * ,
66 									const MyGUI::ToolTipInfo & >(mDelegateToolTip) );
67 			}
68 		}
69 	private:
70 		HandleToolTip^ mDelegateToolTip;
71 	public:
72 		delegate void HandleRootKeyChangeFocus(
73 			Convert<MyGUI::Widget *>::Type _sender ,
74 			Convert<bool>::Type _focus );
75 		event HandleRootKeyChangeFocus^ EventRootKeyChangeFocus
76 		{
77 			void add(HandleRootKeyChangeFocus^ _value)
78 			{
79 				bool empty = mDelegateRootKeyChangeFocus == nullptr;
80 
81 				mDelegateRootKeyChangeFocus += _value;
82 				MMYGUI_CHECK_NATIVE(mNative);
83 
84 				if (empty)
85 					static_cast<ThisType*>(mNative)->eventRootKeyChangeFocus +=
86 						static_cast< MyGUI::delegates::IDelegate2<
87 							MyGUI::Widget * ,
88 							bool > *>(
89 								new Delegate2< HandleRootKeyChangeFocus^ ,
90 								MyGUI::Widget * ,
91 								bool >(mDelegateRootKeyChangeFocus) );
92 			}
93 			void remove(HandleRootKeyChangeFocus^ _value)
94 			{
95 				mDelegateRootKeyChangeFocus -= _value;
96 				MMYGUI_CHECK_NATIVE(mNative);
97 
98 				bool empty = mDelegateRootKeyChangeFocus == nullptr;
99 
100 				if (empty)
101 					static_cast<ThisType*>(mNative)->eventRootKeyChangeFocus -=
102 						static_cast< MyGUI::delegates::IDelegate2<
103 							MyGUI::Widget * ,
104 							bool > *>(
105 								new Delegate2< HandleRootKeyChangeFocus^ ,
106 									MyGUI::Widget * ,
107 									bool >(mDelegateRootKeyChangeFocus) );
108 			}
109 		}
110 	private:
111 		HandleRootKeyChangeFocus^ mDelegateRootKeyChangeFocus;
112 	public:
113 		delegate void HandleRootMouseChangeFocus(
114 			Convert<MyGUI::Widget *>::Type _sender ,
115 			Convert<bool>::Type _focus );
116 		event HandleRootMouseChangeFocus^ EventRootMouseChangeFocus
117 		{
118 			void add(HandleRootMouseChangeFocus^ _value)
119 			{
120 				bool empty = mDelegateRootMouseChangeFocus == nullptr;
121 
122 				mDelegateRootMouseChangeFocus += _value;
123 				MMYGUI_CHECK_NATIVE(mNative);
124 
125 				if (empty)
126 					static_cast<ThisType*>(mNative)->eventRootMouseChangeFocus +=
127 						static_cast< MyGUI::delegates::IDelegate2<
128 							MyGUI::Widget * ,
129 							bool > *>(
130 								new Delegate2< HandleRootMouseChangeFocus^ ,
131 								MyGUI::Widget * ,
132 								bool >(mDelegateRootMouseChangeFocus) );
133 			}
134 			void remove(HandleRootMouseChangeFocus^ _value)
135 			{
136 				mDelegateRootMouseChangeFocus -= _value;
137 				MMYGUI_CHECK_NATIVE(mNative);
138 
139 				bool empty = mDelegateRootMouseChangeFocus == nullptr;
140 
141 				if (empty)
142 					static_cast<ThisType*>(mNative)->eventRootMouseChangeFocus -=
143 						static_cast< MyGUI::delegates::IDelegate2<
144 							MyGUI::Widget * ,
145 							bool > *>(
146 								new Delegate2< HandleRootMouseChangeFocus^ ,
147 									MyGUI::Widget * ,
148 									bool >(mDelegateRootMouseChangeFocus) );
149 			}
150 		}
151 	private:
152 		HandleRootMouseChangeFocus^ mDelegateRootMouseChangeFocus;
153 	public:
154 		delegate void HandleKeyButtonReleased(
155 			Convert<MyGUI::Widget *>::Type _sender ,
156 			Convert<MyGUI::KeyCode>::Type _key );
157 		event HandleKeyButtonReleased^ EventKeyButtonReleased
158 		{
159 			void add(HandleKeyButtonReleased^ _value)
160 			{
161 				bool empty = mDelegateKeyButtonReleased == nullptr;
162 
163 				mDelegateKeyButtonReleased += _value;
164 				MMYGUI_CHECK_NATIVE(mNative);
165 
166 				if (empty)
167 					static_cast<ThisType*>(mNative)->eventKeyButtonReleased +=
168 						static_cast< MyGUI::delegates::IDelegate2<
169 							MyGUI::Widget * ,
170 							MyGUI::KeyCode > *>(
171 								new Delegate2< HandleKeyButtonReleased^ ,
172 								MyGUI::Widget * ,
173 								MyGUI::KeyCode >(mDelegateKeyButtonReleased) );
174 			}
175 			void remove(HandleKeyButtonReleased^ _value)
176 			{
177 				mDelegateKeyButtonReleased -= _value;
178 				MMYGUI_CHECK_NATIVE(mNative);
179 
180 				bool empty = mDelegateKeyButtonReleased == nullptr;
181 
182 				if (empty)
183 					static_cast<ThisType*>(mNative)->eventKeyButtonReleased -=
184 						static_cast< MyGUI::delegates::IDelegate2<
185 							MyGUI::Widget * ,
186 							MyGUI::KeyCode > *>(
187 								new Delegate2< HandleKeyButtonReleased^ ,
188 									MyGUI::Widget * ,
189 									MyGUI::KeyCode >(mDelegateKeyButtonReleased) );
190 			}
191 		}
192 	private:
193 		HandleKeyButtonReleased^ mDelegateKeyButtonReleased;
194 	public:
195 		delegate void HandleKeyButtonPressed(
196 			Convert<MyGUI::Widget *>::Type _sender ,
197 			Convert<MyGUI::KeyCode>::Type _key ,
198 			Convert<unsigned int>::Type _char );
199 		event HandleKeyButtonPressed^ EventKeyButtonPressed
200 		{
201 			void add(HandleKeyButtonPressed^ _value)
202 			{
203 				bool empty = mDelegateKeyButtonPressed == nullptr;
204 
205 				mDelegateKeyButtonPressed += _value;
206 				MMYGUI_CHECK_NATIVE(mNative);
207 
208 				if (empty)
209 					static_cast<ThisType*>(mNative)->eventKeyButtonPressed +=
210 						static_cast< MyGUI::delegates::IDelegate3<
211 							MyGUI::Widget * ,
212 							MyGUI::KeyCode ,
213 							unsigned int > *>(
214 								new Delegate3< HandleKeyButtonPressed^ ,
215 								MyGUI::Widget * ,
216 								MyGUI::KeyCode ,
217 								unsigned int >(mDelegateKeyButtonPressed) );
218 			}
219 			void remove(HandleKeyButtonPressed^ _value)
220 			{
221 				mDelegateKeyButtonPressed -= _value;
222 				MMYGUI_CHECK_NATIVE(mNative);
223 
224 				bool empty = mDelegateKeyButtonPressed == nullptr;
225 
226 				if (empty)
227 					static_cast<ThisType*>(mNative)->eventKeyButtonPressed -=
228 						static_cast< MyGUI::delegates::IDelegate3<
229 							MyGUI::Widget * ,
230 							MyGUI::KeyCode ,
231 							unsigned int > *>(
232 								new Delegate3< HandleKeyButtonPressed^ ,
233 									MyGUI::Widget * ,
234 									MyGUI::KeyCode ,
235 									unsigned int >(mDelegateKeyButtonPressed) );
236 			}
237 		}
238 	private:
239 		HandleKeyButtonPressed^ mDelegateKeyButtonPressed;
240 	public:
241 		delegate void HandleKeySetFocus(
242 			Convert<MyGUI::Widget *>::Type _sender ,
243 			Convert<MyGUI::Widget *>::Type _old );
244 		event HandleKeySetFocus^ EventKeySetFocus
245 		{
246 			void add(HandleKeySetFocus^ _value)
247 			{
248 				bool empty = mDelegateKeySetFocus == nullptr;
249 
250 				mDelegateKeySetFocus += _value;
251 				MMYGUI_CHECK_NATIVE(mNative);
252 
253 				if (empty)
254 					static_cast<ThisType*>(mNative)->eventKeySetFocus +=
255 						static_cast< MyGUI::delegates::IDelegate2<
256 							MyGUI::Widget * ,
257 							MyGUI::Widget * > *>(
258 								new Delegate2< HandleKeySetFocus^ ,
259 								MyGUI::Widget * ,
260 								MyGUI::Widget * >(mDelegateKeySetFocus) );
261 			}
262 			void remove(HandleKeySetFocus^ _value)
263 			{
264 				mDelegateKeySetFocus -= _value;
265 				MMYGUI_CHECK_NATIVE(mNative);
266 
267 				bool empty = mDelegateKeySetFocus == nullptr;
268 
269 				if (empty)
270 					static_cast<ThisType*>(mNative)->eventKeySetFocus -=
271 						static_cast< MyGUI::delegates::IDelegate2<
272 							MyGUI::Widget * ,
273 							MyGUI::Widget * > *>(
274 								new Delegate2< HandleKeySetFocus^ ,
275 									MyGUI::Widget * ,
276 									MyGUI::Widget * >(mDelegateKeySetFocus) );
277 			}
278 		}
279 	private:
280 		HandleKeySetFocus^ mDelegateKeySetFocus;
281 	public:
282 		delegate void HandleKeyLostFocus(
283 			Convert<MyGUI::Widget *>::Type _sender ,
284 			Convert<MyGUI::Widget *>::Type _new );
285 		event HandleKeyLostFocus^ EventKeyLostFocus
286 		{
287 			void add(HandleKeyLostFocus^ _value)
288 			{
289 				bool empty = mDelegateKeyLostFocus == nullptr;
290 
291 				mDelegateKeyLostFocus += _value;
292 				MMYGUI_CHECK_NATIVE(mNative);
293 
294 				if (empty)
295 					static_cast<ThisType*>(mNative)->eventKeyLostFocus +=
296 						static_cast< MyGUI::delegates::IDelegate2<
297 							MyGUI::Widget * ,
298 							MyGUI::Widget * > *>(
299 								new Delegate2< HandleKeyLostFocus^ ,
300 								MyGUI::Widget * ,
301 								MyGUI::Widget * >(mDelegateKeyLostFocus) );
302 			}
303 			void remove(HandleKeyLostFocus^ _value)
304 			{
305 				mDelegateKeyLostFocus -= _value;
306 				MMYGUI_CHECK_NATIVE(mNative);
307 
308 				bool empty = mDelegateKeyLostFocus == nullptr;
309 
310 				if (empty)
311 					static_cast<ThisType*>(mNative)->eventKeyLostFocus -=
312 						static_cast< MyGUI::delegates::IDelegate2<
313 							MyGUI::Widget * ,
314 							MyGUI::Widget * > *>(
315 								new Delegate2< HandleKeyLostFocus^ ,
316 									MyGUI::Widget * ,
317 									MyGUI::Widget * >(mDelegateKeyLostFocus) );
318 			}
319 		}
320 	private:
321 		HandleKeyLostFocus^ mDelegateKeyLostFocus;
322 	public:
323 		delegate void HandleMouseButtonDoubleClick(
324 			Convert<MyGUI::Widget *>::Type _sender );
325 		event HandleMouseButtonDoubleClick^ EventMouseButtonDoubleClick
326 		{
327 			void add(HandleMouseButtonDoubleClick^ _value)
328 			{
329 				bool empty = mDelegateMouseButtonDoubleClick == nullptr;
330 
331 				mDelegateMouseButtonDoubleClick += _value;
332 				MMYGUI_CHECK_NATIVE(mNative);
333 
334 				if (empty)
335 					static_cast<ThisType*>(mNative)->eventMouseButtonDoubleClick +=
336 						static_cast< MyGUI::delegates::IDelegate1<
337 							MyGUI::Widget * > *>(
338 								new Delegate1< HandleMouseButtonDoubleClick^ ,
339 								MyGUI::Widget * >(mDelegateMouseButtonDoubleClick) );
340 			}
341 			void remove(HandleMouseButtonDoubleClick^ _value)
342 			{
343 				mDelegateMouseButtonDoubleClick -= _value;
344 				MMYGUI_CHECK_NATIVE(mNative);
345 
346 				bool empty = mDelegateMouseButtonDoubleClick == nullptr;
347 
348 				if (empty)
349 					static_cast<ThisType*>(mNative)->eventMouseButtonDoubleClick -=
350 						static_cast< MyGUI::delegates::IDelegate1<
351 							MyGUI::Widget * > *>(
352 								new Delegate1< HandleMouseButtonDoubleClick^ ,
353 									MyGUI::Widget * >(mDelegateMouseButtonDoubleClick) );
354 			}
355 		}
356 	private:
357 		HandleMouseButtonDoubleClick^ mDelegateMouseButtonDoubleClick;
358 	public:
359 		delegate void HandleMouseButtonClick(
360 			Convert<MyGUI::Widget *>::Type _sender );
361 		event HandleMouseButtonClick^ EventMouseButtonClick
362 		{
363 			void add(HandleMouseButtonClick^ _value)
364 			{
365 				bool empty = mDelegateMouseButtonClick == nullptr;
366 
367 				mDelegateMouseButtonClick += _value;
368 				MMYGUI_CHECK_NATIVE(mNative);
369 
370 				if (empty)
371 					static_cast<ThisType*>(mNative)->eventMouseButtonClick +=
372 						static_cast< MyGUI::delegates::IDelegate1<
373 							MyGUI::Widget * > *>(
374 								new Delegate1< HandleMouseButtonClick^ ,
375 								MyGUI::Widget * >(mDelegateMouseButtonClick) );
376 			}
377 			void remove(HandleMouseButtonClick^ _value)
378 			{
379 				mDelegateMouseButtonClick -= _value;
380 				MMYGUI_CHECK_NATIVE(mNative);
381 
382 				bool empty = mDelegateMouseButtonClick == nullptr;
383 
384 				if (empty)
385 					static_cast<ThisType*>(mNative)->eventMouseButtonClick -=
386 						static_cast< MyGUI::delegates::IDelegate1<
387 							MyGUI::Widget * > *>(
388 								new Delegate1< HandleMouseButtonClick^ ,
389 									MyGUI::Widget * >(mDelegateMouseButtonClick) );
390 			}
391 		}
392 	private:
393 		HandleMouseButtonClick^ mDelegateMouseButtonClick;
394 	public:
395 		delegate void HandleMouseButtonReleased(
396 			Convert<MyGUI::Widget *>::Type _sender ,
397 			Convert<int>::Type _left ,
398 			Convert<int>::Type _top ,
399 			Convert<MyGUI::MouseButton>::Type _id );
400 		event HandleMouseButtonReleased^ EventMouseButtonReleased
401 		{
402 			void add(HandleMouseButtonReleased^ _value)
403 			{
404 				bool empty = mDelegateMouseButtonReleased == nullptr;
405 
406 				mDelegateMouseButtonReleased += _value;
407 				MMYGUI_CHECK_NATIVE(mNative);
408 
409 				if (empty)
410 					static_cast<ThisType*>(mNative)->eventMouseButtonReleased +=
411 						static_cast< MyGUI::delegates::IDelegate4<
412 							MyGUI::Widget * ,
413 							int ,
414 							int ,
415 							MyGUI::MouseButton > *>(
416 								new Delegate4< HandleMouseButtonReleased^ ,
417 								MyGUI::Widget * ,
418 								int ,
419 								int ,
420 								MyGUI::MouseButton >(mDelegateMouseButtonReleased) );
421 			}
422 			void remove(HandleMouseButtonReleased^ _value)
423 			{
424 				mDelegateMouseButtonReleased -= _value;
425 				MMYGUI_CHECK_NATIVE(mNative);
426 
427 				bool empty = mDelegateMouseButtonReleased == nullptr;
428 
429 				if (empty)
430 					static_cast<ThisType*>(mNative)->eventMouseButtonReleased -=
431 						static_cast< MyGUI::delegates::IDelegate4<
432 							MyGUI::Widget * ,
433 							int ,
434 							int ,
435 							MyGUI::MouseButton > *>(
436 								new Delegate4< HandleMouseButtonReleased^ ,
437 									MyGUI::Widget * ,
438 									int ,
439 									int ,
440 									MyGUI::MouseButton >(mDelegateMouseButtonReleased) );
441 			}
442 		}
443 	private:
444 		HandleMouseButtonReleased^ mDelegateMouseButtonReleased;
445 	public:
446 		delegate void HandleMouseButtonPressed(
447 			Convert<MyGUI::Widget *>::Type _sender ,
448 			Convert<int>::Type _left ,
449 			Convert<int>::Type _top ,
450 			Convert<MyGUI::MouseButton>::Type _id );
451 		event HandleMouseButtonPressed^ EventMouseButtonPressed
452 		{
453 			void add(HandleMouseButtonPressed^ _value)
454 			{
455 				bool empty = mDelegateMouseButtonPressed == nullptr;
456 
457 				mDelegateMouseButtonPressed += _value;
458 				MMYGUI_CHECK_NATIVE(mNative);
459 
460 				if (empty)
461 					static_cast<ThisType*>(mNative)->eventMouseButtonPressed +=
462 						static_cast< MyGUI::delegates::IDelegate4<
463 							MyGUI::Widget * ,
464 							int ,
465 							int ,
466 							MyGUI::MouseButton > *>(
467 								new Delegate4< HandleMouseButtonPressed^ ,
468 								MyGUI::Widget * ,
469 								int ,
470 								int ,
471 								MyGUI::MouseButton >(mDelegateMouseButtonPressed) );
472 			}
473 			void remove(HandleMouseButtonPressed^ _value)
474 			{
475 				mDelegateMouseButtonPressed -= _value;
476 				MMYGUI_CHECK_NATIVE(mNative);
477 
478 				bool empty = mDelegateMouseButtonPressed == nullptr;
479 
480 				if (empty)
481 					static_cast<ThisType*>(mNative)->eventMouseButtonPressed -=
482 						static_cast< MyGUI::delegates::IDelegate4<
483 							MyGUI::Widget * ,
484 							int ,
485 							int ,
486 							MyGUI::MouseButton > *>(
487 								new Delegate4< HandleMouseButtonPressed^ ,
488 									MyGUI::Widget * ,
489 									int ,
490 									int ,
491 									MyGUI::MouseButton >(mDelegateMouseButtonPressed) );
492 			}
493 		}
494 	private:
495 		HandleMouseButtonPressed^ mDelegateMouseButtonPressed;
496 	public:
497 		delegate void HandleMouseWheel(
498 			Convert<MyGUI::Widget *>::Type _sender ,
499 			Convert<int>::Type _rel );
500 		event HandleMouseWheel^ EventMouseWheel
501 		{
502 			void add(HandleMouseWheel^ _value)
503 			{
504 				bool empty = mDelegateMouseWheel == nullptr;
505 
506 				mDelegateMouseWheel += _value;
507 				MMYGUI_CHECK_NATIVE(mNative);
508 
509 				if (empty)
510 					static_cast<ThisType*>(mNative)->eventMouseWheel +=
511 						static_cast< MyGUI::delegates::IDelegate2<
512 							MyGUI::Widget * ,
513 							int > *>(
514 								new Delegate2< HandleMouseWheel^ ,
515 								MyGUI::Widget * ,
516 								int >(mDelegateMouseWheel) );
517 			}
518 			void remove(HandleMouseWheel^ _value)
519 			{
520 				mDelegateMouseWheel -= _value;
521 				MMYGUI_CHECK_NATIVE(mNative);
522 
523 				bool empty = mDelegateMouseWheel == nullptr;
524 
525 				if (empty)
526 					static_cast<ThisType*>(mNative)->eventMouseWheel -=
527 						static_cast< MyGUI::delegates::IDelegate2<
528 							MyGUI::Widget * ,
529 							int > *>(
530 								new Delegate2< HandleMouseWheel^ ,
531 									MyGUI::Widget * ,
532 									int >(mDelegateMouseWheel) );
533 			}
534 		}
535 	private:
536 		HandleMouseWheel^ mDelegateMouseWheel;
537 	public:
538 		delegate void HandleMouseMove(
539 			Convert<MyGUI::Widget *>::Type _sender ,
540 			Convert<int>::Type _left ,
541 			Convert<int>::Type _top );
542 		event HandleMouseMove^ EventMouseMove
543 		{
544 			void add(HandleMouseMove^ _value)
545 			{
546 				bool empty = mDelegateMouseMove == nullptr;
547 
548 				mDelegateMouseMove += _value;
549 				MMYGUI_CHECK_NATIVE(mNative);
550 
551 				if (empty)
552 					static_cast<ThisType*>(mNative)->eventMouseMove +=
553 						static_cast< MyGUI::delegates::IDelegate3<
554 							MyGUI::Widget * ,
555 							int ,
556 							int > *>(
557 								new Delegate3< HandleMouseMove^ ,
558 								MyGUI::Widget * ,
559 								int ,
560 								int >(mDelegateMouseMove) );
561 			}
562 			void remove(HandleMouseMove^ _value)
563 			{
564 				mDelegateMouseMove -= _value;
565 				MMYGUI_CHECK_NATIVE(mNative);
566 
567 				bool empty = mDelegateMouseMove == nullptr;
568 
569 				if (empty)
570 					static_cast<ThisType*>(mNative)->eventMouseMove -=
571 						static_cast< MyGUI::delegates::IDelegate3<
572 							MyGUI::Widget * ,
573 							int ,
574 							int > *>(
575 								new Delegate3< HandleMouseMove^ ,
576 									MyGUI::Widget * ,
577 									int ,
578 									int >(mDelegateMouseMove) );
579 			}
580 		}
581 	private:
582 		HandleMouseMove^ mDelegateMouseMove;
583 	public:
584 		delegate void HandleMouseDrag(
585 			Convert<MyGUI::Widget *>::Type _sender ,
586 			Convert<int>::Type _left ,
587 			Convert<int>::Type _top ,
588 			Convert<MyGUI::MouseButton>::Type _value4 );
589 		event HandleMouseDrag^ EventMouseDrag
590 		{
591 			void add(HandleMouseDrag^ _value)
592 			{
593 				bool empty = mDelegateMouseDrag == nullptr;
594 
595 				mDelegateMouseDrag += _value;
596 				MMYGUI_CHECK_NATIVE(mNative);
597 
598 				if (empty)
599 					static_cast<ThisType*>(mNative)->eventMouseDrag +=
600 						static_cast< MyGUI::delegates::IDelegate4<
601 							MyGUI::Widget * ,
602 							int ,
603 							int ,
604 							MyGUI::MouseButton > *>(
605 								new Delegate4< HandleMouseDrag^ ,
606 								MyGUI::Widget * ,
607 								int ,
608 								int ,
609 								MyGUI::MouseButton >(mDelegateMouseDrag) );
610 			}
611 			void remove(HandleMouseDrag^ _value)
612 			{
613 				mDelegateMouseDrag -= _value;
614 				MMYGUI_CHECK_NATIVE(mNative);
615 
616 				bool empty = mDelegateMouseDrag == nullptr;
617 
618 				if (empty)
619 					static_cast<ThisType*>(mNative)->eventMouseDrag -=
620 						static_cast< MyGUI::delegates::IDelegate4<
621 							MyGUI::Widget * ,
622 							int ,
623 							int ,
624 							MyGUI::MouseButton > *>(
625 								new Delegate4< HandleMouseDrag^ ,
626 									MyGUI::Widget * ,
627 									int ,
628 									int ,
629 									MyGUI::MouseButton >(mDelegateMouseDrag) );
630 			}
631 		}
632 	private:
633 		HandleMouseDrag^ mDelegateMouseDrag;
634 	public:
635 		delegate void HandleMouseSetFocus(
636 			Convert<MyGUI::Widget *>::Type _sender ,
637 			Convert<MyGUI::Widget *>::Type _old );
638 		event HandleMouseSetFocus^ EventMouseSetFocus
639 		{
640 			void add(HandleMouseSetFocus^ _value)
641 			{
642 				bool empty = mDelegateMouseSetFocus == nullptr;
643 
644 				mDelegateMouseSetFocus += _value;
645 				MMYGUI_CHECK_NATIVE(mNative);
646 
647 				if (empty)
648 					static_cast<ThisType*>(mNative)->eventMouseSetFocus +=
649 						static_cast< MyGUI::delegates::IDelegate2<
650 							MyGUI::Widget * ,
651 							MyGUI::Widget * > *>(
652 								new Delegate2< HandleMouseSetFocus^ ,
653 								MyGUI::Widget * ,
654 								MyGUI::Widget * >(mDelegateMouseSetFocus) );
655 			}
656 			void remove(HandleMouseSetFocus^ _value)
657 			{
658 				mDelegateMouseSetFocus -= _value;
659 				MMYGUI_CHECK_NATIVE(mNative);
660 
661 				bool empty = mDelegateMouseSetFocus == nullptr;
662 
663 				if (empty)
664 					static_cast<ThisType*>(mNative)->eventMouseSetFocus -=
665 						static_cast< MyGUI::delegates::IDelegate2<
666 							MyGUI::Widget * ,
667 							MyGUI::Widget * > *>(
668 								new Delegate2< HandleMouseSetFocus^ ,
669 									MyGUI::Widget * ,
670 									MyGUI::Widget * >(mDelegateMouseSetFocus) );
671 			}
672 		}
673 	private:
674 		HandleMouseSetFocus^ mDelegateMouseSetFocus;
675 	public:
676 		delegate void HandleMouseLostFocus(
677 			Convert<MyGUI::Widget *>::Type _sender ,
678 			Convert<MyGUI::Widget *>::Type _new );
679 		event HandleMouseLostFocus^ EventMouseLostFocus
680 		{
681 			void add(HandleMouseLostFocus^ _value)
682 			{
683 				bool empty = mDelegateMouseLostFocus == nullptr;
684 
685 				mDelegateMouseLostFocus += _value;
686 				MMYGUI_CHECK_NATIVE(mNative);
687 
688 				if (empty)
689 					static_cast<ThisType*>(mNative)->eventMouseLostFocus +=
690 						static_cast< MyGUI::delegates::IDelegate2<
691 							MyGUI::Widget * ,
692 							MyGUI::Widget * > *>(
693 								new Delegate2< HandleMouseLostFocus^ ,
694 								MyGUI::Widget * ,
695 								MyGUI::Widget * >(mDelegateMouseLostFocus) );
696 			}
697 			void remove(HandleMouseLostFocus^ _value)
698 			{
699 				mDelegateMouseLostFocus -= _value;
700 				MMYGUI_CHECK_NATIVE(mNative);
701 
702 				bool empty = mDelegateMouseLostFocus == nullptr;
703 
704 				if (empty)
705 					static_cast<ThisType*>(mNative)->eventMouseLostFocus -=
706 						static_cast< MyGUI::delegates::IDelegate2<
707 							MyGUI::Widget * ,
708 							MyGUI::Widget * > *>(
709 								new Delegate2< HandleMouseLostFocus^ ,
710 									MyGUI::Widget * ,
711 									MyGUI::Widget * >(mDelegateMouseLostFocus) );
712 			}
713 		}
714 	private:
715 		HandleMouseLostFocus^ mDelegateMouseLostFocus;
716 	public:
IsMaskPickInside(Convert<const MyGUI::types::TPoint<int> &>::Type _point,Convert<const MyGUI::types::TCoord<int> &>::Type _coord)717 		Convert<bool>::Type IsMaskPickInside(
718 			Convert<const MyGUI::types::TPoint < int > &>::Type _point ,
719 			Convert<const MyGUI::types::TCoord < int > &>::Type _coord )
720 		{
721 			MMYGUI_CHECK_NATIVE(mNative);
722 			return Convert<bool>::To(
723 				static_cast<ThisType*>(mNative)->isMaskPickInside(
724 					Convert<const MyGUI::types::TPoint < int > &>::From(_point) ,
725 					Convert<const MyGUI::types::TCoord < int > &>::From(_coord) ) );
726 		}
727 	public:
728 		property Convert<bool>::Type RootKeyFocus
729 		{
get()730 			Convert<bool>::Type get( )
731 			{
732 				MMYGUI_CHECK_NATIVE(mNative);
733 				return Convert<bool>::To( static_cast<ThisType*>(mNative)->getRootKeyFocus() );
734 			}
735 		}
736 
737 	public:
738 		property Convert<bool>::Type RootMouseFocus
739 		{
get()740 			Convert<bool>::Type get( )
741 			{
742 				MMYGUI_CHECK_NATIVE(mNative);
743 				return Convert<bool>::To( static_cast<ThisType*>(mNative)->getRootMouseFocus() );
744 			}
745 		}
746 
747 	public:
748 		property Convert<bool>::Type InheritsPick
749 		{
get()750 			Convert<bool>::Type get( )
751 			{
752 				MMYGUI_CHECK_NATIVE(mNative);
753 				return Convert<bool>::To( static_cast<ThisType*>(mNative)->getInheritsPick() );
754 			}
set(Convert<bool>::Type _value)755 			void set(Convert<bool>::Type _value)
756 			{
757 				MMYGUI_CHECK_NATIVE(mNative);
758 				static_cast<ThisType*>(mNative)->setInheritsPick( Convert<bool>::From(_value) );
759 			}
760 		}
761 
762 	public:
763 		property Convert<bool>::Type NeedMouseFocus
764 		{
get()765 			Convert<bool>::Type get( )
766 			{
767 				MMYGUI_CHECK_NATIVE(mNative);
768 				return Convert<bool>::To( static_cast<ThisType*>(mNative)->getNeedMouseFocus() );
769 			}
set(Convert<bool>::Type _value)770 			void set(Convert<bool>::Type _value)
771 			{
772 				MMYGUI_CHECK_NATIVE(mNative);
773 				static_cast<ThisType*>(mNative)->setNeedMouseFocus( Convert<bool>::From(_value) );
774 			}
775 		}
776 
777 	public:
778 		property Convert<bool>::Type NeedKeyFocus
779 		{
get()780 			Convert<bool>::Type get( )
781 			{
782 				MMYGUI_CHECK_NATIVE(mNative);
783 				return Convert<bool>::To( static_cast<ThisType*>(mNative)->getNeedKeyFocus() );
784 			}
set(Convert<bool>::Type _value)785 			void set(Convert<bool>::Type _value)
786 			{
787 				MMYGUI_CHECK_NATIVE(mNative);
788 				static_cast<ThisType*>(mNative)->setNeedKeyFocus( Convert<bool>::From(_value) );
789 			}
790 		}
791 
792 	public:
793 		property Convert<const std::string &>::Type Pointer
794 		{
get()795 			Convert<const std::string &>::Type get( )
796 			{
797 				MMYGUI_CHECK_NATIVE(mNative);
798 				return Convert<const std::string &>::To( static_cast<ThisType*>(mNative)->getPointer() );
799 			}
set(Convert<const std::string &>::Type _value)800 			void set(Convert<const std::string &>::Type _value)
801 			{
802 				MMYGUI_CHECK_NATIVE(mNative);
803 				static_cast<ThisType*>(mNative)->setPointer( Convert<const std::string &>::From(_value) );
804 			}
805 		}
806 
807 	public:
808 		property Convert<bool>::Type NeedToolTip
809 		{
get()810 			Convert<bool>::Type get( )
811 			{
812 				MMYGUI_CHECK_NATIVE(mNative);
813 				return Convert<bool>::To( static_cast<ThisType*>(mNative)->getNeedToolTip() );
814 			}
set(Convert<bool>::Type _value)815 			void set(Convert<bool>::Type _value)
816 			{
817 				MMYGUI_CHECK_NATIVE(mNative);
818 				static_cast<ThisType*>(mNative)->setNeedToolTip( Convert<bool>::From(_value) );
819 			}
820 		}
821 
822 		};
823 
824 	} // namespace Managed
825 } // namespace MyGUI
826