/* * @author Galaburda Oleg a_[w] * http://actualwave.com/ * */ package aw.events{ import flash.events.Event; public class XMLEvent extends Event{ static public const CHANGED:String = 'changed'; static public const ATTRIBUTE_ADDED:String = 'attributeAdded'; static public const ATTRIBUTE_CHANGED:String = 'attributeChanged'; static public const ATTRIBUTE_REMOVED:String = 'attributeRemoved'; static public const NODE_ADDED:String = 'nodeAdded'; static public const NODE_CHANGED:String = 'nodeChanged'; static public const NODE_REMOVED:String = 'nodeRemoved'; static public const NAMESPACE_ADDED:String = 'namespaceAdded'; static public const NAMESPACE_CHANGED:String = 'namespaceRemoved'; static public const NAMESPACE_REMOVED:String = 'namespaceSet'; static public const TEXT_SET:String = 'textSet'; static public const NAME_SET:String = 'nameSet'; protected var _currentXmlTarget:Object; protected var _xmlTarget:Object; protected var _changeType:String; protected var _value:Object; protected var _detail:Object; public function XMLEvent(changeType:String, currentXmlTarget:Object, xmlTarget:Object, value:Object, detail:Object, type:String='', bubbles:Boolean=false, cancelable:Boolean=false):void{ super(type ? type : changeType, bubbles, cancelable); _changeType = changeType; _currentXmlTarget = currentXmlTarget; _xmlTarget = xmlTarget; _value = value; _detail = detail; } override public function toString():String{ return '[Event type="'+String(this.type)+'" changeType="'+String(this._changeType)+'" bubbles='+String(this.bubbles)+' cancelable='+String(this.cancelable)+' eventPhase='+String(this.eventPhase)+' (Has currentXmlTarget='+(this._currentXmlTarget ? 'yes' : 'no')+') (Has xmlTarget='+(this._xmlTarget ? 'yes' : 'no')+')]'; } override public function clone():Event{ return new XMLEvent(this._changeType, this._currentXmlTarget, this._xmlTarget, this._value, this._detail, this.type, this.bubbles, this.cancelable); } public function convertToSpecifiedForm():Event{ return new XMLEvent(this._changeType, this._currentXmlTarget, this._xmlTarget, this._value, this._detail, this._changeType, this.bubbles, this.cancelable); } public function convertToSharedForm():Event{ return new XMLEvent(this._changeType, this._currentXmlTarget, this._xmlTarget, this._value, this._detail, XMLEvent.CHANGED, this.bubbles, this.cancelable); } public function get currentXmlTarget():Object{ return this._currentXmlTarget; } public function get xmlTarget():Object{ return this._xmlTarget; } public function get changeType():Object{ return this._changeType; } public function get value():Object{ return this._value; } public function get detail():Object{ return this._detail; } } }