Показать сообщение отдельно
Старый 13.02.2008, 21:22
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Попробуй моим
Код:
/**
* Класс ru.inils.framework.Delegate, модифицированный mx.utils.Delegate. Выполнение функции в заданной области видимости с передачей аргументов.
* 
* @author	iNils
* @version	1.2
* @see		mx.utils.Delegate
* Изменения:
* 	1.2 (xx.xx.07)
* 	[*]	Переехал из пакета ru.inils.util.Delegate
* 
*	1.1 (xx.xx.07)
* 	[+]	Добавлена возможность передавать аргументы "родного" метода
* 
* 	1.0 (xx.xx.06)
*/

class ru.inils.framework.Delegate extends Object {
	/**
	* Метод, передает событие в заданную область видимость и в заданный метод.
	* 
	* @usage			public static create (obj:Object, func:Function, arg:Array) : Function
	* @param	obj		Object - Объект, заданная область видимости.
	* @param	func	Function - Метод, обработчик события.
	* @param	arg		Array [дополнительный параметр] - Массив передаваемых аргументов, замещающий аргументы передаваемые "родным" событием. По умолчанию возращаются аргументы переданный при вызове "родного" события.
	* @return  Function	- Функция обработчик.
	*/
	public static function create (obj:Object, func:Function, arg:Array):Function {
		var f = function () {
			var targetTemp:Object = arguments.callee.target;
			var funcTemp:Function = arguments.callee.func;
			var argTemp:Array = null;
			if (arguments.callee.arg) {
				argTemp = arguments.callee.arg;
			} else {
				argTemp = arguments;
			}
			return funcTemp.apply (targetTemp, argTemp);
		};
		f.target = obj;
		f.func = func;
		f.arg = arg;
		return f;
	}
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop