Показать сообщение отдельно
Старый 14.10.2010, 20:31
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 9  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Теперь target всегда сохраняется при клонировании и его не нужно явно передавать в конструктор MyEvent()

Код AS3:
package {
 
	import flash.events.Event;
 
	/**
	 * ...
	 * @author Vadim BELLinSKY
	 */
 
	public class MyEvent extends Event {
 
		private var _target:Object;
 
		public function MyEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, target:Object = null):void	{
			super(type, bubbles, cancelable);
			this._target = target;
		}
 
		override public function clone():Event {
			return new MyEvent(super.type, super.bubbles, super.cancelable, this.target);
		}
 
		override public function get target():Object {
			return this._target ? this._target : super.target;
		}
	}
}
UPD
Вообще все затевается ради всплывания событий в дереве моделей... я начинаю думать, что это лишнее.
Зачем какой-то модели следить не за непосредственно подопечными, а и за их подопечными.
Ну т.е. если меняется дочерняя модель — событие CHANGE, на которое реагирет изменениями текущая модель, что вызывает тот же CHANGE уже для его родителя.
Поправьте, есличё.
__________________
Поймай яблоко 2!


Последний раз редактировалось Zebestov; 20.03.2011 в 16:34.