STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228117
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/46244969?noj=FRM46244969-11DC" width="1" height="1"></div>

NG-Radio.swf

This is the info page for
Flash #65946

(Click the ID number above for more basic data on this flash file.)


ActionScript [AS3]
Section 1
//Visualization (Components.FX.Visualization) package Components.FX { import flash.display.*; import flash.geom.*; import flash.media.*; import mx.core.*; import flash.events.*; import flash.utils.*; import flash.filters.*; public class Visualization extends UIComponent { private var _channel:String;// = "mono" private var _audioFillColor:uint;// = 0 private var _bitmap:Bitmap; private var _rc:Number;// = 0 private var _type:String;// = "wave" private var _rp:Number;// = 0 private var _bars:uint;// = 64 private var _audioLineColor:uint;// = 0 public var bitmapData:BitmapData; private var _spectrumData:ByteArray; public function Visualization(){ bitmapData = new BitmapData(1, 1, true, 0); _bitmap = new Bitmap(bitmapData); _spectrumData = new ByteArray(); super(); this.addEventListener(Event.ENTER_FRAME, enterFrameListener); } public function get bars():uint{ return (_bars); } public function get type():String{ return (_type); } public function stop():void{ if (!hasEventListener("render")){ bitmapData.fillRect(bitmapData.rect, 0); }; removeEventListener(Event.ENTER_FRAME, enterFrameListener); } public function get channel():String{ return (_channel); } private function toMono():void{ var _local1:ByteArray; var _local2:ByteArray; var _local3:uint; _spectrumData.position = 0; if (_spectrumData.length == 0x0800){ _local1 = new ByteArray(); _local2 = new ByteArray(); _spectrumData.readBytes(_local1, 0, 0x0400); _spectrumData.readBytes(_local2, 0, 0x0400); _spectrumData = new ByteArray(); _local3 = 0; while (_local3 < 0x0100) { _spectrumData.writeFloat(((_local1.readFloat() + _local2.readFloat()) / 2)); _local3++; }; _spectrumData.position = 0; }; } public function set channel(_arg1:String):void{ if ((((((((_arg1 == "mono")) || ((_arg1 == "left")))) || ((_arg1 == "right")))) || ((_arg1 == "stereo")))){ _channel = _arg1; }; } public function set bars(_arg1:uint):void{ _bars = _arg1; } private function enterFrameListener(_arg1:Event):void{ var _local3:int; var _local4:int; var _local2:Rectangle = bitmapData.rect; SoundMixer.computeSpectrum(_spectrumData, (type == "bars"), 0); dispatchEvent(new Event("render", true)); if (!hasEventListener("render")){ bitmapData.fillRect(_local2, 0); }; switch (_channel){ case "mono": toMono(); case "left": if ((((_type == "line")) || ((_type == "wave")))){ drawWave(1); }; if (_type == "wave"){ _spectrumData.position = 0; drawWave(-1); }; if (_type == "bars"){ drawEQ(); }; break; case "right": _local3 = 0; while (_local3 < 0x0100) { _spectrumData.readFloat(); _local3++; }; if ((((_type == "line")) || ((_type == "wave")))){ drawWave(1); }; if (_type == "wave"){ _spectrumData.position = 0; _local4 = 0; while (_local4 < 0x0100) { _spectrumData.readFloat(); _local4++; }; drawWave(-1); }; if (_type == "bars"){ drawEQ(); }; break; case "stereo": if ((((_type == "line")) || ((_type == "wave")))){ drawWave(1); drawWave(1); }; if (_type == "wave"){ _spectrumData.position = 0; drawWave(-1); drawWave(-1); }; if (_type == "bars"){ drawEQ(); drawEQ(); }; break; }; bitmapData.applyFilter(bitmapData, _local2, new Point(0, 0), new BlurFilter((bitmapData.width / 0x0100), (bitmapData.width / 0x0100), 1)); dispatchEvent(new Event("rendered", true)); } override protected function createChildren():void{ addChild(_bitmap); } public function start():void{ addEventListener(Event.ENTER_FRAME, enterFrameListener); } private function drawWave(_arg1:Number=1):void{ var _local2:Number; var _local5:Number; var _local3:Number = _rc; var _local4:uint; while (_local4 < 0x0100) { _local5 = _spectrumData.readFloat(); _local2 = (_rc + (((_local5 * _rc) * _arg1) * -1)); if (type == "wave"){ bitmapData.fillRect(new Rectangle((_local4 * _rp), Math.min(_local2, _rc), _rp, Math.abs((_rc - _local2))), (4278190080 | _audioFillColor)); }; bitmapData.fillRect(new Rectangle((_local4 * _rp), _local2, _rp, (1 + Math.abs((_local3 - _local2)))), (4278190080 | _audioLineColor)); _local3 = _local2; _local4++; }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:uint = (getStyle("borderThickness") * 2); if (((((_arg1 - _local3) > 0)) && (((_arg2 - _local3) > 1)))){ bitmapData = new BitmapData((_arg1 - _local3), (_arg2 - _local3), true, 0); }; _bitmap.bitmapData = bitmapData; _audioLineColor = getStyle("audioLineColor"); _audioFillColor = getStyle("audioFillColor"); _rc = ((_arg2 - _local3) / 2); _rp = ((_arg1 - _local3) / 0x0100); } public function set type(_arg1:String):void{ if ((((((_arg1 == "line")) || ((_arg1 == "wave")))) || ((_arg1 == "bars")))){ _type = _arg1; }; } private function drawEQ():void{ var _local1:Number; var _local4:Number; var _local5:Number; var _local6:uint; var _local2:Number = ((_rp * 0x0100) / _bars); var _local3:uint; while (_local3 < _bars) { _local4 = 0; _local5 = Math.floor((0x0100 / _bars)); _local6 = 0; while (_local6 < _local5) { _local4 = (_local4 + _spectrumData.readFloat()); _local6++; }; _local4 = (_local4 / _local5); _local1 = Math.max(((_rc * 2) - ((_local4 * _rc) * 2)), 5); bitmapData.fillRect(new Rectangle(((_local2 / 8) + (_local3 * _local2)), _local1, ((_local2 / 2) + (_local2 / 4)), ((_rc * 2) - _local1)), (4278190080 | _audioFillColor)); bitmapData.fillRect(new Rectangle(((_local2 / 8) + (_local3 * _local2)), _local1, ((_local2 / 2) + (_local2 / 4)), 1), (4278190080 | _audioLineColor)); _local3++; }; } } }//package Components.FX
Section 2
//IAutomationObject (mx.automation.IAutomationObject) package mx.automation { import flash.events.*; public interface IAutomationObject { function createAutomationIDPart(_arg1:IAutomationObject):Object; function get automationName():String; function get showInAutomationHierarchy():Boolean; function set automationName(_arg1:String):void; function getAutomationChildAt(_arg1:int):IAutomationObject; function get automationDelegate():Object; function get automationTabularData():Object; function resolveAutomationIDPart(_arg1:Object):Array; function replayAutomatableEvent(_arg1:Event):Boolean; function set automationDelegate(_arg1:Object):void; function get automationValue():Array; function get numAutomationChildren():int; function set showInAutomationHierarchy(_arg1:Boolean):void; } }//package mx.automation
Section 3
//BindabilityInfo (mx.binding.BindabilityInfo) package mx.binding { import mx.events.*; public class BindabilityInfo { private var classChangeEvents:Object; private var typeDescription:XML; private var childChangeEvents:Object; public static const METHOD:String = "method"; public static const ACCESSOR:String = "accessor"; public static const CHANGE_EVENT:String = "ChangeEvent"; public static const NON_COMMITTING_CHANGE_EVENT:String = "NonCommittingChangeEvent"; public static const BINDABLE:String = "Bindable"; mx_internal static const VERSION:String = "3.0.0.0"; public static const MANAGED:String = "Managed"; public function BindabilityInfo(_arg1:XML){ childChangeEvents = {}; super(); this.typeDescription = _arg1; } private function addChangeEvents(_arg1:XMLList, _arg2:Object, _arg3:Boolean):void{ var _local4:XML; var _local5:XMLList; var _local6:String; for each (_local4 in _arg1) { _local5 = _local4.arg; if (_local5.length() > 0){ _local6 = _local5[0].@value; _arg2[_local6] = _arg3; } else { trace((("warning: unconverted Bindable metadata in class '" + typeDescription.@name) + "'")); }; }; } private function getClassChangeEvents():Object{ if (!classChangeEvents){ classChangeEvents = {}; addBindabilityEvents(typeDescription.metadata, classChangeEvents); if (typeDescription.metadata.(@name == MANAGED).length() > 0){ classChangeEvents[PropertyChangeEvent.PROPERTY_CHANGE] = true; }; }; return (classChangeEvents); } private function addBindabilityEvents(_arg1:XMLList, _arg2:Object):void{ var metadata = _arg1; var eventListObj = _arg2; addChangeEvents(metadata.(@name == BINDABLE), eventListObj, true); addChangeEvents(metadata.(@name == CHANGE_EVENT), eventListObj, true); addChangeEvents(metadata.(@name == NON_COMMITTING_CHANGE_EVENT), eventListObj, false); } private function copyProps(_arg1:Object, _arg2:Object):Object{ var _local3:String; for (_local3 in _arg1) { _arg2[_local3] = _arg1[_local3]; }; return (_arg2); } public function getChangeEvents(_arg1:String):Object{ var childDesc:XMLList; var numChildren:int; var childName = _arg1; var changeEvents:Object = childChangeEvents[childName]; if (!changeEvents){ changeEvents = copyProps(getClassChangeEvents(), {}); childDesc = (typeDescription.accessor.(@name == childName) + typeDescription.method.(@name == childName)); numChildren = childDesc.length(); if (numChildren == 0){ if (!typeDescription.@dynamic){ trace((((("warning: no describeType entry for '" + childName) + "' on non-dynamic type '") + typeDescription.@name) + "'")); }; } else { if (numChildren > 1){ trace(((((("warning: multiple describeType entries for '" + childName) + "' on type '") + typeDescription.@name) + "':\n") + childDesc)); }; addBindabilityEvents(childDesc.metadata, changeEvents); }; childChangeEvents[childName] = changeEvents; }; return (changeEvents); } } }//package mx.binding
Section 4
//Binding (mx.binding.Binding) package mx.binding { import mx.collections.errors.*; public class Binding { mx_internal var destFunc:Function; mx_internal var srcFunc:Function; mx_internal var destString:String; mx_internal var document:Object; private var hasHadValue:Boolean; mx_internal var isExecuting:Boolean; mx_internal var isHandlingEvent:Boolean; public var twoWayCounterpart:Binding; mx_internal var isEnabled:Boolean; public var uiComponentWatcher:int; private var lastValue:Object; private var wrappedFunctionSuccessful:Boolean; mx_internal static const VERSION:String = "3.0.0.0"; public function Binding(_arg1:Object, _arg2:Function, _arg3:Function, _arg4:String){ this.document = _arg1; this.srcFunc = _arg2; this.destFunc = _arg3; this.destString = _arg4; isEnabled = true; isExecuting = false; isHandlingEvent = false; hasHadValue = false; uiComponentWatcher = -1; BindingManager.addBinding(_arg1, _arg4, this); } protected function wrapFunctionCall(_arg1:Object, _arg2:Function, _arg3:Object=null, ... _args):Object{ var result:Object; var thisArg = _arg1; var wrappedFunction = _arg2; var object = _arg3; var args = _args; wrappedFunctionSuccessful = false; try { result = wrappedFunction.apply(thisArg, args); wrappedFunctionSuccessful = true; return (result); } catch(itemPendingError:ItemPendingError) { itemPendingError.addResponder(new EvalBindingResponder(this, object)); if (BindingManager.debugDestinationStrings[destString]){ trace(((("Binding: destString = " + destString) + ", error = ") + itemPendingError)); }; } catch(rangeError:RangeError) { if (BindingManager.debugDestinationStrings[destString]){ trace(((("Binding: destString = " + destString) + ", error = ") + rangeError)); }; } catch(error:Error) { if (((((((((!((error.errorID == 1006))) && (!((error.errorID == 1009))))) && (!((error.errorID == 1010))))) && (!((error.errorID == 1055))))) && (!((error.errorID == 1069))))){ throw (error); } else { if (BindingManager.debugDestinationStrings[destString]){ trace(((("Binding: destString = " + destString) + ", error = ") + error)); }; }; }; return (null); } private function nodeSeqEqual(_arg1:XMLList, _arg2:XMLList):Boolean{ var _local4:uint; var _local3:uint = _arg1.length(); if (_local3 == _arg2.length()){ _local4 = 0; while ((((_local4 < _local3)) && ((_arg1[_local4] === _arg2[_local4])))) { _local4++; }; return ((_local4 == _local3)); //unresolved jump }; return (false); } public function watcherFired(_arg1:Boolean, _arg2:int):void{ var commitEvent = _arg1; var cloneIndex = _arg2; if (isHandlingEvent){ return; }; try { isHandlingEvent = true; execute(cloneIndex); } finally { isHandlingEvent = false; }; } public function execute(_arg1:Object=null):void{ var o = _arg1; if (!isEnabled){ return; }; if (((isExecuting) || (((twoWayCounterpart) && (twoWayCounterpart.isExecuting))))){ hasHadValue = true; return; }; try { isExecuting = true; wrapFunctionCall(this, innerExecute, o); } finally { isExecuting = false; }; } private function innerExecute():void{ var _local1:Object = wrapFunctionCall(document, srcFunc); if (BindingManager.debugDestinationStrings[destString]){ trace(((("Binding: destString = " + destString) + ", srcFunc result = ") + _local1)); }; if (((hasHadValue) || (wrappedFunctionSuccessful))){ if (((!((((((lastValue is XML)) && (lastValue.hasComplexContent()))) && ((lastValue === _local1))))) && (!((((((((lastValue is XMLList)) && (lastValue.hasComplexContent()))) && ((_local1 is XMLList)))) && (nodeSeqEqual((lastValue as XMLList), (_local1 as XMLList)))))))){ destFunc.call(document, _local1); lastValue = _local1; hasHadValue = true; }; }; } } }//package mx.binding
Section 5
//BindingManager (mx.binding.BindingManager) package mx.binding { public class BindingManager { mx_internal static const VERSION:String = "3.0.0.0"; static var debugDestinationStrings:Object = {}; public static function executeBindings(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:String; if (((!(_arg2)) || ((_arg2 == "")))){ return; }; if (((((((_arg1) && ((((_arg1 is IBindingClient)) || (_arg1.hasOwnProperty("_bindingsByDestination")))))) && (_arg1._bindingsByDestination))) && (_arg1._bindingsBeginWithWord[getFirstWord(_arg2)]))){ for (_local4 in _arg1._bindingsByDestination) { if (_local4.charAt(0) == _arg2.charAt(0)){ if ((((((_local4.indexOf((_arg2 + ".")) == 0)) || ((_local4.indexOf((_arg2 + "[")) == 0)))) || ((_local4 == _arg2)))){ _arg1._bindingsByDestination[_local4].execute(_arg3); }; }; }; }; } public static function addBinding(_arg1:Object, _arg2:String, _arg3:Binding):void{ if (!_arg1._bindingsByDestination){ _arg1._bindingsByDestination = {}; _arg1._bindingsBeginWithWord = {}; }; _arg1._bindingsByDestination[_arg2] = _arg3; _arg1._bindingsBeginWithWord[getFirstWord(_arg2)] = true; } public static function debugBinding(_arg1:String):void{ debugDestinationStrings[_arg1] = true; } private static function getFirstWord(_arg1:String):String{ var _local2:int = _arg1.indexOf("."); var _local3:int = _arg1.indexOf("["); if (_local2 == _local3){ return (_arg1); }; var _local4:int = Math.min(_local2, _local3); if (_local4 == -1){ _local4 = Math.max(_local2, _local3); }; return (_arg1.substr(0, _local4)); } public static function setEnabled(_arg1:Object, _arg2:Boolean):void{ var _local3:Array; var _local4:uint; var _local5:Binding; if ((((_arg1 is IBindingClient)) && (_arg1._bindings))){ _local3 = (_arg1._bindings as Array); _local4 = 0; while (_local4 < _local3.length) { _local5 = _local3[_local4]; _local5.isEnabled = _arg2; _local4++; }; }; } } }//package mx.binding
Section 6
//EvalBindingResponder (mx.binding.EvalBindingResponder) package mx.binding { import mx.rpc.*; public class EvalBindingResponder implements IResponder { private var binding:Binding; private var object:Object; mx_internal static const VERSION:String = "3.0.0.0"; public function EvalBindingResponder(_arg1:Binding, _arg2:Object){ this.binding = _arg1; this.object = _arg2; } public function fault(_arg1:Object):void{ } public function result(_arg1:Object):void{ binding.execute(object); } } }//package mx.binding
Section 7
//IBindingClient (mx.binding.IBindingClient) package mx.binding { public interface IBindingClient { } }//package mx.binding
Section 8
//IWatcherSetupUtil (mx.binding.IWatcherSetupUtil) package mx.binding { public interface IWatcherSetupUtil { function setup(_arg1:Object, _arg2:Function, _arg3:Array, _arg4:Array):void; } }//package mx.binding
Section 9
//StaticPropertyWatcher (mx.binding.StaticPropertyWatcher) package mx.binding { import mx.core.*; import flash.events.*; import mx.events.*; public class StaticPropertyWatcher extends Watcher { private var propertyGetter:Function; private var parentObj:Class; protected var events:Object; private var _propertyName:String; mx_internal static const VERSION:String = "3.0.0.0"; public function StaticPropertyWatcher(_arg1:String, _arg2:Object, _arg3:Array, _arg4:Function=null){ super(_arg3); _propertyName = _arg1; this.events = _arg2; this.propertyGetter = _arg4; } private function eventNamesToString():String{ var _local2:String; var _local1 = " "; for (_local2 in events) { _local1 = (_local1 + (_local2 + " ")); }; return (_local1); } override public function updateParent(_arg1:Object):void{ var _local2:String; var _local3:IEventDispatcher; parentObj = Class(_arg1); if (parentObj["staticEventDispatcher"] != null){ for (_local2 in events) { if (_local2 != "__NoChangeEvent__"){ _local3 = parentObj["staticEventDispatcher"]; _local3.addEventListener(_local2, eventHandler, false, EventPriority.BINDING, true); }; }; }; wrapUpdate(updateProperty); } private function updateProperty():void{ if (parentObj){ if (propertyGetter != null){ value = propertyGetter.apply(parentObj, [_propertyName]); } else { value = parentObj[_propertyName]; }; } else { value = null; }; updateChildren(); } override protected function shallowClone():Watcher{ var _local1:StaticPropertyWatcher = new StaticPropertyWatcher(_propertyName, events, listeners, propertyGetter); return (_local1); } private function traceInfo():String{ return ((((((("StaticPropertyWatcher(" + parentObj) + ".") + _propertyName) + "): events = [") + eventNamesToString()) + "]")); } public function get propertyName():String{ return (_propertyName); } public function eventHandler(_arg1:Event):void{ var _local2:Object; if ((_arg1 is PropertyChangeEvent)){ _local2 = PropertyChangeEvent(_arg1).property; if (_local2 != _propertyName){ return; }; }; wrapUpdate(updateProperty); notifyListeners(events[_arg1.type]); } } }//package mx.binding
Section 10
//Watcher (mx.binding.Watcher) package mx.binding { import mx.collections.errors.*; public class Watcher { protected var children:Array; public var value:Object; protected var cloneIndex:int; protected var listeners:Array; mx_internal static const VERSION:String = "3.0.0.0"; public function Watcher(_arg1:Array=null){ this.listeners = _arg1; } public function removeChildren(_arg1:int):void{ children.splice(_arg1); } public function updateChildren():void{ var _local1:int; var _local2:int; if (children){ _local1 = children.length; _local2 = 0; while (_local2 < _local1) { children[_local2].updateParent(this); _local2++; }; }; } protected function shallowClone():Watcher{ return (new Watcher()); } protected function wrapUpdate(_arg1:Function):void{ var wrappedFunction = _arg1; try { wrappedFunction.apply(this); } catch(itemPendingError:ItemPendingError) { value = null; } catch(rangeError:RangeError) { value = null; } catch(error:Error) { if (((((((((!((error.errorID == 1006))) && (!((error.errorID == 1009))))) && (!((error.errorID == 1010))))) && (!((error.errorID == 1055))))) && (!((error.errorID == 1069))))){ throw (error); }; }; } private function valueChanged(_arg1:Object):Boolean{ if ((((_arg1 == null)) && ((value == null)))){ return (false); }; var _local2 = typeof(value); if (_local2 == "string"){ if ((((_arg1 == null)) && ((value == "")))){ return (false); }; return (!((_arg1 == value))); }; if (_local2 == "number"){ if ((((_arg1 == null)) && ((value == 0)))){ return (false); }; return (!((_arg1 == value))); }; if (_local2 == "boolean"){ if ((((_arg1 == null)) && ((value == false)))){ return (false); }; return (!((_arg1 == value))); }; return (true); } public function notifyListeners(_arg1:Boolean):void{ var _local2:int; var _local3:int; if (listeners){ _local2 = listeners.length; _local3 = 0; while (_local3 < _local2) { listeners[_local3].watcherFired(_arg1, cloneIndex); _local3++; }; }; } protected function deepClone(_arg1:int):Watcher{ var _local3:int; var _local4:int; var _local5:Watcher; var _local2:Watcher = shallowClone(); _local2.cloneIndex = _arg1; if (listeners){ _local2.listeners = listeners.concat(); }; if (children){ _local3 = children.length; _local4 = 0; while (_local4 < _local3) { _local5 = children[_local4].deepClone(_arg1); _local2.addChild(_local5); _local4++; }; }; return (_local2); } public function updateParent(_arg1:Object):void{ } public function addChild(_arg1:Watcher):void{ if (!children){ children = [_arg1]; } else { children.push(_arg1); }; _arg1.updateParent(this); } } }//package mx.binding
Section 11
//CollectionViewError (mx.collections.errors.CollectionViewError) package mx.collections.errors { public class CollectionViewError extends Error { mx_internal static const VERSION:String = "3.0.0.0"; public function CollectionViewError(_arg1:String){ super(_arg1); } } }//package mx.collections.errors
Section 12
//CursorError (mx.collections.errors.CursorError) package mx.collections.errors { public class CursorError extends Error { mx_internal static const VERSION:String = "3.0.0.0"; public function CursorError(_arg1:String){ super(_arg1); } } }//package mx.collections.errors
Section 13
//ItemPendingError (mx.collections.errors.ItemPendingError) package mx.collections.errors { import mx.rpc.*; public class ItemPendingError extends Error { private var _responders:Array; mx_internal static const VERSION:String = "3.0.0.0"; public function ItemPendingError(_arg1:String){ super(_arg1); } public function get responders():Array{ return (_responders); } public function addResponder(_arg1:IResponder):void{ if (!_responders){ _responders = []; }; _responders.push(_arg1); } } }//package mx.collections.errors
Section 14
//SortError (mx.collections.errors.SortError) package mx.collections.errors { public class SortError extends Error { mx_internal static const VERSION:String = "3.0.0.0"; public function SortError(_arg1:String){ super(_arg1); } } }//package mx.collections.errors
Section 15
//ArrayCollection (mx.collections.ArrayCollection) package mx.collections { import flash.utils.*; public class ArrayCollection extends ListCollectionView implements IExternalizable { mx_internal static const VERSION:String = "3.0.0.0"; public function ArrayCollection(_arg1:Array=null){ this.source = _arg1; } public function set source(_arg1:Array):void{ list = new ArrayList(_arg1); } public function readExternal(_arg1:IDataInput):void{ if ((list is IExternalizable)){ IExternalizable(list).readExternal(_arg1); } else { source = (_arg1.readObject() as Array); }; } public function writeExternal(_arg1:IDataOutput):void{ if ((list is IExternalizable)){ IExternalizable(list).writeExternal(_arg1); } else { _arg1.writeObject(source); }; } public function get source():Array{ if (((list) && ((list is ArrayList)))){ return (ArrayList(list).source); }; return (null); } } }//package mx.collections
Section 16
//ArrayList (mx.collections.ArrayList) package mx.collections { import mx.core.*; import flash.events.*; import mx.events.*; import mx.resources.*; import flash.utils.*; import mx.utils.*; public class ArrayList extends EventDispatcher implements IList, IExternalizable, IPropertyChangeNotifier { private var _source:Array; private var _dispatchEvents:int;// = 0 private var _uid:String; private var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.0.0.0"; public function ArrayList(_arg1:Array=null){ resourceManager = ResourceManager.getInstance(); super(); disableEvents(); this.source = _arg1; enableEvents(); _uid = UIDUtil.createUID(); } public function itemUpdated(_arg1:Object, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ var _local5:PropertyChangeEvent = new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE); _local5.kind = PropertyChangeEventKind.UPDATE; _local5.source = _arg1; _local5.property = _arg2; _local5.oldValue = _arg3; _local5.newValue = _arg4; itemUpdateHandler(_local5); } public function readExternal(_arg1:IDataInput):void{ source = _arg1.readObject(); } private function internalDispatchEvent(_arg1:String, _arg2:Object=null, _arg3:int=-1):void{ var _local4:CollectionEvent; var _local5:PropertyChangeEvent; if (_dispatchEvents == 0){ if (hasEventListener(CollectionEvent.COLLECTION_CHANGE)){ _local4 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local4.kind = _arg1; _local4.items.push(_arg2); _local4.location = _arg3; dispatchEvent(_local4); }; if (((hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE)) && ((((_arg1 == CollectionEventKind.ADD)) || ((_arg1 == CollectionEventKind.REMOVE)))))){ _local5 = new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE); _local5.property = _arg3; if (_arg1 == CollectionEventKind.ADD){ _local5.newValue = _arg2; } else { _local5.oldValue = _arg2; }; dispatchEvent(_local5); }; }; } public function removeAll():void{ var _local1:int; var _local2:int; if (length > 0){ _local1 = length; _local2 = 0; while (_local2 < _local1) { stopTrackUpdates(source[_local2]); _local2++; }; source.splice(0, length); internalDispatchEvent(CollectionEventKind.RESET); }; } public function removeItemAt(_arg1:int):Object{ var _local3:String; if ((((_arg1 < 0)) || ((_arg1 >= length)))){ _local3 = resourceManager.getString("collections", "outOfBounds", [_arg1]); throw (new RangeError(_local3)); }; var _local2:Object = source.splice(_arg1, 1)[0]; stopTrackUpdates(_local2); internalDispatchEvent(CollectionEventKind.REMOVE, _local2, _arg1); return (_local2); } public function get uid():String{ return (_uid); } public function getItemIndex(_arg1:Object):int{ return (ArrayUtil.getItemIndex(_arg1, source)); } public function writeExternal(_arg1:IDataOutput):void{ _arg1.writeObject(_source); } public function addItem(_arg1:Object):void{ addItemAt(_arg1, length); } public function toArray():Array{ return (source.concat()); } private function disableEvents():void{ _dispatchEvents--; } public function get source():Array{ return (_source); } public function getItemAt(_arg1:int, _arg2:int=0):Object{ var _local3:String; if ((((_arg1 < 0)) || ((_arg1 >= length)))){ _local3 = resourceManager.getString("collections", "outOfBounds", [_arg1]); throw (new RangeError(_local3)); }; return (source[_arg1]); } public function set uid(_arg1:String):void{ _uid = _arg1; } public function setItemAt(_arg1:Object, _arg2:int):Object{ var _local4:String; var _local5:Boolean; var _local6:Boolean; var _local7:PropertyChangeEvent; var _local8:CollectionEvent; if ((((_arg2 < 0)) || ((_arg2 >= length)))){ _local4 = resourceManager.getString("collections", "outOfBounds", [_arg2]); throw (new RangeError(_local4)); }; var _local3:Object = source[_arg2]; source[_arg2] = _arg1; stopTrackUpdates(_local3); startTrackUpdates(_arg1); if (_dispatchEvents == 0){ _local5 = hasEventListener(CollectionEvent.COLLECTION_CHANGE); _local6 = hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE); if (((_local5) || (_local6))){ _local7 = new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE); _local7.kind = PropertyChangeEventKind.UPDATE; _local7.oldValue = _local3; _local7.newValue = _arg1; _local7.property = _arg2; }; if (_local5){ _local8 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local8.kind = CollectionEventKind.REPLACE; _local8.location = _arg2; _local8.items.push(_local7); dispatchEvent(_local8); }; if (_local6){ dispatchEvent(_local7); }; }; return (_local3); } public function get length():int{ if (source){ return (source.length); }; return (0); } protected function stopTrackUpdates(_arg1:Object):void{ if (((_arg1) && ((_arg1 is IEventDispatcher)))){ IEventDispatcher(_arg1).removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, itemUpdateHandler); }; } protected function itemUpdateHandler(_arg1:PropertyChangeEvent):void{ var _local2:PropertyChangeEvent; var _local3:uint; internalDispatchEvent(CollectionEventKind.UPDATE, _arg1); if ((((_dispatchEvents == 0)) && (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE)))){ _local2 = PropertyChangeEvent(_arg1.clone()); _local3 = getItemIndex(_arg1.target); _local2.property = ((_local3.toString() + ".") + _arg1.property); dispatchEvent(_local2); }; } public function addItemAt(_arg1:Object, _arg2:int):void{ var _local3:String; if ((((_arg2 < 0)) || ((_arg2 > length)))){ _local3 = resourceManager.getString("collections", "outOfBounds", [_arg2]); throw (new RangeError(_local3)); }; source.splice(_arg2, 0, _arg1); startTrackUpdates(_arg1); internalDispatchEvent(CollectionEventKind.ADD, _arg1, _arg2); } public function removeItem(_arg1:Object):Boolean{ var _local2:int = getItemIndex(_arg1); var _local3 = (_local2 >= 0); if (_local3){ removeItemAt(_local2); }; return (_local3); } protected function startTrackUpdates(_arg1:Object):void{ if (((_arg1) && ((_arg1 is IEventDispatcher)))){ IEventDispatcher(_arg1).addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, itemUpdateHandler, false, 0, true); }; } override public function toString():String{ if (source){ return (source.toString()); }; return (getQualifiedClassName(this)); } private function enableEvents():void{ _dispatchEvents++; if (_dispatchEvents > 0){ _dispatchEvents = 0; }; } public function set source(_arg1:Array):void{ var _local2:int; var _local3:int; var _local4:CollectionEvent; if (((_source) && (_source.length))){ _local3 = _source.length; _local2 = 0; while (_local2 < _local3) { stopTrackUpdates(_source[_local2]); _local2++; }; }; _source = (_arg1) ? _arg1 : []; _local3 = _source.length; _local2 = 0; while (_local2 < _local3) { startTrackUpdates(_source[_local2]); _local2++; }; if (_dispatchEvents == 0){ _local4 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local4.kind = CollectionEventKind.RESET; dispatchEvent(_local4); }; } } }//package mx.collections
Section 17
//CursorBookmark (mx.collections.CursorBookmark) package mx.collections { public class CursorBookmark { private var _value:Object; mx_internal static const VERSION:String = "3.0.0.0"; private static var _first:CursorBookmark; private static var _last:CursorBookmark; private static var _current:CursorBookmark; public function CursorBookmark(_arg1:Object){ _value = _arg1; } public function get value():Object{ return (_value); } public function getViewIndex():int{ return (-1); } public static function get LAST():CursorBookmark{ if (!_last){ _last = new CursorBookmark("${L}"); }; return (_last); } public static function get FIRST():CursorBookmark{ if (!_first){ _first = new CursorBookmark("${F}"); }; return (_first); } public static function get CURRENT():CursorBookmark{ if (!_current){ _current = new CursorBookmark("${C}"); }; return (_current); } } }//package mx.collections
Section 18
//ICollectionView (mx.collections.ICollectionView) package mx.collections { import flash.events.*; public interface ICollectionView extends IEventDispatcher { function set filterFunction(_arg1:Function):void; function enableAutoUpdate():void; function get length():int; function disableAutoUpdate():void; function itemUpdated(_arg1:Object, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void; function get filterFunction():Function; function createCursor():IViewCursor; function refresh():Boolean; function set sort(_arg1:Sort):void; function get sort():Sort; function contains(_arg1:Object):Boolean; } }//package mx.collections
Section 19
//IList (mx.collections.IList) package mx.collections { import flash.events.*; public interface IList extends IEventDispatcher { function addItem(_arg1:Object):void; function get length():int; function addItemAt(_arg1:Object, _arg2:int):void; function itemUpdated(_arg1:Object, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void; function getItemIndex(_arg1:Object):int; function removeItemAt(_arg1:int):Object; function getItemAt(_arg1:int, _arg2:int=0):Object; function removeAll():void; function toArray():Array; function setItemAt(_arg1:Object, _arg2:int):Object; } }//package mx.collections
Section 20
//ItemResponder (mx.collections.ItemResponder) package mx.collections { import mx.rpc.*; public class ItemResponder implements IResponder { private var _faultHandler:Function; private var _token:Object; private var _resultHandler:Function; mx_internal static const VERSION:String = "3.0.0.0"; public function ItemResponder(_arg1:Function, _arg2:Function, _arg3:Object=null){ _resultHandler = _arg1; _faultHandler = _arg2; _token = _arg3; } public function result(_arg1:Object):void{ _resultHandler(_arg1, _token); } public function fault(_arg1:Object):void{ _faultHandler(_arg1, _token); } } }//package mx.collections
Section 21
//ItemWrapper (mx.collections.ItemWrapper) package mx.collections { public class ItemWrapper { public var data:Object; mx_internal static const VERSION:String = "3.0.0.0"; public function ItemWrapper(_arg1:Object){ this.data = _arg1; } } }//package mx.collections
Section 22
//IViewCursor (mx.collections.IViewCursor) package mx.collections { import flash.events.*; public interface IViewCursor extends IEventDispatcher { function get current():Object; function moveNext():Boolean; function get view():ICollectionView; function movePrevious():Boolean; function remove():Object; function findLast(_arg1:Object):Boolean; function get beforeFirst():Boolean; function get afterLast():Boolean; function findAny(_arg1:Object):Boolean; function get bookmark():CursorBookmark; function findFirst(_arg1:Object):Boolean; function seek(_arg1:CursorBookmark, _arg2:int=0, _arg3:int=0):void; function insert(_arg1:Object):void; } }//package mx.collections
Section 23
//ListCollectionView (mx.collections.ListCollectionView) package mx.collections { import mx.core.*; import flash.events.*; import mx.events.*; import mx.resources.*; import flash.utils.*; import mx.utils.*; import mx.collections.errors.*; public class ListCollectionView extends Proxy implements ICollectionView, IList, IMXMLObject { private var autoUpdateCounter:int; private var _list:IList; private var _filterFunction:Function; protected var localIndex:Array; mx_internal var dispatchResetEvent:Boolean;// = true private var pendingUpdates:Array; private var resourceManager:IResourceManager; private var eventDispatcher:EventDispatcher; private var revision:int; private var _sort:Sort; mx_internal static const VERSION:String = "3.0.0.0"; public function ListCollectionView(_arg1:IList=null){ resourceManager = ResourceManager.getInstance(); super(); eventDispatcher = new EventDispatcher(this); this.list = _arg1; } private function handlePendingUpdates():void{ var _local1:Array; var _local2:CollectionEvent; var _local3:int; var _local4:CollectionEvent; var _local5:int; if (pendingUpdates){ _local1 = pendingUpdates; pendingUpdates = null; _local3 = 0; while (_local3 < _local1.length) { _local4 = _local1[_local3]; if (_local4.kind == CollectionEventKind.UPDATE){ if (!_local2){ _local2 = _local4; } else { _local5 = 0; while (_local5 < _local4.items.length) { _local2.items.push(_local4.items[_local5]); _local5++; }; }; } else { listChangeHandler(_local4); }; _local3++; }; if (_local2){ listChangeHandler(_local2); }; }; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } private function replaceItemsInView(_arg1:Array, _arg2:int, _arg3:Boolean=true):void{ var _local4:int; var _local5:Array; var _local6:Array; var _local7:int; var _local8:PropertyChangeEvent; var _local9:CollectionEvent; if (localIndex){ _local4 = _arg1.length; _local5 = []; _local6 = []; _local7 = 0; while (_local7 < _local4) { _local8 = _arg1[_local7]; _local5.push(_local8.oldValue); _local6.push(_local8.newValue); _local7++; }; removeItemsFromView(_local5, _arg2, _arg3); addItemsToView(_local6, _arg2, _arg3); } else { _local9 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local9.kind = CollectionEventKind.REPLACE; _local9.location = _arg2; _local9.items = _arg1; dispatchEvent(_local9); }; } public function willTrigger(_arg1:String):Boolean{ return (eventDispatcher.willTrigger(_arg1)); } private function getFilteredItemIndex(_arg1:Object):int{ var _local4:Object; var _local5:int; var _local6:int; var _local2:int = list.getItemIndex(_arg1); if (_local2 == 0){ return (0); }; var _local3:int = (_local2 - 1); while (_local3 >= 0) { _local4 = list.getItemAt(_local3); if (filterFunction(_local4)){ _local5 = localIndex.length; _local6 = 0; while (_local6 < _local5) { if (localIndex[_local6] == _local4){ return ((_local6 + 1)); }; _local6++; }; }; _local3--; }; return (0); } mx_internal function findItem(_arg1:Object, _arg2:String, _arg3:Boolean=false):int{ var _local4:String; if (!sort){ _local4 = resourceManager.getString("collections", "itemNotFound"); throw (new CollectionViewError(_local4)); }; if (localIndex.length == 0){ return ((_arg3) ? 0 : -1); }; return (sort.findItem(localIndex, _arg1, _arg2, _arg3)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return ((_arg1 - 1).toString()); } public function removeAll():void{ var _local2:int; var _local1:int = length; if (_local1 > 0){ if (localIndex){ _local2 = (_local1 - 1); while (_local2 >= 0) { removeItemAt(_local2); _local2--; }; } else { list.removeAll(); }; }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ var n:Number; var name = _arg1; if ((name is QName)){ name = name.localName; }; var index = -1; try { n = parseInt(String(name)); if (!isNaN(n)){ index = int(n); }; } catch(e:Error) { }; if (index == -1){ return (false); }; return ((((index >= 0)) && ((index < length)))); } public function getItemAt(_arg1:int, _arg2:int=0):Object{ var _local3:String; if ((((_arg1 < 0)) || ((_arg1 >= length)))){ _local3 = resourceManager.getString("collections", "outOfBounds", [_arg1]); throw (new RangeError(_local3)); }; if (localIndex){ return (localIndex[_arg1]); }; if (list){ return (list.getItemAt(_arg1, _arg2)); }; return (null); } private function moveItemInView(_arg1:Object, _arg2:Boolean=true, _arg3:Array=null):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:CollectionEvent; if (localIndex){ _local4 = -1; _local5 = 0; while (_local5 < localIndex.length) { if (localIndex[_local5] == _arg1){ _local4 = _local5; break; }; _local5++; }; if (_local4 > -1){ localIndex.splice(_local4, 1); }; _local6 = addItemsToView([_arg1], _local4, false); if (_arg2){ _local7 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local7.items.push(_arg1); if (((((_arg3) && ((_local6 == _local4)))) && ((_local6 > -1)))){ _arg3.push(_arg1); return; }; if ((((_local6 > -1)) && ((_local4 > -1)))){ _local7.kind = CollectionEventKind.MOVE; _local7.location = _local6; _local7.oldLocation = _local4; } else { if (_local6 > -1){ _local7.kind = CollectionEventKind.ADD; _local7.location = _local6; } else { if (_local4 > -1){ _local7.kind = CollectionEventKind.REMOVE; _local7.location = _local4; } else { _arg2 = false; }; }; }; if (_arg2){ dispatchEvent(_local7); }; }; }; } public function contains(_arg1:Object):Boolean{ return (!((getItemIndex(_arg1) == -1))); } public function get sort():Sort{ return (_sort); } private function removeItemsFromView(_arg1:Array, _arg2:int, _arg3:Boolean=true):void{ var _local6:int; var _local7:Object; var _local8:int; var _local9:CollectionEvent; var _local4:Array = (localIndex) ? [] : _arg1; var _local5:int = _arg2; if (localIndex){ _local6 = 0; while (_local6 < _arg1.length) { _local7 = _arg1[_local6]; _local8 = getItemIndex(_local7); if (_local8 > -1){ localIndex.splice(_local8, 1); _local4.push(_local7); _local5 = _local8; }; _local6++; }; }; if (((_arg3) && ((_local4.length > 0)))){ _local9 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local9.kind = CollectionEventKind.REMOVE; _local9.location = (((!(localIndex)) || ((_local4.length == 1)))) ? _local5 : -1; _local9.items = _local4; dispatchEvent(_local9); }; } public function get list():IList{ return (_list); } public function addItemAt(_arg1:Object, _arg2:int):void{ var _local4:String; if ((((((_arg2 < 0)) || (!(list)))) || ((_arg2 > length)))){ _local4 = resourceManager.getString("collections", "outOfBounds", [_arg2]); throw (new RangeError(_local4)); }; var _local3:int = _arg2; if (((localIndex) && (sort))){ _local3 = list.length; } else { if (((localIndex) && (!((filterFunction == null))))){ if (_local3 == localIndex.length){ _local3 = list.length; } else { _local3 = list.getItemIndex(localIndex[_arg2]); }; }; }; list.addItemAt(_arg1, _local3); } public function itemUpdated(_arg1:Object, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ list.itemUpdated(_arg1, _arg2, _arg3, _arg4); } private function populateLocalIndex():void{ if (list){ localIndex = list.toArray(); } else { localIndex = []; }; } private function handlePropertyChangeEvents(_arg1:Array):void{ var _local3:Array; var _local4:Object; var _local5:int; var _local6:Array; var _local7:int; var _local8:PropertyChangeEvent; var _local9:Object; var _local10:Boolean; var _local11:int; var _local12:int; var _local13:CollectionEvent; var _local2:Array = _arg1; if (((sort) || (!((filterFunction == null))))){ _local3 = []; _local5 = 0; while (_local5 < _arg1.length) { _local8 = _arg1[_local5]; if (_local8.target){ _local9 = _local8.target; _local10 = !((_local8.target == _local8.source)); } else { _local9 = _local8.source; _local10 = false; }; _local11 = 0; while (_local11 < _local3.length) { if (_local3[_local11].item == _local9){ break; }; _local11++; }; if (_local11 < _local3.length){ _local4 = _local3[_local11]; } else { _local4 = {item:_local9, move:_local10, event:_local8}; _local3.push(_local4); }; _local4.move = ((((((_local4.move) || (filterFunction))) || (!(_local8.property)))) || (((sort) && (sort.propertyAffectsSort(String(_local8.property)))))); _local5++; }; _local2 = []; _local5 = 0; while (_local5 < _local3.length) { _local4 = _local3[_local5]; if (_local4.move){ moveItemInView(_local4.item, _local4.item, _local2); } else { _local2.push(_local4.item); }; _local5++; }; _local6 = []; _local7 = 0; while (_local7 < _local2.length) { _local12 = 0; while (_local12 < _local3.length) { if (_local2[_local7] == _local3[_local12].item){ _local6.push(_local3[_local12].event); }; _local12++; }; _local7++; }; _local2 = _local6; }; if (_local2.length > 0){ _local13 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local13.kind = CollectionEventKind.UPDATE; _local13.items = _local2; dispatchEvent(_local13); }; } public function set sort(_arg1:Sort):void{ _sort = _arg1; dispatchEvent(new Event("sortChanged")); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextValue(_arg1:int){ return (getItemAt((_arg1 - 1))); } public function setItemAt(_arg1:Object, _arg2:int):Object{ var _local4:String; var _local5:Object; if ((((((_arg2 < 0)) || (!(list)))) || ((_arg2 >= length)))){ _local4 = resourceManager.getString("collections", "outOfBounds", [_arg2]); throw (new RangeError(_local4)); }; var _local3:int = _arg2; if (localIndex){ if (_arg2 > localIndex.length){ _local3 = list.length; } else { _local5 = localIndex[_arg2]; _local3 = list.getItemIndex(_local5); }; }; return (list.setItemAt(_arg1, _local3)); } mx_internal function getBookmark(_arg1:int):ListCollectionViewBookmark{ var value:Object; var message:String; var index = _arg1; if ((((index < 0)) || ((index > length)))){ message = resourceManager.getString("collections", "invalidIndex", [index]); throw (new CollectionViewError(message)); }; try { value = getItemAt(index); } catch(e:Error) { value = null; }; return (new ListCollectionViewBookmark(value, this, revision, index)); } private function addItemsToView(_arg1:Array, _arg2:int, _arg3:Boolean=true):int{ var _local7:int; var _local8:int; var _local9:Object; var _local10:String; var _local11:CollectionEvent; var _local4:Array = (localIndex) ? [] : _arg1; var _local5:int = _arg2; var _local6:Boolean; if (localIndex){ _local7 = _arg2; _local8 = 0; while (_local8 < _arg1.length) { _local9 = _arg1[_local8]; if ((((filterFunction == null)) || (filterFunction(_local9)))){ if (sort){ _local7 = findItem(_local9, Sort.ANY_INDEX_MODE, true); if (_local6){ _local5 = _local7; _local6 = false; }; } else { _local7 = getFilteredItemIndex(_local9); if (_local6){ _local5 = _local7; _local6 = false; }; }; if (((((sort) && (sort.unique))) && ((sort.compareFunction(_local9, localIndex[_local7]) == 0)))){ _local10 = resourceManager.getString("collections", "incorrectAddition"); throw (new CollectionViewError(_local10)); }; var _temp1 = _local7; _local7 = (_local7 + 1); localIndex.splice(_temp1, 0, _local9); _local4.push(_local9); } else { _local5 = -1; }; _local8++; }; }; if (((localIndex) && ((_local4.length > 1)))){ _local5 = -1; }; if (((_arg3) && ((_local4.length > 0)))){ _local11 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local11.kind = CollectionEventKind.ADD; _local11.location = _local5; _local11.items = _local4; dispatchEvent(_local11); }; return (_local5); } public function dispatchEvent(_arg1:Event):Boolean{ return (eventDispatcher.dispatchEvent(_arg1)); } public function set list(_arg1:IList):void{ var _local2:Boolean; var _local3:Boolean; if (_list != _arg1){ if (_list){ _list.removeEventListener(CollectionEvent.COLLECTION_CHANGE, listChangeHandler); _local2 = (_list.length > 0); }; _list = _arg1; if (_list){ _list.addEventListener(CollectionEvent.COLLECTION_CHANGE, listChangeHandler, false, 0, true); _local3 = (_list.length > 0); }; if (((_local2) || (_local3))){ reset(); }; dispatchEvent(new Event("listChanged")); }; } mx_internal function getBookmarkIndex(_arg1:CursorBookmark):int{ var _local3:String; if (((!((_arg1 is ListCollectionViewBookmark))) || (!((ListCollectionViewBookmark(_arg1).view == this))))){ _local3 = resourceManager.getString("collections", "bookmarkNotFound"); throw (new CollectionViewError(_local3)); }; var _local2:ListCollectionViewBookmark = ListCollectionViewBookmark(_arg1); if (_local2.viewRevision != revision){ if ((((((_local2.index < 0)) || ((_local2.index >= length)))) || (!((getItemAt(_local2.index) == _local2.value))))){ _local2.index = getItemIndex(_local2.value); }; _local2.viewRevision = revision; }; return (_local2.index); } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function getItemIndex(_arg1:Object):int{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; if (sort){ _local3 = sort.findItem(localIndex, _arg1, Sort.FIRST_INDEX_MODE); if (_local3 == -1){ return (-1); }; _local4 = sort.findItem(localIndex, _arg1, Sort.LAST_INDEX_MODE); _local2 = _local3; while (_local2 <= _local4) { if (localIndex[_local2] == _arg1){ return (_local2); }; _local2++; }; return (-1); } else { if (filterFunction != null){ _local5 = localIndex.length; _local2 = 0; while (_local2 < _local5) { if (localIndex[_local2] == _arg1){ return (_local2); }; _local2++; }; return (-1); }; }; return (list.getItemIndex(_arg1)); } public function removeItemAt(_arg1:int):Object{ var _local3:String; var _local4:Object; if ((((_arg1 < 0)) || ((_arg1 >= length)))){ _local3 = resourceManager.getString("collections", "outOfBounds", [_arg1]); throw (new RangeError(_local3)); }; var _local2:int = _arg1; if (localIndex){ _local4 = localIndex[_arg1]; _local2 = list.getItemIndex(_local4); }; return (list.removeItemAt(_local2)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ var n:Number; var message:String; var name = _arg1; if ((name is QName)){ name = name.localName; }; var index = -1; try { n = parseInt(String(name)); if (!isNaN(n)){ index = int(n); }; } catch(e:Error) { }; if (index == -1){ message = resourceManager.getString("collections", "unknownProperty", [name]); throw (new Error(message)); }; return (getItemAt(index)); } public function enableAutoUpdate():void{ if (autoUpdateCounter > 0){ autoUpdateCounter--; if (autoUpdateCounter == 0){ handlePendingUpdates(); }; }; } mx_internal function reset():void{ var _local1:CollectionEvent; internalRefresh(false); if (dispatchResetEvent){ _local1 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local1.kind = CollectionEventKind.RESET; dispatchEvent(_local1); }; } public function toArray():Array{ var _local1:Array; if (localIndex){ _local1 = localIndex.concat(); } else { _local1 = list.toArray(); }; return (_local1); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function callProperty(_arg1, ... _args){ return (null); } public function initialized(_arg1:Object, _arg2:String):void{ refresh(); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var n:Number; var message:String; var name = _arg1; var value = _arg2; if ((name is QName)){ name = name.localName; }; var index = -1; try { n = parseInt(String(name)); if (!isNaN(n)){ index = int(n); }; } catch(e:Error) { }; if (index == -1){ message = resourceManager.getString("collections", "unknownProperty", [name]); throw (new Error(message)); }; setItemAt(value, index); } public function addItem(_arg1:Object):void{ addItemAt(_arg1, length); } private function internalRefresh(_arg1:Boolean):Boolean{ var tmp:Array; var len:int; var i:int; var item:Object; var refreshEvent:CollectionEvent; var dispatch = _arg1; if (((sort) || (!((filterFunction == null))))){ try { populateLocalIndex(); } catch(pending:ItemPendingError) { pending.addResponder(new ItemResponder(function (_arg1:Object, _arg2:Object=null):void{ internalRefresh(dispatch); }, function (_arg1:Object, _arg2:Object=null):void{ })); return (false); }; if (filterFunction != null){ tmp = []; len = localIndex.length; i = 0; while (i < len) { item = localIndex[i]; if (filterFunction(item)){ tmp.push(item); }; i = (i + 1); }; localIndex = tmp; }; if (sort){ sort.sort(localIndex); dispatch = true; }; } else { if (localIndex){ localIndex = null; }; }; revision++; pendingUpdates = null; if (dispatch){ refreshEvent = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); refreshEvent.kind = CollectionEventKind.REFRESH; dispatchEvent(refreshEvent); }; return (true); } public function set filterFunction(_arg1:Function):void{ _filterFunction = _arg1; dispatchEvent(new Event("filterFunctionChanged")); } public function refresh():Boolean{ return (internalRefresh(true)); } public function get filterFunction():Function{ return (_filterFunction); } public function createCursor():IViewCursor{ return (new ListCollectionViewCursor(this)); } public function hasEventListener(_arg1:String):Boolean{ return (eventDispatcher.hasEventListener(_arg1)); } public function get length():int{ if (localIndex){ return (localIndex.length); }; if (list){ return (list.length); }; return (0); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ return (((_arg1 < length)) ? (_arg1 + 1) : 0); } public function disableAutoUpdate():void{ autoUpdateCounter++; } public function toString():String{ if (localIndex){ return (ObjectUtil.toString(localIndex)); }; if (((list) && (Object(list).toString))){ return (Object(list).toString()); }; return (getQualifiedClassName(this)); } private function listChangeHandler(_arg1:CollectionEvent):void{ if (autoUpdateCounter > 0){ if (!pendingUpdates){ pendingUpdates = []; }; pendingUpdates.push(_arg1); } else { switch (_arg1.kind){ case CollectionEventKind.ADD: addItemsToView(_arg1.items, _arg1.location); break; case CollectionEventKind.RESET: reset(); break; case CollectionEventKind.REMOVE: removeItemsFromView(_arg1.items, _arg1.location); break; case CollectionEventKind.REPLACE: replaceItemsInView(_arg1.items, _arg1.location); break; case CollectionEventKind.UPDATE: handlePropertyChangeEvents(_arg1.items); break; default: dispatchEvent(_arg1); }; }; } } }//package mx.collections import flash.events.*; import mx.events.*; import mx.resources.*; import mx.collections.errors.*; class ListCollectionViewBookmark extends CursorBookmark { mx_internal var viewRevision:int; mx_internal var index:int; mx_internal var view:ListCollectionView; private function ListCollectionViewBookmark(_arg1:Object, _arg2:ListCollectionView, _arg3:int, _arg4:int){ super(_arg1); this.view = _arg2; this.viewRevision = _arg3; this.index = _arg4; } override public function getViewIndex():int{ return (view.getBookmarkIndex(this)); } } class ListCollectionViewCursor extends EventDispatcher implements IViewCursor { private var _view:ListCollectionView; private var invalid:Boolean; private var resourceManager:IResourceManager; private var currentIndex:int; private var currentValue:Object; private static const BEFORE_FIRST_INDEX:int = -1; private static const AFTER_LAST_INDEX:int = -2; private function ListCollectionViewCursor(_arg1:ListCollectionView){ var view = _arg1; resourceManager = ResourceManager.getInstance(); super(); _view = view; _view.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionEventHandler, false, 0, true); currentIndex = ((view.length > 0)) ? 0 : AFTER_LAST_INDEX; if (currentIndex == 0){ try { setCurrent(view.getItemAt(0), false); } catch(e:ItemPendingError) { currentIndex = BEFORE_FIRST_INDEX; setCurrent(null, false); }; }; } public function findAny(_arg1:Object):Boolean{ var index:int; var values = _arg1; checkValid(); var lcView:ListCollectionView = ListCollectionView(view); try { index = lcView.findItem(values, Sort.ANY_INDEX_MODE); } catch(e:SortError) { throw (new CursorError(e.message)); }; if (index > -1){ currentIndex = index; setCurrent(lcView.getItemAt(currentIndex)); }; return ((index > -1)); } public function remove():Object{ var oldIndex:int; var message:String; if (((beforeFirst) || (afterLast))){ message = resourceManager.getString("collections", "invalidRemove"); throw (new CursorError(message)); }; oldIndex = currentIndex; currentIndex++; if (currentIndex >= view.length){ currentIndex = AFTER_LAST_INDEX; setCurrent(null); } else { try { setCurrent(ListCollectionView(view).getItemAt(currentIndex)); } catch(e:ItemPendingError) { setCurrent(null, false); ListCollectionView(view).removeItemAt(oldIndex); throw (e); }; }; var removed:Object = ListCollectionView(view).removeItemAt(oldIndex); return (removed); } private function setCurrent(_arg1:Object, _arg2:Boolean=true):void{ currentValue = _arg1; if (_arg2){ dispatchEvent(new FlexEvent(FlexEvent.CURSOR_UPDATE)); }; } public function seek(_arg1:CursorBookmark, _arg2:int=0, _arg3:int=0):void{ var message:String; var bookmark = _arg1; var offset = _arg2; var prefetch = _arg3; checkValid(); if (view.length == 0){ currentIndex = AFTER_LAST_INDEX; setCurrent(null, false); return; }; var newIndex:int = currentIndex; if (bookmark == CursorBookmark.FIRST){ newIndex = 0; } else { if (bookmark == CursorBookmark.LAST){ newIndex = (view.length - 1); } else { if (bookmark != CursorBookmark.CURRENT){ try { newIndex = ListCollectionView(view).getBookmarkIndex(bookmark); if (newIndex < 0){ setCurrent(null); message = resourceManager.getString("collections", "bookmarkInvalid"); throw (new CursorError(message)); }; } catch(bmError:CollectionViewError) { message = resourceManager.getString("collections", "bookmarkInvalid"); throw (new CursorError(message)); }; }; }; }; newIndex = (newIndex + offset); var newCurrent:Object; if (newIndex >= view.length){ currentIndex = AFTER_LAST_INDEX; } else { if (newIndex < 0){ currentIndex = BEFORE_FIRST_INDEX; } else { newCurrent = ListCollectionView(view).getItemAt(newIndex, prefetch); currentIndex = newIndex; }; }; setCurrent(newCurrent); } public function insert(_arg1:Object):void{ var _local2:int; var _local3:String; if (afterLast){ _local2 = view.length; } else { if (beforeFirst){ if (view.length > 0){ _local3 = resourceManager.getString("collections", "invalidInsert"); throw (new CursorError(_local3)); }; _local2 = 0; } else { _local2 = currentIndex; }; }; ListCollectionView(view).addItemAt(_arg1, _local2); } public function get afterLast():Boolean{ checkValid(); return ((((currentIndex == AFTER_LAST_INDEX)) || ((view.length == 0)))); } private function checkValid():void{ var _local1:String; if (invalid){ _local1 = resourceManager.getString("collections", "invalidCursor"); throw (new CursorError(_local1)); }; } private function collectionEventHandler(_arg1:CollectionEvent):void{ var event = _arg1; switch (event.kind){ case CollectionEventKind.ADD: if (event.location <= currentIndex){ currentIndex = (currentIndex + event.items.length); }; break; case CollectionEventKind.REMOVE: if (event.location < currentIndex){ currentIndex = (currentIndex - event.items.length); } else { if (event.location == currentIndex){ if (currentIndex < view.length){ try { setCurrent(ListCollectionView(view).getItemAt(currentIndex)); } catch(error:ItemPendingError) { setCurrent(null, false); }; } else { currentIndex = AFTER_LAST_INDEX; setCurrent(null); }; }; }; break; case CollectionEventKind.MOVE: if (event.oldLocation == currentIndex){ currentIndex = event.location; } else { if (event.oldLocation < currentIndex){ currentIndex = (currentIndex - event.items.length); }; if (event.location <= currentIndex){ currentIndex = (currentIndex + event.items.length); }; }; break; case CollectionEventKind.REFRESH: if (!((beforeFirst) || (afterLast))){ currentIndex = ListCollectionView(view).getItemIndex(currentValue); if (currentIndex == -1){ setCurrent(null); }; }; break; case CollectionEventKind.REPLACE: if (event.location == currentIndex){ try { setCurrent(ListCollectionView(view).getItemAt(currentIndex)); } catch(error:ItemPendingError) { setCurrent(null, false); }; }; break; case CollectionEventKind.RESET: currentIndex = BEFORE_FIRST_INDEX; setCurrent(null); break; }; } public function moveNext():Boolean{ if (afterLast){ return (false); }; var _local1:int = (beforeFirst) ? 0 : (currentIndex + 1); if (_local1 >= view.length){ _local1 = AFTER_LAST_INDEX; setCurrent(null); } else { setCurrent(ListCollectionView(view).getItemAt(_local1)); }; currentIndex = _local1; return (!(afterLast)); } public function get view():ICollectionView{ checkValid(); return (_view); } public function movePrevious():Boolean{ if (beforeFirst){ return (false); }; var _local1:int = (afterLast) ? (view.length - 1) : (currentIndex - 1); if (_local1 == -1){ _local1 = BEFORE_FIRST_INDEX; setCurrent(null); } else { setCurrent(ListCollectionView(view).getItemAt(_local1)); }; currentIndex = _local1; return (!(beforeFirst)); } public function findLast(_arg1:Object):Boolean{ var index:int; var values = _arg1; checkValid(); var lcView:ListCollectionView = ListCollectionView(view); try { index = lcView.findItem(values, Sort.LAST_INDEX_MODE); } catch(sortError:SortError) { throw (new CursorError(sortError.message)); }; if (index > -1){ currentIndex = index; setCurrent(lcView.getItemAt(currentIndex)); }; return ((index > -1)); } public function get beforeFirst():Boolean{ checkValid(); return ((((currentIndex == BEFORE_FIRST_INDEX)) || ((view.length == 0)))); } public function get bookmark():CursorBookmark{ checkValid(); if ((((view.length == 0)) || (beforeFirst))){ return (CursorBookmark.FIRST); }; if (afterLast){ return (CursorBookmark.LAST); }; return (ListCollectionView(view).getBookmark(currentIndex)); } public function findFirst(_arg1:Object):Boolean{ var index:int; var values = _arg1; checkValid(); var lcView:ListCollectionView = ListCollectionView(view); try { index = lcView.findItem(values, Sort.FIRST_INDEX_MODE); } catch(sortError:SortError) { throw (new CursorError(sortError.message)); }; if (index > -1){ currentIndex = index; setCurrent(lcView.getItemAt(currentIndex)); }; return ((index > -1)); } public function get current():Object{ checkValid(); return (currentValue); } }
Section 24
//ModifiedCollectionView (mx.collections.ModifiedCollectionView) package mx.collections { import flash.events.*; import mx.events.*; import mx.resources.*; import flash.utils.*; import mx.collections.errors.*; public class ModifiedCollectionView implements ICollectionView { private var addedItems:Dictionary; private var _showPreserved:Boolean;// = false private var list:ICollectionView; private var deltaLength:int;// = 0 private var resourceManager:IResourceManager; private var removedItems:Dictionary; private var itemWrappersByIndex:Array; private var replacementItems:Dictionary; private var deltas:Array; private var replacedItems:Dictionary; private var itemWrappersByCollectionMod:Dictionary; public static const REPLACEMENT:String = "replacement"; public static const REPLACED:String = "replaced"; public static const REMOVED:String = "removed"; mx_internal static const VERSION:String = "3.0.0.0"; public static const ADDED:String = "added"; public function ModifiedCollectionView(_arg1:ICollectionView){ resourceManager = ResourceManager.getInstance(); deltas = []; removedItems = new Dictionary(true); addedItems = new Dictionary(true); replacedItems = new Dictionary(true); replacementItems = new Dictionary(true); itemWrappersByIndex = []; itemWrappersByCollectionMod = new Dictionary(true); super(); this.list = _arg1; } mx_internal function getBookmarkIndex(_arg1:CursorBookmark):int{ var _local3:String; if (((!((_arg1 is ModifiedCollectionViewBookmark))) || (!((ModifiedCollectionViewBookmark(_arg1).view == this))))){ _local3 = resourceManager.getString("collections", "bookmarkNotFound"); throw (new CollectionViewError(_local3)); }; var _local2:ModifiedCollectionViewBookmark = ModifiedCollectionViewBookmark(_arg1); return (_local2.index); } public function willTrigger(_arg1:String):Boolean{ return (false); } private function removeModification(_arg1:CollectionModification):Boolean{ var _local2:int; while (_local2 < deltas.length) { if (deltas[_local2] == _arg1){ deltas.splice(_local2, 1); return (true); }; _local2++; }; return (false); } mx_internal function getWrappedItemUsingCursor(_arg1:ModifiedCollectionViewCursor, _arg2:int):Object{ var _local6:CollectionModification; var _local9:Object; var _local3:int = _arg2; var _local4:Object; var _local5:CollectionModification; var _local7:Boolean; var _local8:int; while (_local8 < deltas.length) { _local6 = deltas[_local8]; if (_local3 < _local6.index){ break; }; if (_local6.modificationType == CollectionModification.REPLACE){ if ((((((_local3 == _local6.index)) && (_local6.showOldReplace))) && (_showPreserved))){ _local5 = _local6; break; }; if ((((((((_local3 == (_local6.index + 1))) && (_local6.showOldReplace))) && (_local6.showNewReplace))) && (_showPreserved))){ _local3--; _local7 = true; break; }; if ((((_local3 == _local6.index)) && (((((!(_local6.showOldReplace)) && (_local6.showNewReplace))) || (!(_showPreserved)))))){ _local7 = true; break; }; _local3 = (_local3 - _local6.modCount); } else { if (isActive(_local6)){ if ((((_local3 == _local6.index)) && (_local6.isRemove))){ _local5 = _local6; break; } else { if (_local3 >= _local6.index){ _local3 = (_local3 - _local6.modCount); }; }; }; }; _local8++; }; if (_local5){ _local4 = _local5.item; } else { _arg1.internalCursor.seek(CursorBookmark.CURRENT, (_local3 - _arg1.internalIndex)); _local4 = _arg1.internalCursor.current; _arg1.internalIndex = _local3; }; if (((((_local6) && ((_local3 == _local6.index)))) && ((_local6.modificationType == CollectionModification.ADD)))){ _local9 = getUniqueItemWrapper(_local4, _local6, _local3); } else { _local9 = getUniqueItemWrapper(_local4, _local5, _local3); }; return (_local9); } public function contains(_arg1:Object):Boolean{ return (false); } private function integrateReplacedElements(_arg1:CollectionEvent, _arg2:int, _arg3:int):void{ var _local9:Object; var _local10:Object; var _local11:CollectionModification; var _local12:CollectionModification; var _local4:int; var _local5:int; var _local6:Boolean; var _local7:int = _arg1.items.length; var _local8:int; while ((((_local4 < deltas.length)) && ((_local5 < _local7)))) { _local9 = PropertyChangeEvent(_arg1.items[_local5]).oldValue; _local10 = PropertyChangeEvent(_arg1.items[_local5]).newValue; _local11 = CollectionModification(deltas[_local4]); _local12 = new CollectionModification((_arg1.location + _local5), _local9, CollectionModification.REPLACE); if (((((_local11.isRemove) && ((_local11.index <= _local12.index)))) || (((!(_local11.isRemove)) && ((_local11.index < _local12.index)))))){ _local4++; } else { if ((((((_local11.modificationType == CollectionModification.ADD)) || ((_local11.modificationType == CollectionModification.REPLACE)))) && ((_local11.index == _local12.index)))){ _local4++; _local5++; } else { deltas.splice((_local4 + _local5), 0, _local12); replacedItems[getUniqueItemWrapper(_local9, _local12, (_arg1.location + _local5))] = _local12; replacementItems[getUniqueItemWrapper(_local10, _local12, (_arg1.location + _local5), true)] = _local12; _local5++; _local4++; }; }; }; while (_local5 < _local7) { _local9 = PropertyChangeEvent(_arg1.items[_local5]).oldValue; _local10 = PropertyChangeEvent(_arg1.items[_local5]).newValue; _local12 = new CollectionModification((_arg1.location + _local5), _local9, CollectionModification.REPLACE); deltas.push(_local12); replacedItems[getUniqueItemWrapper(_local9, _local12, (_arg1.location + _local5))] = _local12; replacementItems[getUniqueItemWrapper(_local10, _local12, (_arg1.location + _local5), true)] = _local12; _local5++; }; } mx_internal function getBookmark(_arg1:ModifiedCollectionViewCursor):ModifiedCollectionViewBookmark{ var _local4:String; var _local2:int = _arg1.currentIndex; if ((((_local2 < 0)) || ((_local2 > length)))){ _local4 = resourceManager.getString("collections", "invalidIndex", [_local2]); throw (new CollectionViewError(_local4)); }; var _local3:Object = _arg1.current; return (new ModifiedCollectionViewBookmark(_local3, this, 0, _local2, _arg1.internalCursor.bookmark, _arg1.internalIndex)); } public function get sort():Sort{ return (null); } public function itemUpdated(_arg1:Object, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ } public function processCollectionEvent(_arg1:CollectionEvent, _arg2:int, _arg3:int):void{ switch (_arg1.kind){ case CollectionEventKind.ADD: integrateAddedElements(_arg1, _arg2, _arg3); break; case CollectionEventKind.REMOVE: integrateRemovedElements(_arg1, _arg2, _arg3); break; case CollectionEventKind.REPLACE: integrateReplacedElements(_arg1, _arg2, _arg3); break; }; } public function get showPreservedState():Boolean{ return (_showPreserved); } public function getSemantics(_arg1:ItemWrapper):String{ if (removedItems[_arg1]){ return (ModifiedCollectionView.REMOVED); }; if (addedItems[_arg1]){ return (ModifiedCollectionView.ADDED); }; if (replacedItems[_arg1]){ return (ModifiedCollectionView.REPLACED); }; if (replacementItems[_arg1]){ return (ModifiedCollectionView.REPLACEMENT); }; return (null); } private function getUniqueItemWrapper(_arg1:Object, _arg2:CollectionModification, _arg3:int, _arg4:Boolean=false):Object{ if (((_arg2) && (((_arg2.isRemove) || ((((_arg2.modificationType == CollectionModification.REPLACE)) && (!(_arg4)))))))){ if (!itemWrappersByCollectionMod[_arg2]){ itemWrappersByCollectionMod[_arg2] = new ItemWrapper(_arg1); }; return (itemWrappersByCollectionMod[_arg2]); }; if (((_arg2) && ((_arg2.modificationType == CollectionModification.ADD)))){ _arg3 = _arg2.index; }; if (!itemWrappersByIndex[_arg3]){ itemWrappersByIndex[_arg3] = new ItemWrapper(_arg1); }; return (itemWrappersByIndex[_arg3]); } public function enableAutoUpdate():void{ } public function set sort(_arg1:Sort):void{ } public function removeItem(_arg1:ItemWrapper):void{ var _local2:CollectionModification = (removedItems[_arg1] as CollectionModification); if (!_local2){ _local2 = (replacedItems[_arg1] as CollectionModification); if (_local2){ delete replacedItems[_arg1]; _local2.stopShowingReplacedValue(); deltaLength--; if (_local2.modCount == 0){ removeModification(_local2); }; }; } else { if (removeModification(_local2)){ delete removedItems[_arg1]; deltaLength--; }; }; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ } private function integrateRemovedElements(_arg1:CollectionEvent, _arg2:int, _arg3:int):void{ var _local9:CollectionModification; var _local10:CollectionModification; var _local4:int; var _local5:int; var _local6:int; var _local7:int = _arg1.items.length; var _local8:int; while ((((_local4 < deltas.length)) && ((_local5 < _local7)))) { _local9 = CollectionModification(deltas[_local4]); _local10 = new CollectionModification(_arg1.location, _arg1.items[_local5], CollectionModification.REMOVE); removedItems[getUniqueItemWrapper(_arg1.items[_local5], _local10, 0)] = _local10; if (_local8 != 0){ _local9.index = (_local9.index + _local8); }; if (((((_local9.isRemove) && ((_local9.index <= _local10.index)))) || (((!(_local9.isRemove)) && ((_local9.index < _local10.index)))))){ _local4++; continue; } else { if (((!(_local9.isRemove)) && ((_local9.index == _local10.index)))){ deltas.splice((_local4 + _local5), 1); } else { deltas.splice((_local4 + _local5), 0, _local10); _local4++; }; }; _local8--; _local5++; }; while (_local4 < deltas.length) { var _temp1 = _local4; _local4 = (_local4 + 1); _local9 = CollectionModification(deltas[_temp1]); CollectionModification(deltas[_temp1]).index = (_local9.index + _local8); }; while (_local5 < _local7) { _local10 = new CollectionModification(_arg1.location, _arg1.items[_local5], CollectionModification.REMOVE); deltas.push(_local10); removedItems[getUniqueItemWrapper(_arg1.items[_local5], _local10, 0)] = _local10; _local5++; }; deltaLength = (deltaLength + (_arg1.items.length - _local6)); } public function dispatchEvent(_arg1:Event):Boolean{ return (false); } private function isActive(_arg1:CollectionModification):Boolean{ return (_showPreserved); } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ } public function refresh():Boolean{ return (false); } public function addItem(_arg1:ItemWrapper):void{ var _local2:CollectionModification = (addedItems[_arg1] as CollectionModification); if (!_local2){ _local2 = (replacementItems[_arg1] as CollectionModification); if (_local2){ _local2.startShowingReplacementValue(); deltaLength++; if (_local2.modCount == 0){ removeModification(_local2); }; }; } else { if (removeModification(_local2)){ deltaLength++; }; }; } public function get length():int{ return ((list.length + (_showPreserved) ? deltaLength : 0)); } public function set filterFunction(_arg1:Function):void{ } public function set showPreservedState(_arg1:Boolean):void{ _showPreserved = _arg1; } public function createCursor():IViewCursor{ var _local1:IViewCursor = list.createCursor(); var _local2:Object = _local1.current; return (new ModifiedCollectionViewCursor(this, _local1, _local2)); } private function integrateAddedElements(_arg1:CollectionEvent, _arg2:int, _arg3:int):void{ var _local9:CollectionModification; var _local10:CollectionModification; var _local4:int; var _local5:int; var _local6:Boolean; var _local7:int = _arg1.items.length; var _local8:int; while ((((_local4 < deltas.length)) && ((_local5 < _local7)))) { _local9 = CollectionModification(deltas[_local4]); _local10 = new CollectionModification((_arg1.location + _local5), null, CollectionModification.ADD); addedItems[getUniqueItemWrapper(_arg1.items[_local5], _local10, 0)] = _local10; if (((((_local9.isRemove) && ((_local9.index <= _local10.index)))) || (((!(_local9.isRemove)) && ((_local9.index < _local10.index)))))){ _local4++; } else { deltas.splice((_local4 + _local5), 0, _local10); _local8++; _local5++; _local4++; }; }; while (_local4 < deltas.length) { var _temp1 = _local4; _local4 = (_local4 + 1); _local9 = CollectionModification(deltas[_temp1]); CollectionModification(deltas[_temp1]).index = (_local9.index + _local8); }; while (_local5 < _local7) { _local10 = new CollectionModification((_arg1.location + _local5), null, CollectionModification.ADD); deltas.push(_local10); addedItems[getUniqueItemWrapper(_arg1.items[_local5], _local10, 0)] = _local10; _local5++; }; deltaLength = (deltaLength - _arg1.items.length); } public function disableAutoUpdate():void{ } public function hasEventListener(_arg1:String):Boolean{ return (false); } public function get filterFunction():Function{ return (null); } } }//package mx.collections import flash.events.*; import mx.events.*; import mx.resources.*; import mx.collections.errors.*; class ModifiedCollectionViewBookmark extends CursorBookmark { mx_internal var viewRevision:int; mx_internal var index:int; mx_internal var internalBookmark:CursorBookmark; mx_internal var view:ModifiedCollectionView; mx_internal var internalIndex:int; private function ModifiedCollectionViewBookmark(_arg1:Object, _arg2:ModifiedCollectionView, _arg3:int, _arg4:int, _arg5:CursorBookmark, _arg6:int){ super(_arg1); this.view = _arg2; this.viewRevision = _arg3; this.index = _arg4; this.internalBookmark = _arg5; this.internalIndex = _arg6; } override public function getViewIndex():int{ return (view.getBookmarkIndex(this)); } } class ModifiedCollectionViewCursor extends EventDispatcher implements IViewCursor { private var _view:ModifiedCollectionView; private var resourceManager:IResourceManager; public var internalIndex:int; mx_internal var currentIndex:int; public var internalCursor:IViewCursor; private var invalid:Boolean; private var currentValue:Object; private static const BEFORE_FIRST_INDEX:int = -1; private static const AFTER_LAST_INDEX:int = -2; private function ModifiedCollectionViewCursor(_arg1:ModifiedCollectionView, _arg2:IViewCursor, _arg3:Object){ var view = _arg1; var cursor = _arg2; var current = _arg3; resourceManager = ResourceManager.getInstance(); super(); _view = view; internalCursor = cursor; if (((cursor.beforeFirst) && (!(current)))){ internalIndex = BEFORE_FIRST_INDEX; } else { if (((cursor.afterLast) && (!(current)))){ internalIndex = AFTER_LAST_INDEX; } else { internalIndex = 0; }; }; currentIndex = ((view.length > 0)) ? 0 : AFTER_LAST_INDEX; if (currentIndex == 0){ try { setCurrent(current, false); } catch(e:ItemPendingError) { currentIndex = BEFORE_FIRST_INDEX; setCurrent(null, false); }; }; } public function findAny(_arg1:Object):Boolean{ return (false); } public function findFirst(_arg1:Object):Boolean{ return (false); } public function seek(_arg1:CursorBookmark, _arg2:int=0, _arg3:int=0):void{ var message:String; var mcvBookmark:ModifiedCollectionViewBookmark; var bookmark = _arg1; var offset = _arg2; var prefetch = _arg3; checkValid(); if (view.length == 0){ currentIndex = AFTER_LAST_INDEX; setCurrent(null, false); return; }; var newIndex:int = currentIndex; if (bookmark == CursorBookmark.FIRST){ newIndex = 0; internalIndex = 0; internalCursor.seek(CursorBookmark.FIRST); } else { if (bookmark == CursorBookmark.LAST){ newIndex = (view.length - 1); internalCursor.seek(CursorBookmark.LAST); } else { if (bookmark != CursorBookmark.CURRENT){ try { mcvBookmark = (bookmark as ModifiedCollectionViewBookmark); newIndex = ModifiedCollectionView(view).getBookmarkIndex(bookmark); if (((!(mcvBookmark)) || ((newIndex < 0)))){ setCurrent(null); message = resourceManager.getString("collections", "bookmarkInvalid"); throw (new CursorError(message)); }; internalIndex = mcvBookmark.internalIndex; internalCursor.seek(mcvBookmark.internalBookmark); } catch(bmError:CollectionViewError) { message = resourceManager.getString("collections", "bookmarkInvalid"); throw (new CursorError(message)); }; }; }; }; newIndex = (newIndex + offset); var newCurrent:Object; if (newIndex >= view.length){ currentIndex = AFTER_LAST_INDEX; } else { if (newIndex < 0){ currentIndex = BEFORE_FIRST_INDEX; } else { newCurrent = ModifiedCollectionView(view).getWrappedItemUsingCursor(this, newIndex); currentIndex = newIndex; }; }; setCurrent(newCurrent); } public function insert(_arg1:Object):void{ } public function get afterLast():Boolean{ checkValid(); return ((((currentIndex == AFTER_LAST_INDEX)) || ((view.length == 0)))); } public function remove():Object{ return (null); } private function checkValid():void{ var _local1:String; if (invalid){ _local1 = resourceManager.getString("collections", "invalidCursor"); throw (new CursorError(_local1)); }; } public function get view():ICollectionView{ checkValid(); return (_view); } public function movePrevious():Boolean{ if (beforeFirst){ return (false); }; var _local1:int = (afterLast) ? (view.length - 1) : (currentIndex - 1); if (_local1 == -1){ _local1 = BEFORE_FIRST_INDEX; setCurrent(null); } else { setCurrent(ModifiedCollectionView(view).getWrappedItemUsingCursor(this, _local1)); }; currentIndex = _local1; return (!(beforeFirst)); } public function moveNext():Boolean{ if (afterLast){ return (false); }; var _local1:int = (beforeFirst) ? 0 : (currentIndex + 1); if (_local1 >= view.length){ _local1 = AFTER_LAST_INDEX; setCurrent(null); } else { setCurrent(ModifiedCollectionView(view).getWrappedItemUsingCursor(this, _local1)); }; currentIndex = _local1; return (!(afterLast)); } public function findLast(_arg1:Object):Boolean{ return (false); } public function get beforeFirst():Boolean{ checkValid(); return ((((currentIndex == BEFORE_FIRST_INDEX)) || ((view.length == 0)))); } public function get bookmark():CursorBookmark{ checkValid(); if ((((view.length == 0)) || (beforeFirst))){ return (CursorBookmark.FIRST); }; if (afterLast){ return (CursorBookmark.LAST); }; return (ModifiedCollectionView(view).getBookmark(this)); } public function get current():Object{ checkValid(); return (currentValue); } private function setCurrent(_arg1:Object, _arg2:Boolean=true):void{ currentValue = _arg1; if (_arg2){ dispatchEvent(new FlexEvent(FlexEvent.CURSOR_UPDATE)); }; } } class CollectionModification { public var showOldReplace:Boolean;// = true private var _modCount:int;// = 0 public var showNewReplace:Boolean;// = false public var index:int; public var modificationType:String;// = null public var item:Object;// = null public static const ADD:String = "add"; public static const REPLACE:String = "replace"; public static const REMOVE:String = "remove"; private function CollectionModification(_arg1:int, _arg2:Object, _arg3:String){ this.index = _arg1; this.modificationType = _arg3; if (_arg3 != CollectionModification.ADD){ this.item = _arg2; }; if (_arg3 == CollectionModification.REMOVE){ _modCount = 1; } else { if (_arg3 == CollectionModification.ADD){ _modCount = -1; }; }; } public function startShowingReplacementValue():void{ showNewReplace = true; _modCount++; } public function get modCount():int{ return (_modCount); } public function get isRemove():Boolean{ return ((modificationType == CollectionModification.REMOVE)); } public function stopShowingReplacedValue():void{ showOldReplace = false; _modCount--; } }
Section 25
//Sort (mx.collections.Sort) package mx.collections { import flash.events.*; import mx.resources.*; import mx.utils.*; import mx.collections.errors.*; public class Sort extends EventDispatcher { private var noFieldsDescending:Boolean;// = false private var usingCustomCompareFunction:Boolean; private var defaultEmptyField:SortField; private var _fields:Array; private var _compareFunction:Function; private var _unique:Boolean; private var fieldList:Array; private var resourceManager:IResourceManager; public static const ANY_INDEX_MODE:String = "any"; mx_internal static const VERSION:String = "3.0.0.0"; public static const LAST_INDEX_MODE:String = "last"; public static const FIRST_INDEX_MODE:String = "first"; public function Sort(){ resourceManager = ResourceManager.getInstance(); fieldList = []; super(); } public function get unique():Boolean{ return (_unique); } public function get compareFunction():Function{ return ((usingCustomCompareFunction) ? _compareFunction : internalCompare); } public function set unique(_arg1:Boolean):void{ _unique = _arg1; } public function sort(_arg1:Array):void{ var fixedCompareFunction:Function; var message:String; var uniqueRet1:Object; var fields:Array; var i:int; var sortArgs:Object; var uniqueRet2:Object; var items = _arg1; if (((!(items)) || ((items.length <= 1)))){ return; }; if (usingCustomCompareFunction){ fixedCompareFunction = function (_arg1:Object, _arg2:Object):int{ return (compareFunction(_arg1, _arg2, _fields)); }; if (unique){ uniqueRet1 = items.sort(fixedCompareFunction, Array.UNIQUESORT); if (uniqueRet1 == 0){ message = resourceManager.getString("collections", "nonUnique"); throw (new SortError(message)); }; } else { items.sort(fixedCompareFunction); }; } else { fields = this.fields; if (((fields) && ((fields.length > 0)))){ sortArgs = initSortFields(items[0], true); if (unique){ if (((sortArgs) && ((fields.length == 1)))){ uniqueRet2 = items.sortOn(sortArgs.fields[0], (sortArgs.options[0] | Array.UNIQUESORT)); } else { uniqueRet2 = items.sort(internalCompare, Array.UNIQUESORT); }; if (uniqueRet2 == 0){ message = resourceManager.getString("collections", "nonUnique"); throw (new SortError(message)); }; } else { if (sortArgs){ items.sortOn(sortArgs.fields, sortArgs.options); } else { items.sort(internalCompare); }; }; } else { items.sort(internalCompare); }; }; } public function propertyAffectsSort(_arg1:String):Boolean{ var _local3:SortField; if (((usingCustomCompareFunction) || (!(fields)))){ return (true); }; var _local2:int; while (_local2 < fields.length) { _local3 = fields[_local2]; if ((((_local3.name == _arg1)) || (_local3.usingCustomCompareFunction))){ return (true); }; _local2++; }; return (false); } private function internalCompare(_arg1:Object, _arg2:Object, _arg3:Array=null):int{ var _local5:int; var _local6:int; var _local7:SortField; var _local4:int; if (!_fields){ _local4 = noFieldsCompare(_arg1, _arg2); } else { _local5 = 0; _local6 = (_arg3) ? _arg3.length : _fields.length; while ((((_local4 == 0)) && ((_local5 < _local6)))) { _local7 = SortField(_fields[_local5]); _local4 = _local7.internalCompare(_arg1, _arg2); _local5++; }; }; return (_local4); } public function reverse():void{ var _local1:int; if (fields){ _local1 = 0; while (_local1 < fields.length) { SortField(fields[_local1]).reverse(); _local1++; }; }; noFieldsDescending = !(noFieldsDescending); } private function noFieldsCompare(_arg1:Object, _arg2:Object, _arg3:Array=null):int{ var message:String; var a = _arg1; var b = _arg2; var fields = _arg3; if (!defaultEmptyField){ defaultEmptyField = new SortField(); try { defaultEmptyField.initCompare(a); } catch(e:SortError) { message = resourceManager.getString("collections", "noComparator", [a]); throw (new SortError(message)); }; }; var result:int = defaultEmptyField.compareFunction(a, b); if (noFieldsDescending){ result = (result * -1); }; return (result); } public function findItem(_arg1:Array, _arg2:Object, _arg3:String, _arg4:Boolean=false, _arg5:Function=null):int{ var compareForFind:Function; var fieldsForCompare:Array; var message:String; var index:int; var fieldName:String; var hadPreviousFieldName:Boolean; var i:int; var hasFieldName:Boolean; var objIndex:int; var match:Boolean; var prevCompare:int; var nextCompare:int; var items = _arg1; var values = _arg2; var mode = _arg3; var returnInsertionIndex = _arg4; var compareFunction = _arg5; if (!items){ message = resourceManager.getString("collections", "noItems"); throw (new SortError(message)); }; if (items.length == 0){ return ((returnInsertionIndex) ? 1 : -1); }; if (compareFunction == null){ compareForFind = this.compareFunction; if (((values) && ((fieldList.length > 0)))){ fieldsForCompare = []; hadPreviousFieldName = true; i = 0; while (i < fieldList.length) { fieldName = fieldList[i]; if (fieldName){ try { hasFieldName = !((values[fieldName] === undefined)); } catch(e:Error) { hasFieldName = false; }; if (hasFieldName){ if (!hadPreviousFieldName){ message = resourceManager.getString("collections", "findCondition", [fieldName]); throw (new SortError(message)); }; fieldsForCompare.push(fieldName); } else { hadPreviousFieldName = false; }; } else { fieldsForCompare.push(null); }; i = (i + 1); }; if (fieldsForCompare.length == 0){ message = resourceManager.getString("collections", "findRestriction"); throw (new SortError(message)); }; try { initSortFields(items[0]); } catch(initSortError:SortError) { }; }; } else { compareForFind = compareFunction; }; var found:Boolean; var objFound:Boolean; index = 0; var lowerBound:int; var upperBound:int = (items.length - 1); var obj:Object; var direction = 1; while (((!(objFound)) && ((lowerBound <= upperBound)))) { index = Math.round(((lowerBound + upperBound) / 2)); obj = items[index]; direction = (fieldsForCompare) ? compareForFind(values, obj, fieldsForCompare) : compareForFind(values, obj); switch (direction){ case -1: upperBound = (index - 1); break; case 0: objFound = true; switch (mode){ case ANY_INDEX_MODE: found = true; break; case FIRST_INDEX_MODE: found = (index == lowerBound); objIndex = (index - 1); match = true; while (((((match) && (!(found)))) && ((objIndex >= lowerBound)))) { obj = items[objIndex]; prevCompare = (fieldsForCompare) ? compareForFind(values, obj, fieldsForCompare) : compareForFind(values, obj); match = (prevCompare == 0); if (((!(match)) || (((match) && ((objIndex == lowerBound)))))){ found = true; index = (objIndex + (match) ? 0 : 1); }; objIndex = (objIndex - 1); }; break; case LAST_INDEX_MODE: found = (index == upperBound); objIndex = (index + 1); match = true; while (((((match) && (!(found)))) && ((objIndex <= upperBound)))) { obj = items[objIndex]; nextCompare = (fieldsForCompare) ? compareForFind(values, obj, fieldsForCompare) : compareForFind(values, obj); match = (nextCompare == 0); if (((!(match)) || (((match) && ((objIndex == upperBound)))))){ found = true; index = (objIndex - (match) ? 0 : 1); }; objIndex = (objIndex + 1); }; break; default: message = resourceManager.getString("collections", "unknownMode"); throw (new SortError(message)); }; break; case 1: lowerBound = (index + 1); break; }; }; if (((!(found)) && (!(returnInsertionIndex)))){ return (-1); }; return (((direction)>0) ? (index + 1) : index); } private function initSortFields(_arg1:Object, _arg2:Boolean=false):Object{ var _local4:int; var _local5:SortField; var _local6:int; var _local3:Object; _local4 = 0; while (_local4 < fields.length) { SortField(fields[_local4]).initCompare(_arg1); _local4++; }; if (_arg2){ _local3 = {fields:[], options:[]}; _local4 = 0; while (_local4 < fields.length) { _local5 = fields[_local4]; _local6 = _local5.getArraySortOnOptions(); if (_local6 == -1){ return (null); }; _local3.fields.push(_local5.name); _local3.options.push(_local6); _local4++; }; }; return (_local3); } public function set fields(_arg1:Array):void{ var _local2:SortField; var _local3:int; _fields = _arg1; fieldList = []; if (_fields){ _local3 = 0; while (_local3 < _fields.length) { _local2 = SortField(_fields[_local3]); fieldList.push(_local2.name); _local3++; }; }; dispatchEvent(new Event("fieldsChanged")); } public function get fields():Array{ return (_fields); } public function set compareFunction(_arg1:Function):void{ _compareFunction = _arg1; usingCustomCompareFunction = !((_compareFunction == null)); } override public function toString():String{ return (ObjectUtil.toString(this)); } } }//package mx.collections
Section 26
//SortField (mx.collections.SortField) package mx.collections { import flash.events.*; import mx.resources.*; import mx.utils.*; import mx.collections.errors.*; public class SortField extends EventDispatcher { private var _caseInsensitive:Boolean; private var _numeric:Object; private var _descending:Boolean; private var _compareFunction:Function; private var _usingCustomCompareFunction:Boolean; private var _name:String; private var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.0.0.0"; public function SortField(_arg1:String=null, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){ resourceManager = ResourceManager.getInstance(); super(); _name = _arg1; _caseInsensitive = _arg2; _descending = _arg3; _numeric = _arg4; _compareFunction = stringCompare; } public function get caseInsensitive():Boolean{ return (_caseInsensitive); } mx_internal function get usingCustomCompareFunction():Boolean{ return (_usingCustomCompareFunction); } public function set caseInsensitive(_arg1:Boolean):void{ if (_arg1 != _caseInsensitive){ _caseInsensitive = _arg1; dispatchEvent(new Event("caseInsensitiveChanged")); }; } public function get name():String{ return (_name); } public function get numeric():Object{ return (_numeric); } public function set name(_arg1:String):void{ _name = _arg1; dispatchEvent(new Event("nameChanged")); } private function numericCompare(_arg1:Object, _arg2:Object):int{ var fa:Number; var fb:Number; var a = _arg1; var b = _arg2; try { fa = ((_name == null)) ? Number(a) : Number(a[_name]); } catch(error:Error) { }; try { fb = ((_name == null)) ? Number(b) : Number(b[_name]); } catch(error:Error) { }; return (ObjectUtil.numericCompare(fa, fb)); } public function set numeric(_arg1:Object):void{ if (_numeric != _arg1){ _numeric = _arg1; dispatchEvent(new Event("numericChanged")); }; } private function stringCompare(_arg1:Object, _arg2:Object):int{ var fa:String; var fb:String; var a = _arg1; var b = _arg2; try { fa = ((_name == null)) ? String(a) : String(a[_name]); } catch(error:Error) { }; try { fb = ((_name == null)) ? String(b) : String(b[_name]); } catch(error:Error) { }; return (ObjectUtil.stringCompare(fa, fb, _caseInsensitive)); } public function get compareFunction():Function{ return (_compareFunction); } public function reverse():void{ descending = !(descending); } mx_internal function getArraySortOnOptions():int{ if (((((((usingCustomCompareFunction) || ((name == null)))) || ((_compareFunction == xmlCompare)))) || ((_compareFunction == dateCompare)))){ return (-1); }; var _local1:int; if (caseInsensitive){ _local1 = (_local1 | Array.CASEINSENSITIVE); }; if (descending){ _local1 = (_local1 | Array.DESCENDING); }; if ((((numeric == true)) || ((_compareFunction == numericCompare)))){ _local1 = (_local1 | Array.NUMERIC); }; return (_local1); } private function dateCompare(_arg1:Object, _arg2:Object):int{ var fa:Date; var fb:Date; var a = _arg1; var b = _arg2; try { fa = ((_name == null)) ? (a as Date) : (a[_name] as Date); } catch(error:Error) { }; try { fb = ((_name == null)) ? (b as Date) : (b[_name] as Date); } catch(error:Error) { }; return (ObjectUtil.dateCompare(fa, fb)); } mx_internal function internalCompare(_arg1:Object, _arg2:Object):int{ var _local3:int = compareFunction(_arg1, _arg2); if (descending){ _local3 = (_local3 * -1); }; return (_local3); } override public function toString():String{ return (ObjectUtil.toString(this)); } private function nullCompare(_arg1:Object, _arg2:Object):int{ var value:Object; var left:Object; var right:Object; var message:String; var a = _arg1; var b = _arg2; var found:Boolean; if ((((a == null)) && ((b == null)))){ return (0); }; if (_name){ try { left = a[_name]; } catch(error:Error) { }; try { right = b[_name]; } catch(error:Error) { }; }; if ((((left == null)) && ((right == null)))){ return (0); }; if (left == null){ left = a; }; if (right == null){ right = b; }; var typeLeft = typeof(left); var typeRight = typeof(right); if ((((typeLeft == "string")) || ((typeRight == "string")))){ found = true; _compareFunction = stringCompare; } else { if ((((typeLeft == "object")) || ((typeRight == "object")))){ if ((((typeLeft is Date)) || ((typeRight is Date)))){ found = true; _compareFunction = dateCompare; }; } else { if ((((typeLeft == "xml")) || ((typeRight == "xml")))){ found = true; _compareFunction = xmlCompare; } else { if ((((((((typeLeft == "number")) || ((typeRight == "number")))) || ((typeLeft == "boolean")))) || ((typeRight == "boolean")))){ found = true; _compareFunction = numericCompare; }; }; }; }; if (found){ return (_compareFunction(left, right)); }; message = resourceManager.getString("collections", "noComparatorSortField", [name]); throw (new SortError(message)); } public function set descending(_arg1:Boolean):void{ if (_descending != _arg1){ _descending = _arg1; dispatchEvent(new Event("descendingChanged")); }; } mx_internal function initCompare(_arg1:Object):void{ var value:Object; var typ:String; var test:String; var obj = _arg1; if (!usingCustomCompareFunction){ if (numeric == true){ _compareFunction = numericCompare; } else { if (((caseInsensitive) || ((numeric == false)))){ _compareFunction = stringCompare; } else { if (_name){ try { value = obj[_name]; } catch(error:Error) { }; }; if (value == null){ value = obj; }; typ = typeof(value); switch (typ){ case "string": _compareFunction = stringCompare; break; case "object": if ((value is Date)){ _compareFunction = dateCompare; } else { _compareFunction = stringCompare; try { test = value.toString(); } catch(error2:Error) { }; if (((!(test)) || ((test == "[object Object]")))){ _compareFunction = nullCompare; }; }; break; case "xml": _compareFunction = xmlCompare; break; case "boolean": case "number": _compareFunction = numericCompare; break; }; }; }; }; } public function get descending():Boolean{ return (_descending); } public function set compareFunction(_arg1:Function):void{ _compareFunction = _arg1; _usingCustomCompareFunction = !((_arg1 == null)); } private function xmlCompare(_arg1:Object, _arg2:Object):int{ var sa:String; var sb:String; var a = _arg1; var b = _arg2; try { sa = ((_name == null)) ? a.toString() : a[_name].toString(); } catch(error:Error) { }; try { sb = ((_name == null)) ? b.toString() : b[_name].toString(); } catch(error:Error) { }; if (numeric == true){ return (ObjectUtil.numericCompare(parseFloat(sa), parseFloat(sb))); }; return (ObjectUtil.stringCompare(sa, sb, _caseInsensitive)); } } }//package mx.collections
Section 27
//XMLListAdapter (mx.collections.XMLListAdapter) package mx.collections { import flash.events.*; import mx.events.*; import mx.resources.*; import flash.utils.*; import mx.utils.*; public class XMLListAdapter extends EventDispatcher implements IList, IXMLNotifiable { private var uidCounter:int;// = 0 private var _dispatchEvents:int;// = 0 private var _busy:int;// = 0 private var seedUID:String; private var _source:XMLList; private var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.0.0.0"; public function XMLListAdapter(_arg1:XMLList=null){ resourceManager = ResourceManager.getInstance(); super(); disableEvents(); this.source = _arg1; enableEvents(); } public function setItemAt(_arg1:Object, _arg2:int):Object{ var _local4:String; var _local5:CollectionEvent; var _local6:PropertyChangeEvent; if ((((_arg2 < 0)) || ((_arg2 >= length)))){ _local4 = resourceManager.getString("collections", "outOfBounds", [_arg2]); throw (new RangeError(_local4)); }; var _local3:Object = source[_arg2]; source[_arg2] = _arg1; stopTrackUpdates(_local3); startTrackUpdates(_arg1, (seedUID + uidCounter.toString())); uidCounter++; if (_dispatchEvents == 0){ _local5 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local5.kind = CollectionEventKind.REPLACE; _local6 = new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE); _local6.kind = PropertyChangeEventKind.UPDATE; _local6.oldValue = _local3; _local6.newValue = _arg1; _local5.location = _arg2; _local5.items.push(_local6); dispatchEvent(_local5); }; return (_local3); } protected function startTrackUpdates(_arg1:Object, _arg2:String):void{ XMLNotifier.getInstance().watchXML(_arg1, this, _arg2); } public function removeAll():void{ var _local1:int; var _local2:CollectionEvent; if (length > 0){ _local1 = (length - 1); while (_local1 >= 0) { stopTrackUpdates(source[_local1]); delete source[_local1]; _local1--; }; if (_dispatchEvents == 0){ _local2 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local2.kind = CollectionEventKind.RESET; dispatchEvent(_local2); }; }; } protected function itemUpdateHandler(_arg1:PropertyChangeEvent):void{ var _local2:CollectionEvent; if (_dispatchEvents == 0){ _local2 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local2.kind = CollectionEventKind.UPDATE; _local2.items.push(_arg1); dispatchEvent(_local2); }; } public function getItemIndex(_arg1:Object):int{ var _local2:int; var _local3:int; var _local4:Object; if ((((_arg1 is XML)) && (source.contains(XML(_arg1))))){ _local2 = length; _local3 = 0; while (_local3 < _local2) { _local4 = source[_local3]; if (_local4 === _arg1){ return (_local3); }; _local3++; }; }; return (-1); } public function removeItemAt(_arg1:int):Object{ var _local3:String; var _local4:CollectionEvent; if ((((_arg1 < 0)) || ((_arg1 >= length)))){ _local3 = resourceManager.getString("collections", "outOfBounds", [_arg1]); throw (new RangeError(_local3)); }; setBusy(); var _local2:Object = source[_arg1]; delete source[_arg1]; stopTrackUpdates(_local2); if (_dispatchEvents == 0){ _local4 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local4.kind = CollectionEventKind.REMOVE; _local4.location = _arg1; _local4.items.push(_local2); dispatchEvent(_local4); }; clearBusy(); return (_local2); } public function addItem(_arg1:Object):void{ addItemAt(_arg1, length); } public function get source():XMLList{ return (_source); } public function toArray():Array{ var _local1:XMLList = source; var _local2:int = _local1.length(); var _local3:Array = []; var _local4:int; while (_local4 < _local2) { _local3[_local4] = _local1[_local4]; _local4++; }; return (_local3); } protected function disableEvents():void{ _dispatchEvents--; } public function xmlNotification(_arg1:Object, _arg2:String, _arg3:Object, _arg4:Object, _arg5:Object):void{ var _local6:String; var _local7:Object; var _local8:Object; var _local9:*; var _local10:*; if (_arg1 === _arg3){ switch (_arg2){ case "attributeAdded": _local6 = ("@" + String(_arg4)); _local8 = _arg5; break; case "attributeChanged": _local6 = ("@" + String(_arg4)); _local7 = _arg5; _local8 = _arg3[_local6]; break; case "attributeRemoved": _local6 = ("@" + String(_arg4)); _local7 = _arg5; break; case "nodeAdded": _local6 = _arg4.localName(); _local8 = _arg4; break; case "nodeChanged": _local6 = _arg4.localName(); _local7 = _arg5; _local8 = _arg4; break; case "nodeRemoved": _local6 = _arg4.localName(); _local7 = _arg4; break; case "textSet": _local6 = String(_arg4); _local8 = String(_arg3[_local6]); _local7 = _arg5; break; default: break; }; } else { if (_arg2 == "textSet"){ _local9 = _arg3.parent(); if (_local9 != undefined){ _local10 = _local9.parent(); if (_local10 === _arg1){ _local6 = _local9.name().toString(); _local8 = _arg4; _local7 = _arg5; }; }; }; }; itemUpdated(_arg1, _local6, _local7, _local8); } public function addItemAt(_arg1:Object, _arg2:int):void{ var _local3:String; var _local4:CollectionEvent; if ((((_arg2 < 0)) || ((_arg2 > length)))){ _local3 = resourceManager.getString("collections", "outOfBounds", [_arg2]); throw (new RangeError(_local3)); }; if (((!((_arg1 is XML))) && (!((((_arg1 is XMLList)) && ((_arg1.length() == 1))))))){ _local3 = resourceManager.getString("collections", "invalidType"); throw (new Error(_local3)); }; setBusy(); if (_arg2 == 0){ source[0] = ((length > 0)) ? (_arg1 + source[0]) : _arg1; } else { source[(_arg2 - 1)] = (source[(_arg2 - 1)] + _arg1); }; startTrackUpdates(_arg1, (seedUID + uidCounter.toString())); uidCounter++; if (_dispatchEvents == 0){ _local4 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local4.kind = CollectionEventKind.ADD; _local4.items.push(_arg1); _local4.location = _arg2; dispatchEvent(_local4); }; clearBusy(); } public function getItemAt(_arg1:int, _arg2:int=0):Object{ var _local3:String; if ((((_arg1 < 0)) || ((_arg1 >= length)))){ _local3 = resourceManager.getString("collections", "outOfBounds", [_arg1]); throw (new RangeError(_local3)); }; return (source[_arg1]); } override public function toString():String{ if (source){ return (source.toString()); }; return (getQualifiedClassName(this)); } public function get length():int{ return (source.length()); } public function itemUpdated(_arg1:Object, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ var _local5:PropertyChangeEvent = new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE); _local5.kind = PropertyChangeEventKind.UPDATE; _local5.source = _arg1; _local5.property = _arg2; _local5.oldValue = _arg3; _local5.newValue = _arg4; itemUpdateHandler(_local5); } protected function stopTrackUpdates(_arg1:Object):void{ XMLNotifier.getInstance().unwatchXML(_arg1, this); } private function clearBusy():void{ _busy++; if (_busy > 0){ _busy = 0; }; } public function set source(_arg1:XMLList):void{ var _local2:int; var _local3:int; var _local4:CollectionEvent; if (((_source) && (_source.length()))){ _local3 = _source.length(); _local2 = 0; while (_local2 < _local3) { stopTrackUpdates(_source[_local2]); _local2++; }; }; _source = (_arg1) ? _arg1 : XMLList(new XMLList("")); seedUID = UIDUtil.createUID(); uidCounter = 0; _local3 = _source.length(); _local2 = 0; while (_local2 < _local3) { startTrackUpdates(_source[_local2], (seedUID + uidCounter.toString())); uidCounter++; _local2++; }; if (_dispatchEvents == 0){ _local4 = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local4.kind = CollectionEventKind.RESET; dispatchEvent(_local4); }; } public function busy():Boolean{ return (!((_busy == 0))); } private function setBusy():void{ _busy--; } protected function enableEvents():void{ _dispatchEvents++; if (_dispatchEvents > 0){ _dispatchEvents = 0; }; } } }//package mx.collections
Section 28
//XMLListCollection (mx.collections.XMLListCollection) package mx.collections { public class XMLListCollection extends ListCollectionView { mx_internal static const VERSION:String = "3.0.0.0"; public function XMLListCollection(_arg1:XMLList=null){ this.source = _arg1; } public function child(_arg1:Object):XMLList{ var propertyName = _arg1; return (execXMLListFunction(function (_arg1:Object):XMLList{ return (_arg1.child(propertyName)); })); } private function execXMLListFunction(_arg1:Function):XMLList{ var _local2:int; var _local3:XMLList; var _local4:int; var _local5:Object; if (!localIndex){ return (_arg1(source)); }; _local2 = localIndex.length; _local3 = new XMLList(""); _local4 = 0; while (_local4 < _local2) { _local5 = localIndex[_local4]; _local3 = (_local3 + _arg1(_local5)); _local4++; }; return (_local3); } override public function toString():String{ var _local1:String; var _local2:int; if (!localIndex){ return (source.toString()); }; _local1 = ""; _local2 = 0; while (_local2 < localIndex.length) { if (_local2 > 0){ _local1 = (_local1 + "\n"); }; _local1 = (_local1 + localIndex[_local2].toString()); _local2++; }; return (_local1); } public function text():XMLList{ return (execXMLListFunction(function (_arg1:Object):XMLList{ return (_arg1.text()); })); } public function toXMLString():String{ var _local1:String; var _local2:int; if (!localIndex){ return (source.toXMLString()); }; _local1 = ""; _local2 = 0; while (_local2 < localIndex.length) { if (_local2 > 0){ _local1 = (_local1 + "\n"); }; _local1 = (_local1 + localIndex[_local2].toXMLString()); _local2++; }; return (_local1); } public function copy():XMLList{ return (execXMLListFunction(function (_arg1:Object):XMLList{ return (XMLList(_arg1.copy())); })); } public function set source(_arg1:XMLList):void{ if (list){ XMLListAdapter(list).source = null; }; list = new XMLListAdapter(_arg1); } public function attributes():XMLList{ return (execXMLListFunction(function (_arg1:Object):XMLList{ return (_arg1.attributes()); })); } public function get source():XMLList{ return ((list) ? XMLListAdapter(list).source : null); } public function attribute(_arg1:Object):XMLList{ var attributeName = _arg1; return (execXMLListFunction(function (_arg1:Object):XMLList{ return (_arg1.attribute(attributeName)); })); } public function descendants(_arg1:Object="*"):XMLList{ var name = _arg1; return (execXMLListFunction(function (_arg1:Object):XMLList{ return (_arg1.descendants(name)); })); } public function elements(_arg1:String="*"):XMLList{ var name = _arg1; return (execXMLListFunction(function (_arg1:Object):XMLList{ return (_arg1.elements(name)); })); } public function children():XMLList{ return (execXMLListFunction(function (_arg1:Object):XMLList{ return (_arg1.children()); })); } } }//package mx.collections
Section 29
//ConstraintError (mx.containers.errors.ConstraintError) package mx.containers.errors { public class ConstraintError extends Error { mx_internal static const VERSION:String = "3.0.0.0"; public function ConstraintError(_arg1:String){ super(_arg1); } } }//package mx.containers.errors
Section 30
//ApplicationLayout (mx.containers.utilityClasses.ApplicationLayout) package mx.containers.utilityClasses { import mx.core.*; public class ApplicationLayout extends BoxLayout { mx_internal static const VERSION:String = "3.0.0.0"; override public function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; var _local9:int; var _local10:IFlexDisplayObject; super.updateDisplayList(_arg1, _arg2); var _local3:Container = super.target; if (((((_local3.horizontalScrollBar) && ((getHorizontalAlignValue() > 0)))) || (((_local3.verticalScrollBar) && ((getVerticalAlignValue() > 0)))))){ _local4 = _local3.getStyle("paddingLeft"); _local5 = _local3.getStyle("paddingTop"); _local6 = 0; _local7 = 0; _local8 = _local3.numChildren; _local9 = 0; while (_local9 < _local8) { _local10 = IFlexDisplayObject(_local3.getChildAt(_local9)); if (_local10.x < _local4){ _local6 = Math.max(_local6, (_local4 - _local10.x)); }; if (_local10.y < _local5){ _local7 = Math.max(_local7, (_local5 - _local10.y)); }; _local9++; }; if (((!((_local6 == 0))) || (!((_local7 == 0))))){ _local9 = 0; while (_local9 < _local8) { _local10 = IFlexDisplayObject(_local3.getChildAt(_local9)); IFlexDisplayObject(_local3.getChildAt(_local9)).move((_local10.x + _local6), (_local10.y + _local7)); _local9++; }; }; }; } } }//package mx.containers.utilityClasses
Section 31
//BoxLayout (mx.containers.utilityClasses.BoxLayout) package mx.containers.utilityClasses { import mx.core.*; import mx.controls.scrollClasses.*; import mx.containers.*; public class BoxLayout extends Layout { public var direction:String;// = "vertical" mx_internal static const VERSION:String = "3.0.0.0"; private function isVertical():Boolean{ return (!((direction == BoxDirection.HORIZONTAL))); } mx_internal function getHorizontalAlignValue():Number{ var _local1:String = target.getStyle("horizontalAlign"); if (_local1 == "center"){ return (0.5); }; if (_local1 == "right"){ return (1); }; return (0); } override public function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:int; var _local22:IUIComponent; var _local23:IUIComponent; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local3:Container = super.target; var _local4:int = _local3.numChildren; if (_local4 == 0){ return; }; var _local5:EdgeMetrics = _local3.viewMetricsAndPadding; var _local6:Number = _local3.getStyle("paddingLeft"); var _local7:Number = _local3.getStyle("paddingTop"); var _local8:Number = getHorizontalAlignValue(); var _local9:Number = getVerticalAlignValue(); var _local10:Number = ((((_local3.scaleX > 0)) && (!((_local3.scaleX == 1))))) ? (_local3.minWidth / Math.abs(_local3.scaleX)) : _local3.minWidth; var _local11:Number = ((((_local3.scaleY > 0)) && (!((_local3.scaleY == 1))))) ? (_local3.minHeight / Math.abs(_local3.scaleY)) : _local3.minHeight; var _local12:Number = ((Math.max(_arg1, _local10) - _local5.right) - _local5.left); var _local13:Number = ((Math.max(_arg2, _local11) - _local5.bottom) - _local5.top); var _local14:ScrollBar = _local3.horizontalScrollBar; var _local15:ScrollBar = _local3.verticalScrollBar; if (_local4 == 1){ _local23 = IUIComponent(_local3.getChildAt(0)); _local24 = _local23.percentWidth; _local25 = _local23.percentHeight; if (_local24){ _local26 = Math.max(_local23.minWidth, Math.min(_local23.maxWidth, ((_local24)>=100) ? _local12 : ((_local12 * _local24) / 100))); } else { _local26 = _local23.getExplicitOrMeasuredWidth(); }; if (_local25){ _local27 = Math.max(_local23.minHeight, Math.min(_local23.maxHeight, ((_local25)>=100) ? _local13 : ((_local13 * _local25) / 100))); } else { _local27 = _local23.getExplicitOrMeasuredHeight(); }; if ((((_local23.scaleX == 1)) && ((_local23.scaleY == 1)))){ _local23.setActualSize(Math.floor(_local26), Math.floor(_local27)); } else { _local23.setActualSize(_local26, _local27); }; if (((!((_local15 == null))) && ((_local3.verticalScrollPolicy == ScrollPolicy.AUTO)))){ _local12 = (_local12 + _local15.minWidth); }; if (((!((_local14 == null))) && ((_local3.horizontalScrollPolicy == ScrollPolicy.AUTO)))){ _local13 = (_local13 + _local14.minHeight); }; _local20 = (((_local12 - _local23.width) * _local8) + _local6); _local19 = (((_local13 - _local23.height) * _local9) + _local7); _local23.move(Math.floor(_local20), Math.floor(_local19)); } else { if (isVertical()){ _local16 = _local3.getStyle("verticalGap"); _local17 = _local4; _local21 = 0; while (_local21 < _local4) { if (!IUIComponent(_local3.getChildAt(_local21)).includeInLayout){ _local17--; }; _local21++; }; _local18 = Flex.flexChildHeightsProportionally(_local3, (_local13 - ((_local17 - 1) * _local16)), _local12); if (((!((_local14 == null))) && ((_local3.horizontalScrollPolicy == ScrollPolicy.AUTO)))){ _local18 = (_local18 + _local14.minHeight); }; if (((!((_local15 == null))) && ((_local3.verticalScrollPolicy == ScrollPolicy.AUTO)))){ _local12 = (_local12 + _local15.minWidth); }; _local19 = (_local7 + (_local18 * _local9)); _local21 = 0; while (_local21 < _local4) { _local22 = IUIComponent(_local3.getChildAt(_local21)); _local20 = (((_local12 - _local22.width) * _local8) + _local6); _local22.move(Math.floor(_local20), Math.floor(_local19)); if (_local22.includeInLayout){ _local19 = (_local19 + (_local22.height + _local16)); }; _local21++; }; } else { _local16 = _local3.getStyle("horizontalGap"); _local17 = _local4; _local21 = 0; while (_local21 < _local4) { if (!IUIComponent(_local3.getChildAt(_local21)).includeInLayout){ _local17--; }; _local21++; }; _local18 = Flex.flexChildWidthsProportionally(_local3, (_local12 - ((_local17 - 1) * _local16)), _local13); if (((!((_local14 == null))) && ((_local3.horizontalScrollPolicy == ScrollPolicy.AUTO)))){ _local13 = (_local13 + _local14.minHeight); }; if (((!((_local15 == null))) && ((_local3.verticalScrollPolicy == ScrollPolicy.AUTO)))){ _local18 = (_local18 + _local15.minWidth); }; _local20 = (_local6 + (_local18 * _local8)); _local21 = 0; while (_local21 < _local4) { _local22 = IUIComponent(_local3.getChildAt(_local21)); _local19 = (((_local13 - _local22.height) * _local9) + _local7); _local22.move(Math.floor(_local20), Math.floor(_local19)); if (_local22.includeInLayout){ _local20 = (_local20 + (_local22.width + _local16)); }; _local21++; }; }; }; } mx_internal function getVerticalAlignValue():Number{ var _local1:String = target.getStyle("verticalAlign"); if (_local1 == "middle"){ return (0.5); }; if (_local1 == "bottom"){ return (1); }; return (0); } mx_internal function heightPadding(_arg1:Number):Number{ var _local2:EdgeMetrics = target.viewMetricsAndPadding; var _local3:Number = (_local2.top + _local2.bottom); if ((((_arg1 > 1)) && (isVertical()))){ _local3 = (_local3 + (target.getStyle("verticalGap") * (_arg1 - 1))); }; return (_local3); } mx_internal function widthPadding(_arg1:Number):Number{ var _local2:EdgeMetrics = target.viewMetricsAndPadding; var _local3:Number = (_local2.left + _local2.right); if ((((_arg1 > 1)) && ((isVertical() == false)))){ _local3 = (_local3 + (target.getStyle("horizontalGap") * (_arg1 - 1))); }; return (_local3); } override public function measure():void{ var _local1:Container; var _local10:Number; var _local11:Number; var _local12:IUIComponent; var _local13:Number; var _local14:Number; _local1 = super.target; var _local2:Boolean = isVertical(); var _local3:Number = 0; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:int = _local1.numChildren; var _local8:int = _local7; var _local9:int; while (_local9 < _local7) { _local12 = IUIComponent(_local1.getChildAt(_local9)); if (!_local12.includeInLayout){ _local8--; } else { _local13 = _local12.getExplicitOrMeasuredWidth(); _local14 = _local12.getExplicitOrMeasuredHeight(); if (_local2){ _local3 = Math.max((isNaN(_local12.percentWidth)) ? _local13 : _local12.minWidth, _local3); _local5 = Math.max(_local13, _local5); _local4 = (_local4 + (isNaN(_local12.percentHeight)) ? _local14 : _local12.minHeight); _local6 = (_local6 + _local14); } else { _local3 = (_local3 + (isNaN(_local12.percentWidth)) ? _local13 : _local12.minWidth); _local5 = (_local5 + _local13); _local4 = Math.max((isNaN(_local12.percentHeight)) ? _local14 : _local12.minHeight, _local4); _local6 = Math.max(_local14, _local6); }; }; _local9++; }; _local10 = widthPadding(_local8); _local11 = heightPadding(_local8); _local1.measuredMinWidth = (_local3 + _local10); _local1.measuredMinHeight = (_local4 + _local11); _local1.measuredWidth = (_local5 + _local10); _local1.measuredHeight = (_local6 + _local11); } } }//package mx.containers.utilityClasses
Section 32
//CanvasLayout (mx.containers.utilityClasses.CanvasLayout) package mx.containers.utilityClasses { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.events.*; import flash.utils.*; import mx.containers.errors.*; public class CanvasLayout extends Layout { private var colSpanChildren:Array; private var constraintRegionsInUse:Boolean;// = false private var rowSpanChildren:Array; private var constraintCache:Dictionary; private var _contentArea:Rectangle; mx_internal static const VERSION:String = "3.0.0.0"; private static var r:Rectangle = new Rectangle(); public function CanvasLayout(){ colSpanChildren = []; rowSpanChildren = []; constraintCache = new Dictionary(true); super(); } private function parseConstraints(_arg1:IUIComponent=null):ChildConstraintInfo{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:String; var _local11:String; var _local12:String; var _local13:String; var _local14:String; var _local15:String; var _local16:String; var _local17:Array; var _local18:int; var _local30:ConstraintColumn; var _local31:Boolean; var _local32:ConstraintRow; var _local2:LayoutConstraints = getLayoutConstraints(_arg1); if (!_local2){ return (null); }; while (true) { _local17 = parseConstraintExp(_local2.left); if (!_local17){ _local3 = NaN; } else { if (_local17.length == 1){ _local3 = Number(_local17[0]); } else { _local10 = _local17[0]; _local3 = _local17[1]; }; }; _local17 = parseConstraintExp(_local2.right); if (!_local17){ _local4 = NaN; } else { if (_local17.length == 1){ _local4 = Number(_local17[0]); } else { _local11 = _local17[0]; _local4 = _local17[1]; }; }; _local17 = parseConstraintExp(_local2.horizontalCenter); if (!_local17){ _local5 = NaN; } else { if (_local17.length == 1){ _local5 = Number(_local17[0]); } else { _local12 = _local17[0]; _local5 = _local17[1]; }; }; _local17 = parseConstraintExp(_local2.top); if (!_local17){ _local6 = NaN; } else { if (_local17.length == 1){ _local6 = Number(_local17[0]); } else { _local13 = _local17[0]; _local6 = _local17[1]; }; }; _local17 = parseConstraintExp(_local2.bottom); if (!_local17){ _local7 = NaN; } else { if (_local17.length == 1){ _local7 = Number(_local17[0]); } else { _local14 = _local17[0]; _local7 = _local17[1]; }; }; _local17 = parseConstraintExp(_local2.verticalCenter); if (!_local17){ _local8 = NaN; } else { if (_local17.length == 1){ _local8 = Number(_local17[0]); } else { _local15 = _local17[0]; _local8 = _local17[1]; }; }; _local17 = parseConstraintExp(_local2.baseline); if (!_local17){ _local9 = NaN; } else { if (_local17.length == 1){ _local9 = Number(_local17[0]); } else { _local16 = _local17[0]; _local9 = _local17[1]; }; }; break; }; var _local19:ContentColumnChild = new ContentColumnChild(); var _local20:Boolean; var _local21:Number = 0; var _local22:Number = 0; var _local23:Number = 0; _local18 = 0; while (_local18 < IConstraintLayout(target).constraintColumns.length) { _local30 = IConstraintLayout(target).constraintColumns[_local18]; if (_local30.mx_internal::contentSize){ if (_local30.id == _local10){ _local19.leftCol = _local30; _local19.leftOffset = _local3; _local21 = _local18; _local19.left = _local21; _local20 = true; }; if (_local30.id == _local11){ _local19.rightCol = _local30; _local19.rightOffset = _local4; _local22 = (_local18 + 1); _local19.right = _local22; _local20 = true; }; if (_local30.id == _local12){ _local19.hcCol = _local30; _local19.hcOffset = _local5; _local23 = (_local18 + 1); _local19.hc = _local23; _local20 = true; }; }; _local18++; }; if (_local20){ _local19.child = _arg1; if (((((((_local19.leftCol) && (!(_local19.rightCol)))) || (((_local19.rightCol) && (!(_local19.leftCol)))))) || (_local19.hcCol))){ _local19.span = 1; } else { _local19.span = (_local22 - _local21); }; _local31 = false; _local18 = 0; while (_local18 < colSpanChildren.length) { if (_local19.child == colSpanChildren[_local18].child){ _local31 = true; break; }; _local18++; }; if (!_local31){ colSpanChildren.push(_local19); }; }; _local20 = false; var _local24:ContentRowChild = new ContentRowChild(); var _local25:Number = 0; var _local26:Number = 0; var _local27:Number = 0; var _local28:Number = 0; _local18 = 0; while (_local18 < IConstraintLayout(target).constraintRows.length) { _local32 = IConstraintLayout(target).constraintRows[_local18]; if (_local32.mx_internal::contentSize){ if (_local32.id == _local13){ _local24.topRow = _local32; _local24.topOffset = _local6; _local25 = _local18; _local24.top = _local25; _local20 = true; }; if (_local32.id == _local14){ _local24.bottomRow = _local32; _local24.bottomOffset = _local7; _local26 = (_local18 + 1); _local24.bottom = _local26; _local20 = true; }; if (_local32.id == _local15){ _local24.vcRow = _local32; _local24.vcOffset = _local8; _local27 = (_local18 + 1); _local24.vc = _local27; _local20 = true; }; if (_local32.id == _local16){ _local24.baselineRow = _local32; _local24.baselineOffset = _local9; _local28 = (_local18 + 1); _local24.baseline = _local28; _local20 = true; }; }; _local18++; }; if (_local20){ _local24.child = _arg1; if (((((((((_local24.topRow) && (!(_local24.bottomRow)))) || (((_local24.bottomRow) && (!(_local24.topRow)))))) || (_local24.vcRow))) || (_local24.baselineRow))){ _local24.span = 1; } else { _local24.span = (_local26 - _local25); }; _local31 = false; _local18 = 0; while (_local18 < rowSpanChildren.length) { if (_local24.child == rowSpanChildren[_local18].child){ _local31 = true; break; }; _local18++; }; if (!_local31){ rowSpanChildren.push(_local24); }; }; var _local29:ChildConstraintInfo = new ChildConstraintInfo(_local3, _local4, _local5, _local6, _local7, _local8, _local9, _local10, _local11, _local12, _local13, _local14, _local15, _local16); constraintCache[_arg1] = _local29; return (_local29); } private function bound(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 < _arg2){ _arg1 = _arg2; } else { if (_arg1 > _arg3){ _arg1 = _arg3; } else { _arg1 = Math.floor(_arg1); }; }; return (_arg1); } private function shareRowSpace(_arg1:ContentRowChild, _arg2:Number):Number{ var _local11:Number; var _local12:Number; var _local13:Number; var _local3:ConstraintRow = _arg1.topRow; var _local4:ConstraintRow = _arg1.bottomRow; var _local5:IUIComponent = _arg1.child; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = (_arg1.topOffset) ? _arg1.topOffset : 0; var _local9:Number = (_arg1.bottomOffset) ? _arg1.bottomOffset : 0; if (((_local3) && (_local3.height))){ _local6 = (_local6 + _local3.height); } else { if (((_local4) && (!(_local3)))){ _local3 = IConstraintLayout(target).constraintRows[(_arg1.bottom - 2)]; if (((_local3) && (_local3.height))){ _local6 = (_local6 + _local3.height); }; }; }; if (((_local4) && (_local4.height))){ _local7 = (_local7 + _local4.height); } else { if (((_local3) && (!(_local4)))){ _local4 = IConstraintLayout(target).constraintRows[(_arg1.top + 1)]; if (((_local4) && (_local4.height))){ _local7 = (_local7 + _local4.height); }; }; }; if (((_local3) && (isNaN(_local3.height)))){ _local3.setActualHeight(Math.max(0, _local3.maxHeight)); }; if (((_local4) && (isNaN(_local4.height)))){ _local4.setActualHeight(Math.max(0, _local4.height)); }; var _local10:Number = _local5.getExplicitOrMeasuredHeight(); if (_local10){ if (!_arg1.topRow){ if (_local10 > _local6){ _local12 = ((_local10 - _local6) + _local9); } else { _local12 = (_local10 + _local9); }; }; if (!_arg1.bottomRow){ if (_local10 > _local7){ _local11 = ((_local10 - _local7) + _local8); } else { _local11 = (_local10 + _local8); }; }; if (((_arg1.topRow) && (_arg1.bottomRow))){ _local13 = (_local10 / Number(_arg1.span)); if ((_local13 + _local8) < _local6){ _local11 = _local6; _local12 = ((_local10 - (_local6 - _local8)) + _local9); } else { _local11 = (_local13 + _local8); }; if ((_local13 + _local9) < _local7){ _local12 = _local7; _local11 = ((_local10 - (_local7 - _local9)) + _local8); } else { _local12 = (_local13 + _local9); }; }; _local12 = bound(_local12, _local4.minHeight, _local4.maxHeight); _local4.setActualHeight(_local12); _arg2 = (_arg2 - _local12); _local11 = bound(_local11, _local3.minHeight, _local3.maxHeight); _local3.setActualHeight(_local11); _arg2 = (_arg2 - _local11); }; return (_arg2); } private function parseConstraintExp(_arg1:String):Array{ if (!_arg1){ return (null); }; var _local2:String = _arg1.replace(/:/g, " "); var _local3:Array = _local2.split(/\s+/); return (_local3); } private function measureColumnsAndRows():void{ var _local3:int; var _local4:int; var _local13:ConstraintColumn; var _local14:ConstraintRow; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:ContentColumnChild; var _local20:ContentRowChild; var _local1:Array = IConstraintLayout(target).constraintColumns; var _local2:Array = IConstraintLayout(target).constraintRows; if ((((!(_local2.length) > 0)) && ((!(_local1.length) > 0)))){ constraintRegionsInUse = false; return; }; constraintRegionsInUse = true; var _local5:Number = 0; var _local6:Number = 0; var _local7:EdgeMetrics = Container(target).viewMetrics; var _local8:Number = ((Container(target).width - _local7.left) - _local7.right); var _local9:Number = ((Container(target).height - _local7.top) - _local7.bottom); var _local10:Array = []; var _local11:Array = []; var _local12:Array = []; if (_local1.length > 0){ _local3 = 0; while (_local3 < _local1.length) { _local13 = _local1[_local3]; if (!isNaN(_local13.percentWidth)){ _local11.push(_local13); } else { if (((!(isNaN(_local13.width))) && (!(_local13.mx_internal::contentSize)))){ _local10.push(_local13); } else { _local12.push(_local13); _local13.mx_internal::contentSize = true; }; }; _local3++; }; _local3 = 0; while (_local3 < _local10.length) { _local13 = ConstraintColumn(_local10[_local3]); _local8 = (_local8 - _local13.width); _local3++; }; if (_local12.length > 0){ if (colSpanChildren.length > 0){ colSpanChildren.sortOn("span"); _local4 = 0; while (_local4 < colSpanChildren.length) { _local19 = colSpanChildren[_local4]; if (_local19.span == 1){ if (_local19.hcCol){ _local13 = ConstraintColumn(_local1[_local1.indexOf(_local19.hcCol)]); } else { if (_local19.leftCol){ _local13 = ConstraintColumn(_local1[_local1.indexOf(_local19.leftCol)]); } else { if (_local19.rightCol){ _local13 = ConstraintColumn(_local1[_local1.indexOf(_local19.rightCol)]); }; }; }; _local16 = _local19.child.getExplicitOrMeasuredWidth(); if (_local19.hcOffset){ _local16 = (_local16 + _local19.hcOffset); } else { if (_local19.leftOffset){ _local16 = (_local16 + _local19.leftOffset); }; if (_local19.rightOffset){ _local16 = (_local16 + _local19.rightOffset); }; }; if (!isNaN(_local13.width)){ _local16 = Math.max(_local13.width, _local16); }; _local16 = bound(_local16, _local13.minWidth, _local13.maxWidth); _local13.setActualWidth(_local16); _local8 = (_local8 - _local13.width); } else { _local8 = shareColumnSpace(_local19, _local8); }; _local4++; }; colSpanChildren = []; }; _local3 = 0; while (_local3 < _local12.length) { _local13 = _local12[_local3]; if (!_local13.width){ _local16 = bound(0, _local13.minWidth, 0); _local13.setActualWidth(_local16); }; _local3++; }; }; _local18 = _local8; _local3 = 0; while (_local3 < _local11.length) { _local13 = ConstraintColumn(_local11[_local3]); if (_local18 <= 0){ _local16 = 0; } else { _local16 = Math.round(((_local18 * _local13.percentWidth) / 100)); }; _local16 = bound(_local16, _local13.minWidth, _local13.maxWidth); _local13.setActualWidth(_local16); _local8 = (_local8 - _local16); _local3++; }; _local3 = 0; while (_local3 < _local1.length) { _local13 = ConstraintColumn(_local1[_local3]); _local13.x = _local5; _local5 = (_local5 + _local13.width); _local3++; }; }; _local10 = []; _local11 = []; _local12 = []; if (_local2.length > 0){ _local3 = 0; while (_local3 < _local2.length) { _local14 = _local2[_local3]; if (!isNaN(_local14.percentHeight)){ _local11.push(_local14); } else { if (((!(isNaN(_local14.height))) && (!(_local14.mx_internal::contentSize)))){ _local10.push(_local14); } else { _local12.push(_local14); _local14.mx_internal::contentSize = true; }; }; _local3++; }; _local3 = 0; while (_local3 < _local10.length) { _local14 = ConstraintRow(_local10[_local3]); _local9 = (_local9 - _local14.height); _local3++; }; if (_local12.length > 0){ if (rowSpanChildren.length > 0){ rowSpanChildren.sortOn("span"); _local4 = 0; while (_local4 < rowSpanChildren.length) { _local20 = rowSpanChildren[_local4]; if (_local20.span == 1){ if (_local20.vcRow){ _local14 = ConstraintRow(_local2[_local2.indexOf(_local20.vcRow)]); } else { if (_local20.baselineRow){ _local14 = ConstraintRow(_local2[_local2.indexOf(_local20.baselineRow)]); } else { if (_local20.topRow){ _local14 = ConstraintRow(_local2[_local2.indexOf(_local20.topRow)]); } else { if (_local20.bottomRow){ _local14 = ConstraintRow(_local2[_local2.indexOf(_local20.bottomRow)]); }; }; }; }; _local17 = _local20.child.getExplicitOrMeasuredHeight(); if (_local20.baselineOffset){ _local17 = (_local17 + _local20.baselineOffset); } else { if (_local20.vcOffset){ _local17 = (_local17 + _local20.vcOffset); } else { if (_local20.topOffset){ _local17 = (_local17 + _local20.topOffset); }; if (_local20.bottomOffset){ _local17 = (_local17 + _local20.bottomOffset); }; }; }; if (!isNaN(_local14.height)){ _local17 = Math.max(_local14.height, _local17); }; _local17 = bound(_local17, _local14.minHeight, _local14.maxHeight); _local14.setActualHeight(_local17); _local9 = (_local9 - _local14.height); } else { _local9 = shareRowSpace(_local20, _local9); }; _local4++; }; rowSpanChildren = []; }; _local3 = 0; while (_local3 < _local12.length) { _local14 = ConstraintRow(_local12[_local3]); if (!_local14.height){ _local17 = bound(0, _local14.minHeight, 0); _local14.setActualHeight(_local17); }; _local3++; }; }; _local18 = _local9; _local3 = 0; while (_local3 < _local11.length) { _local14 = ConstraintRow(_local11[_local3]); if (_local18 <= 0){ _local17 = 0; } else { _local17 = Math.round(((_local18 * _local14.percentHeight) / 100)); }; _local17 = bound(_local17, _local14.minHeight, _local14.maxHeight); _local14.setActualHeight(_local17); _local9 = (_local9 - _local17); _local3++; }; _local3 = 0; while (_local3 < _local2.length) { _local14 = _local2[_local3]; _local14.y = _local6; _local6 = (_local6 + _local14.height); _local3++; }; }; } private function child_moveHandler(_arg1:MoveEvent):void{ if ((_arg1.target is IUIComponent)){ if (!IUIComponent(_arg1.target).includeInLayout){ return; }; }; var _local2:Container = super.target; if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); _contentArea = null; }; } private function applyAnchorStylesDuringMeasure(_arg1:IUIComponent, _arg2:Rectangle):void{ var _local13:int; var _local3:IConstraintClient = (_arg1 as IConstraintClient); if (!_local3){ return; }; var _local4:ChildConstraintInfo = constraintCache[_local3]; if (!_local4){ _local4 = parseConstraints(_arg1); }; var _local5:Number = _local4.left; var _local6:Number = _local4.right; var _local7:Number = _local4.hc; var _local8:Number = _local4.top; var _local9:Number = _local4.bottom; var _local10:Number = _local4.vc; var _local11:Array = IConstraintLayout(target).constraintColumns; var _local12:Array = IConstraintLayout(target).constraintRows; var _local14:Number = 0; if (!(_local11.length) > 0){ if (!isNaN(_local7)){ _arg2.x = Math.round((((target.width - _arg1.width) / 2) + _local7)); } else { if (((!(isNaN(_local5))) && (!(isNaN(_local6))))){ _arg2.x = _local5; _arg2.width = (_arg2.width + _local6); } else { if (!isNaN(_local5)){ _arg2.x = _local5; } else { if (!isNaN(_local6)){ _arg2.x = 0; _arg2.width = (_arg2.width + _local6); }; }; }; }; } else { _arg2.x = 0; _local13 = 0; while (_local13 < _local11.length) { _local14 = (_local14 + ConstraintColumn(_local11[_local13]).width); _local13++; }; _arg2.width = _local14; }; if (!(_local12.length) > 0){ if (!isNaN(_local10)){ _arg2.y = Math.round((((target.height - _arg1.height) / 2) + _local10)); } else { if (((!(isNaN(_local8))) && (!(isNaN(_local9))))){ _arg2.y = _local8; _arg2.height = (_arg2.height + _local9); } else { if (!isNaN(_local8)){ _arg2.y = _local8; } else { if (!isNaN(_local9)){ _arg2.y = 0; _arg2.height = (_arg2.height + _local9); }; }; }; }; } else { _local14 = 0; _arg2.y = 0; _local13 = 0; while (_local13 < _local12.length) { _local14 = (_local14 + ConstraintRow(_local12[_local13]).height); _local13++; }; _arg2.height = _local14; }; } override public function measure():void{ var _local1:Container; var _local5:EdgeMetrics; var _local6:Rectangle; var _local7:IUIComponent; var _local8:ConstraintColumn; var _local9:ConstraintRow; _local1 = super.target; var _local2:Number = 0; var _local3:Number = 0; var _local4:Number = 0; _local5 = _local1.viewMetrics; _local4 = 0; while (_local4 < _local1.numChildren) { _local7 = (_local1.getChildAt(_local4) as IUIComponent); parseConstraints(_local7); _local4++; }; _local4 = 0; while (_local4 < IConstraintLayout(_local1).constraintColumns.length) { _local8 = IConstraintLayout(_local1).constraintColumns[_local4]; if (_local8.mx_internal::contentSize){ _local8.mx_internal::_width = NaN; }; _local4++; }; _local4 = 0; while (_local4 < IConstraintLayout(_local1).constraintRows.length) { _local9 = IConstraintLayout(_local1).constraintRows[_local4]; if (_local9.mx_internal::contentSize){ _local9.mx_internal::_height = NaN; }; _local4++; }; measureColumnsAndRows(); _contentArea = null; _local6 = measureContentArea(); _local1.measuredWidth = ((_local6.width + _local5.left) + _local5.right); _local1.measuredHeight = ((_local6.height + _local5.top) + _local5.bottom); } private function target_childRemoveHandler(_arg1:ChildExistenceChangedEvent):void{ DisplayObject(_arg1.relatedObject).removeEventListener(MoveEvent.MOVE, child_moveHandler); delete constraintCache[_arg1.relatedObject]; } override public function set target(_arg1:Container):void{ var _local3:int; var _local4:int; var _local2:Container = super.target; if (_arg1 != _local2){ if (_local2){ _local2.removeEventListener(ChildExistenceChangedEvent.CHILD_ADD, target_childAddHandler); _local2.removeEventListener(ChildExistenceChangedEvent.CHILD_REMOVE, target_childRemoveHandler); _local4 = _local2.numChildren; _local3 = 0; while (_local3 < _local4) { DisplayObject(_local2.getChildAt(_local3)).removeEventListener(MoveEvent.MOVE, child_moveHandler); _local3++; }; }; if (_arg1){ _arg1.addEventListener(ChildExistenceChangedEvent.CHILD_ADD, target_childAddHandler); _arg1.addEventListener(ChildExistenceChangedEvent.CHILD_REMOVE, target_childRemoveHandler); _local4 = _arg1.numChildren; _local3 = 0; while (_local3 < _local4) { DisplayObject(_arg1.getChildAt(_local3)).addEventListener(MoveEvent.MOVE, child_moveHandler); _local3++; }; }; super.target = _arg1; }; } private function measureContentArea():Rectangle{ var _local1:int; var _local3:Array; var _local4:Array; var _local5:IUIComponent; var _local6:LayoutConstraints; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; if (_contentArea){ return (_contentArea); }; _contentArea = new Rectangle(); var _local2:int = target.numChildren; if ((((_local2 == 0)) && (constraintRegionsInUse))){ _local3 = IConstraintLayout(target).constraintColumns; _local4 = IConstraintLayout(target).constraintRows; if (_local3.length > 0){ _contentArea.right = (_local3[(_local3.length - 1)].x + _local3[(_local3.length - 1)].width); } else { _contentArea.right = 0; }; if (_local4.length > 0){ _contentArea.bottom = (_local4[(_local4.length - 1)].y + _local4[(_local4.length - 1)].height); } else { _contentArea.bottom = 0; }; }; _local1 = 0; while (_local1 < _local2) { _local5 = (target.getChildAt(_local1) as IUIComponent); _local6 = getLayoutConstraints(_local5); if (!_local5.includeInLayout){ } else { _local7 = _local5.x; _local8 = _local5.y; _local9 = _local5.getExplicitOrMeasuredWidth(); _local10 = _local5.getExplicitOrMeasuredHeight(); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (((!(isNaN(_local5.percentWidth))) || (((((_local6) && (!(isNaN(_local6.left))))) && (!(isNaN(_local6.right))))))){ _local9 = _local5.minWidth; }; } else { if (((!(isNaN(_local5.percentWidth))) || (((((((_local6) && (!(isNaN(_local6.left))))) && (!(isNaN(_local6.right))))) && (isNaN(_local5.explicitWidth)))))){ _local9 = _local5.minWidth; }; }; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (((!(isNaN(_local5.percentHeight))) || (((((_local6) && (!(isNaN(_local6.top))))) && (!(isNaN(_local6.bottom))))))){ _local10 = _local5.minHeight; }; } else { if (((!(isNaN(_local5.percentHeight))) || (((((((_local6) && (!(isNaN(_local6.top))))) && (!(isNaN(_local6.bottom))))) && (isNaN(_local5.explicitHeight)))))){ _local10 = _local5.minHeight; }; }; r.x = _local7; r.y = _local8; r.width = _local9; r.height = _local10; applyAnchorStylesDuringMeasure(_local5, r); _local7 = r.x; _local8 = r.y; _local9 = r.width; _local10 = r.height; if (isNaN(_local7)){ _local7 = _local5.x; }; if (isNaN(_local8)){ _local8 = _local5.y; }; _local11 = _local7; _local12 = _local8; if (isNaN(_local9)){ _local9 = _local5.width; }; if (isNaN(_local10)){ _local10 = _local5.height; }; _local11 = (_local11 + _local9); _local12 = (_local12 + _local10); _contentArea.right = Math.max(_contentArea.right, _local11); _contentArea.bottom = Math.max(_contentArea.bottom, _local12); }; _local1++; }; return (_contentArea); } private function shareColumnSpace(_arg1:ContentColumnChild, _arg2:Number):Number{ var _local11:Number; var _local12:Number; var _local13:Number; var _local3:ConstraintColumn = _arg1.leftCol; var _local4:ConstraintColumn = _arg1.rightCol; var _local5:IUIComponent = _arg1.child; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = (_arg1.rightOffset) ? _arg1.rightOffset : 0; var _local9:Number = (_arg1.leftOffset) ? _arg1.leftOffset : 0; if (((_local3) && (_local3.width))){ _local6 = (_local6 + _local3.width); } else { if (((_local4) && (!(_local3)))){ _local3 = IConstraintLayout(target).constraintColumns[(_arg1.right - 2)]; if (((_local3) && (_local3.width))){ _local6 = (_local6 + _local3.width); }; }; }; if (((_local4) && (_local4.width))){ _local7 = (_local7 + _local4.width); } else { if (((_local3) && (!(_local4)))){ _local4 = IConstraintLayout(target).constraintColumns[(_arg1.left + 1)]; if (((_local4) && (_local4.width))){ _local7 = (_local7 + _local4.width); }; }; }; if (((_local3) && (isNaN(_local3.width)))){ _local3.setActualWidth(Math.max(0, _local3.maxWidth)); }; if (((_local4) && (isNaN(_local4.width)))){ _local4.setActualWidth(Math.max(0, _local4.maxWidth)); }; var _local10:Number = _local5.getExplicitOrMeasuredWidth(); if (_local10){ if (!_arg1.leftCol){ if (_local10 > _local6){ _local12 = ((_local10 - _local6) + _local8); } else { _local12 = (_local10 + _local8); }; }; if (!_arg1.rightCol){ if (_local10 > _local7){ _local11 = ((_local10 - _local7) + _local9); } else { _local11 = (_local10 + _local9); }; }; if (((_arg1.leftCol) && (_arg1.rightCol))){ _local13 = (_local10 / Number(_arg1.span)); if ((_local13 + _local9) < _local6){ _local11 = _local6; _local12 = ((_local10 - (_local6 - _local9)) + _local8); } else { _local11 = (_local13 + _local9); }; if ((_local13 + _local8) < _local7){ _local12 = _local7; _local11 = ((_local10 - (_local7 - _local8)) + _local9); } else { _local12 = (_local13 + _local8); }; }; _local11 = bound(_local11, _local3.minWidth, _local3.maxWidth); _local3.setActualWidth(_local11); _arg2 = (_arg2 - _local11); _local12 = bound(_local12, _local4.minWidth, _local4.maxWidth); _local4.setActualWidth(_local12); _arg2 = (_arg2 - _local12); }; return (_arg2); } private function getLayoutConstraints(_arg1:IUIComponent):LayoutConstraints{ var _local2:IConstraintClient = (_arg1 as IConstraintClient); if (!_local2){ return (null); }; var _local3:LayoutConstraints = new LayoutConstraints(); _local3.baseline = _local2.getConstraintValue("baseline"); _local3.bottom = _local2.getConstraintValue("bottom"); _local3.horizontalCenter = _local2.getConstraintValue("horizontalCenter"); _local3.left = _local2.getConstraintValue("left"); _local3.right = _local2.getConstraintValue("right"); _local3.top = _local2.getConstraintValue("top"); _local3.verticalCenter = _local2.getConstraintValue("verticalCenter"); return (_local3); } override public function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local3:int; var _local4:IUIComponent; var _local10:ConstraintColumn; var _local11:ConstraintRow; var _local5:Container = super.target; var _local6:int = _local5.numChildren; _local5.mx_internal::doingLayout = false; var _local7:EdgeMetrics = _local5.viewMetrics; _local5.mx_internal::doingLayout = true; var _local8:Number = ((_arg1 - _local7.left) - _local7.right); var _local9:Number = ((_arg2 - _local7.top) - _local7.bottom); if ((((IConstraintLayout(_local5).constraintColumns.length > 0)) || ((IConstraintLayout(_local5).constraintRows.length > 0)))){ constraintRegionsInUse = true; }; if (constraintRegionsInUse){ _local3 = 0; while (_local3 < _local6) { _local4 = (_local5.getChildAt(_local3) as IUIComponent); parseConstraints(_local4); _local3++; }; _local3 = 0; while (_local3 < IConstraintLayout(_local5).constraintColumns.length) { _local10 = IConstraintLayout(_local5).constraintColumns[_local3]; if (_local10.mx_internal::contentSize){ _local10.mx_internal::_width = NaN; }; _local3++; }; _local3 = 0; while (_local3 < IConstraintLayout(_local5).constraintRows.length) { _local11 = IConstraintLayout(_local5).constraintRows[_local3]; if (_local11.mx_internal::contentSize){ _local11.mx_internal::_height = NaN; }; _local3++; }; measureColumnsAndRows(); }; _local3 = 0; while (_local3 < _local6) { _local4 = (_local5.getChildAt(_local3) as IUIComponent); applyAnchorStylesDuringUpdateDisplayList(_local8, _local9, _local4); _local3++; }; } private function applyAnchorStylesDuringUpdateDisplayList(_arg1:Number, _arg2:Number, _arg3:IUIComponent=null):void{ var _local20:int; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:String; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Boolean; var _local40:Boolean; var _local41:Boolean; var _local42:ConstraintColumn; var _local43:Boolean; var _local44:Boolean; var _local45:Boolean; var _local46:Boolean; var _local47:ConstraintRow; var _local4:IConstraintClient = (_arg3 as IConstraintClient); if (!_local4){ return; }; var _local5:ChildConstraintInfo = parseConstraints(_arg3); var _local6:Number = _local5.left; var _local7:Number = _local5.right; var _local8:Number = _local5.hc; var _local9:Number = _local5.top; var _local10:Number = _local5.bottom; var _local11:Number = _local5.vc; var _local12:Number = _local5.baseline; var _local13:String = _local5.leftBoundary; var _local14:String = _local5.rightBoundary; var _local15:String = _local5.hcBoundary; var _local16:String = _local5.topBoundary; var _local17:String = _local5.bottomBoundary; var _local18:String = _local5.vcBoundary; var _local19:String = _local5.baselineBoundary; var _local26:Boolean; var _local27:Boolean; var _local28:Boolean = ((((!(_local15)) && (!(_local13)))) && (!(_local14))); var _local29:Boolean = ((((((!(_local18)) && (!(_local16)))) && (!(_local17)))) && (!(_local19))); var _local30:Number = 0; var _local31:Number = _arg1; var _local32:Number = 0; var _local33:Number = _arg2; if (!_local28){ _local39 = (_local13) ? true : false; _local40 = (_local14) ? true : false; _local41 = (_local15) ? true : false; _local20 = 0; while (_local20 < IConstraintLayout(target).constraintColumns.length) { _local42 = ConstraintColumn(IConstraintLayout(target).constraintColumns[_local20]); if (_local39){ if (_local13 == _local42.id){ _local30 = _local42.x; _local39 = false; }; }; if (_local40){ if (_local14 == _local42.id){ _local31 = (_local42.x + _local42.width); _local40 = false; }; }; if (_local41){ if (_local15 == _local42.id){ _local35 = _local42.width; _local37 = _local42.x; _local41 = false; }; }; _local20++; }; if (_local39){ _local25 = resourceManager.getString("containers", "columnNotFound", [_local13]); throw (new ConstraintError(_local25)); }; if (_local40){ _local25 = resourceManager.getString("containers", "columnNotFound", [_local14]); throw (new ConstraintError(_local25)); }; if (_local41){ _local25 = resourceManager.getString("containers", "columnNotFound", [_local15]); throw (new ConstraintError(_local25)); }; } else { if (!_local28){ _local25 = resourceManager.getString("containers", "noColumnsFound"); throw (new ConstraintError(_local25)); }; }; _arg1 = Math.round((_local31 - _local30)); if (((!(isNaN(_local6))) && (!(isNaN(_local7))))){ _local21 = ((_arg1 - _local6) - _local7); if (_local21 < _arg3.minWidth){ _local21 = _arg3.minWidth; }; } else { if (!isNaN(_arg3.percentWidth)){ _local21 = ((_arg3.percentWidth / 100) * _arg1); _local21 = bound(_local21, _arg3.minWidth, _arg3.maxWidth); _local26 = true; } else { _local21 = _arg3.getExplicitOrMeasuredWidth(); }; }; if (((!(_local29)) && ((IConstraintLayout(target).constraintRows.length > 0)))){ _local43 = (_local16) ? true : false; _local44 = (_local17) ? true : false; _local45 = (_local18) ? true : false; _local46 = (_local19) ? true : false; _local20 = 0; while (_local20 < IConstraintLayout(target).constraintRows.length) { _local47 = ConstraintRow(IConstraintLayout(target).constraintRows[_local20]); if (_local43){ if (_local16 == _local47.id){ _local32 = _local47.y; _local43 = false; }; }; if (_local44){ if (_local17 == _local47.id){ _local33 = (_local47.y + _local47.height); _local44 = false; }; }; if (_local45){ if (_local18 == _local47.id){ _local34 = _local47.height; _local36 = _local47.y; _local45 = false; }; }; if (_local46){ if (_local19 == _local47.id){ _local38 = _local47.y; _local46 = false; }; }; _local20++; }; if (_local43){ _local25 = resourceManager.getString("containers", "rowNotFound", [_local16]); throw (new ConstraintError(_local25)); }; if (_local44){ _local25 = resourceManager.getString("containers", "rowNotFound", [_local17]); throw (new ConstraintError(_local25)); }; if (_local45){ _local25 = resourceManager.getString("containers", "rowNotFound", [_local18]); throw (new ConstraintError(_local25)); }; if (_local46){ _local25 = resourceManager.getString("containers", "rowNotFound", [_local19]); throw (new ConstraintError(_local25)); }; } else { if (((!(_local29)) && (!((IConstraintLayout(target).constraintRows.length > 0))))){ _local25 = resourceManager.getString("containers", "noRowsFound"); throw (new ConstraintError(_local25)); }; }; _arg2 = Math.round((_local33 - _local32)); if (((!(isNaN(_local9))) && (!(isNaN(_local10))))){ _local22 = ((_arg2 - _local9) - _local10); if (_local22 < _arg3.minHeight){ _local22 = _arg3.minHeight; }; } else { if (!isNaN(_arg3.percentHeight)){ _local22 = ((_arg3.percentHeight / 100) * _arg2); _local22 = bound(_local22, _arg3.minHeight, _arg3.maxHeight); _local27 = true; } else { _local22 = _arg3.getExplicitOrMeasuredHeight(); }; }; if (!isNaN(_local8)){ if (_local15){ _local23 = Math.round(((((_local35 - _local21) / 2) + _local8) + _local37)); } else { _local23 = Math.round((((_arg1 - _local21) / 2) + _local8)); }; } else { if (!isNaN(_local6)){ if (_local13){ _local23 = (_local30 + _local6); } else { _local23 = _local6; }; } else { if (!isNaN(_local7)){ if (_local14){ _local23 = ((_local31 - _local7) - _local21); } else { _local23 = ((_arg1 - _local7) - _local21); }; }; }; }; if (!isNaN(_local12)){ if (_local19){ _local24 = ((_local38 - _arg3.baselinePosition) + _local12); } else { _local24 = _local12; }; }; if (!isNaN(_local11)){ if (_local18){ _local24 = Math.round(((((_local34 - _local22) / 2) + _local11) + _local36)); } else { _local24 = Math.round((((_arg2 - _local22) / 2) + _local11)); }; } else { if (!isNaN(_local9)){ if (_local16){ _local24 = (_local32 + _local9); } else { _local24 = _local9; }; } else { if (!isNaN(_local10)){ if (_local17){ _local24 = ((_local33 - _local10) - _local22); } else { _local24 = ((_arg2 - _local10) - _local22); }; }; }; }; _local23 = (isNaN(_local23)) ? _arg3.x : _local23; _local24 = (isNaN(_local24)) ? _arg3.y : _local24; _arg3.move(_local23, _local24); if (_local26){ if ((_local23 + _local21) > _arg1){ _local21 = Math.max((_arg1 - _local23), _arg3.minWidth); }; }; if (_local27){ if ((_local24 + _local22) > _arg2){ _local22 = Math.max((_arg2 - _local24), _arg3.minHeight); }; }; if (((!(isNaN(_local21))) && (!(isNaN(_local22))))){ _arg3.setActualSize(_local21, _local22); }; } private function target_childAddHandler(_arg1:ChildExistenceChangedEvent):void{ DisplayObject(_arg1.relatedObject).addEventListener(MoveEvent.MOVE, child_moveHandler); } } }//package mx.containers.utilityClasses import mx.core.*; class LayoutConstraints { public var baseline; public var left; public var bottom; public var top; public var horizontalCenter; public var verticalCenter; public var right; private function LayoutConstraints():void{ } } class ChildConstraintInfo { public var baseline:Number; public var left:Number; public var baselineBoundary:String; public var leftBoundary:String; public var hcBoundary:String; public var top:Number; public var right:Number; public var topBoundary:String; public var rightBoundary:String; public var bottom:Number; public var vc:Number; public var bottomBoundary:String; public var vcBoundary:String; public var hc:Number; private function ChildConstraintInfo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:String=null, _arg9:String=null, _arg10:String=null, _arg11:String=null, _arg12:String=null, _arg13:String=null, _arg14:String=null):void{ this.left = _arg1; this.right = _arg2; this.hc = _arg3; this.top = _arg4; this.bottom = _arg5; this.vc = _arg6; this.baseline = _arg7; this.leftBoundary = _arg8; this.rightBoundary = _arg9; this.hcBoundary = _arg10; this.topBoundary = _arg11; this.bottomBoundary = _arg12; this.vcBoundary = _arg13; this.baselineBoundary = _arg14; } } class ContentColumnChild { public var rightCol:ConstraintColumn; public var hcCol:ConstraintColumn; public var left:Number; public var child:IUIComponent; public var rightOffset:Number; public var span:Number; public var hcOffset:Number; public var leftCol:ConstraintColumn; public var leftOffset:Number; public var hc:Number; public var right:Number; private function ContentColumnChild():void{ } } class ContentRowChild { public var topRow:ConstraintRow; public var topOffset:Number; public var baseline:Number; public var baselineRow:ConstraintRow; public var span:Number; public var top:Number; public var vcOffset:Number; public var child:IUIComponent; public var bottomOffset:Number; public var bottom:Number; public var vc:Number; public var bottomRow:ConstraintRow; public var vcRow:ConstraintRow; public var baselineOffset:Number; private function ContentRowChild():void{ } }
Section 33
//ConstraintColumn (mx.containers.utilityClasses.ConstraintColumn) package mx.containers.utilityClasses { import mx.core.*; import flash.events.*; public class ConstraintColumn extends EventDispatcher implements IMXMLObject { private var _container:IInvalidating; private var _explicitMinWidth:Number; mx_internal var _width:Number; mx_internal var contentSize:Boolean;// = false private var _percentWidth:Number; private var _explicitWidth:Number; private var _explicitMaxWidth:Number; private var _x:Number; private var _id:String; mx_internal static const VERSION:String = "3.0.0.0"; public function get container():IInvalidating{ return (_container); } public function get width():Number{ return (_width); } public function get percentWidth():Number{ return (_percentWidth); } public function set container(_arg1:IInvalidating):void{ _container = _arg1; } public function set maxWidth(_arg1:Number):void{ if (_explicitMaxWidth != _arg1){ _explicitMaxWidth = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("maxWidthChanged")); }; } public function set width(_arg1:Number):void{ if (explicitWidth != _arg1){ explicitWidth = _arg1; if (_width != _arg1){ _width = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("widthChanged")); }; }; } public function get maxWidth():Number{ return (_explicitMaxWidth); } public function get minWidth():Number{ return (_explicitMinWidth); } public function get id():String{ return (_id); } public function initialized(_arg1:Object, _arg2:String):void{ this.id = _arg2; if (((!(this.width)) && (!(this.percentWidth)))){ contentSize = true; }; } public function set explicitWidth(_arg1:Number):void{ if (_explicitWidth == _arg1){ return; }; if (!isNaN(_arg1)){ _percentWidth = NaN; }; _explicitWidth = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("explicitWidthChanged")); } public function setActualWidth(_arg1:Number):void{ if (_width != _arg1){ _width = _arg1; dispatchEvent(new Event("widthChanged")); }; } public function set minWidth(_arg1:Number):void{ if (_explicitMinWidth != _arg1){ _explicitMinWidth = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("minWidthChanged")); }; } public function set percentWidth(_arg1:Number):void{ if (_percentWidth == _arg1){ return; }; if (!isNaN(_arg1)){ _explicitWidth = NaN; }; _percentWidth = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("percentWidthChanged")); } public function set x(_arg1:Number):void{ if (_arg1 != _x){ _x = _arg1; dispatchEvent(new Event("xChanged")); }; } public function get explicitWidth():Number{ return (_explicitWidth); } public function set id(_arg1:String):void{ _id = _arg1; } public function get x():Number{ return (_x); } } }//package mx.containers.utilityClasses
Section 34
//ConstraintRow (mx.containers.utilityClasses.ConstraintRow) package mx.containers.utilityClasses { import mx.core.*; import flash.events.*; public class ConstraintRow extends EventDispatcher implements IMXMLObject { private var _container:IInvalidating; mx_internal var _height:Number; private var _explicitMinHeight:Number; private var _y:Number; private var _percentHeight:Number; private var _explicitMaxHeight:Number; mx_internal var contentSize:Boolean;// = false private var _explicitHeight:Number; private var _id:String; mx_internal static const VERSION:String = "3.0.0.0"; public function get container():IInvalidating{ return (_container); } public function set container(_arg1:IInvalidating):void{ _container = _arg1; } public function set y(_arg1:Number):void{ if (_arg1 != _y){ _y = _arg1; dispatchEvent(new Event("yChanged")); }; } public function set height(_arg1:Number):void{ if (explicitHeight != _arg1){ explicitHeight = _arg1; if (_height != _arg1){ _height = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("heightChanged")); }; }; } public function set maxHeight(_arg1:Number):void{ if (_explicitMaxHeight != _arg1){ _explicitMaxHeight = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("maxHeightChanged")); }; } public function setActualHeight(_arg1:Number):void{ if (_height != _arg1){ _height = _arg1; dispatchEvent(new Event("heightChanged")); }; } public function get minHeight():Number{ return (_explicitMinHeight); } public function get id():String{ return (_id); } public function set percentHeight(_arg1:Number):void{ if (_percentHeight == _arg1){ return; }; if (!isNaN(_arg1)){ _explicitHeight = NaN; }; _percentHeight = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; } public function initialized(_arg1:Object, _arg2:String):void{ this.id = _arg2; if (((!(this.height)) && (!(this.percentHeight)))){ contentSize = true; }; } public function get percentHeight():Number{ return (_percentHeight); } public function get height():Number{ return (_height); } public function get maxHeight():Number{ return (_explicitMaxHeight); } public function set minHeight(_arg1:Number):void{ if (_explicitMinHeight != _arg1){ _explicitMinHeight = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("minHeightChanged")); }; } public function set id(_arg1:String):void{ _id = _arg1; } public function get y():Number{ return (_y); } public function get explicitHeight():Number{ return (_explicitHeight); } public function set explicitHeight(_arg1:Number):void{ if (_explicitHeight == _arg1){ return; }; if (!isNaN(_arg1)){ _percentHeight = NaN; }; _explicitHeight = _arg1; if (container){ container.invalidateSize(); container.invalidateDisplayList(); }; dispatchEvent(new Event("explicitHeightChanged")); } } }//package mx.containers.utilityClasses
Section 35
//Flex (mx.containers.utilityClasses.Flex) package mx.containers.utilityClasses { import mx.core.*; public class Flex { mx_internal static const VERSION:String = "3.0.0.0"; public static function flexChildWidthsProportionally(_arg1:Container, _arg2:Number, _arg3:Number):Number{ var _local6:Array; var _local7:FlexChildInfo; var _local8:IUIComponent; var _local9:int; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local4:Number = _arg2; var _local5:Number = 0; _local6 = []; var _local10:int = _arg1.numChildren; _local9 = 0; while (_local9 < _local10) { _local8 = IUIComponent(_arg1.getChildAt(_local9)); _local11 = _local8.percentWidth; _local12 = _local8.percentHeight; if (((!(isNaN(_local12))) && (_local8.includeInLayout))){ _local13 = Math.max(_local8.minHeight, Math.min(_local8.maxHeight, ((_local12)>=100) ? _arg3 : ((_arg3 * _local12) / 100))); } else { _local13 = _local8.getExplicitOrMeasuredHeight(); }; if (((!(isNaN(_local11))) && (_local8.includeInLayout))){ _local5 = (_local5 + _local11); _local7 = new FlexChildInfo(); _local7.percent = _local11; _local7.min = _local8.minWidth; _local7.max = _local8.maxWidth; _local7.height = _local13; _local7.child = _local8; _local6.push(_local7); } else { _local14 = _local8.getExplicitOrMeasuredWidth(); if ((((_local8.scaleX == 1)) && ((_local8.scaleY == 1)))){ _local8.setActualSize(Math.floor(_local14), Math.floor(_local13)); } else { _local8.setActualSize(_local14, _local13); }; if (_local8.includeInLayout){ _local4 = (_local4 - _local8.width); }; }; _local9++; }; if (_local5){ _local4 = flexChildrenProportionally(_arg2, _local4, _local5, _local6); _local10 = _local6.length; _local9 = 0; while (_local9 < _local10) { _local7 = _local6[_local9]; _local8 = _local7.child; if ((((_local8.scaleX == 1)) && ((_local8.scaleY == 1)))){ _local8.setActualSize(Math.floor(_local7.size), Math.floor(_local7.height)); } else { _local8.setActualSize(_local7.size, _local7.height); }; _local9++; }; if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ distributeExtraWidth(_arg1, _arg2); }; }; return (_local4); } public static function distributeExtraHeight(_arg1:Container, _arg2:Number):void{ var _local5:int; var _local6:Number; var _local9:IUIComponent; var _local10:Number; var _local11:Number; var _local3:int = _arg1.numChildren; var _local4:Boolean; var _local7:Number = _arg2; var _local8:Number = 0; _local5 = 0; while (_local5 < _local3) { _local9 = IUIComponent(_arg1.getChildAt(_local5)); if (!_local9.includeInLayout){ } else { _local10 = _local9.height; _local6 = _local9.percentHeight; _local8 = (_local8 + _local10); if (!isNaN(_local6)){ _local11 = Math.ceil(((_local6 / 100) * _arg2)); if (_local11 > _local10){ _local4 = true; }; }; }; _local5++; }; if (!_local4){ return; }; _local7 = (_local7 - _local8); var _local12:Boolean; while (((_local12) && ((_local7 > 0)))) { _local12 = false; _local5 = 0; while (_local5 < _local3) { _local9 = IUIComponent(_arg1.getChildAt(_local5)); _local10 = _local9.height; _local6 = _local9.percentHeight; if (((((!(isNaN(_local6))) && (_local9.includeInLayout))) && ((_local10 < _local9.maxHeight)))){ _local11 = Math.ceil(((_local6 / 100) * _arg2)); if (_local11 > _local10){ _local9.setActualSize(_local9.width, (_local10 + 1)); _local7--; _local12 = true; if (_local7 == 0){ return; }; }; }; _local5++; }; }; } public static function distributeExtraWidth(_arg1:Container, _arg2:Number):void{ var _local5:int; var _local6:Number; var _local9:IUIComponent; var _local10:Number; var _local11:Number; var _local3:int = _arg1.numChildren; var _local4:Boolean; var _local7:Number = _arg2; var _local8:Number = 0; _local5 = 0; while (_local5 < _local3) { _local9 = IUIComponent(_arg1.getChildAt(_local5)); if (!_local9.includeInLayout){ } else { _local10 = _local9.width; _local6 = _local9.percentWidth; _local8 = (_local8 + _local10); if (!isNaN(_local6)){ _local11 = Math.ceil(((_local6 / 100) * _arg2)); if (_local11 > _local10){ _local4 = true; }; }; }; _local5++; }; if (!_local4){ return; }; _local7 = (_local7 - _local8); var _local12:Boolean; while (((_local12) && ((_local7 > 0)))) { _local12 = false; _local5 = 0; while (_local5 < _local3) { _local9 = IUIComponent(_arg1.getChildAt(_local5)); _local10 = _local9.width; _local6 = _local9.percentWidth; if (((((!(isNaN(_local6))) && (_local9.includeInLayout))) && ((_local10 < _local9.maxWidth)))){ _local11 = Math.ceil(((_local6 / 100) * _arg2)); if (_local11 > _local10){ _local9.setActualSize((_local10 + 1), _local9.height); _local7--; _local12 = true; if (_local7 == 0){ return; }; }; }; _local5++; }; }; } public static function flexChildrenProportionally(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Array):Number{ var _local6:Number; var _local7:Boolean; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:*; var _local5:int = _arg4.length; var _local8:Number = (_arg2 - ((_arg1 * _arg3) / 100)); if (_local8 > 0){ _arg2 = (_arg2 - _local8); }; do { _local6 = 0; _local7 = true; _local9 = (_arg2 / _arg3); _local10 = 0; while (_local10 < _local5) { _local11 = _arg4[_local10]; _local12 = (_local11.percent * _local9); if (_local12 < _local11.min){ _local13 = _local11.min; _local11.size = _local13; --_local5; _arg4[_local10] = _arg4[_local5]; _arg4[_local5] = _local11; _arg3 = (_arg3 - _local11.percent); _arg2 = (_arg2 - _local13); _local7 = false; break; } else { if (_local12 > _local11.max){ _local14 = _local11.max; _local11.size = _local14; --_local5; _arg4[_local10] = _arg4[_local5]; _arg4[_local5] = _local11; _arg3 = (_arg3 - _local11.percent); _arg2 = (_arg2 - _local14); _local7 = false; break; } else { _local11.size = _local12; _local6 = (_local6 + _local12); }; }; _local10++; }; } while (!(_local7)); return (Math.max(0, Math.floor((_arg2 - _local6)))); } public static function flexChildHeightsProportionally(_arg1:Container, _arg2:Number, _arg3:Number):Number{ var _local7:FlexChildInfo; var _local8:IUIComponent; var _local9:int; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local4:Number = _arg2; var _local5:Number = 0; var _local6:Array = []; var _local10:int = _arg1.numChildren; _local9 = 0; while (_local9 < _local10) { _local8 = IUIComponent(_arg1.getChildAt(_local9)); _local11 = _local8.percentWidth; _local12 = _local8.percentHeight; if (((!(isNaN(_local11))) && (_local8.includeInLayout))){ _local13 = Math.max(_local8.minWidth, Math.min(_local8.maxWidth, ((_local11)>=100) ? _arg3 : ((_arg3 * _local11) / 100))); } else { _local13 = _local8.getExplicitOrMeasuredWidth(); }; if (((!(isNaN(_local12))) && (_local8.includeInLayout))){ _local5 = (_local5 + _local12); _local7 = new FlexChildInfo(); _local7.percent = _local12; _local7.min = _local8.minHeight; _local7.max = _local8.maxHeight; _local7.width = _local13; _local7.child = _local8; _local6.push(_local7); } else { _local14 = _local8.getExplicitOrMeasuredHeight(); if ((((_local8.scaleX == 1)) && ((_local8.scaleY == 1)))){ _local8.setActualSize(Math.floor(_local13), Math.floor(_local14)); } else { _local8.setActualSize(_local13, _local14); }; if (_local8.includeInLayout){ _local4 = (_local4 - _local8.height); }; }; _local9++; }; if (_local5){ _local4 = flexChildrenProportionally(_arg2, _local4, _local5, _local6); _local10 = _local6.length; _local9 = 0; while (_local9 < _local10) { _local7 = _local6[_local9]; _local8 = _local7.child; if ((((_local8.scaleX == 1)) && ((_local8.scaleY == 1)))){ _local8.setActualSize(Math.floor(_local7.width), Math.floor(_local7.size)); } else { _local8.setActualSize(_local7.width, _local7.size); }; _local9++; }; if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ distributeExtraHeight(_arg1, _arg2); }; }; return (_local4); } } }//package mx.containers.utilityClasses
Section 36
//FlexChildInfo (mx.containers.utilityClasses.FlexChildInfo) package mx.containers.utilityClasses { import mx.core.*; public class FlexChildInfo { public var flex:Number;// = 0 public var preferred:Number;// = 0 public var percent:Number; public var width:Number; public var height:Number; public var size:Number;// = 0 public var max:Number; public var min:Number; public var child:IUIComponent; mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.containers.utilityClasses
Section 37
//IConstraintLayout (mx.containers.utilityClasses.IConstraintLayout) package mx.containers.utilityClasses { public interface IConstraintLayout { function get constraintColumns():Array; function set constraintRows(_arg1:Array):void; function get constraintRows():Array; function set constraintColumns(_arg1:Array):void; } }//package mx.containers.utilityClasses
Section 38
//Layout (mx.containers.utilityClasses.Layout) package mx.containers.utilityClasses { import mx.core.*; import mx.resources.*; public class Layout { private var _target:Container; protected var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.0.0.0"; public function Layout(){ resourceManager = ResourceManager.getInstance(); super(); } public function get target():Container{ return (_target); } public function set target(_arg1:Container):void{ _target = _arg1; } public function measure():void{ } public function updateDisplayList(_arg1:Number, _arg2:Number):void{ } } }//package mx.containers.utilityClasses
Section 39
//Box (mx.containers.Box) package mx.containers { import mx.core.*; import flash.events.*; import mx.containers.utilityClasses.*; public class Box extends Container { mx_internal var layoutObject:BoxLayout; mx_internal static const VERSION:String = "3.0.0.0"; public function Box(){ layoutObject = new BoxLayout(); super(); layoutObject.target = this; } mx_internal function isVertical():Boolean{ return (!((direction == BoxDirection.HORIZONTAL))); } public function set direction(_arg1:String):void{ layoutObject.direction = _arg1; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("directionChanged")); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); layoutObject.updateDisplayList(_arg1, _arg2); } public function pixelsToPercent(_arg1:Number):Number{ var _local8:IUIComponent; var _local9:Number; var _local10:Number; var _local2:Boolean = isVertical(); var _local3:Number = 0; var _local4:Number = 0; var _local5:int = numChildren; var _local6:int; while (_local6 < _local5) { _local8 = IUIComponent(getChildAt(_local6)); _local9 = (_local2) ? _local8.height : _local8.width; _local10 = (_local2) ? _local8.percentHeight : _local8.percentWidth; if (!isNaN(_local10)){ _local3 = (_local3 + _local10); _local4 = (_local4 + _local9); }; _local6++; }; var _local7:Number = 100; if (_local4 != _arg1){ _local7 = (((_local4 * _local3) / (_local4 - _arg1)) - _local3); }; return (_local7); } override protected function measure():void{ super.measure(); layoutObject.measure(); } public function get direction():String{ return (layoutObject.direction); } } }//package mx.containers
Section 40
//BoxDirection (mx.containers.BoxDirection) package mx.containers { public final class BoxDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.containers
Section 41
//ControlBar (mx.containers.ControlBar) package mx.containers { import mx.core.*; public class ControlBar extends Box { mx_internal static const VERSION:String = "3.0.0.0"; public function ControlBar(){ direction = BoxDirection.HORIZONTAL; } override public function set verticalScrollPolicy(_arg1:String):void{ } override public function set horizontalScrollPolicy(_arg1:String):void{ } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); if (contentPane){ contentPane.opaqueBackground = null; }; } override public function set enabled(_arg1:Boolean):void{ if (_arg1 != super.enabled){ super.enabled = _arg1; alpha = (_arg1) ? 1 : 0.4; }; } override public function get horizontalScrollPolicy():String{ return (ScrollPolicy.OFF); } override public function invalidateSize():void{ super.invalidateSize(); if (parent){ Container(parent).invalidateViewMetricsAndPadding(); }; } override public function get verticalScrollPolicy():String{ return (ScrollPolicy.OFF); } override public function set includeInLayout(_arg1:Boolean):void{ var _local2:Container; if (includeInLayout != _arg1){ super.includeInLayout = _arg1; _local2 = (parent as Container); if (_local2){ _local2.invalidateViewMetricsAndPadding(); }; }; } } }//package mx.containers
Section 42
//Panel (mx.containers.Panel) package mx.containers { import flash.display.*; import flash.geom.*; import flash.text.*; import mx.core.*; import mx.automation.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.*; import mx.effects.*; import flash.utils.*; import mx.containers.utilityClasses.*; public class Panel extends Container implements IConstraintLayout, IFontContextComponent { private var layoutObject:Layout; private var _status:String;// = "" private var _titleChanged:Boolean;// = false mx_internal var titleBarBackground:IFlexDisplayObject; private var regX:Number; private var regY:Number; private var _layout:String;// = "vertical" mx_internal var closeButton:Button; private var initializing:Boolean;// = true private var _title:String;// = "" protected var titleTextField:IUITextField; private var _statusChanged:Boolean;// = false private var autoSetRoundedCorners:Boolean; private var _titleIcon:Class; private var _constraintRows:Array; protected var controlBar:IUIComponent; mx_internal var titleIconObject:Object;// = null protected var titleBar:UIComponent; private var panelViewMetrics:EdgeMetrics; private var _constraintColumns:Array; mx_internal var _showCloseButton:Boolean;// = false private var checkedForAutoSetRoundedCorners:Boolean; private var _titleIconChanged:Boolean;// = false protected var statusTextField:IUITextField; mx_internal static const VERSION:String = "3.0.0.0"; private static const HEADER_PADDING:Number = 14; mx_internal static var createAccessibilityImplementation:Function; private static var _closeButtonStyleFilters:Object = {closeButtonUpSkin:"closeButtonUpSkin", closeButtonOverSkin:"closeButtonOverSkin", closeButtonDownSkin:"closeButtonDownSkin", closeButtonDisabledSkin:"closeButtonDisabledSkin", closeButtonSkin:"closeButtonSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; public function Panel(){ _constraintColumns = []; _constraintRows = []; super(); addEventListener("resizeStart", EffectManager.eventHandler, false, EventPriority.EFFECT); addEventListener("resizeEnd", EffectManager.eventHandler, false, EventPriority.EFFECT); layoutObject = new BoxLayout(); layoutObject.target = this; showInAutomationHierarchy = true; } private function systemManager_mouseUpHandler(_arg1:MouseEvent):void{ if (!isNaN(regX)){ stopDragging(); }; } mx_internal function getHeaderHeightProxy():Number{ return (getHeaderHeight()); } override public function getChildIndex(_arg1:DisplayObject):int{ if (((controlBar) && ((_arg1 == controlBar)))){ return (numChildren); }; return (super.getChildIndex(_arg1)); } mx_internal function get _controlBar():IUIComponent{ return (controlBar); } mx_internal function getTitleBar():UIComponent{ return (titleBar); } public function get layout():String{ return (_layout); } override protected function createChildren():void{ var _local1:Class; var _local2:IStyleClient; var _local3:ISimpleStyleClient; super.createChildren(); if (!titleBar){ titleBar = new UIComponent(); titleBar.visible = false; titleBar.addEventListener(MouseEvent.MOUSE_DOWN, titleBar_mouseDownHandler); rawChildren.addChild(titleBar); }; if (!titleBarBackground){ _local1 = getStyle("titleBackgroundSkin"); if (_local1){ titleBarBackground = new (_local1); _local2 = (titleBarBackground as IStyleClient); if (_local2){ _local2.setStyle("backgroundImage", undefined); }; _local3 = (titleBarBackground as ISimpleStyleClient); if (_local3){ _local3.styleName = this; }; titleBar.addChild(DisplayObject(titleBarBackground)); }; }; createTitleTextField(-1); createStatusTextField(-1); if (!closeButton){ closeButton = new Button(); closeButton.styleName = new StyleProxy(this, closeButtonStyleFilters); closeButton.upSkinName = "closeButtonUpSkin"; closeButton.overSkinName = "closeButtonOverSkin"; closeButton.downSkinName = "closeButtonDownSkin"; closeButton.disabledSkinName = "closeButtonDisabledSkin"; closeButton.skinName = "closeButtonSkin"; closeButton.explicitWidth = (closeButton.explicitHeight = 16); closeButton.focusEnabled = false; closeButton.visible = false; closeButton.enabled = enabled; closeButton.addEventListener(MouseEvent.CLICK, closeButton_clickHandler); titleBar.addChild(closeButton); closeButton.owner = this; }; } public function get constraintColumns():Array{ return (_constraintColumns); } override public function set cacheAsBitmap(_arg1:Boolean):void{ super.cacheAsBitmap = _arg1; if (((((((cacheAsBitmap) && (!(contentPane)))) && (!((cachePolicy == UIComponentCachePolicy.OFF))))) && (getStyle("backgroundColor")))){ createContentPane(); invalidateDisplayList(); }; } override public function createComponentsFromDescriptors(_arg1:Boolean=true):void{ var _local3:Object; super.createComponentsFromDescriptors(); if (numChildren == 0){ setControlBar(null); return; }; var _local2:IUIComponent = IUIComponent(getChildAt((numChildren - 1))); if ((_local2 is ControlBar)){ _local3 = _local2.document; if (contentPane){ contentPane.removeChild(DisplayObject(_local2)); } else { removeChild(DisplayObject(_local2)); }; _local2.document = _local3; rawChildren.addChild(DisplayObject(_local2)); setControlBar(_local2); } else { setControlBar(null); }; } override protected function layoutChrome(_arg1:Number, _arg2:Number):void{ var _local9:Number; var _local10:Graphics; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; super.layoutChrome(_arg1, _arg2); var _local3:EdgeMetrics = EdgeMetrics.EMPTY; var _local4:Number = getStyle("borderThickness"); if ((((((getQualifiedClassName(border) == "mx.skins.halo::PanelSkin")) && (!((getStyle("borderStyle") == "default"))))) && (_local4))){ _local3 = new EdgeMetrics(_local4, _local4, _local4, _local4); }; var _local5:EdgeMetrics = ((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? borderMetrics : _local3; var _local6:Number = _local5.left; var _local7:Number = _local5.top; var _local8:Number = getHeaderHeight(); if ((((_local8 > 0)) && ((height >= _local8)))){ _local9 = ((_arg1 - _local5.left) - _local5.right); showTitleBar(true); titleBar.mouseChildren = true; titleBar.mouseEnabled = true; _local10 = titleBar.graphics; _local10.clear(); _local10.beginFill(0xFFFFFF, 0); _local10.drawRect(0, 0, _local9, _local8); _local10.endFill(); titleBar.move(_local6, _local7); titleBar.setActualSize(_local9, _local8); titleBarBackground.move(0, 0); IFlexDisplayObject(titleBarBackground).setActualSize(_local9, _local8); closeButton.visible = _showCloseButton; if (_showCloseButton){ closeButton.setActualSize(closeButton.getExplicitOrMeasuredWidth(), closeButton.getExplicitOrMeasuredHeight()); closeButton.move(((((_arg1 - _local6) - _local5.right) - 10) - closeButton.getExplicitOrMeasuredWidth()), ((_local8 - closeButton.getExplicitOrMeasuredHeight()) / 2)); }; _local11 = 10; _local12 = 10; if (titleIconObject){ _local13 = titleIconObject.height; _local14 = ((_local8 - _local13) / 2); titleIconObject.move(_local11, _local14); _local11 = (_local11 + (titleIconObject.width + 4)); }; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local13 = titleTextField.nonZeroTextHeight; } else { _local13 = titleTextField.getUITextFormat().measureText(titleTextField.text).height; }; _local14 = ((_local8 - _local13) / 2); _local15 = (_local5.left + _local5.right); titleTextField.move(_local11, (_local14 - 1)); titleTextField.setActualSize(Math.max(0, (((_arg1 - _local11) - _local12) - _local15)), (_local13 + UITextField.TEXT_HEIGHT_PADDING)); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local13 = statusTextField.textHeight; } else { _local13 = ((statusTextField.text)!="") ? statusTextField.getUITextFormat().measureText(statusTextField.text).height : 0; }; _local14 = ((_local8 - _local13) / 2); _local16 = ((((_arg1 - _local12) - 4) - _local15) - statusTextField.textWidth); if (_showCloseButton){ _local16 = (_local16 - (closeButton.getExplicitOrMeasuredWidth() + 4)); }; statusTextField.move(_local16, (_local14 - 1)); statusTextField.setActualSize((statusTextField.textWidth + 8), (statusTextField.textHeight + UITextField.TEXT_HEIGHT_PADDING)); _local17 = ((titleTextField.x + titleTextField.textWidth) + 8); if (statusTextField.x < _local17){ statusTextField.width = Math.max((statusTextField.width - (_local17 - statusTextField.x)), 0); statusTextField.x = _local17; }; } else { if (titleBar){ showTitleBar(false); titleBar.mouseChildren = false; titleBar.mouseEnabled = false; }; }; if (controlBar){ _local18 = controlBar.x; _local19 = controlBar.y; _local20 = controlBar.width; _local21 = controlBar.height; controlBar.setActualSize((_arg1 - (_local5.left + _local5.right)), controlBar.getExplicitOrMeasuredHeight()); controlBar.move(_local5.left, ((_arg2 - _local5.bottom) - controlBar.getExplicitOrMeasuredHeight())); if (controlBar.includeInLayout){ controlBar.visible = (controlBar.y >= _local5.top); }; if (((((((!((_local18 == controlBar.x))) || (!((_local19 == controlBar.y))))) || (!((_local20 == controlBar.width))))) || (!((_local21 == controlBar.height))))){ invalidateDisplayList(); }; }; } public function set layout(_arg1:String):void{ if (_layout != _arg1){ _layout = _arg1; if (layoutObject){ layoutObject.target = null; }; if (_layout == ContainerLayout.ABSOLUTE){ layoutObject = new CanvasLayout(); } else { layoutObject = new BoxLayout(); if (_layout == ContainerLayout.VERTICAL){ BoxLayout(layoutObject).direction = BoxDirection.VERTICAL; } else { BoxLayout(layoutObject).direction = BoxDirection.HORIZONTAL; }; }; if (layoutObject){ layoutObject.target = this; }; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("layoutChanged")); }; } public function get constraintRows():Array{ return (_constraintRows); } public function get title():String{ return (_title); } mx_internal function getTitleTextField():IUITextField{ return (titleTextField); } mx_internal function createStatusTextField(_arg1:int):void{ var _local2:String; if (((titleBar) && (!(statusTextField)))){ statusTextField = IUITextField(createInFontContext(UITextField)); statusTextField.selectable = false; if (_arg1 == -1){ titleBar.addChild(DisplayObject(statusTextField)); } else { titleBar.addChildAt(DisplayObject(statusTextField), _arg1); }; _local2 = getStyle("statusStyleName"); statusTextField.styleName = _local2; statusTextField.text = status; statusTextField.enabled = enabled; }; } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } override protected function measure():void{ var _local6:Number; super.measure(); layoutObject.measure(); var _local1:Rectangle = measureHeaderText(); var _local2:Number = _local1.width; var _local3:Number = _local1.height; var _local4:EdgeMetrics = ((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? borderMetrics : EdgeMetrics.EMPTY; _local2 = (_local2 + (_local4.left + _local4.right)); var _local5:Number = 5; _local2 = (_local2 + (_local5 * 2)); if (titleIconObject){ _local2 = (_local2 + titleIconObject.width); }; if (closeButton){ _local2 = (_local2 + (closeButton.getExplicitOrMeasuredWidth() + 6)); }; measuredMinWidth = Math.max(_local2, measuredMinWidth); measuredWidth = Math.max(_local2, measuredWidth); if (((controlBar) && (controlBar.includeInLayout))){ _local6 = ((controlBar.getExplicitOrMeasuredWidth() + _local4.left) + _local4.right); measuredWidth = Math.max(measuredWidth, _local6); }; } mx_internal function getControlBar():IUIComponent{ return (controlBar); } override public function get viewMetrics():EdgeMetrics{ var _local2:EdgeMetrics; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local1:EdgeMetrics = super.viewMetrics; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (!panelViewMetrics){ panelViewMetrics = new EdgeMetrics(0, 0, 0, 0); }; _local1 = panelViewMetrics; _local2 = super.viewMetrics; _local3 = getStyle("borderThickness"); _local4 = getStyle("borderThicknessLeft"); _local5 = getStyle("borderThicknessTop"); _local6 = getStyle("borderThicknessRight"); _local7 = getStyle("borderThicknessBottom"); _local1.left = (_local2.left + (isNaN(_local4)) ? _local3 : _local4); _local1.top = (_local2.top + (isNaN(_local5)) ? _local3 : _local5); _local1.right = (_local2.right + (isNaN(_local6)) ? _local3 : _local6); _local1.bottom = (_local2.bottom + (isNaN(_local7)) ? (((controlBar) && (!(isNaN(_local5))))) ? _local5 : (isNaN(_local4)) ? _local3 : _local4 : _local7); _local8 = getHeaderHeight(); if (!isNaN(_local8)){ _local1.top = (_local1.top + _local8); }; if (((controlBar) && (controlBar.includeInLayout))){ _local1.bottom = (_local1.bottom + controlBar.getExplicitOrMeasuredHeight()); }; }; return (_local1); } private function measureHeaderText():Rectangle{ var _local3:UITextFormat; var _local4:TextLineMetrics; var _local1:Number = 20; var _local2:Number = 14; if (((titleTextField) && (titleTextField.text))){ titleTextField.validateNow(); _local3 = titleTextField.getUITextFormat(); _local4 = _local3.measureText(titleTextField.text, false); _local1 = _local4.width; _local2 = _local4.height; }; if (((statusTextField) && (statusTextField.text))){ statusTextField.validateNow(); _local3 = statusTextField.getUITextFormat(); _local4 = _local3.measureText(statusTextField.text, false); _local1 = Math.max(_local1, _local4.width); _local2 = Math.max(_local2, _local4.height); }; return (new Rectangle(0, 0, Math.round(_local1), Math.round(_local2))); } mx_internal function createTitleTextField(_arg1:int):void{ var _local2:String; if (!titleTextField){ titleTextField = IUITextField(createInFontContext(UITextField)); titleTextField.selectable = false; if (_arg1 == -1){ titleBar.addChild(DisplayObject(titleTextField)); } else { titleBar.addChildAt(DisplayObject(titleTextField), _arg1); }; _local2 = getStyle("titleStyleName"); titleTextField.styleName = _local2; titleTextField.text = title; titleTextField.enabled = enabled; }; } private function closeButton_clickHandler(_arg1:MouseEvent):void{ dispatchEvent(new CloseEvent(CloseEvent.CLOSE)); } private function setControlBar(_arg1:IUIComponent):void{ if (_arg1 == controlBar){ return; }; controlBar = _arg1; if (!checkedForAutoSetRoundedCorners){ checkedForAutoSetRoundedCorners = true; autoSetRoundedCorners = (styleDeclaration) ? (styleDeclaration.getStyle("roundedBottomCorners") === undefined) : true; }; if (autoSetRoundedCorners){ setStyle("roundedBottomCorners", !((controlBar == null))); }; var _local2:String = getStyle("controlBarStyleName"); if (((_local2) && ((controlBar is ISimpleStyleClient)))){ ISimpleStyleClient(controlBar).styleName = _local2; }; if (controlBar){ controlBar.enabled = enabled; }; if ((controlBar is IAutomationObject)){ IAutomationObject(controlBar).showInAutomationHierarchy = false; }; invalidateViewMetricsAndPadding(); invalidateSize(); invalidateDisplayList(); } protected function get closeButtonStyleFilters():Object{ return (_closeButtonStyleFilters); } public function set constraintColumns(_arg1:Array):void{ var _local2:int; var _local3:int; if (_arg1 != _constraintColumns){ _local2 = _arg1.length; _local3 = 0; while (_local3 < _local2) { ConstraintColumn(_arg1[_local3]).container = this; _local3++; }; _constraintColumns = _arg1; invalidateSize(); invalidateDisplayList(); }; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; if (titleTextField){ titleTextField.enabled = _arg1; }; if (statusTextField){ statusTextField.enabled = _arg1; }; if (controlBar){ controlBar.enabled = _arg1; }; if (closeButton){ closeButton.enabled = _arg1; }; } override public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (super.baselinePosition); }; if (!validateBaselinePosition()){ return (NaN); }; return (((titleBar.y + titleTextField.y) + titleTextField.baselinePosition)); } protected function stopDragging():void{ systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, systemManager_mouseMoveHandler, true); systemManager.removeEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true); systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, stage_mouseLeaveHandler); regX = NaN; regY = NaN; } private function titleBar_mouseDownHandler(_arg1:MouseEvent):void{ if (_arg1.target == closeButton){ return; }; if (((((enabled) && (isPopUp))) && (isNaN(regX)))){ startDragging(_arg1); }; } override mx_internal function get usePadding():Boolean{ return (!((layout == ContainerLayout.ABSOLUTE))); } override protected function initializeAccessibility():void{ if (Panel.createAccessibilityImplementation != null){ Panel.createAccessibilityImplementation(this); }; } protected function getHeaderHeight():Number{ var _local1:Number = getStyle("headerHeight"); if (isNaN(_local1)){ _local1 = (measureHeaderText().height + HEADER_PADDING); }; return (_local1); } public function set constraintRows(_arg1:Array):void{ var _local2:int; var _local3:int; if (_arg1 != _constraintRows){ _local2 = _arg1.length; _local3 = 0; while (_local3 < _local2) { ConstraintRow(_arg1[_local3]).container = this; _local3++; }; _constraintRows = _arg1; invalidateSize(); invalidateDisplayList(); }; } public function set title(_arg1:String):void{ _title = _arg1; _titleChanged = true; invalidateProperties(); invalidateSize(); invalidateViewMetricsAndPadding(); dispatchEvent(new Event("titleChanged")); } private function showTitleBar(_arg1:Boolean):void{ var _local4:DisplayObject; titleBar.visible = _arg1; var _local2:int = titleBar.numChildren; var _local3:int; while (_local3 < _local2) { _local4 = titleBar.getChildAt(_local3); _local4.visible = _arg1; _local3++; }; } override public function styleChanged(_arg1:String):void{ var _local3:String; var _local4:String; var _local5:String; var _local6:Class; var _local7:IStyleClient; var _local8:ISimpleStyleClient; var _local2:Boolean = ((!(_arg1)) || ((_arg1 == "styleName"))); super.styleChanged(_arg1); if (((_local2) || ((_arg1 == "titleStyleName")))){ if (titleTextField){ _local3 = getStyle("titleStyleName"); titleTextField.styleName = _local3; }; }; if (((_local2) || ((_arg1 == "statusStyleName")))){ if (statusTextField){ _local4 = getStyle("statusStyleName"); statusTextField.styleName = _local4; }; }; if (((_local2) || ((_arg1 == "controlBarStyleName")))){ if (((controlBar) && ((controlBar is ISimpleStyleClient)))){ _local5 = getStyle("controlBarStyleName"); ISimpleStyleClient(controlBar).styleName = _local5; }; }; if (((_local2) || ((_arg1 == "titleBackgroundSkin")))){ if (titleBar){ _local6 = getStyle("titleBackgroundSkin"); if (_local6){ if (titleBarBackground){ titleBar.removeChild(DisplayObject(titleBarBackground)); titleBarBackground = null; }; titleBarBackground = new (_local6); _local7 = (titleBarBackground as IStyleClient); if (_local7){ _local7.setStyle("backgroundImage", undefined); }; _local8 = (titleBarBackground as ISimpleStyleClient); if (_local8){ _local8.styleName = this; }; titleBar.addChildAt(DisplayObject(titleBarBackground), 0); }; }; }; } mx_internal function getStatusTextField():IUITextField{ return (statusTextField); } public function set fontContext(_arg1:IFlexModuleFactory):void{ this.moduleFactory = _arg1; } override protected function commitProperties():void{ var _local1:int; super.commitProperties(); if (hasFontContextChanged()){ if (titleTextField){ _local1 = titleBar.getChildIndex(DisplayObject(titleTextField)); removeTitleTextField(); createTitleTextField(_local1); _titleChanged = true; }; if (statusTextField){ _local1 = titleBar.getChildIndex(DisplayObject(statusTextField)); removeStatusTextField(); createStatusTextField(_local1); _statusChanged = true; }; }; if (_titleChanged){ _titleChanged = false; titleTextField.text = _title; if (initialized){ layoutChrome(unscaledWidth, unscaledHeight); }; }; if (_titleIconChanged){ _titleIconChanged = false; if (titleIconObject){ titleBar.removeChild(DisplayObject(titleIconObject)); titleIconObject = null; }; if (_titleIcon){ titleIconObject = new _titleIcon(); titleBar.addChild(DisplayObject(titleIconObject)); }; if (initialized){ layoutChrome(unscaledWidth, unscaledHeight); }; }; if (_statusChanged){ _statusChanged = false; statusTextField.text = _status; if (initialized){ layoutChrome(unscaledWidth, unscaledHeight); }; }; } protected function startDragging(_arg1:MouseEvent):void{ regX = (_arg1.stageX - x); regY = (_arg1.stageY - y); systemManager.addEventListener(MouseEvent.MOUSE_MOVE, systemManager_mouseMoveHandler, true); systemManager.addEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true); systemManager.stage.addEventListener(Event.MOUSE_LEAVE, stage_mouseLeaveHandler); } mx_internal function removeStatusTextField():void{ if (((titleBar) && (statusTextField))){ titleBar.removeChild(DisplayObject(statusTextField)); statusTextField = null; }; } private function stage_mouseLeaveHandler(_arg1:Event):void{ if (!isNaN(regX)){ stopDragging(); }; } public function set status(_arg1:String):void{ _status = _arg1; _statusChanged = true; invalidateProperties(); dispatchEvent(new Event("statusChanged")); } public function get titleIcon():Class{ return (_titleIcon); } public function get status():String{ return (_status); } private function systemManager_mouseMoveHandler(_arg1:MouseEvent):void{ _arg1.stopImmediatePropagation(); move((_arg1.stageX - regX), (_arg1.stageY - regY)); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); layoutObject.updateDisplayList(_arg1, _arg2); if (border){ border.visible = true; }; titleBar.visible = true; } mx_internal function removeTitleTextField():void{ if (((titleBar) && (titleTextField))){ titleBar.removeChild(DisplayObject(titleTextField)); titleTextField = null; }; } public function set titleIcon(_arg1:Class):void{ _titleIcon = _arg1; _titleIconChanged = true; invalidateProperties(); invalidateSize(); dispatchEvent(new Event("titleIconChanged")); } } }//package mx.containers
Section 43
//AlertForm (mx.controls.alertClasses.AlertForm) package mx.controls.alertClasses { import flash.display.*; import flash.text.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.controls.*; import flash.ui.*; public class AlertForm extends UIComponent implements IFontContextComponent { mx_internal var buttons:Array; private var icon:DisplayObject; mx_internal var textField:IUITextField; mx_internal var defaultButton:Button; private var textWidth:Number; private var defaultButtonChanged:Boolean;// = false private var textHeight:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function AlertForm(){ buttons = []; super(); tabChildren = true; } override public function styleChanged(_arg1:String):void{ var _local2:String; var _local3:int; var _local4:int; super.styleChanged(_arg1); if (((((!(_arg1)) || ((_arg1 == "styleName")))) || ((_arg1 == "buttonStyleName")))){ if (buttons){ _local2 = getStyle("buttonStyleName"); _local3 = buttons.length; _local4 = 0; while (_local4 < _local3) { buttons[_local4].styleName = _local2; _local4++; }; }; }; } public function set fontContext(_arg1:IFlexModuleFactory):void{ this.moduleFactory = _arg1; } override protected function commitProperties():void{ var _local1:int; var _local2:ISystemManager; super.commitProperties(); if (((hasFontContextChanged()) && (!((textField == null))))){ _local1 = getChildIndex(DisplayObject(textField)); removeTextField(); createTextField(_local1); }; if (((defaultButtonChanged) && (defaultButton))){ defaultButtonChanged = false; Alert(parent).defaultButton = defaultButton; if ((parent is IFocusManagerContainer)){ _local2 = Alert(parent).systemManager; _local2.activate(IFocusManagerContainer(parent)); }; defaultButton.setFocus(); }; } private function createButton(_arg1:String, _arg2:String):Button{ var _local3:Button = new Button(); _local3.label = _arg1; _local3.name = _arg2; var _local4:String = getStyle("buttonStyleName"); if (_local4){ _local3.styleName = _local4; }; _local3.addEventListener(MouseEvent.CLICK, clickHandler); _local3.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _local3.owner = parent; addChild(_local3); _local3.setActualSize(Alert.buttonWidth, Alert.buttonHeight); buttons.push(_local3); return (_local3); } override protected function resourcesChanged():void{ var _local1:Button; super.resourcesChanged(); _local1 = Button(getChildByName("OK")); if (_local1){ _local1.label = String(Alert.okLabel); }; _local1 = Button(getChildByName("CANCEL")); if (_local1){ _local1.label = String(Alert.cancelLabel); }; _local1 = Button(getChildByName("YES")); if (_local1){ _local1.label = String(Alert.yesLabel); }; _local1 = Button(getChildByName("NO")); if (_local1){ _local1.label = String(Alert.noLabel); }; } override protected function createChildren():void{ var _local5:String; var _local6:Button; super.createChildren(); createTextField(-1); var _local1:Class = Alert(parent).iconClass; if (((_local1) && (!(icon)))){ icon = new (_local1); addChild(icon); }; var _local2:Alert = Alert(parent); var _local3:uint = _local2.buttonFlags; var _local4:uint = _local2.defaultButtonFlag; if ((_local3 & Alert.OK)){ _local5 = String(Alert.okLabel); _local6 = createButton(_local5, "OK"); if (_local4 == Alert.OK){ defaultButton = _local6; }; }; if ((_local3 & Alert.YES)){ _local5 = String(Alert.yesLabel); _local6 = createButton(_local5, "YES"); if (_local4 == Alert.YES){ defaultButton = _local6; }; }; if ((_local3 & Alert.NO)){ _local5 = String(Alert.noLabel); _local6 = createButton(_local5, "NO"); if (_local4 == Alert.NO){ defaultButton = _local6; }; }; if ((_local3 & Alert.CANCEL)){ _local5 = String(Alert.cancelLabel); _local6 = createButton(_local5, "CANCEL"); if (_local4 == Alert.CANCEL){ defaultButton = _local6; }; }; if (((!(defaultButton)) && (buttons.length))){ defaultButton = buttons[0]; }; if (defaultButton){ defaultButtonChanged = true; invalidateProperties(); }; } override protected function measure():void{ super.measure(); var _local1:String = Alert(parent).title; var _local2:TextLineMetrics = Alert(parent).getTitleTextField().getUITextFormat().measureText(_local1); var _local3:int = Math.max(buttons.length, 2); var _local4:Number = ((_local3 * buttons[0].width) + ((_local3 - 1) * 8)); var _local5:Number = Math.max(_local4, _local2.width); textField.width = (2 * _local5); textWidth = (textField.textWidth + UITextField.TEXT_WIDTH_PADDING); var _local6:Number = Math.max(_local5, textWidth); _local6 = Math.min(_local6, (2 * _local5)); if ((((textWidth < _local6)) && ((textField.multiline == true)))){ textField.multiline = false; textField.wordWrap = false; } else { if (textField.multiline == false){ textField.wordWrap = true; textField.multiline = true; }; }; _local6 = (_local6 + 16); if (icon){ _local6 = (_local6 + (icon.width + 8)); }; textHeight = (textField.textHeight + UITextField.TEXT_HEIGHT_PADDING); var _local7:Number = textHeight; if (icon){ _local7 = Math.max(_local7, icon.height); }; _local7 = Math.min(_local7, (screen.height * 0.75)); _local7 = (_local7 + (buttons[0].height + (3 * 8))); measuredWidth = _local6; measuredHeight = _local7; } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } private function clickHandler(_arg1:MouseEvent):void{ var _local2:String = Button(_arg1.currentTarget).name; removeAlert(_local2); } mx_internal function removeTextField():void{ if (textField){ removeChild(DisplayObject(textField)); textField = null; }; } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:uint = Alert(parent).buttonFlags; if (_arg1.keyCode == Keyboard.ESCAPE){ if ((((_local2 & Alert.CANCEL)) || (!((_local2 & Alert.NO))))){ removeAlert("CANCEL"); } else { if ((_local2 & Alert.NO)){ removeAlert("NO"); }; }; }; } mx_internal function createTextField(_arg1:int):void{ if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.styleName = this; textField.text = Alert(parent).text; textField.multiline = true; textField.wordWrap = true; textField.selectable = true; if (_arg1 == -1){ addChild(DisplayObject(textField)); } else { addChildAt(DisplayObject(textField), _arg1); }; }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local3:Number; var _local4:Number; var _local5:Number; super.updateDisplayList(_arg1, _arg2); _local4 = (_arg2 - buttons[0].height); _local5 = ((buttons.length * (buttons[0].width + 8)) - 8); _local3 = ((_arg1 - _local5) / 2); var _local6:int; while (_local6 < buttons.length) { buttons[_local6].move(_local3, _local4); buttons[_local6].tabIndex = (_local6 + 1); _local3 = (_local3 + (buttons[_local6].width + 8)); _local6++; }; _local5 = textWidth; if (icon){ _local5 = (_local5 + (icon.width + 8)); }; _local3 = ((_arg1 - _local5) / 2); if (icon){ icon.x = _local3; icon.y = ((_local4 - icon.height) / 2); _local3 = (_local3 + (icon.width + 8)); }; var _local7:Number = textField.getExplicitOrMeasuredHeight(); textField.move(_local3, ((_local4 - _local7) / 2)); textField.setActualSize((textWidth + 5), _local7); } private function removeAlert(_arg1:String):void{ var _local2:Alert = Alert(parent); _local2.visible = false; var _local3:CloseEvent = new CloseEvent(CloseEvent.CLOSE); if (_arg1 == "YES"){ _local3.detail = Alert.YES; } else { if (_arg1 == "NO"){ _local3.detail = Alert.NO; } else { if (_arg1 == "OK"){ _local3.detail = Alert.OK; } else { if (_arg1 == "CANCEL"){ _local3.detail = Alert.CANCEL; }; }; }; }; _local2.dispatchEvent(_local3); PopUpManager.removePopUp(_local2); } } }//package mx.controls.alertClasses
Section 44
//DataGridListData (mx.controls.dataGridClasses.DataGridListData) package mx.controls.dataGridClasses { import mx.core.*; import mx.controls.listClasses.*; public class DataGridListData extends BaseListData { public var dataField:String; mx_internal static const VERSION:String = "3.0.0.0"; public function DataGridListData(_arg1:String, _arg2:String, _arg3:int, _arg4:String, _arg5:IUIComponent, _arg6:int=0){ super(_arg1, _arg4, _arg5, _arg6, _arg3); this.dataField = _arg2; } } }//package mx.controls.dataGridClasses
Section 45
//BaseListData (mx.controls.listClasses.BaseListData) package mx.controls.listClasses { import mx.core.*; public class BaseListData { private var _uid:String; public var owner:IUIComponent; public var label:String; public var rowIndex:int; public var columnIndex:int; mx_internal static const VERSION:String = "3.0.0.0"; public function BaseListData(_arg1:String, _arg2:String, _arg3:IUIComponent, _arg4:int=0, _arg5:int=0){ this.label = _arg1; this.uid = _arg2; this.owner = _arg3; this.rowIndex = _arg4; this.columnIndex = _arg5; } public function set uid(_arg1:String):void{ _uid = _arg1; } public function get uid():String{ return (_uid); } } }//package mx.controls.listClasses
Section 46
//IDropInListItemRenderer (mx.controls.listClasses.IDropInListItemRenderer) package mx.controls.listClasses { public interface IDropInListItemRenderer { function get listData():BaseListData; function set listData(_arg1:BaseListData):void; } }//package mx.controls.listClasses
Section 47
//IListItemRenderer (mx.controls.listClasses.IListItemRenderer) package mx.controls.listClasses { import mx.core.*; import mx.managers.*; import flash.events.*; import mx.styles.*; public interface IListItemRenderer extends IDataRenderer, IEventDispatcher, IFlexDisplayObject, ILayoutManagerClient, ISimpleStyleClient, IUIComponent { } }//package mx.controls.listClasses
Section 48
//ListBase (mx.controls.listClasses.ListBase) package mx.controls.listClasses { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.effects.*; import mx.collections.*; import flash.utils.*; import mx.utils.*; import flash.ui.*; import mx.skins.halo.*; import mx.collections.errors.*; import mx.controls.dataGridClasses.*; public class ListBase extends ScrollControlBase implements IDataRenderer, IFocusManagerComponent, IListItemRenderer, IDropInListItemRenderer, IEffectTargetHost { private var _labelField:String;// = "label" private var trackedRenderers:Array; mx_internal var bSelectionChanged:Boolean;// = false protected var offscreenExtraColumnsLeft:int;// = 0 protected var selectionTweens:Object; protected var caretItemRenderer:IListItemRenderer; protected var actualIterator:IViewCursor; protected var iteratorValid:Boolean;// = true private var bSelectItem:Boolean;// = false private var _allowMultipleSelection:Boolean;// = false protected var cachedItemsChangeEffect:IEffect;// = null private var lastSelectionData:ListBaseSelectionData; protected var iterator:IViewCursor; protected var rendererChanged:Boolean;// = false protected var unconstrainedRenderers:Dictionary; protected var freeItemRenderersByFactory:Dictionary; private var columnWidthChanged:Boolean;// = false protected var explicitColumnCount:int;// = -1 private var _data:Object; private var bSelectedItemsChanged:Boolean;// = false protected var defaultRowCount:int;// = 4 private var _rowCount:int;// = -1 protected var offscreenExtraRowsTop:int;// = 0 private var _dataTipField:String;// = "label" private var cachedPaddingTopInvalid:Boolean;// = true protected var selectedData:Object; private var _labelFunction:Function; mx_internal var listType:String;// = "grid" private var cachedPaddingBottomInvalid:Boolean;// = true protected var runningDataEffect:Boolean;// = false protected var runDataEffectNextUpdate:Boolean;// = false private var bShiftKey:Boolean;// = false private var columnCountChanged:Boolean;// = true protected var rowMap:Object; mx_internal var _selectedIndex:int;// = -1 mx_internal var collectionIterator:IViewCursor; protected var lastDropIndex:int; private var bCtrlKey:Boolean;// = false private var oldUnscaledHeight:Number; protected var explicitColumnWidth:Number; private var _dataTipFunction:Function; private var _iconFunction:Function; protected var dataItemWrappersByRenderer:Dictionary; protected var itemsNeedMeasurement:Boolean;// = true protected var offscreenExtraRowsBottom:int;// = 0 protected var modifiedCollectionView:ModifiedCollectionView; private var _columnCount:int;// = -1 private var rowCountChanged:Boolean;// = true protected var wordWrapChanged:Boolean;// = false protected var explicitRowCount:int;// = -1 protected var offscreenExtraRows:int;// = 0 private var _dragEnabled:Boolean;// = false private var bSortItemPending:Boolean;// = false protected var caretIndicator:Sprite; protected var caretUID:String; protected var caretBookmark:CursorBookmark; public var allowDragSelection:Boolean;// = false mx_internal var allowRendererStealingDuringLayout:Boolean;// = true private var _selectable:Boolean;// = true protected var listContent:ListBaseContentHolder; private var _showDataTips:Boolean;// = false private var _variableRowHeight:Boolean;// = false private var cachedVerticalAlignInvalid:Boolean;// = true private var _dragMoveEnabled:Boolean;// = false private var _rowHeight:Number; private var _selectedItem:Object; public var menuSelectionMode:Boolean;// = false mx_internal var cachedPaddingTop:Number; private var _selectedIndices:Array; private var _columnWidth:Number; protected var defaultColumnCount:int;// = 4 private var rendererTrackingSuspended:Boolean;// = false private var oldUnscaledWidth:Number; private var _nullItemRenderer:IFactory; mx_internal var bColumnScrolling:Boolean;// = true protected var showCaret:Boolean; private var firstSelectionData:ListBaseSelectionData; private var mouseDownItem:IListItemRenderer; protected var collection:ICollectionView; protected var offscreenExtraRowsOrColumnsChanged:Boolean;// = false private var _offscreenExtraRowsOrColumns:int;// = 0 private var _iconField:String;// = "icon" protected var dataEffectCompleted:Boolean;// = false private var bSelectedItemChanged:Boolean;// = false private var _listData:BaseListData; mx_internal var bSelectOnRelease:Boolean; protected var actualCollection:ICollectionView; mx_internal var lastHighlightItemRenderer:IListItemRenderer; private var _itemRenderer:IFactory; private var itemMaskFreeList:Array; protected var keySelectionPending:Boolean;// = false private var mouseDownPoint:Point; protected var selectionIndicators:Object; protected var highlightUID:String; mx_internal var dragScrollingInterval:int;// = 0 protected var anchorBookmark:CursorBookmark; protected var caretIndex:int;// = -1 protected var offscreenExtraColumnsRight:int;// = 0 private var approximate:Boolean;// = false protected var anchorIndex:int;// = -1 protected var selectionLayer:Sprite; protected var freeItemRenderers:Array; mx_internal var bSelectedIndexChanged:Boolean;// = false mx_internal var cachedVerticalAlign:String; private var lastHighlightItemIndices:Point; mx_internal var lastHighlightItemRendererAtIndices:IListItemRenderer; protected var lastSeekPending:ListBaseSeekPending; private var bSelectedIndicesChanged:Boolean;// = false private var _dropEnabled:Boolean;// = false protected var itemsSizeChanged:Boolean;// = false mx_internal var isPressed:Boolean;// = false private var IS_ITEM_STYLE:Object; mx_internal var cachedPaddingBottom:Number; protected var highlightIndicator:Sprite; private var verticalScrollPositionPending:Number; protected var explicitRowHeight:Number; protected var highlightItemRenderer:IListItemRenderer; private var rowHeightChanged:Boolean;// = false mx_internal var lastDragEvent:DragEvent; private var _wordWrap:Boolean;// = false private var horizontalScrollPositionPending:Number; mx_internal var dropIndicator:IFlexDisplayObject; private var _selectedItems:Array; protected var offscreenExtraColumns:int;// = 0 private var lastKey:uint;// = 0 protected var factoryMap:Dictionary; protected var reservedItemRenderers:Object; mx_internal static const DRAG_THRESHOLD:int = 4; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var createAccessibilityImplementation:Function; private static var _listContentStyleFilters:Object = null; public function ListBase(){ IS_ITEM_STYLE = {alternatingItemColors:true, backgroundColor:true, backgroundDisabledColor:true, color:true, rollOverColor:true, selectionColor:true, selectionDisabledColor:true, styleName:true, textColor:true, textRollOverColor:true, textSelectedColor:true}; rowMap = {}; freeItemRenderers = []; reservedItemRenderers = {}; unconstrainedRenderers = new Dictionary(); dataItemWrappersByRenderer = new Dictionary(true); selectedData = {}; selectionIndicators = {}; selectionTweens = {}; trackedRenderers = []; super(); tabEnabled = true; factoryMap = new Dictionary(true); addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler); addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); addEventListener(MouseEvent.CLICK, mouseClickHandler); addEventListener(MouseEvent.DOUBLE_CLICK, mouseDoubleClickHandler); invalidateProperties(); } public function get iconField():String{ return (_iconField); } public function set iconField(_arg1:String):void{ _iconField = _arg1; itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("iconFieldChanged")); } mx_internal function getItemUID(_arg1:Object):String{ return (itemToUID(_arg1)); } public function measureWidthOfItems(_arg1:int=-1, _arg2:int=0):Number{ return (NaN); } private function terminateSelectionTracking():void{ var _local2:IListItemRenderer; var _local1:int; while (_local1 < trackedRenderers.length) { _local2 = (trackedRenderers[_local1] as IListItemRenderer); _local2.removeEventListener(MoveEvent.MOVE, rendererMoveHandler); _local1++; }; trackedRenderers = []; } public function get columnWidth():Number{ return (_columnWidth); } public function createItemRenderer(_arg1:Object):IListItemRenderer{ return (null); } protected function clearSelected(_arg1:Boolean=false):void{ var _local2:String; var _local3:Object; var _local4:IListItemRenderer; for (_local2 in selectedData) { _local3 = selectedData[_local2].data; removeSelectionData(_local2); _local4 = UIDToItemRenderer(itemToUID(_local3)); if (_local4){ drawItem(_local4, false, (_local2 == highlightUID), false, _arg1); }; }; clearSelectionData(); _selectedIndex = -1; _selectedItem = null; caretIndex = -1; anchorIndex = -1; caretBookmark = null; anchorBookmark = null; } protected function addToRowArrays():void{ listItems.splice(0, 0, null); rowInfo.splice(0, 0, null); } public function get nullItemRenderer():IFactory{ return (_nullItemRenderer); } public function get showDataTips():Boolean{ return (_showDataTips); } public function set columnWidth(_arg1:Number):void{ explicitColumnWidth = _arg1; if (_columnWidth != _arg1){ setColumnWidth(_arg1); invalidateSize(); itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("columnWidthChanged")); }; } protected function scrollHorizontally(_arg1:int, _arg2:int, _arg3:Boolean):void{ } protected function drawHighlightIndicator(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:uint, _arg7:IListItemRenderer):void{ var _local8:Graphics = Sprite(_arg1).graphics; _local8.clear(); _local8.beginFill(_arg6); _local8.drawRect(0, 0, _arg4, _arg5); _local8.endFill(); _arg1.x = _arg2; _arg1.y = _arg3; } override public function get verticalScrollPosition():Number{ if (!isNaN(verticalScrollPositionPending)){ return (verticalScrollPositionPending); }; return (super.verticalScrollPosition); } protected function drawCaretIndicator(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:uint, _arg7:IListItemRenderer):void{ var _local8:Graphics = Sprite(_arg1).graphics; _local8.clear(); _local8.lineStyle(1, _arg6, 1); _local8.drawRect(0, 0, (_arg4 - 1), (_arg5 - 1)); _arg1.x = _arg2; _arg1.y = _arg3; } private function makeAdditionalRows(_arg1:int):void{ var cursorPos:CursorBookmark; var rowIndex = _arg1; if (iterator){ cursorPos = iterator.bookmark; try { iterator.seek(CursorBookmark.CURRENT, listItems.length); } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.CURRENT, listItems.length); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; }; var curY:Number = (rowInfo[rowIndex].y + rowInfo[rowIndex].height); makeRowsAndColumns(0, curY, listContent.width, listContent.height, 0, (rowIndex + 1)); seekPositionIgnoreError(iterator, cursorPos); } public function set showDataTips(_arg1:Boolean):void{ _showDataTips = _arg1; itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("showDataTipsChanged")); } public function set nullItemRenderer(_arg1:IFactory):void{ _nullItemRenderer = _arg1; invalidateSize(); invalidateDisplayList(); itemsSizeChanged = true; rendererChanged = true; dispatchEvent(new Event("nullItemRendererChanged")); } protected function moveIndicatorsHorizontally(_arg1:String, _arg2:Number):void{ if (_arg1 != null){ if (selectionIndicators[_arg1]){ selectionIndicators[_arg1].x = (selectionIndicators[_arg1].x + _arg2); }; if (highlightUID == _arg1){ highlightIndicator.x = (highlightIndicator.x + _arg2); }; if (caretUID == _arg1){ caretIndicator.x = (caretIndicator.x + _arg2); }; }; } private function seekPreviousSafely(_arg1:IViewCursor, _arg2:int):Boolean{ var iterator = _arg1; var pos = _arg2; try { iterator.movePrevious(); } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, pos); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; return (iteratorValid); } public function measureHeightOfItems(_arg1:int=-1, _arg2:int=0):Number{ return (NaN); } public function get selectedItem():Object{ return (_selectedItem); } protected function mouseMoveHandler(_arg1:MouseEvent):void{ var _local2:Point; var _local3:IListItemRenderer; var _local4:DragEvent; var _local5:BaseListData; if (((!(enabled)) || (!(selectable)))){ return; }; _local2 = new Point(_arg1.localX, _arg1.localY); _local2 = DisplayObject(_arg1.target).localToGlobal(_local2); _local2 = globalToLocal(_local2); if (((((isPressed) && (mouseDownPoint))) && ((((Math.abs((mouseDownPoint.x - _local2.x)) > DRAG_THRESHOLD)) || ((Math.abs((mouseDownPoint.y - _local2.y)) > DRAG_THRESHOLD)))))){ if (((((dragEnabled) && (!(DragManager.isDragging)))) && (mouseDownPoint))){ _local4 = new DragEvent(DragEvent.DRAG_START); _local4.dragInitiator = this; _local4.localX = mouseDownPoint.x; _local4.localY = mouseDownPoint.y; _local4.buttonDown = true; dispatchEvent(_local4); }; }; _local3 = mouseEventToItemRenderer(_arg1); if (((_local3) && (highlightItemRenderer))){ _local5 = rowMap[_local3.name]; if (((((highlightItemRenderer) && (highlightUID))) && (!((_local5.uid == highlightUID))))){ if (!isPressed){ if (((getStyle("useRollOver")) && (!((highlightItemRenderer.data == null))))){ clearHighlight(highlightItemRenderer); }; }; }; } else { if (((!(_local3)) && (highlightItemRenderer))){ if (!isPressed){ if (((getStyle("useRollOver")) && (highlightItemRenderer.data))){ clearHighlight(highlightItemRenderer); }; }; }; }; if (((_local3) && (!(highlightItemRenderer)))){ mouseOverHandler(_arg1); }; } public function get selectable():Boolean{ return (_selectable); } protected function seekPendingFailureHandler(_arg1:Object, _arg2:ListBaseSeekPending):void{ } override public function set verticalScrollPosition(_arg1:Number):void{ var _local5:int; var _local6:Boolean; if ((((((listItems.length == 0)) || (!(dataProvider)))) || (!(isNaN(verticalScrollPositionPending))))){ verticalScrollPositionPending = _arg1; if (dataProvider){ invalidateDisplayList(); }; return; }; verticalScrollPositionPending = NaN; var _local2:int = super.verticalScrollPosition; super.verticalScrollPosition = _arg1; removeClipMask(); var _local3:int = offscreenExtraRowsTop; var _local4:int = offscreenExtraRowsBottom; if (_local2 != _arg1){ _local5 = (_arg1 - _local2); _local6 = (_local5 > 0); _local5 = Math.abs(_local5); if ((((_local5 >= (rowInfo.length - offscreenExtraRows))) || (!(iteratorValid)))){ clearIndicators(); clearVisibleData(); makeRowsAndColumnsWithExtraRows(oldUnscaledWidth, oldUnscaledHeight); } else { scrollVertically(_arg1, _local5, _local6); adjustListContent(oldUnscaledWidth, oldUnscaledHeight); }; if (variableRowHeight){ configureScrollBars(); }; drawRowBackgrounds(); }; addClipMask(((!((offscreenExtraRowsTop == _local3))) || (!((offscreenExtraRowsBottom == _local4))))); } override public function get horizontalScrollPosition():Number{ if (!isNaN(horizontalScrollPositionPending)){ return (horizontalScrollPositionPending); }; return (super.horizontalScrollPosition); } protected function itemRendererToIndices(_arg1:IListItemRenderer):Point{ if (((!(_arg1)) || (!((_arg1.name in rowMap))))){ return (null); }; var _local2:int = rowMap[_arg1.name].rowIndex; var _local3:int = listItems[_local2].length; var _local4:int; while (_local4 < _local3) { if (listItems[_local2][_local4] == _arg1){ break; }; _local4++; }; return (new Point((_local4 + horizontalScrollPosition), ((_local2 + verticalScrollPosition) + offscreenExtraRowsTop))); } private function reduceRows(_arg1:int):void{ var _local2:int; var _local3:int; var _local4:String; while (_arg1 >= 0) { if (rowInfo[_arg1].y >= listContent.height){ _local2 = listItems[_arg1].length; _local3 = 0; while (_local3 < _local2) { addToFreeItemRenderers(listItems[_arg1][_local3]); _local3++; }; _local4 = rowInfo[_arg1].uid; delete visibleData[_local4]; removeIndicators(_local4); listItems.pop(); rowInfo.pop(); _arg1--; } else { break; }; }; } public function get dragMoveEnabled():Boolean{ return (_dragMoveEnabled); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:IListItemRenderer; var _local3:Point; var _local4:ListEvent; if (!selectable){ return; }; if (!iteratorValid){ return; }; if (!collection){ return; }; switch (_arg1.keyCode){ case Keyboard.UP: case Keyboard.DOWN: moveSelectionVertically(_arg1.keyCode, _arg1.shiftKey, _arg1.ctrlKey); _arg1.stopPropagation(); break; case Keyboard.LEFT: case Keyboard.RIGHT: moveSelectionHorizontally(_arg1.keyCode, _arg1.shiftKey, _arg1.ctrlKey); _arg1.stopPropagation(); break; case Keyboard.END: case Keyboard.HOME: case Keyboard.PAGE_UP: case Keyboard.PAGE_DOWN: moveSelectionVertically(_arg1.keyCode, _arg1.shiftKey, _arg1.ctrlKey); _arg1.stopPropagation(); break; case Keyboard.SPACE: if (((((!((caretIndex == -1))) && (((caretIndex - verticalScrollPosition) >= 0)))) && (((caretIndex - verticalScrollPosition) < listItems.length)))){ _local2 = listItems[(caretIndex - verticalScrollPosition)][0]; if (selectItem(_local2, _arg1.shiftKey, _arg1.ctrlKey)){ _local3 = itemRendererToIndices(_local2); _local4 = new ListEvent(ListEvent.CHANGE); if (_local3){ _local4.columnIndex = _local3.x; _local4.rowIndex = _local3.y; }; _local4.itemRenderer = _local2; dispatchEvent(_local4); }; }; break; default: if (findKey(_arg1.keyCode)){ _arg1.stopPropagation(); }; }; } protected function reKeyVisibleData():void{ var _local2:Object; var _local1:Object = {}; for each (_local2 in visibleData) { if (_local2.data){ _local1[itemToUID(_local2.data)] = _local2; }; }; listContent.visibleData = _local1; } protected function copySelectedItems(_arg1:Boolean=true):Array{ var _local2:Array = []; var _local3:ListBaseSelectionData = firstSelectionData; while (_local3 != null) { if (_arg1){ _local2.push(_local3.data); } else { _local2.push(_local3.index); }; _local3 = _local3.nextSelectionData; }; return (_local2); } public function invalidateList():void{ itemsSizeChanged = true; invalidateDisplayList(); } protected function moveIndicatorsVertically(_arg1:String, _arg2:Number):void{ if (_arg1 != null){ if (selectionIndicators[_arg1]){ selectionIndicators[_arg1].y = (selectionIndicators[_arg1].y + _arg2); }; if (highlightUID == _arg1){ highlightIndicator.y = (highlightIndicator.y + _arg2); }; if (caretUID == _arg1){ caretIndicator.y = (caretIndicator.y + _arg2); }; }; } public function indexToItemRenderer(_arg1:int):IListItemRenderer{ var _local2:int = (verticalScrollPosition - offscreenExtraRowsTop); if ((((_arg1 < _local2)) || ((_arg1 >= (_local2 + listItems.length))))){ return (null); }; return (listItems[(_arg1 - _local2)][0]); } protected function get dragImage():IUIComponent{ var _local1:ListItemDragProxy = new ListItemDragProxy(); _local1.owner = this; _local1.moduleFactory = moduleFactory; return (_local1); } protected function copyItemWithUID(_arg1:Object):Object{ var _local2:Object; _local2 = ObjectUtil.copy(_arg1); if ((_local2 is IUID)){ IUID(_local2).uid = UIDUtil.createUID(); } else { if ((((_local2 is Object)) && (("mx_internal_uid" in _local2)))){ _local2.mx_internal_uid = UIDUtil.createUID(); }; }; return (_local2); } public function get selectedIndices():Array{ if (bSelectedIndicesChanged){ return (_selectedIndices); }; return (copySelectedItems(false)); } public function get variableRowHeight():Boolean{ return (_variableRowHeight); } protected function mouseDoubleClickHandler(_arg1:MouseEvent):void{ var _local2:IListItemRenderer; var _local3:Point; var _local4:ListEvent; _local2 = mouseEventToItemRenderer(_arg1); if (!_local2){ return; }; _local3 = itemRendererToIndices(_local2); if (_local3){ _local4 = new ListEvent(ListEvent.ITEM_DOUBLE_CLICK); _local4.columnIndex = _local3.x; _local4.rowIndex = _local3.y; _local4.itemRenderer = _local2; dispatchEvent(_local4); }; } mx_internal function selectionDataPendingResultHandler(_arg1:Object, _arg2:ListBaseSelectionDataPending):void{ if (_arg2.bookmark){ collectionIterator.seek(_arg2.bookmark, _arg2.offset); }; setSelectionDataLoop(_arg2.items, _arg2.index, _arg2.useFind); } public function set selectedItem(_arg1:Object):void{ if (((!(collection)) || ((collection.length == 0)))){ _selectedItem = _arg1; bSelectedItemChanged = true; bSelectionChanged = true; invalidateDisplayList(); return; }; commitSelectedItem(_arg1); } private function adjustScrollPosition():void{ var _local2:Number; var _local3:Number; var _local4:int; var _local1:Boolean; if (!isNaN(horizontalScrollPositionPending)){ _local1 = true; _local2 = Math.min(horizontalScrollPositionPending, maxHorizontalScrollPosition); horizontalScrollPositionPending = NaN; super.horizontalScrollPosition = _local2; }; if (!isNaN(verticalScrollPositionPending)){ _local1 = true; _local3 = Math.min(verticalScrollPositionPending, maxVerticalScrollPosition); verticalScrollPositionPending = NaN; super.verticalScrollPosition = _local3; }; if (_local1){ _local4 = scrollPositionToIndex(horizontalScrollPosition, (verticalScrollPosition - offscreenExtraRowsTop)); seekPositionSafely(_local4); }; } protected function indexToColumn(_arg1:int):int{ return (0); } protected function itemToUID(_arg1:Object):String{ if (_arg1 == null){ return ("null"); }; return (UIDUtil.getUID(_arg1)); } protected function dragEnterHandler(_arg1:DragEvent):void{ if (_arg1.isDefaultPrevented()){ return; }; lastDragEvent = _arg1; if (((((enabled) && (iteratorValid))) && (_arg1.dragSource.hasFormat("items")))){ DragManager.acceptDragDrop(this); DragManager.showFeedback((_arg1.ctrlKey) ? DragManager.COPY : DragManager.MOVE); showDropFeedback(_arg1); return; }; hideDropFeedback(_arg1); DragManager.showFeedback(DragManager.NONE); } public function set selectable(_arg1:Boolean):void{ _selectable = _arg1; } protected function moveRowVertically(_arg1:int, _arg2:int, _arg3:Number):void{ var _local4:IListItemRenderer; var _local5:int; while (_local5 < _arg2) { _local4 = listItems[_arg1][_local5]; listItems[_arg1][_local5].move(_local4.x, (_local4.y + _arg3)); _local5++; }; rowInfo[_arg1].y = (rowInfo[_arg1].y + _arg3); } override public function set horizontalScrollPosition(_arg1:Number):void{ var _local3:int; var _local4:Boolean; if ((((((listItems.length == 0)) || (!(dataProvider)))) || (!(isNaN(horizontalScrollPositionPending))))){ horizontalScrollPositionPending = _arg1; if (dataProvider){ invalidateDisplayList(); }; return; }; horizontalScrollPositionPending = NaN; var _local2:int = super.horizontalScrollPosition; super.horizontalScrollPosition = _arg1; removeClipMask(); if (_local2 != _arg1){ if (itemsSizeChanged){ return; }; _local3 = (_arg1 - _local2); _local4 = (_local3 > 0); _local3 = Math.abs(_local3); if (((bColumnScrolling) && ((_local3 >= columnCount)))){ clearIndicators(); clearVisibleData(); makeRowsAndColumnsWithExtraColumns(oldUnscaledWidth, oldUnscaledHeight); drawRowBackgrounds(); } else { scrollHorizontally(_arg1, _local3, _local4); }; }; addClipMask(false); } public function set dragMoveEnabled(_arg1:Boolean):void{ _dragMoveEnabled = _arg1; } public function isItemHighlighted(_arg1:Object):Boolean{ if (_arg1 == null){ return (false); }; var _local2:Boolean = ((highlightIndicator) && (!((highlightIndicator.parent.getChildIndex(highlightIndicator) == (highlightIndicator.parent.numChildren - 1))))); if ((_arg1 is String)){ return ((((_arg1 == highlightUID)) && (!(_local2)))); }; return ((((itemToUID(_arg1) == highlightUID)) && (!(_local2)))); } override protected function mouseWheelHandler(_arg1:MouseEvent):void{ var _local2:Number; var _local3:int; var _local4:ScrollEvent; if (((verticalScrollBar) && (verticalScrollBar.visible))){ _arg1.stopPropagation(); _local2 = verticalScrollPosition; _local3 = verticalScrollPosition; _local3 = (_local3 - (_arg1.delta * verticalScrollBar.lineScrollSize)); _local3 = Math.max(0, Math.min(_local3, verticalScrollBar.maxScrollPosition)); verticalScrollPosition = _local3; if (_local2 != verticalScrollPosition){ _local4 = new ScrollEvent(ScrollEvent.SCROLL); _local4.direction = ScrollEventDirection.VERTICAL; _local4.position = verticalScrollPosition; _local4.delta = (verticalScrollPosition - _local2); dispatchEvent(_local4); }; }; } protected function restoreRowArrays(_arg1:int):void{ rowInfo.splice(0, _arg1); listItems.splice(0, _arg1); } public function set labelField(_arg1:String):void{ _labelField = _arg1; itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("labelFieldChanged")); } private function seekPositionIgnoreError(_arg1:IViewCursor, _arg2:CursorBookmark):void{ var iterator = _arg1; var cursorPos = _arg2; if (iterator){ try { iterator.seek(cursorPos, 0); } catch(e:ItemPendingError) { }; }; } protected function finishDataChangeEffect(_arg1:EffectEvent):void{ collection = actualCollection; actualCollection = null; modifiedCollectionView = null; listContent.iterator = (iterator = actualIterator); runningDataEffect = false; unconstrainedRenderers = new Dictionary(); terminateSelectionTracking(); reKeyVisibleData(); var _local2:int = scrollPositionToIndex((horizontalScrollPosition - offscreenExtraColumnsLeft), (verticalScrollPosition - offscreenExtraRowsTop)); iterator.seek(CursorBookmark.FIRST, _local2); callLater(cleanupAfterDataChangeEffect); } public function set offscreenExtraRowsOrColumns(_arg1:int):void{ _arg1 = Math.max(_arg1, 0); if ((_arg1 % 2)){ _arg1++; }; if (_offscreenExtraRowsOrColumns == _arg1){ return; }; _offscreenExtraRowsOrColumns = _arg1; offscreenExtraRowsOrColumnsChanged = true; invalidateProperties(); } mx_internal function clearHighlight(_arg1:IListItemRenderer):void{ var _local4:ListEvent; var _local2:String = itemToUID(_arg1.data); drawItem(UIDToItemRenderer(_local2), isItemSelected(_arg1.data), false, (_local2 == caretUID)); var _local3:Point = itemRendererToIndices(_arg1); if (((_local3) && (lastHighlightItemIndices))){ _local4 = new ListEvent(ListEvent.ITEM_ROLL_OUT); _local4.columnIndex = lastHighlightItemIndices.x; _local4.rowIndex = lastHighlightItemIndices.y; _local4.itemRenderer = lastHighlightItemRendererAtIndices; dispatchEvent(_local4); lastHighlightItemIndices = null; }; } public function set wordWrap(_arg1:Boolean):void{ if (_arg1 == _wordWrap){ return; }; _wordWrap = _arg1; wordWrapChanged = true; itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("wordWrapChanged")); } private function shiftSelectionLoop(_arg1:Boolean, _arg2:int, _arg3:Object, _arg4:Boolean, _arg5:CursorBookmark):void{ var data:Object; var uid:String; var incr = _arg1; var index = _arg2; var stopData = _arg3; var transition = _arg4; var placeHolder = _arg5; try { do { data = iterator.current; uid = itemToUID(data); insertSelectionDataBefore(uid, new ListBaseSelectionData(data, index, approximate), firstSelectionData); if (UIDToItemRenderer(uid)){ drawItem(UIDToItemRenderer(uid), true, (uid == highlightUID), false, transition); }; } while (data !== stopData); } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(selectionPendingResultHandler, selectionPendingFailureHandler, new ListBaseSelectionPending(incr, index, stopData, transition, placeHolder, CursorBookmark.CURRENT, 0))); iteratorValid = false; }; try { iterator.seek(placeHolder, 0); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e2:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(placeHolder, 0); e2.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); }; } protected function clearHighlightIndicator(_arg1:Sprite, _arg2:IListItemRenderer):void{ if (highlightIndicator){ Sprite(highlightIndicator).graphics.clear(); }; } protected function truncateRowArrays(_arg1:int):void{ listItems.splice(_arg1); rowInfo.splice(_arg1); } public function get itemRenderer():IFactory{ return (_itemRenderer); } protected function seekPositionSafely(_arg1:int):Boolean{ var index = _arg1; try { iterator.seek(CursorBookmark.FIRST, index); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, index); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; return (iteratorValid); } mx_internal function set $horizontalScrollPosition(_arg1:Number):void{ var _local2:int = super.horizontalScrollPosition; if (_local2 != _arg1){ super.horizontalScrollPosition = _arg1; }; } protected function applySelectionEffect(_arg1:Sprite, _arg2:String, _arg3:IListItemRenderer):void{ var _local5:Function; var _local4:Number = getStyle("selectionDuration"); if (_local4 != 0){ _arg1.alpha = 0; selectionTweens[_arg2] = new Tween(_arg1, 0, 1, _local4, 5); selectionTweens[_arg2].addEventListener(TweenEvent.TWEEN_UPDATE, selectionTween_updateHandler); selectionTweens[_arg2].addEventListener(TweenEvent.TWEEN_END, selectionTween_endHandler); selectionTweens[_arg2].setTweenHandlers(onSelectionTweenUpdate, onSelectionTweenUpdate); _local5 = (getStyle("selectionEasingFunction") as Function); if (_local5 != null){ selectionTweens[_arg2].easingFunction = _local5; }; }; } override public function set showInAutomationHierarchy(_arg1:Boolean):void{ } protected function removeFromRowArrays(_arg1:int):void{ listItems.splice(_arg1, 1); rowInfo.splice(_arg1, 1); } protected function updateList():void{ removeClipMask(); var _local1:CursorBookmark = (iterator) ? iterator.bookmark : null; clearIndicators(); clearVisibleData(); if (iterator){ if (((((offscreenExtraColumns) || (offscreenExtraColumnsLeft))) || (offscreenExtraColumnsRight))){ makeRowsAndColumnsWithExtraColumns(unscaledWidth, unscaledHeight); } else { makeRowsAndColumnsWithExtraRows(unscaledWidth, unscaledHeight); }; iterator.seek(_local1, 0); } else { makeRowsAndColumns(0, 0, listContent.width, listContent.height, 0, 0); }; drawRowBackgrounds(); configureScrollBars(); addClipMask(true); } public function set variableRowHeight(_arg1:Boolean):void{ _variableRowHeight = _arg1; itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("variableRowHeightChanged")); } protected function isRendererUnconstrained(_arg1:Object):Boolean{ return (!((unconstrainedRenderers[_arg1] == null))); } public function set selectedIndices(_arg1:Array):void{ if (((!(collection)) || ((collection.length == 0)))){ _selectedIndices = _arg1; bSelectedIndicesChanged = true; bSelectionChanged = true; invalidateDisplayList(); return; }; commitSelectedIndices(_arg1); } protected function mouseUpHandler(_arg1:MouseEvent):void{ var _local2:IListItemRenderer; var _local3:Point; var _local4:ListEvent; mouseDownPoint = null; _local2 = mouseEventToItemRenderer(_arg1); _local3 = itemRendererToIndices(_local2); mouseIsUp(); if (((!(enabled)) || (!(selectable)))){ return; }; if (mouseDownItem){ _local4 = new ListEvent(ListEvent.CHANGE); _local4.itemRenderer = mouseDownItem; _local3 = itemRendererToIndices(mouseDownItem); if (_local3){ _local4.columnIndex = _local3.x; _local4.rowIndex = _local3.y; }; dispatchEvent(_local4); mouseDownItem = null; }; if (((!(_local2)) || (!(hitTestPoint(_arg1.stageX, _arg1.stageY))))){ isPressed = false; return; }; if (bSelectOnRelease){ bSelectOnRelease = false; if (selectItem(_local2, _arg1.shiftKey, _arg1.ctrlKey)){ _local4 = new ListEvent(ListEvent.CHANGE); _local4.itemRenderer = _local2; if (_local3){ _local4.columnIndex = _local3.x; _local4.rowIndex = _local3.y; }; dispatchEvent(_local4); }; }; isPressed = false; } public function get allowMultipleSelection():Boolean{ return (_allowMultipleSelection); } public function itemToItemRenderer(_arg1:Object):IListItemRenderer{ return (UIDToItemRenderer(itemToUID(_arg1))); } public function isItemSelected(_arg1:Object):Boolean{ if (_arg1 == null){ return (false); }; if ((_arg1 is String)){ return (!((selectedData[_arg1] == undefined))); }; return (!((selectedData[itemToUID(_arg1)] == undefined))); } protected function dragScroll():void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:ScrollEvent; var _local1:Number = 0; if (dragScrollingInterval == 0){ return; }; var _local6:Number = 30; _local3 = verticalScrollPosition; if (DragManager.isDragging){ _local1 = (viewMetrics.top + (variableRowHeight) ? (getStyle("fontSize") / 4) : rowHeight); }; clearInterval(dragScrollingInterval); if (mouseY < _local1){ verticalScrollPosition = Math.max(0, (_local3 - 1)); if (DragManager.isDragging){ _local2 = 100; } else { _local4 = Math.min(((0 - mouseY) - 30), 0); _local2 = ((((0.593 * _local4) * _local4) + 1) + _local6); }; dragScrollingInterval = setInterval(dragScroll, _local2); if (_local3 != verticalScrollPosition){ _local5 = new ScrollEvent(ScrollEvent.SCROLL); _local5.detail = ScrollEventDetail.THUMB_POSITION; _local5.direction = ScrollEventDirection.VERTICAL; _local5.position = verticalScrollPosition; _local5.delta = (verticalScrollPosition - _local3); dispatchEvent(_local5); }; } else { if (mouseY > (unscaledHeight - _local1)){ verticalScrollPosition = Math.min(maxVerticalScrollPosition, (verticalScrollPosition + 1)); if (DragManager.isDragging){ _local2 = 100; } else { _local4 = Math.min(((mouseY - unscaledHeight) - 30), 0); _local2 = ((((0.593 * _local4) * _local4) + 1) + _local6); }; dragScrollingInterval = setInterval(dragScroll, _local2); if (_local3 != verticalScrollPosition){ _local5 = new ScrollEvent(ScrollEvent.SCROLL); _local5.detail = ScrollEventDetail.THUMB_POSITION; _local5.direction = ScrollEventDirection.VERTICAL; _local5.position = verticalScrollPosition; _local5.delta = (verticalScrollPosition - _local3); dispatchEvent(_local5); }; } else { dragScrollingInterval = setInterval(dragScroll, 15); }; }; if (((((DragManager.isDragging) && (lastDragEvent))) && (!((_local3 == verticalScrollPosition))))){ dragOverHandler(lastDragEvent); }; } protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{ } private function findStringLoop(_arg1:String, _arg2:CursorBookmark, _arg3:int, _arg4:int):Boolean{ var itmStr:String; var item:IListItemRenderer; var pt:Point; var evt:ListEvent; var more:Boolean; var str = _arg1; var cursorPos = _arg2; var i = _arg3; var stopIndex = _arg4; while (i != stopIndex) { itmStr = itemToLabel(iterator.current); itmStr = itmStr.substring(0, str.length); if ((((str == itmStr)) || ((str.toUpperCase() == itmStr.toUpperCase())))){ iterator.seek(cursorPos, 0); scrollToIndex(i); commitSelectedIndex(i); item = indexToItemRenderer(i); pt = itemRendererToIndices(item); evt = new ListEvent(ListEvent.CHANGE); evt.itemRenderer = item; if (pt){ evt.columnIndex = pt.x; evt.rowIndex = pt.y; }; dispatchEvent(evt); return (true); }; try { more = iterator.moveNext(); } catch(e1:ItemPendingError) { e1.addResponder(new ItemResponder(findPendingResultHandler, findPendingFailureHandler, new ListBaseFindPending(str, cursorPos, CursorBookmark.CURRENT, 1, (i + 1), stopIndex))); iteratorValid = false; return (false); }; if (((!(more)) && (!((stopIndex == collection.length))))){ i = -1; try { iterator.seek(CursorBookmark.FIRST, 0); } catch(e2:ItemPendingError) { e2.addResponder(new ItemResponder(findPendingResultHandler, findPendingFailureHandler, new ListBaseFindPending(str, cursorPos, CursorBookmark.FIRST, 0, 0, stopIndex))); iteratorValid = false; return (false); }; }; i = (i + 1); }; iterator.seek(cursorPos, 0); iteratorValid = true; return (false); } protected function drawRowBackgrounds():void{ } private function selectionIndicesPendingResultHandler(_arg1:Object, _arg2:ListBaseSelectionDataPending):void{ if (_arg2.bookmark){ iterator.seek(_arg2.bookmark, _arg2.offset); }; setSelectionIndicesLoop(_arg2.index, _arg2.items, _arg2.useFind); } public function itemRendererContains(_arg1:IListItemRenderer, _arg2:DisplayObject):Boolean{ if (!_arg2){ return (false); }; if (!_arg1){ return (false); }; return (_arg1.owns(_arg2)); } public function removeDataEffectItem(_arg1:Object):void{ if (modifiedCollectionView){ modifiedCollectionView.removeItem(dataItemWrappersByRenderer[_arg1]); iterator.seek(CursorBookmark.CURRENT); if (invalidateDisplayListFlag){ callLater(invalidateList); } else { invalidateList(); }; }; } override public function set horizontalScrollPolicy(_arg1:String):void{ super.horizontalScrollPolicy = _arg1; itemsSizeChanged = true; invalidateDisplayList(); } public function itemRendererToIndex(_arg1:IListItemRenderer):int{ var _local2:int; if ((_arg1.name in rowMap)){ _local2 = rowMap[_arg1.name].rowIndex; return (((_local2 + verticalScrollPosition) - offscreenExtraRowsTop)); }; return (int.MIN_VALUE); } public function get dropEnabled():Boolean{ return (_dropEnabled); } private function setSelectionIndicesLoop(_arg1:int, _arg2:Array, _arg3:Boolean=false):void{ var data:Object; var uid:String; var index = _arg1; var indices = _arg2; var firstTime = _arg3; while (indices.length) { if (index != indices[0]){ try { collectionIterator.seek(CursorBookmark.CURRENT, (indices[0] - index)); } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(selectionIndicesPendingResultHandler, selectionIndicesPendingFailureHandler, new ListBaseSelectionDataPending(firstTime, index, indices, CursorBookmark.CURRENT, (indices[0] - index)))); return; }; }; index = indices[0]; indices.shift(); data = collectionIterator.current; if (firstTime){ _selectedIndex = index; _selectedItem = data; caretIndex = index; caretBookmark = collectionIterator.bookmark; anchorIndex = index; anchorBookmark = collectionIterator.bookmark; firstTime = false; }; uid = itemToUID(data); insertSelectionDataAfter(uid, new ListBaseSelectionData(data, index, false), lastSelectionData); if (UIDToItemRenderer(uid)){ drawItem(UIDToItemRenderer(uid), true, (uid == highlightUID), (caretIndex == index)); }; }; if (initialized){ updateList(); }; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } override protected function measure():void{ super.measure(); var _local1:EdgeMetrics = viewMetrics; var _local2:int = ((explicitColumnCount < 1)) ? defaultColumnCount : explicitColumnCount; var _local3:int = ((explicitRowCount < 1)) ? defaultRowCount : explicitRowCount; if (!isNaN(explicitRowHeight)){ measuredHeight = (((explicitRowHeight * _local3) + _local1.top) + _local1.bottom); measuredMinHeight = (((explicitRowHeight * Math.min(_local3, 2)) + _local1.top) + _local1.bottom); } else { measuredHeight = (((rowHeight * _local3) + _local1.top) + _local1.bottom); measuredMinHeight = (((rowHeight * Math.min(_local3, 2)) + _local1.top) + _local1.bottom); }; if (!isNaN(explicitColumnWidth)){ measuredWidth = (((explicitColumnWidth * _local2) + _local1.left) + _local1.right); measuredMinWidth = (((explicitColumnWidth * Math.min(_local2, 1)) + _local1.left) + _local1.right); } else { measuredWidth = (((columnWidth * _local2) + _local1.left) + _local1.right); measuredMinWidth = (((columnWidth * Math.min(_local2, 1)) + _local1.left) + _local1.right); }; if ((((((verticalScrollPolicy == ScrollPolicy.AUTO)) && (verticalScrollBar))) && (verticalScrollBar.visible))){ measuredWidth = (measuredWidth - verticalScrollBar.minWidth); measuredMinWidth = (measuredMinWidth - verticalScrollBar.minWidth); }; if ((((((horizontalScrollPolicy == ScrollPolicy.AUTO)) && (horizontalScrollBar))) && (horizontalScrollBar.visible))){ measuredHeight = (measuredHeight - horizontalScrollBar.minHeight); measuredMinHeight = (measuredMinHeight - horizontalScrollBar.minHeight); }; } public function get listData():BaseListData{ return (_listData); } private function removeSelectionData(_arg1:String):void{ var _local2:ListBaseSelectionData = selectedData[_arg1]; if (firstSelectionData == _local2){ firstSelectionData = _local2.nextSelectionData; }; if (lastSelectionData == _local2){ lastSelectionData = _local2.prevSelectionData; }; if (_local2.prevSelectionData != null){ _local2.prevSelectionData.nextSelectionData = _local2.nextSelectionData; }; if (_local2.nextSelectionData != null){ _local2.nextSelectionData.prevSelectionData = _local2.prevSelectionData; }; delete selectedData[_arg1]; } protected function setRowHeight(_arg1:Number):void{ _rowHeight = _arg1; } public function indicesToIndex(_arg1:int, _arg2:int):int{ return (((_arg1 * columnCount) + _arg2)); } public function get value():Object{ var _local1:Object = selectedItem; if (!_local1){ return (null); }; if (typeof(_local1) != "object"){ return (_local1); }; return (((_local1.data)!=null) ? _local1.data : _local1.label); } mx_internal function getRowInfo():Array{ return (rowInfo); } private function rendererMoveHandler(_arg1:MoveEvent):void{ var _local2:IListItemRenderer; if (!rendererTrackingSuspended){ _local2 = (_arg1.currentTarget as IListItemRenderer); drawItem(_local2, true); }; } protected function calculateDropIndicatorY(_arg1:Number, _arg2:int):Number{ var _local3:int; var _local4:Number = 0; if (((((((_arg1) && ((_arg2 < _arg1)))) && (listItems[_arg2].length))) && (listItems[_arg2][0]))){ return ((listItems[_arg2][0].y - 1)); }; _local3 = 0; while (_local3 < _arg1) { if (listItems[_local3].length){ _local4 = (_local4 + rowInfo[_local3].height); } else { break; }; _local3++; }; return (_local4); } protected function clearCaretIndicator(_arg1:Sprite, _arg2:IListItemRenderer):void{ if (caretIndicator){ Sprite(caretIndicator).graphics.clear(); }; } override public function validateDisplayList():void{ var _local1:ISystemManager; if (invalidateDisplayListFlag){ _local1 = (parent as ISystemManager); if (_local1){ if ((((_local1 == systemManager.topLevelSystemManager)) && (!((_local1.document == this))))){ setActualSize(getExplicitOrMeasuredWidth(), getExplicitOrMeasuredHeight()); }; }; if (runDataEffectNextUpdate){ runDataEffectNextUpdate = false; runningDataEffect = true; initiateDataChangeEffect(((scaleX == 0)) ? 0 : (width / scaleX), ((scaleY == 0)) ? 0 : (height / scaleY)); } else { updateDisplayList(((scaleX == 0)) ? 0 : (width / scaleX), ((scaleY == 0)) ? 0 : (height / scaleY)); }; invalidateDisplayListFlag = false; }; } mx_internal function getListVisibleData():Object{ return (visibleData); } public function getRendererSemanticValue(_arg1:Object, _arg2:String):Object{ return ((modifiedCollectionView.getSemantics(dataItemWrappersByRenderer[_arg1]) == _arg2)); } mx_internal function setColumnCount(_arg1:int):void{ _columnCount = _arg1; } mx_internal function hasOnlyTextRenderers():Boolean{ if (listItems.length == 0){ return (true); }; var _local1:Array = listItems[(listItems.length - 1)]; var _local2:int = _local1.length; var _local3:int; while (_local3 < _local2) { if (!(_local1[_local3] is IUITextField)){ return (false); }; _local3++; }; return (true); } protected function sumRowHeights(_arg1:int, _arg2:int):Number{ var _local3:Number = 0; var _local4:int = _arg1; while (_local4 <= _arg2) { _local3 = (_local3 + rowInfo[_local4].height); _local4++; }; return (_local3); } protected function get rowInfo():Array{ return (listContent.rowInfo); } private function selectionPendingFailureHandler(_arg1:Object, _arg2:ListBaseSelectionPending):void{ } mx_internal function convertIndexToColumn(_arg1:int):int{ return (indexToColumn(_arg1)); } mx_internal function createItemMask(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):DisplayObject{ var _local5:Shape; var _local6:Graphics; if (!itemMaskFreeList){ itemMaskFreeList = []; }; if (itemMaskFreeList.length > 0){ _local5 = itemMaskFreeList.pop(); if (_local5.width != _arg3){ _local5.width = _arg3; }; if (_local5.height != _arg4){ _local5.height = _arg4; }; } else { _local5 = new FlexShape(); _local5.name = "mask"; _local6 = _local5.graphics; _local6.beginFill(0xFFFFFF); _local6.drawRect(0, 0, _arg3, _arg4); _local6.endFill(); _local5.visible = false; listContent.addChild(_local5); }; if (_local5.x != _arg1){ _local5.x = _arg1; }; if (_local5.y != _arg2){ _local5.y = _arg2; }; return (_local5); } mx_internal function convertIndexToRow(_arg1:int):int{ return (indexToRow(_arg1)); } protected function get listItems():Array{ return ((listContent) ? listContent.listItems : []); } override protected function commitProperties():void{ var _local1:int; var _local2:int; var _local3:int; super.commitProperties(); if (((listContent) && (!((listContent.iterator == iterator))))){ listContent.iterator = iterator; }; if (cachedPaddingTopInvalid){ cachedPaddingTopInvalid = false; cachedPaddingTop = getStyle("paddingTop"); itemsSizeChanged = true; invalidateDisplayList(); }; if (cachedPaddingBottomInvalid){ cachedPaddingBottomInvalid = false; cachedPaddingBottom = getStyle("paddingBottom"); itemsSizeChanged = true; invalidateDisplayList(); }; if (cachedVerticalAlignInvalid){ cachedVerticalAlignInvalid = false; cachedVerticalAlign = getStyle("verticalAlign"); itemsSizeChanged = true; invalidateDisplayList(); }; if (columnCountChanged){ if (_columnCount < 1){ _columnCount = defaultColumnCount; }; if (((((!(isNaN(explicitWidth))) && (isNaN(explicitColumnWidth)))) && ((explicitColumnCount > 0)))){ setColumnWidth((((explicitWidth - viewMetrics.left) - viewMetrics.right) / columnCount)); }; columnCountChanged = false; }; if (rowCountChanged){ if (_rowCount < 1){ _rowCount = defaultRowCount; }; if (((((!(isNaN(explicitHeight))) && (isNaN(explicitRowHeight)))) && ((explicitRowCount > 0)))){ setRowHeight((((explicitHeight - viewMetrics.top) - viewMetrics.bottom) / rowCount)); }; rowCountChanged = false; }; if (offscreenExtraRowsOrColumnsChanged){ adjustOffscreenRowsAndColumns(); if (iterator){ _local1 = Math.min((offscreenExtraColumns / 2), horizontalScrollPosition); _local2 = Math.min((offscreenExtraRows / 2), verticalScrollPosition); _local3 = scrollPositionToIndex((horizontalScrollPosition - _local1), (verticalScrollPosition - _local2)); seekPositionSafely(_local3); invalidateList(); }; offscreenExtraRowsOrColumnsChanged = false; }; } protected function setRowCount(_arg1:int):void{ _rowCount = _arg1; } public function set labelFunction(_arg1:Function):void{ _labelFunction = _arg1; itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("labelFunctionChanged")); } protected function adjustAfterAdd(_arg1:Array, _arg2:int):Boolean{ var length:int; var requiresValueCommit:Boolean; var data:ListBaseSelectionData; var placeHolder:CursorBookmark; var p:String; var items = _arg1; var location = _arg2; length = items.length; requiresValueCommit = false; for (p in selectedData) { data = selectedData[p]; if (data.index >= location){ data.index = (data.index + length); }; }; if (_selectedIndex >= location){ _selectedIndex = (_selectedIndex + length); requiresValueCommit = true; }; if (anchorIndex >= location){ anchorIndex = (anchorIndex + length); placeHolder = iterator.bookmark; try { iterator.seek(CursorBookmark.FIRST, anchorIndex); anchorBookmark = iterator.bookmark; } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(setBookmarkPendingResultHandler, setBookmarkPendingFailureHandler, {property:"anchorBookmark", value:anchorIndex})); }; iterator.seek(placeHolder); }; if (caretIndex >= location){ caretIndex = (caretIndex + length); placeHolder = iterator.bookmark; try { iterator.seek(CursorBookmark.FIRST, caretIndex); caretBookmark = iterator.bookmark; } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(setBookmarkPendingResultHandler, setBookmarkPendingFailureHandler, {property:"caretBookmark", value:caretIndex})); }; iterator.seek(placeHolder); }; return (requiresValueCommit); } private function mouseLeaveHandler(_arg1:Event):void{ var _local2:ListEvent; var _local3:Point; mouseDownPoint = null; mouseIsUp(); if (((!(enabled)) || (!(selectable)))){ return; }; if (mouseDownItem){ _local2 = new ListEvent(ListEvent.CHANGE); _local2.itemRenderer = mouseDownItem; _local3 = itemRendererToIndices(mouseDownItem); if (_local3){ _local2.columnIndex = _local3.x; _local2.rowIndex = _local3.y; }; dispatchEvent(_local2); mouseDownItem = null; }; isPressed = false; } public function unconstrainRenderer(_arg1:Object):void{ unconstrainedRenderers[_arg1] = true; } mx_internal function getIterator():IViewCursor{ return (iterator); } public function get selectedItems():Array{ return ((bSelectedItemsChanged) ? _selectedItems : copySelectedItems()); } protected function findKey(_arg1:int):Boolean{ var _local2:int = _arg1; return ((((((_local2 >= 33)) && ((_local2 <= 126)))) && (findString(String.fromCharCode(_local2))))); } override public function set verticalScrollPolicy(_arg1:String):void{ super.verticalScrollPolicy = _arg1; itemsSizeChanged = true; invalidateDisplayList(); } public function set selectedIndex(_arg1:int):void{ if (((!(collection)) || ((collection.length == 0)))){ _selectedIndex = _arg1; bSelectionChanged = true; bSelectedIndexChanged = true; invalidateDisplayList(); return; }; commitSelectedIndex(_arg1); } public function set itemRenderer(_arg1:IFactory):void{ _itemRenderer = _arg1; invalidateSize(); invalidateDisplayList(); itemsSizeChanged = true; rendererChanged = true; dispatchEvent(new Event("itemRendererChanged")); } public function hideDropFeedback(_arg1:DragEvent):void{ if (dropIndicator){ DisplayObject(dropIndicator).parent.removeChild(DisplayObject(dropIndicator)); dropIndicator = null; drawFocus(false); }; } private function commitSelectedItems(_arg1:Array):void{ var useFind:Boolean; var items = _arg1; clearSelected(); useFind = !((collection.sort == null)); try { collectionIterator.seek(CursorBookmark.FIRST, 0); } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(selectionDataPendingResultHandler, selectionDataPendingFailureHandler, new ListBaseSelectionDataPending(useFind, 0, items, null, 0))); return; }; setSelectionDataLoop(items, 0, useFind); } public function set dataTipField(_arg1:String):void{ _dataTipField = _arg1; itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("dataTipFieldChanged")); } private function makeRowsAndColumnsWithExtraColumns(_arg1:Number, _arg2:Number):void{ var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local3:int = (offscreenExtraColumns / 2); var _local4:int = (offscreenExtraColumns / 2); if (horizontalScrollPosition > (collection.length - columnCount)){ super.horizontalScrollPosition = Math.max(0, (collection.length - columnCount)); }; offscreenExtraColumnsLeft = Math.min(_local3, horizontalScrollPosition); var _local5:int = scrollPositionToIndex((horizontalScrollPosition - offscreenExtraColumnsLeft), verticalScrollPosition); seekPositionSafely(_local5); var _local6:CursorBookmark = iterator.bookmark; if (offscreenExtraColumnsLeft > 0){ makeRowsAndColumns(0, 0, 0, listContent.height, 0, 0, true, offscreenExtraColumnsLeft); }; var _local7:Number = (offscreenExtraColumnsLeft) ? (listItems[0][(offscreenExtraColumnsLeft - 1)].x + columnWidth) : 0; var _local8:Point = makeRowsAndColumns(_local7, 0, (_local7 + listContent.widthExcludingOffsets), listContent.height, offscreenExtraColumnsLeft, 0); if ((((_local4 > 0)) && (!(iterator.afterLast)))){ if (((offscreenExtraColumnsLeft + _local8.x) - 1) < 0){ _local7 = 0; } else { _local7 = (listItems[0][((offscreenExtraColumnsLeft + _local8.x) - 1)].x + columnWidth); }; _local10 = listItems[0].length; _local8 = makeRowsAndColumns(_local7, 0, _local7, listContent.height, (offscreenExtraColumnsLeft + _local8.x), 0, true, _local4); if (_local8.x < _local4){ _local11 = (listItems[0].length - (_local10 + _local8.x)); if (_local11){ _local12 = 0; while (_local12 < listItems.length) { _local13 = 0; while (_local13 < _local11) { listItems[_local12].pop(); _local13++; }; _local12++; }; }; }; offscreenExtraColumnsRight = _local8.x; } else { offscreenExtraColumnsRight = 0; }; var _local9:Number = listContent.widthExcludingOffsets; listContent.leftOffset = (-(offscreenExtraColumnsLeft) * columnWidth); listContent.rightOffset = ((offscreenExtraColumnsRight)>0) ? (((listItems[0][(listItems[0].length - 1)].x + columnWidth) - _local9) + listContent.leftOffset) : 0; iterator.seek(_local6, 0); adjustListContent(_arg1, _arg2); } protected function dragOverHandler(_arg1:DragEvent):void{ if (_arg1.isDefaultPrevented()){ return; }; lastDragEvent = _arg1; if (((((enabled) && (iteratorValid))) && (_arg1.dragSource.hasFormat("items")))){ DragManager.showFeedback((_arg1.ctrlKey) ? DragManager.COPY : DragManager.MOVE); showDropFeedback(_arg1); return; }; hideDropFeedback(_arg1); DragManager.showFeedback(DragManager.NONE); } private function adjustSelectionSettings(_arg1:Boolean):void{ if (bSelectionChanged){ bSelectionChanged = false; if (((bSelectedIndicesChanged) && (((_arg1) || ((_selectedIndices == null)))))){ bSelectedIndicesChanged = false; bSelectedIndexChanged = false; commitSelectedIndices(_selectedIndices); }; if (((bSelectedItemChanged) && (((_arg1) || ((_selectedItem == null)))))){ bSelectedItemChanged = false; bSelectedIndexChanged = false; commitSelectedItem(_selectedItem); }; if (((bSelectedItemsChanged) && (((_arg1) || ((_selectedItems == null)))))){ bSelectedItemsChanged = false; bSelectedIndexChanged = false; commitSelectedItems(_selectedItems); }; if (((bSelectedIndexChanged) && (((_arg1) || ((_selectedIndex == -1)))))){ commitSelectedIndex(_selectedIndex); bSelectedIndexChanged = false; }; }; } private function clearSelectionData():void{ selectedData = {}; firstSelectionData = null; lastSelectionData = null; } protected function shiftRow(_arg1:int, _arg2:int, _arg3:int, _arg4:Boolean):void{ var _local5:IListItemRenderer; var _local6:int; while (_local6 < _arg3) { _local5 = listItems[_arg1][_local6]; if (_arg4){ listItems[_arg2][_local6] = _local5; rowMap[_local5.name].rowIndex = _arg2; } else { rowMap[_local5.name].rowIndex = _arg1; }; _local6++; }; if (_arg4){ rowInfo[_arg2] = rowInfo[_arg1]; }; } mx_internal function selectionTween_endHandler(_arg1:TweenEvent):void{ selectionTween_updateHandler(_arg1); } mx_internal function resetDragScrolling():void{ if (dragScrollingInterval != 0){ clearInterval(dragScrollingInterval); dragScrollingInterval = 0; }; } protected function mouseOverHandler(_arg1:MouseEvent):void{ var _local2:ListEvent; var _local3:IListItemRenderer; var _local4:Point; var _local5:String; var _local6:String; var _local7:BaseListData; if (((!(enabled)) || (!(selectable)))){ return; }; if (((!((dragScrollingInterval == 0))) && (!(_arg1.buttonDown)))){ mouseIsUp(); }; isPressed = _arg1.buttonDown; _local3 = mouseEventToItemRenderer(_arg1); _local4 = itemRendererToIndices(_local3); if (!_local3){ return; }; _local5 = itemToUID(_local3.data); if (((!(isPressed)) || (allowDragSelection))){ if (_arg1.relatedObject){ if (((lastHighlightItemRenderer) && (highlightUID))){ _local7 = rowMap[_local3.name]; _local6 = _local7.uid; }; if (((((itemRendererContains(_local3, _arg1.relatedObject)) || ((_local5 == _local6)))) || ((_arg1.relatedObject == highlightIndicator)))){ return; }; }; if (((getStyle("useRollOver")) && (!((_local3.data == null))))){ if (allowDragSelection){ bSelectOnRelease = true; }; drawItem(UIDToItemRenderer(_local5), isItemSelected(_local3.data), true, (_local5 == caretUID)); if (_local4){ _local2 = new ListEvent(ListEvent.ITEM_ROLL_OVER); _local2.columnIndex = _local4.x; _local2.rowIndex = _local4.y; _local2.itemRenderer = _local3; dispatchEvent(_local2); lastHighlightItemIndices = _local4; lastHighlightItemRendererAtIndices = _local3; }; }; } else { if (DragManager.isDragging){ return; }; if (((((!((dragScrollingInterval == 0))) && (allowDragSelection))) || (menuSelectionMode))){ if (selectItem(_local3, _arg1.shiftKey, _arg1.ctrlKey)){ _local2 = new ListEvent(ListEvent.CHANGE); _local2.itemRenderer = _local3; if (_local4){ _local2.columnIndex = _local4.x; _local2.rowIndex = _local4.y; }; dispatchEvent(_local2); }; }; }; } protected function mouseClickHandler(_arg1:MouseEvent):void{ var _local2:IListItemRenderer; var _local3:Point; var _local4:ListEvent; _local2 = mouseEventToItemRenderer(_arg1); if (!_local2){ return; }; _local3 = itemRendererToIndices(_local2); if (_local3){ _local4 = new ListEvent(ListEvent.ITEM_CLICK); _local4.columnIndex = _local3.x; _local4.rowIndex = _local3.y; _local4.itemRenderer = _local2; dispatchEvent(_local4); }; } private function selectionIndicesPendingFailureHandler(_arg1:Object, _arg2:ListBaseSelectionDataPending):void{ } protected function finishKeySelection():void{ var _local1:String; var _local5:IListItemRenderer; var _local7:Point; var _local8:ListEvent; var _local2:int = listItems.length; var _local3:int = ((listItems.length - offscreenExtraRowsTop) - offscreenExtraRowsBottom); var _local4:int = (((rowInfo[((_local2 - offscreenExtraRowsBottom) - 1)].y + rowInfo[((_local2 - offscreenExtraRowsBottom) - 1)].height))>(listContent.heightExcludingOffsets - listContent.topOffset)) ? 1 : 0; if (lastKey == Keyboard.PAGE_DOWN){ if ((_local3 - _local4) == 0){ caretIndex = Math.min(((verticalScrollPosition + _local3) - _local4), (collection.length - 1)); } else { caretIndex = Math.min((((verticalScrollPosition + _local3) - _local4) - 1), (collection.length - 1)); }; }; var _local6:Boolean; if (((bSelectItem) && (((caretIndex - verticalScrollPosition) >= 0)))){ if ((caretIndex - verticalScrollPosition) > Math.max(((_local3 - _local4) - 1), 0)){ if ((((lastKey == Keyboard.END)) && ((maxVerticalScrollPosition > verticalScrollPosition)))){ caretIndex = (caretIndex - 1); moveSelectionVertically(lastKey, bShiftKey, bCtrlKey); return; }; caretIndex = (((_local3 - _local4) - 1) + verticalScrollPosition); }; _local5 = listItems[((caretIndex - verticalScrollPosition) + offscreenExtraRowsTop)][0]; if (_local5){ _local1 = itemToUID(_local5.data); _local5 = UIDToItemRenderer(_local1); if (((!(bCtrlKey)) || ((lastKey == Keyboard.SPACE)))){ selectItem(_local5, bShiftKey, bCtrlKey); _local6 = true; }; if (bCtrlKey){ drawItem(_local5, !((selectedData[_local1] == null)), (_local1 == highlightUID), true); }; }; }; if (_local6){ _local7 = itemRendererToIndices(_local5); _local8 = new ListEvent(ListEvent.CHANGE); if (_local7){ _local8.columnIndex = _local7.x; _local8.rowIndex = _local7.y; }; _local8.itemRenderer = _local5; dispatchEvent(_local8); }; } private function selectionDataPendingFailureHandler(_arg1:Object, _arg2:ListBaseSelectionDataPending):void{ } mx_internal function addClipMask(_arg1:Boolean):void{ var _local10:DisplayObject; var _local11:Number; if (_arg1){ if (((((((((((((((horizontalScrollBar) && (horizontalScrollBar.visible))) || (hasOnlyTextRenderers()))) || (runningDataEffect))) || (!((listContent.bottomOffset == 0))))) || (!((listContent.topOffset == 0))))) || (!((listContent.leftOffset == 0))))) || (!((listContent.rightOffset == 0))))){ listContent.mask = maskShape; selectionLayer.mask = null; } else { listContent.mask = null; selectionLayer.mask = maskShape; }; }; if (listContent.mask){ return; }; var _local2:int = (listItems.length - 1); var _local3:ListRowInfo = rowInfo[_local2]; var _local4:Array = listItems[_local2]; if ((_local3.y + _local3.height) <= listContent.height){ return; }; var _local5:int = _local4.length; var _local6:Number = _local3.y; var _local7:Number = listContent.width; var _local8:Number = (listContent.height - _local3.y); var _local9:int; while (_local9 < _local5) { _local10 = _local4[_local9]; _local11 = (_local10.y - _local6); if ((_local10 is IUITextField)){ _local10.height = (_local8 - _local11); } else { _local10.mask = createItemMask(0, (_local6 + _local11), _local7, (_local8 - _local11)); }; _local9++; }; } public function set allowMultipleSelection(_arg1:Boolean):void{ _allowMultipleSelection = _arg1; } protected function scrollVertically(_arg1:int, _arg2:int, _arg3:Boolean):void{ var i:int; var j:int; var numRows:int; var numCols:int; var uid:String; var curY:Number; var cursorPos:CursorBookmark; var discardRows:int; var desiredoffscreenExtraRowsTop:int; var newoffscreenExtraRowsTop:int; var offscreenExtraRowsBottomToMake:int; var newTopOffset:Number; var fillHeight:Number; var pt:Point; var rowIdx:int; var modDeltaPos:int; var desiredPrefixItems:int; var actual:Point; var row:Array; var rowData:Object; var desiredSuffixItems:int; var newOffscreenRows:int; var visibleAreaBottomY:int; var pos = _arg1; var deltaPos = _arg2; var scrollUp = _arg3; var rowCount:int = rowInfo.length; var columnCount:int = listItems[0].length; var moveBlockDistance:Number = 0; var listContentVisibleHeight:Number = listContent.heightExcludingOffsets; if (scrollUp){ discardRows = deltaPos; desiredoffscreenExtraRowsTop = (offscreenExtraRows / 2); newoffscreenExtraRowsTop = Math.min(desiredoffscreenExtraRowsTop, (offscreenExtraRowsTop + deltaPos)); if (offscreenExtraRowsTop < desiredoffscreenExtraRowsTop){ discardRows = Math.max(0, (deltaPos - (desiredoffscreenExtraRowsTop - offscreenExtraRowsTop))); }; moveBlockDistance = sumRowHeights(0, (discardRows - 1)); i = 0; while (i < discardRows) { if (!seekNextSafely(iterator, pos)){ return; }; i = (i + 1); }; i = 0; while (i < rowCount) { numCols = listItems[i].length; if (i < discardRows){ destroyRow(i, numCols); } else { if (discardRows > 0){ moveRowVertically(i, numCols, -(moveBlockDistance)); moveIndicatorsVertically(rowInfo[i].uid, -(moveBlockDistance)); shiftRow(i, (i - discardRows), numCols, true); if (listItems[i].length == 0){ listItems[(i - discardRows)].splice(0); }; }; }; i = (i + 1); }; if (discardRows){ truncateRowArrays((rowCount - discardRows)); }; curY = (rowInfo[((rowCount - discardRows) - 1)].y + rowInfo[((rowCount - discardRows) - 1)].height); cursorPos = iterator.bookmark; try { iterator.seek(CursorBookmark.CURRENT, (rowCount - discardRows)); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e1:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(cursorPos, 0); e1.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; offscreenExtraRowsBottomToMake = (offscreenExtraRows / 2); newTopOffset = 0; i = 0; while (i < newoffscreenExtraRowsTop) { newTopOffset = (newTopOffset - rowInfo[i].height); i = (i + 1); }; fillHeight = (listContentVisibleHeight - (curY + newTopOffset)); if (fillHeight > 0){ pt = makeRowsAndColumns(0, curY, listContent.width, (curY + fillHeight), 0, (rowCount - discardRows)); rowCount = (rowCount + pt.y); } else { rowIdx = ((rowCount - discardRows) - 1); rowIdx = (rowIdx - 1); fillHeight = (fillHeight + rowInfo[rowIdx].height); while (fillHeight < 0) { offscreenExtraRowsBottomToMake = (offscreenExtraRowsBottomToMake - 1); rowIdx = (rowIdx - 1); fillHeight = (fillHeight + rowInfo[rowIdx].height); }; }; if (offscreenExtraRowsBottomToMake > 0){ if (pt){ curY = (rowInfo[((rowCount - discardRows) - 1)].y + rowInfo[((rowCount - discardRows) - 1)].height); }; pt = makeRowsAndColumns(0, curY, listContent.width, listContent.height, 0, (rowCount - discardRows), true, offscreenExtraRowsBottomToMake); } else { pt = new Point(0, 0); }; try { iterator.seek(cursorPos, 0); } catch(e2:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(cursorPos, 0); e2.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; offscreenExtraRowsTop = newoffscreenExtraRowsTop; offscreenExtraRowsBottom = (((offscreenExtraRows / 2) - offscreenExtraRowsBottomToMake) + pt.y); } else { curY = 0; modDeltaPos = deltaPos; desiredPrefixItems = (offscreenExtraRows / 2); if (pos < desiredPrefixItems){ modDeltaPos = (modDeltaPos - (desiredPrefixItems - pos)); }; i = 0; while (i < modDeltaPos) { addToRowArrays(); i = (i + 1); }; actual = new Point(0, 0); if (modDeltaPos > 0){ try { iterator.seek(CursorBookmark.CURRENT, -(modDeltaPos)); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e3:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.CURRENT, -(modDeltaPos)); e3.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; cursorPos = iterator.bookmark; allowRendererStealingDuringLayout = false; actual = makeRowsAndColumns(0, curY, listContent.width, listContent.height, 0, 0, true, modDeltaPos); allowRendererStealingDuringLayout = true; try { iterator.seek(cursorPos, 0); } catch(e4:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(cursorPos, 0); e4.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; }; if ((((actual.y == 0)) && ((modDeltaPos > 0)))){ verticalScrollPosition = 0; restoreRowArrays(modDeltaPos); }; moveBlockDistance = sumRowHeights(0, (actual.y - 1)); desiredSuffixItems = (offscreenExtraRows / 2); newOffscreenRows = 0; visibleAreaBottomY = (listContentVisibleHeight + sumRowHeights(0, (Math.min(desiredPrefixItems, pos) - 1))); i = actual.y; while (i < listItems.length) { row = listItems[i]; rowData = rowInfo[i]; moveRowVertically(i, listItems[i].length, moveBlockDistance); if (rowData.y >= visibleAreaBottomY){ newOffscreenRows = (newOffscreenRows + 1); if (newOffscreenRows > desiredSuffixItems){ destroyRow(i, listItems[i].length); removeFromRowArrays(i); i = (i - 1); } else { shiftRow(i, (i + deltaPos), listItems[i].length, false); moveIndicatorsVertically(rowInfo[i].uid, moveBlockDistance); }; } else { shiftRow(i, (i + deltaPos), listItems[i].length, false); moveIndicatorsVertically(rowInfo[i].uid, moveBlockDistance); }; i = (i + 1); }; rowCount = listItems.length; offscreenExtraRowsTop = Math.min(desiredPrefixItems, pos); offscreenExtraRowsBottom = Math.min(newOffscreenRows, desiredSuffixItems); }; listContent.topOffset = -(sumRowHeights(0, (offscreenExtraRowsTop - 1))); listContent.bottomOffset = (((rowInfo[(rowInfo.length - 1)].y + rowInfo[(rowInfo.length - 1)].height) + listContent.topOffset) - listContentVisibleHeight); adjustListContent(oldUnscaledWidth, oldUnscaledHeight); addClipMask(true); } protected function selectItem(_arg1:IListItemRenderer, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean=true):Boolean{ var placeHolder:CursorBookmark; var index:int; var numSelected:int; var curSelectionData:ListBaseSelectionData; var oldAnchorBookmark:CursorBookmark; var oldAnchorIndex:int; var incr:Boolean; var item = _arg1; var shiftKey = _arg2; var ctrlKey = _arg3; var transition = _arg4; if (((!(item)) || (!(isItemSelectable(item.data))))){ return (false); }; var selectionChange:Boolean; placeHolder = iterator.bookmark; index = itemRendererToIndex(item); var uid:String = itemToUID(item.data); if (((!(allowMultipleSelection)) || (((!(shiftKey)) && (!(ctrlKey)))))){ numSelected = 0; if (allowMultipleSelection){ curSelectionData = firstSelectionData; if (curSelectionData != null){ numSelected = (numSelected + 1); if (curSelectionData.nextSelectionData){ numSelected = (numSelected + 1); }; }; }; if (((ctrlKey) && (selectedData[uid]))){ selectionChange = true; clearSelected(transition); } else { if (((((!((_selectedIndex == index))) || (bSelectedIndexChanged))) || (((allowMultipleSelection) && (!((numSelected == 1))))))){ selectionChange = true; clearSelected(transition); insertSelectionDataBefore(uid, new ListBaseSelectionData(item.data, index, approximate), firstSelectionData); drawItem(UIDToItemRenderer(uid), true, (uid == highlightUID), true, transition); _selectedIndex = index; _selectedItem = item.data; iterator.seek(CursorBookmark.CURRENT, (_selectedIndex - indicesToIndex((verticalScrollPosition - offscreenExtraRowsTop), (horizontalScrollPosition - offscreenExtraColumnsLeft)))); caretIndex = _selectedIndex; caretBookmark = iterator.bookmark; anchorIndex = _selectedIndex; anchorBookmark = iterator.bookmark; iterator.seek(placeHolder, 0); }; }; } else { if (((shiftKey) && (allowMultipleSelection))){ if (anchorBookmark){ oldAnchorBookmark = anchorBookmark; oldAnchorIndex = anchorIndex; incr = (anchorIndex < index); clearSelected(false); caretIndex = index; caretBookmark = iterator.bookmark; anchorIndex = oldAnchorIndex; anchorBookmark = oldAnchorBookmark; _selectedIndex = index; _selectedItem = item.data; try { iterator.seek(anchorBookmark, 0); } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(selectionPendingResultHandler, selectionPendingFailureHandler, new ListBaseSelectionPending(incr, index, item.data, transition, placeHolder, CursorBookmark.CURRENT, 0))); iteratorValid = false; }; shiftSelectionLoop(incr, anchorIndex, item.data, transition, placeHolder); }; selectionChange = true; } else { if (((ctrlKey) && (allowMultipleSelection))){ if (selectedData[uid]){ removeSelectionData(uid); drawItem(UIDToItemRenderer(uid), false, (uid == highlightUID), true, transition); if (item.data == selectedItem){ calculateSelectedIndexAndItem(); }; } else { insertSelectionDataBefore(uid, new ListBaseSelectionData(item.data, index, approximate), firstSelectionData); drawItem(UIDToItemRenderer(uid), true, (uid == highlightUID), true, transition); _selectedIndex = index; _selectedItem = item.data; }; iterator.seek(CursorBookmark.CURRENT, (index - indicesToIndex(verticalScrollPosition, horizontalScrollPosition))); caretIndex = index; caretBookmark = iterator.bookmark; anchorIndex = index; anchorBookmark = iterator.bookmark; iterator.seek(placeHolder, 0); selectionChange = true; }; }; }; return (selectionChange); } mx_internal function selectionTween_updateHandler(_arg1:TweenEvent):void{ Sprite(_arg1.target.listener).alpha = Number(_arg1.value); } protected function prepareDataEffect(_arg1:CollectionEvent):void{ var _local2:Object; var _local3:Class; var _local4:int; var _local5:int; if (!cachedItemsChangeEffect){ _local2 = getStyle("itemsChangeEffect"); _local3 = (_local2 as Class); if (_local3){ _local2 = new (_local3); }; cachedItemsChangeEffect = (_local2 as IEffect); }; if (runningDataEffect){ collection = actualCollection; listContent.iterator = (iterator = actualIterator); cachedItemsChangeEffect.end(); modifiedCollectionView = null; }; if (((cachedItemsChangeEffect) && (iteratorValid))){ _local4 = iterator.bookmark.getViewIndex(); _local5 = ((_local4 + (rowCount * columnCount)) - 1); if (((!(modifiedCollectionView)) && ((collection is IList)))){ modifiedCollectionView = new ModifiedCollectionView(ICollectionView(collection)); }; if (modifiedCollectionView){ modifiedCollectionView.processCollectionEvent(_arg1, _local4, _local5); runDataEffectNextUpdate = true; if (invalidateDisplayListFlag){ callLater(invalidateList); } else { invalidateList(); }; }; }; } protected function drawSelectionIndicator(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:uint, _arg7:IListItemRenderer):void{ var _local8:Graphics = Sprite(_arg1).graphics; _local8.clear(); _local8.beginFill(_arg6); _local8.drawRect(0, 0, _arg4, _arg5); _local8.endFill(); _arg1.x = _arg2; _arg1.y = _arg3; } mx_internal function setColumnWidth(_arg1:Number):void{ _columnWidth = _arg1; } protected function makeRowsAndColumns(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int, _arg7:Boolean=false, _arg8:uint=0):Point{ return (new Point(0, 0)); } public function isItemVisible(_arg1:Object):Boolean{ return (!((itemToItemRenderer(_arg1) == null))); } mx_internal function commitSelectedIndices(_arg1:Array):void{ var indices = _arg1; clearSelected(); try { collectionIterator.seek(CursorBookmark.FIRST, 0); } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(selectionIndicesPendingResultHandler, selectionIndicesPendingFailureHandler, new ListBaseSelectionDataPending(true, 0, indices, CursorBookmark.FIRST, 0))); return; }; setSelectionIndicesLoop(0, indices, true); } public function calculateDropIndex(_arg1:DragEvent=null):int{ var _local2:IListItemRenderer; var _local3:IListItemRenderer; var _local4:Point; var _local5:int; var _local6:int; if (_arg1){ _local4 = new Point(_arg1.localX, _arg1.localY); _local4 = DisplayObject(_arg1.target).localToGlobal(_local4); _local4 = listContent.globalToLocal(_local4); _local5 = listItems.length; _local6 = 0; while (_local6 < _local5) { if (listItems[_local6][0]){ _local3 = listItems[_local6][0]; }; if ((((rowInfo[_local6].y <= _local4.y)) && ((_local4.y < (rowInfo[_local6].y + rowInfo[_local6].height))))){ _local2 = listItems[_local6][0]; break; }; _local6++; }; if (_local2){ lastDropIndex = itemRendererToIndex(_local2); } else { if (_local3){ lastDropIndex = (itemRendererToIndex(_local3) + 1); } else { lastDropIndex = (collection) ? collection.length : 0; }; }; }; return (lastDropIndex); } protected function mouseDownHandler(_arg1:MouseEvent):void{ var _local2:IListItemRenderer; var _local3:Point; if (((!(enabled)) || (!(selectable)))){ return; }; if (runningDataEffect){ cachedItemsChangeEffect.end(); dataEffectCompleted = true; itemsSizeChanged = true; invalidateList(); dataItemWrappersByRenderer = new Dictionary(); validateDisplayList(); }; isPressed = true; _local2 = mouseEventToItemRenderer(_arg1); if (!_local2){ return; }; bSelectOnRelease = false; _local3 = new Point(_arg1.localX, _arg1.localY); _local3 = DisplayObject(_arg1.target).localToGlobal(_local3); mouseDownPoint = globalToLocal(_local3); systemManager.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true, 0, true); systemManager.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler, false, 0, true); if (!dragEnabled){ dragScrollingInterval = setInterval(dragScroll, 15); }; if (((dragEnabled) && (selectedData[rowMap[_local2.name].uid]))){ bSelectOnRelease = true; } else { if (selectItem(_local2, _arg1.shiftKey, _arg1.ctrlKey)){ mouseDownItem = _local2; }; }; } public function get labelField():String{ return (_labelField); } private function onSelectionTweenUpdate(_arg1:Number):void{ } protected function clearIndicators():void{ var _local1:String; for (_local1 in selectionTweens) { removeIndicators(_local1); }; while (selectionLayer.numChildren > 0) { selectionLayer.removeChildAt(0); }; selectionTweens = {}; selectionIndicators = {}; highlightIndicator = null; highlightUID = null; caretIndicator = null; caretUID = null; } public function get offscreenExtraRowsOrColumns():int{ return (_offscreenExtraRowsOrColumns); } public function get wordWrap():Boolean{ return (_wordWrap); } protected function drawItem(_arg1:IListItemRenderer, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:Boolean=false):void{ var _local6:Sprite; var _local7:Graphics; var _local12:Number; if (!_arg1){ return; }; var _local8:ListBaseContentHolder = (DisplayObject(_arg1).parent as ListBaseContentHolder); var _local9:Array = _local8.rowInfo; var _local10:Sprite = _local8.selectionLayer; var _local11:BaseListData = rowMap[_arg1.name]; if (!_local11){ return; }; if (((_arg3) && (((!(highlightItemRenderer)) || (!((highlightUID == _local11.uid))))))){ if (!highlightIndicator){ _local6 = new SpriteAsset(); _local10.addChild(DisplayObject(_local6)); highlightIndicator = _local6; } else { if (highlightIndicator.parent != _local10){ _local10.addChild(highlightIndicator); } else { _local10.setChildIndex(DisplayObject(highlightIndicator), (_local10.numChildren - 1)); }; }; _local6 = highlightIndicator; drawHighlightIndicator(_local6, _arg1.x, _local9[_local11.rowIndex].y, _arg1.width, _local9[_local11.rowIndex].height, getStyle("rollOverColor"), _arg1); lastHighlightItemRenderer = (highlightItemRenderer = _arg1); highlightUID = _local11.uid; } else { if (((((!(_arg3)) && (highlightItemRenderer))) && (((_local11) && ((highlightUID == _local11.uid)))))){ clearHighlightIndicator(highlightIndicator, _arg1); highlightItemRenderer = null; highlightUID = null; }; }; if (_arg2){ _local12 = (runningDataEffect) ? (_arg1.y - cachedPaddingTop) : _local9[_local11.rowIndex].y; if (!selectionIndicators[_local11.uid]){ _local6 = new SpriteAsset(); _local6.mouseEnabled = false; _local10.addChild(DisplayObject(_local6)); selectionIndicators[_local11.uid] = _local6; drawSelectionIndicator(_local6, _arg1.x, _local12, _arg1.width, _local9[_local11.rowIndex].height, (enabled) ? getStyle("selectionColor") : getStyle("selectionDisabledColor"), _arg1); if (_arg5){ applySelectionEffect(_local6, _local11.uid, _arg1); }; } else { _local6 = selectionIndicators[_local11.uid]; drawSelectionIndicator(_local6, _arg1.x, _local12, _arg1.width, _local9[_local11.rowIndex].height, (enabled) ? getStyle("selectionColor") : getStyle("selectionDisabledColor"), _arg1); }; } else { if (!_arg2){ if (((_local11) && (selectionIndicators[_local11.uid]))){ if (selectionTweens[_local11.uid]){ selectionTweens[_local11.uid].removeEventListener(TweenEvent.TWEEN_UPDATE, selectionTween_updateHandler); selectionTweens[_local11.uid].removeEventListener(TweenEvent.TWEEN_END, selectionTween_endHandler); if (selectionIndicators[_local11.uid].alpha < 1){ Tween.removeTween(selectionTweens[_local11.uid]); }; delete selectionTweens[_local11.uid]; }; _local10.removeChild(selectionIndicators[_local11.uid]); delete selectionIndicators[_local11.uid]; }; }; }; if (_arg4){ if (showCaret){ if (!caretIndicator){ _local6 = new SpriteAsset(); _local6.mouseEnabled = false; _local10.addChild(DisplayObject(_local6)); caretIndicator = _local6; } else { if (caretIndicator.parent != _local10){ _local10.addChild(caretIndicator); } else { _local10.setChildIndex(DisplayObject(caretIndicator), (_local10.numChildren - 1)); }; }; _local6 = caretIndicator; drawCaretIndicator(_local6, _arg1.x, _local9[_local11.rowIndex].y, _arg1.width, _local9[_local11.rowIndex].height, getStyle("selectionColor"), _arg1); caretItemRenderer = _arg1; caretUID = _local11.uid; }; } else { if (((((!(_arg4)) && (caretItemRenderer))) && ((caretUID == _local11.uid)))){ clearCaretIndicator(caretIndicator, _arg1); caretItemRenderer = null; caretUID = ""; }; }; if ((_arg1 is IFlexDisplayObject)){ if ((_arg1 is IInvalidating)){ IInvalidating(_arg1).invalidateDisplayList(); IInvalidating(_arg1).validateNow(); }; } else { if ((_arg1 is IUITextField)){ IUITextField(_arg1).validateNow(); }; }; } protected function dragExitHandler(_arg1:DragEvent):void{ if (_arg1.isDefaultPrevented()){ return; }; lastDragEvent = null; hideDropFeedback(_arg1); resetDragScrolling(); DragManager.showFeedback(DragManager.NONE); } protected function adjustAfterRemove(_arg1:Array, _arg2:int, _arg3:Boolean):Boolean{ var data:ListBaseSelectionData; var requiresValueCommit:Boolean; var i:int; var length:int; var placeHolder:CursorBookmark; var s:String; var items = _arg1; var location = _arg2; var emitEvent = _arg3; requiresValueCommit = emitEvent; i = 0; length = items.length; for (s in selectedData) { i = (i + 1); data = selectedData[s]; if (data.index > location){ data.index = (data.index - length); }; }; if (_selectedIndex > location){ _selectedIndex = (_selectedIndex - length); requiresValueCommit = true; }; if ((((i > 0)) && ((_selectedIndex == -1)))){ _selectedIndex = data.index; _selectedItem = data.data; requiresValueCommit = true; }; if (i == 0){ _selectedIndex = -1; bSelectionChanged = true; bSelectedIndexChanged = true; invalidateDisplayList(); }; if (anchorIndex > location){ anchorIndex = (anchorIndex - length); placeHolder = iterator.bookmark; try { iterator.seek(CursorBookmark.FIRST, anchorIndex); anchorBookmark = iterator.bookmark; } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(setBookmarkPendingResultHandler, setBookmarkPendingFailureHandler, {property:"anchorBookmark", value:anchorIndex})); }; iterator.seek(placeHolder); }; if (caretIndex > location){ caretIndex = (caretIndex - length); placeHolder = iterator.bookmark; try { iterator.seek(CursorBookmark.FIRST, caretIndex); caretBookmark = iterator.bookmark; } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(setBookmarkPendingResultHandler, setBookmarkPendingFailureHandler, {property:"caretBookmark", value:caretIndex})); }; iterator.seek(placeHolder); }; return (requiresValueCommit); } public function itemToIcon(_arg1:Object):Class{ var iconClass:Class; var icon:*; var data = _arg1; if (data == null){ return (null); }; if (iconFunction != null){ return (iconFunction(data)); }; if ((data is XML)){ try { if (data[iconField].length() != 0){ icon = String(data[iconField]); if (icon != null){ iconClass = Class(systemManager.getDefinitionByName(icon)); if (iconClass){ return (iconClass); }; return (document[icon]); }; }; } catch(e:Error) { }; } else { if ((data is Object)){ try { if (data[iconField] != null){ if ((data[iconField] is Class)){ return (data[iconField]); }; if ((data[iconField] is String)){ iconClass = Class(systemManager.getDefinitionByName(data[iconField])); if (iconClass){ return (iconClass); }; return (document[data[iconField]]); }; }; } catch(e:Error) { }; }; }; return (null); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; var _local2:IFlexDisplayObject = (border as IFlexDisplayObject); if (_local2){ if ((_local2 is IUIComponent)){ IUIComponent(_local2).enabled = _arg1; }; if ((_local2 is IInvalidating)){ IInvalidating(_local2).invalidateDisplayList(); }; }; itemsSizeChanged = true; invalidateDisplayList(); } public function addDataEffectItem(_arg1:Object):void{ if (modifiedCollectionView){ modifiedCollectionView.addItem(dataItemWrappersByRenderer[_arg1]); }; if (iterator.afterLast){ iterator.seek(CursorBookmark.FIRST); } else { iterator.seek(CursorBookmark.CURRENT); }; if (invalidateDisplayListFlag){ callLater(invalidateList); } else { invalidateList(); }; } override public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (super.baselinePosition); }; if (!validateBaselinePosition()){ return (NaN); }; var _local1 = (dataProvider == null); var _local2:Boolean = ((!((dataProvider == null))) && ((dataProvider.length == 0))); if (((_local1) || (_local2))){ dataProvider = [null]; validateNow(); }; if (((!(listItems)) || ((listItems.length == 0)))){ return (super.baselinePosition); }; var _local3:IUIComponent = (listItems[0][0] as IUIComponent); if (!_local3){ return (super.baselinePosition); }; var _local4:ListBaseContentHolder = ListBaseContentHolder(_local3.parent); var _local5:Number = ((_local4.y + _local3.y) + _local3.baselinePosition); if (((_local1) || (_local2))){ if (_local1){ dataProvider = null; } else { if (_local2){ dataProvider = []; }; }; validateNow(); }; return (_local5); } private function makeRowsAndColumnsWithExtraRows(_arg1:Number, _arg2:Number):void{ var _local3:ListRowInfo; var _local4:ListRowInfo; var _local5:ListRowInfo; var _local6:int; var _local7:Point; var _local14:int; var _local15:int; var _local16:int; var _local8:int = (offscreenExtraRows / 2); var _local9:int = (offscreenExtraRows / 2); offscreenExtraRowsTop = Math.min(_local8, verticalScrollPosition); var _local10:int = scrollPositionToIndex(horizontalScrollPosition, (verticalScrollPosition - offscreenExtraRowsTop)); seekPositionSafely(_local10); var _local11:CursorBookmark = iterator.bookmark; if (offscreenExtraRowsTop > 0){ makeRowsAndColumns(0, 0, listContent.width, listContent.height, 0, 0, true, offscreenExtraRowsTop); }; var _local12:Number = (offscreenExtraRowsTop) ? (rowInfo[(offscreenExtraRowsTop - 1)].y + rowHeight) : 0; _local7 = makeRowsAndColumns(0, _local12, listContent.width, (_local12 + listContent.heightExcludingOffsets), 0, offscreenExtraRowsTop); if ((((_local9 > 0)) && (!(iterator.afterLast)))){ if (((offscreenExtraRowsTop + _local7.y) - 1) < 0){ _local12 = 0; } else { _local12 = (rowInfo[((offscreenExtraRowsTop + _local7.y) - 1)].y + rowInfo[((offscreenExtraRowsTop + _local7.y) - 1)].height); }; _local14 = listItems.length; _local7 = makeRowsAndColumns(0, _local12, listContent.width, _local12, 0, (offscreenExtraRowsTop + _local7.y), true, _local9); if (_local7.y == _local9){ while ((((((_local7.y > 0)) && (listItems[(listItems.length - 1)]))) && ((listItems[(listItems.length - 1)].length == 0)))) { _local7.y--; listItems.pop(); rowInfo.pop(); }; } else { if (_local7.y < _local9){ _local15 = (listItems.length - (_local14 + _local7.y)); if (_local15){ _local16 = 0; while (_local16 < _local15) { listItems.pop(); rowInfo.pop(); _local16++; }; }; }; }; offscreenExtraRowsBottom = _local7.y; } else { offscreenExtraRowsBottom = 0; }; var _local13:Number = listContent.heightExcludingOffsets; listContent.topOffset = (-(offscreenExtraRowsTop) * rowHeight); listContent.bottomOffset = ((offscreenExtraRowsBottom)>0) ? (((listItems[(listItems.length - 1)][0].y + rowHeight) - _local13) + listContent.topOffset) : 0; if (iteratorValid){ iterator.seek(_local11, 0); }; adjustListContent(_arg1, _arg2); } mx_internal function indicesToItemRenderer(_arg1:int, _arg2:int):IListItemRenderer{ return (listItems[_arg1][_arg2]); } mx_internal function getItemRendererForMouseEvent(_arg1:MouseEvent):IListItemRenderer{ return (mouseEventToItemRenderer(_arg1)); } mx_internal function set $verticalScrollPosition(_arg1:Number):void{ var _local2:int = super.verticalScrollPosition; if (_local2 != _arg1){ super.verticalScrollPosition = _arg1; }; } protected function mouseOutHandler(_arg1:MouseEvent):void{ var _local2:IListItemRenderer; if (((!(enabled)) || (!(selectable)))){ return; }; isPressed = _arg1.buttonDown; _local2 = mouseEventToItemRenderer(_arg1); if (!_local2){ return; }; if (!isPressed){ if (((((((itemRendererContains(_local2, _arg1.relatedObject)) || ((_arg1.relatedObject == listContent)))) || ((_arg1.relatedObject == highlightIndicator)))) || (!(highlightItemRenderer)))){ return; }; if (((getStyle("useRollOver")) && (!((_local2.data == null))))){ clearHighlight(_local2); }; }; } public function set dropEnabled(_arg1:Boolean):void{ if (((_dropEnabled) && (!(_arg1)))){ removeEventListener(DragEvent.DRAG_ENTER, dragEnterHandler, false); removeEventListener(DragEvent.DRAG_EXIT, dragExitHandler, false); removeEventListener(DragEvent.DRAG_OVER, dragOverHandler, false); removeEventListener(DragEvent.DRAG_DROP, dragDropHandler, false); }; _dropEnabled = _arg1; if (_arg1){ addEventListener(DragEvent.DRAG_ENTER, dragEnterHandler, false, EventPriority.DEFAULT_HANDLER); addEventListener(DragEvent.DRAG_EXIT, dragExitHandler, false, EventPriority.DEFAULT_HANDLER); addEventListener(DragEvent.DRAG_OVER, dragOverHandler, false, EventPriority.DEFAULT_HANDLER); addEventListener(DragEvent.DRAG_DROP, dragDropHandler, false, EventPriority.DEFAULT_HANDLER); }; } protected function get listContentStyleFilters():Object{ return (_listContentStyleFilters); } public function itemToLabel(_arg1:Object):String{ var data = _arg1; if (data == null){ return (" "); }; if (labelFunction != null){ return (labelFunction(data)); }; if ((data is XML)){ try { if (data[labelField].length() != 0){ data = data[labelField]; }; } catch(e:Error) { }; } else { if ((data is Object)){ try { if (data[labelField] != null){ data = data[labelField]; }; } catch(e:Error) { }; }; }; if ((data is String)){ return (String(data)); }; try { return (data.toString()); } catch(e:Error) { }; return (" "); } public function set rowCount(_arg1:int):void{ explicitRowCount = _arg1; if (_rowCount != _arg1){ setRowCount(_arg1); rowCountChanged = true; invalidateProperties(); invalidateSize(); itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("rowCountChanged")); }; } public function set columnCount(_arg1:int):void{ explicitColumnCount = _arg1; if (_columnCount != _arg1){ setColumnCount(_arg1); columnCountChanged = true; invalidateProperties(); invalidateSize(); itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("columnCountChanged")); }; } private function partialPurgeItemRenderers():void{ var _local1:*; var _local2:String; var _local3:DisplayObject; var _local4:Dictionary; var _local5:*; dataEffectCompleted = false; while (freeItemRenderers.length) { _local3 = DisplayObject(freeItemRenderers.pop()); if (_local3.parent){ listContent.removeChild(_local3); }; }; for (_local1 in freeItemRenderersByFactory) { _local4 = freeItemRenderersByFactory[_local1]; for (_local5 in _local4) { _local3 = DisplayObject(_local5); delete _local4[_local5]; if (_local3.parent){ listContent.removeChild(_local3); }; }; }; for (_local2 in reservedItemRenderers) { _local3 = DisplayObject(reservedItemRenderers[_local2]); if (_local3.parent){ listContent.removeChild(_local3); }; }; reservedItemRenderers = {}; rowMap = {}; clearVisibleData(); } protected function seekPendingResultHandler(_arg1:Object, _arg2:ListBaseSeekPending):void{ var data = _arg1; var info = _arg2; if (info != lastSeekPending){ return; }; lastSeekPending = null; iteratorValid = true; try { iterator.seek(info.bookmark, info.offset); } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(info.bookmark, info.offset); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; if (bSortItemPending){ bSortItemPending = false; adjustAfterSort(); }; itemsSizeChanged = true; invalidateDisplayList(); } mx_internal function mouseEventToItemRendererOrEditor(_arg1:MouseEvent):IListItemRenderer{ var _local3:Point; var _local4:Number; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local2:DisplayObject = DisplayObject(_arg1.target); if (_local2 == listContent){ _local3 = new Point(_arg1.stageX, _arg1.stageY); _local3 = listContent.globalToLocal(_local3); _local4 = 0; _local5 = listItems.length; _local6 = 0; while (_local6 < _local5) { if (listItems[_local6].length){ if (_local3.y < (_local4 + rowInfo[_local6].height)){ _local7 = listItems[_local6].length; if (_local7 == 1){ return (listItems[_local6][0]); }; _local8 = Math.floor((_local3.x / columnWidth)); return (listItems[_local6][_local8]); }; }; _local4 = (_local4 + rowInfo[_local6].height); _local6++; }; } else { if (_local2 == highlightIndicator){ return (lastHighlightItemRenderer); }; }; while (((_local2) && (!((_local2 == this))))) { if ((((_local2 is IListItemRenderer)) && ((_local2.parent == listContent)))){ if (_local2.visible){ return (IListItemRenderer(_local2)); }; break; }; if ((_local2 is IUIComponent)){ _local2 = IUIComponent(_local2).owner; } else { _local2 = _local2.parent; }; }; return (null); } protected function configureScrollBars():void{ } protected function clearVisibleData():void{ listContent.visibleData = {}; } private function insertSelectionDataAfter(_arg1:String, _arg2:ListBaseSelectionData, _arg3:ListBaseSelectionData):void{ if (_arg3 == null){ firstSelectionData = (lastSelectionData = _arg2); } else { if (_arg3 == lastSelectionData){ lastSelectionData = _arg2; }; _arg2.prevSelectionData = _arg3; _arg2.nextSelectionData = _arg3.nextSelectionData; _arg3.nextSelectionData = _arg2; }; selectedData[_arg1] = _arg2; } protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{ var _local4:Number; var _local5:IListItemRenderer; var _local6:String; var _local7:int; var _local13:ScrollEvent; var _local8:Boolean; showCaret = true; var _local9:int = listItems.length; var _local10:int = ((listItems.length - offscreenExtraRowsTop) - offscreenExtraRowsBottom); var _local11:int = (((rowInfo[((_local9 - offscreenExtraRowsBottom) - 1)].y + rowInfo[((_local9 - offscreenExtraRowsBottom) - 1)].height))>(listContent.heightExcludingOffsets - listContent.topOffset)) ? 1 : 0; var _local12:Boolean; bSelectItem = false; switch (_arg1){ case Keyboard.UP: if (caretIndex > 0){ caretIndex--; _local12 = true; bSelectItem = true; }; break; case Keyboard.DOWN: if (caretIndex < (collection.length - 1)){ caretIndex++; _local12 = true; bSelectItem = true; } else { if ((((caretIndex == (collection.length - 1))) && (_local11))){ if (verticalScrollPosition < maxVerticalScrollPosition){ _local4 = (verticalScrollPosition + 1); }; }; }; break; case Keyboard.PAGE_UP: if ((((caretIndex > verticalScrollPosition)) && ((caretIndex < (verticalScrollPosition + _local10))))){ caretIndex = verticalScrollPosition; } else { caretIndex = Math.max((caretIndex - Math.max((_local10 - _local11), 1)), 0); _local4 = Math.max(caretIndex, 0); }; bSelectItem = true; break; case Keyboard.PAGE_DOWN: if ((((caretIndex >= verticalScrollPosition)) && ((caretIndex < (((verticalScrollPosition + _local10) - _local11) - 1))))){ } else { if ((((caretIndex == verticalScrollPosition)) && (((_local10 - _local11) <= 1)))){ caretIndex++; }; _local4 = Math.max(Math.min(caretIndex, maxVerticalScrollPosition), 0); }; bSelectItem = true; break; case Keyboard.HOME: if (caretIndex > 0){ caretIndex = 0; bSelectItem = true; _local4 = 0; }; break; case Keyboard.END: if (caretIndex < (collection.length - 1)){ caretIndex = (collection.length - 1); bSelectItem = true; _local4 = maxVerticalScrollPosition; }; break; }; if (_local12){ if (caretIndex >= ((verticalScrollPosition + _local10) - _local11)){ if ((_local10 - _local11) == 0){ _local4 = Math.min(maxVerticalScrollPosition, caretIndex); } else { _local4 = Math.min(maxVerticalScrollPosition, (((caretIndex - _local10) + _local11) + 1)); }; } else { if (caretIndex < verticalScrollPosition){ _local4 = Math.max(caretIndex, 0); }; }; }; if (!isNaN(_local4)){ if (verticalScrollPosition != _local4){ _local13 = new ScrollEvent(ScrollEvent.SCROLL); _local13.detail = ScrollEventDetail.THUMB_POSITION; _local13.direction = ScrollEventDirection.VERTICAL; _local13.delta = (_local4 - verticalScrollPosition); _local13.position = _local4; verticalScrollPosition = _local4; dispatchEvent(_local13); }; if (!iteratorValid){ keySelectionPending = true; return; }; }; bShiftKey = _arg2; bCtrlKey = _arg3; lastKey = _arg1; finishKeySelection(); } protected function getReservedOrFreeItemRenderer(_arg1:Object):IListItemRenderer{ var _local2:IListItemRenderer; var _local3:String; var _local4:IFactory; var _local5:Dictionary; var _local6:*; if (runningDataEffect){ _local3 = itemToUID(_arg1); _local2 = IListItemRenderer(reservedItemRenderers[_local3]); }; if (_local2){ delete reservedItemRenderers[_local3]; } else { _local4 = getItemRendererFactory(_arg1); if (freeItemRenderersByFactory){ if (_local4 == itemRenderer){ if (freeItemRenderers.length){ _local2 = freeItemRenderers.pop(); delete freeItemRenderersByFactory[_local4][_local2]; }; } else { _local5 = freeItemRenderersByFactory[_local4]; if (_local5){ for (_local6 in _local5) { _local2 = _local6; delete freeItemRenderersByFactory[_local4][_local2]; break; }; }; }; }; }; return (_local2); } protected function addDragData(_arg1:Object):void{ _arg1.addHandler(copySelectedItems, "items"); } private function adjustAfterSort():void{ var p:String; var index:int; var newVerticalScrollPosition:int; var newHorizontalScrollPosition:int; var pos:int; var data:ListBaseSelectionData; var i:int; for (p in selectedData) { i = (i + 1); }; index = (anchorBookmark) ? anchorBookmark.getViewIndex() : -1; if (index >= 0){ if (i == 1){ _selectedIndex = (anchorIndex = (caretIndex = index)); data = selectedData[p]; data.index = index; }; newVerticalScrollPosition = indexToRow(index); if (newVerticalScrollPosition == -1){ return; }; newVerticalScrollPosition = Math.min(maxVerticalScrollPosition, newVerticalScrollPosition); newHorizontalScrollPosition = indexToColumn(index); if (newHorizontalScrollPosition == -1){ return; }; newHorizontalScrollPosition = Math.min(maxHorizontalScrollPosition, newHorizontalScrollPosition); pos = scrollPositionToIndex(newHorizontalScrollPosition, newVerticalScrollPosition); try { iterator.seek(CursorBookmark.CURRENT, (pos - index)); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.CURRENT, (pos - index)); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; return; }; super.verticalScrollPosition = newVerticalScrollPosition; if (listType != "vertical"){ super.horizontalScrollPosition = newHorizontalScrollPosition; }; } else { try { index = scrollPositionToIndex(horizontalScrollPosition, (verticalScrollPosition - offscreenExtraRowsTop)); iterator.seek(CursorBookmark.FIRST, index); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, index); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; return; }; }; if (i > 1){ commitSelectedItems(selectedItems); }; } public function set listData(_arg1:BaseListData):void{ _listData = _arg1; } private function initiateSelectionTracking(_arg1:Array):void{ var _local3:IListItemRenderer; var _local2:int; while (_local2 < _arg1.length) { _local3 = (_arg1[_local2] as IListItemRenderer); if (selectedData[itemToUID(_local3.data)]){ _local3.addEventListener(MoveEvent.MOVE, rendererMoveHandler); trackedRenderers.push(_local3); }; _local2++; }; } private function setSelectionDataLoop(_arg1:Array, _arg2:int, _arg3:Boolean=true):void{ var uid:String; var item:Object; var bookmark:CursorBookmark; var len:int; var data:Object; var prevSelectionData:ListBaseSelectionData; var i:int; var items = _arg1; var index = _arg2; var useFind = _arg3; if (useFind){ while (items.length) { item = items.pop(); uid = itemToUID(item); try { collectionIterator.findAny(item); } catch(e1:ItemPendingError) { items.push(item); e1.addResponder(new ItemResponder(selectionDataPendingResultHandler, selectionDataPendingFailureHandler, new ListBaseSelectionDataPending(useFind, 0, items, null, 0))); return; }; bookmark = collectionIterator.bookmark; index = bookmark.getViewIndex(); if (index >= 0){ insertSelectionDataBefore(uid, new ListBaseSelectionData(item, index, true), firstSelectionData); } else { try { collectionIterator.seek(CursorBookmark.FIRST, 0); } catch(e2:ItemPendingError) { e2.addResponder(new ItemResponder(selectionDataPendingResultHandler, selectionDataPendingFailureHandler, new ListBaseSelectionDataPending(false, 0, items, CursorBookmark.FIRST, 0))); return; }; setSelectionDataLoop(items, 0, false); return; }; if (items.length == 0){ _selectedIndex = index; _selectedItem = item; caretIndex = index; caretBookmark = collectionIterator.bookmark; anchorIndex = index; anchorBookmark = collectionIterator.bookmark; }; }; } else { while (((items.length) && (!(collectionIterator.afterLast)))) { len = items.length; data = collectionIterator.current; prevSelectionData = null; i = 0; while (i < len) { if (data == items[i]){ uid = itemToUID(data); if (prevSelectionData == null){ insertSelectionDataBefore(uid, new ListBaseSelectionData(data, index, false), firstSelectionData); } else { insertSelectionDataAfter(uid, new ListBaseSelectionData(data, index, false), prevSelectionData); }; if (i == 0){ _selectedIndex = index; _selectedItem = data; caretIndex = index; caretBookmark = collectionIterator.bookmark; anchorIndex = index; anchorBookmark = collectionIterator.bookmark; }; break; }; uid = itemToUID(items[i]); if (selectedData[uid] != null){ prevSelectionData = selectedData[uid]; }; i = (i + 1); }; try { collectionIterator.moveNext(); index = (index + 1); } catch(e2:ItemPendingError) { e2.addResponder(new ItemResponder(selectionDataPendingResultHandler, selectionDataPendingFailureHandler, new ListBaseSelectionDataPending(false, index, items.slice((i + 1)), CursorBookmark.FIRST, index))); return; }; }; }; if (initialized){ updateList(); }; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } public function set dragEnabled(_arg1:Boolean):void{ if (((_dragEnabled) && (!(_arg1)))){ removeEventListener(DragEvent.DRAG_START, dragStartHandler, false); removeEventListener(DragEvent.DRAG_COMPLETE, dragCompleteHandler, false); }; _dragEnabled = _arg1; if (_arg1){ addEventListener(DragEvent.DRAG_START, dragStartHandler, false, EventPriority.DEFAULT_HANDLER); addEventListener(DragEvent.DRAG_COMPLETE, dragCompleteHandler, false, EventPriority.DEFAULT_HANDLER); }; } mx_internal function getListContentHolder():ListBaseContentHolder{ return (listContent); } public function set iconFunction(_arg1:Function):void{ _iconFunction = _arg1; itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("iconFunctionChanged")); } protected function initiateDataChangeEffect(_arg1:Number, _arg2:Number):void{ var _local9:Array; var _local10:int; var _local11:Object; actualCollection = collection; actualIterator = iterator; collection = modifiedCollectionView; modifiedCollectionView.showPreservedState = true; listContent.iterator = (iterator = collection.createCursor()); var _local3:int = scrollPositionToIndex((horizontalScrollPosition - offscreenExtraColumnsLeft), (verticalScrollPosition - offscreenExtraRowsTop)); iterator.seek(CursorBookmark.FIRST, _local3); updateDisplayList(_arg1, _arg2); var _local4:Array = []; var _local5:Dictionary = new Dictionary(true); var _local6:int; while (_local6 < listItems.length) { _local9 = listItems[_local6]; if (((_local9) && ((_local9.length > 0)))){ _local10 = 0; while (_local10 < _local9.length) { _local11 = _local9[_local10]; if (_local11){ _local4.push(_local11); _local5[_local11] = true; }; _local10++; }; }; _local6++; }; cachedItemsChangeEffect.targets = _local4; if (cachedItemsChangeEffect.effectTargetHost != this){ cachedItemsChangeEffect.effectTargetHost = this; }; cachedItemsChangeEffect.captureStartValues(); modifiedCollectionView.showPreservedState = false; iterator.seek(CursorBookmark.FIRST, _local3); itemsSizeChanged = true; updateDisplayList(_arg1, _arg2); var _local7:Array = []; var _local8:Array = cachedItemsChangeEffect.targets; _local6 = 0; while (_local6 < listItems.length) { _local9 = listItems[_local6]; if (((_local9) && ((_local9.length > 0)))){ _local10 = 0; while (_local10 < _local9.length) { _local11 = _local9[_local10]; if (((_local11) && (!(_local5[_local11])))){ _local8.push(_local11); _local7.push(_local11); }; _local10++; }; }; _local6++; }; if (_local7.length > 0){ cachedItemsChangeEffect.targets = _local8; cachedItemsChangeEffect.captureMoreStartValues(_local7); }; cachedItemsChangeEffect.captureEndValues(); modifiedCollectionView.showPreservedState = true; iterator.seek(CursorBookmark.FIRST, _local3); itemsSizeChanged = true; updateDisplayList(_arg1, _arg2); initiateSelectionTracking(_local8); cachedItemsChangeEffect.addEventListener(EffectEvent.EFFECT_END, finishDataChangeEffect); cachedItemsChangeEffect.play(); } public function get labelFunction():Function{ return (_labelFunction); } public function get dataTipField():String{ return (_dataTipField); } protected function adjustListContent(_arg1:Number=-1, _arg2:Number=-1):void{ if (_arg2 < 0){ _arg2 = oldUnscaledHeight; _arg1 = oldUnscaledWidth; }; var _local3:Number = (viewMetrics.left + listContent.leftOffset); var _local4:Number = (viewMetrics.top + listContent.topOffset); listContent.move(_local3, _local4); var _local5:Number = ((Math.max(0, listContent.rightOffset) - _local3) - viewMetrics.right); var _local6:Number = ((Math.max(0, listContent.bottomOffset) - _local4) - viewMetrics.bottom); listContent.setActualSize((_arg1 + _local5), (_arg2 + _local6)); } public function get selectedIndex():int{ return (_selectedIndex); } mx_internal function setBookmarkPendingFailureHandler(_arg1:Object, _arg2:Object):void{ } private function insertSelectionDataBefore(_arg1:String, _arg2:ListBaseSelectionData, _arg3:ListBaseSelectionData):void{ if (_arg3 == null){ firstSelectionData = (lastSelectionData = _arg2); } else { if (_arg3 == firstSelectionData){ firstSelectionData = _arg2; }; _arg2.nextSelectionData = _arg3; _arg2.prevSelectionData = _arg3.prevSelectionData; _arg3.prevSelectionData = _arg2; }; selectedData[_arg1] = _arg2; } mx_internal function getCaretIndex():int{ return (caretIndex); } mx_internal function removeClipMask():void{ var _local7:DisplayObject; if (((listContent) && (listContent.mask))){ return; }; var _local1:int = (listItems.length - 1); if (_local1 < 0){ return; }; var _local2:Number = rowInfo[_local1].height; var _local3:ListRowInfo = rowInfo[_local1]; var _local4:Array = listItems[_local1]; var _local5:int = _local4.length; var _local6:int; while (_local6 < _local5) { _local7 = _local4[_local6]; if ((_local7 is IUITextField)){ if (_local7.height != (_local2 - (_local7.y - _local3.y))){ _local7.height = (_local2 - (_local7.y - _local3.y)); }; } else { if (((_local7) && (_local7.mask))){ itemMaskFreeList.push(_local7.mask); _local7.mask = null; }; }; _local6++; }; } mx_internal function reconstructDataFromListItems():Array{ var _local1:Array; var _local2:int; var _local3:IListItemRenderer; var _local4:Object; var _local5:Object; var _local6:int; if (!listItems){ return ([]); }; _local1 = []; _local2 = 0; while (_local2 < listItems.length) { if (listItems[_local2]){ _local3 = (listItems[_local2][0] as IListItemRenderer); if (_local3){ _local4 = _local3.data; _local1.push(_local4); _local6 = 0; while (_local6 < listItems[_local2].length) { _local3 = (listItems[_local2][_local6] as IListItemRenderer); if (_local3){ _local5 = _local3.data; if (_local5 != _local4){ _local1.push(_local5); }; }; _local6++; }; }; }; _local2++; }; return (_local1); } public function set dataTipFunction(_arg1:Function):void{ _dataTipFunction = _arg1; itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("dataTipFunctionChanged")); } private function calculateSelectedIndexAndItem():void{ var _local2:String; var _local1:int; for (_local2 in selectedData) { _local1 = 1; break; }; if (!_local1){ _selectedIndex = -1; _selectedItem = null; return; }; _selectedIndex = selectedData[_local2].index; _selectedItem = selectedData[_local2].data; } protected function scrollPositionToIndex(_arg1:int, _arg2:int):int{ return ((iterator) ? _arg2 : -1); } override protected function createChildren():void{ super.createChildren(); if (!listContent){ listContent = new ListBaseContentHolder(this); listContent.styleName = new StyleProxy(this, listContentStyleFilters); addChild(listContent); }; if (!selectionLayer){ selectionLayer = listContent.selectionLayer; }; } public function findString(_arg1:String):Boolean{ var cursorPos:CursorBookmark; var bMovedNext:Boolean; var str = _arg1; if (((!(collection)) || ((collection.length == 0)))){ return (false); }; cursorPos = iterator.bookmark; var stopIndex:int = selectedIndex; var i:int = (stopIndex + 1); if (selectedIndex == -1){ try { iterator.seek(CursorBookmark.FIRST, 0); } catch(e1:ItemPendingError) { e1.addResponder(new ItemResponder(findPendingResultHandler, findPendingFailureHandler, new ListBaseFindPending(str, cursorPos, CursorBookmark.FIRST, 0, 0, collection.length))); iteratorValid = false; return (false); }; stopIndex = collection.length; i = 0; } else { try { iterator.seek(CursorBookmark.FIRST, stopIndex); } catch(e2:ItemPendingError) { if (anchorIndex == (collection.length - 1)){ e2.addResponder(new ItemResponder(findPendingResultHandler, findPendingFailureHandler, new ListBaseFindPending(str, cursorPos, CursorBookmark.FIRST, 0, 0, collection.length))); } else { e2.addResponder(new ItemResponder(findPendingResultHandler, findPendingFailureHandler, new ListBaseFindPending(str, cursorPos, anchorBookmark, 1, (anchorIndex + 1), anchorIndex))); }; iteratorValid = false; return (false); }; bMovedNext = false; try { bMovedNext = iterator.moveNext(); } catch(e3:ItemPendingError) { e3.addResponder(new ItemResponder(findPendingResultHandler, findPendingFailureHandler, new ListBaseFindPending(str, cursorPos, anchorBookmark, 1, (anchorIndex + 1), anchorIndex))); iteratorValid = false; return (false); }; if (!bMovedNext){ try { iterator.seek(CursorBookmark.FIRST, 0); } catch(e4:ItemPendingError) { e4.addResponder(new ItemResponder(findPendingResultHandler, findPendingFailureHandler, new ListBaseFindPending(str, cursorPos, CursorBookmark.FIRST, 0, 0, collection.length))); iteratorValid = false; return (false); }; stopIndex = collection.length; i = 0; }; }; return (findStringLoop(str, cursorPos, i, stopIndex)); } private function commitSelectedItem(_arg1:Object, _arg2:Boolean=true):void{ if (_arg2){ clearSelected(); }; if (_arg1 != null){ commitSelectedItems([_arg1]); }; } public function showDropFeedback(_arg1:DragEvent):void{ var _local6:Class; var _local7:EdgeMetrics; if (!dropIndicator){ _local6 = getStyle("dropIndicatorSkin"); if (!_local6){ _local6 = ListDropIndicator; }; dropIndicator = IFlexDisplayObject(new (_local6)); _local7 = viewMetrics; drawFocus(true); dropIndicator.x = 2; dropIndicator.setActualSize((listContent.width - 4), 4); dropIndicator.visible = true; listContent.addChild(DisplayObject(dropIndicator)); if (collection){ if (dragScrollingInterval == 0){ dragScrollingInterval = setInterval(dragScroll, 15); }; }; }; var _local2:int = listItems.length; var _local3:int = (((rowInfo[((_local2 - offscreenExtraRowsBottom) - 1)].y + rowInfo[((_local2 - offscreenExtraRowsBottom) - 1)].height))>(listContent.heightExcludingOffsets - listContent.topOffset)) ? 1 : 0; var _local4:Number = calculateDropIndex(_arg1); _local4 = (_local4 - verticalScrollPosition); var _local5:Number = listItems.length; if (_local4 >= _local5){ if (_local3){ _local4 = (_local5 - 1); } else { _local4 = _local5; }; }; if (_local4 < 0){ _local4 = 0; }; dropIndicator.y = calculateDropIndicatorY(_local5, (_local4 + offscreenExtraRowsTop)); } mx_internal function commitSelectedIndex(_arg1:int):void{ var bookmark:CursorBookmark; var len:int; var data:Object; var selectedBookmark:CursorBookmark; var uid:String; var value = _arg1; if (value != -1){ value = Math.min(value, (collection.length - 1)); bookmark = iterator.bookmark; len = (value - scrollPositionToIndex((horizontalScrollPosition - offscreenExtraColumnsLeft), (verticalScrollPosition - offscreenExtraRowsTop))); try { iterator.seek(CursorBookmark.CURRENT, len); } catch(e:ItemPendingError) { iterator.seek(bookmark, 0); bSelectedIndexChanged = true; _selectedIndex = value; return; }; data = iterator.current; selectedBookmark = iterator.bookmark; uid = itemToUID(data); iterator.seek(bookmark, 0); if (!selectedData[uid]){ if (((listContent) && (UIDToItemRenderer(uid)))){ selectItem(UIDToItemRenderer(uid), false, false); } else { clearSelected(); insertSelectionDataBefore(uid, new ListBaseSelectionData(data, value, approximate), firstSelectionData); _selectedIndex = value; caretIndex = value; caretBookmark = selectedBookmark; anchorIndex = value; anchorBookmark = selectedBookmark; _selectedItem = data; }; }; } else { clearSelected(); }; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } protected function get visibleData():Object{ return (listContent.visibleData); } public function set rowHeight(_arg1:Number):void{ explicitRowHeight = _arg1; if (_rowHeight != _arg1){ setRowHeight(_arg1); invalidateSize(); itemsSizeChanged = true; invalidateDisplayList(); dispatchEvent(new Event("rowHeightChanged")); }; } private function seekNextSafely(_arg1:IViewCursor, _arg2:int):Boolean{ var iterator = _arg1; var pos = _arg2; try { iterator.moveNext(); } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, pos); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; return (iteratorValid); } public function set data(_arg1:Object):void{ _data = _arg1; if (((_listData) && ((_listData is DataGridListData)))){ selectedItem = _data[DataGridListData(_listData).dataField]; } else { if ((((_listData is ListData)) && ((ListData(_listData).labelField in _data)))){ selectedItem = _data[ListData(_listData).labelField]; } else { selectedItem = _data; }; }; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } public function get rowCount():int{ return (_rowCount); } mx_internal function get rendererArray():Array{ return (listItems); } public function get columnCount():int{ return (_columnCount); } protected function purgeItemRenderers():void{ var _local1:*; var _local2:Array; var _local3:IListItemRenderer; var _local4:DisplayObject; var _local5:Dictionary; var _local6:*; rendererChanged = false; while (listItems.length) { _local2 = listItems.pop(); while (_local2.length) { _local3 = IListItemRenderer(_local2.pop()); if (_local3){ listContent.removeChild(DisplayObject(_local3)); if (dataItemWrappersByRenderer[_local3]){ delete visibleData[itemToUID(dataItemWrappersByRenderer[_local3])]; } else { delete visibleData[itemToUID(_local3.data)]; }; }; }; }; while (freeItemRenderers.length) { _local4 = DisplayObject(freeItemRenderers.pop()); if (_local4.parent){ listContent.removeChild(_local4); }; }; for (_local1 in freeItemRenderersByFactory) { _local5 = freeItemRenderersByFactory[_local1]; for (_local6 in _local5) { _local4 = DisplayObject(_local6); delete _local5[_local6]; if (_local4.parent){ listContent.removeChild(_local4); }; }; }; rowMap = {}; listContent.rowInfo = []; } protected function mouseEventToItemRenderer(_arg1:MouseEvent):IListItemRenderer{ return (mouseEventToItemRendererOrEditor(_arg1)); } protected function UIDToItemRenderer(_arg1:String):IListItemRenderer{ if (!listContent){ return (null); }; return (visibleData[_arg1]); } public function get dragEnabled():Boolean{ return (_dragEnabled); } private function findPendingResultHandler(_arg1:Object, _arg2:ListBaseFindPending):void{ iterator.seek(_arg2.bookmark, _arg2.offset); findStringLoop(_arg2.searchString, _arg2.startingBookmark, _arg2.currentIndex, _arg2.stopIndex); } protected function set allowItemSizeChangeNotification(_arg1:Boolean):void{ listContent.allowItemSizeChangeNotification = _arg1; } public function get iconFunction():Function{ return (_iconFunction); } protected function collectionChangeHandler(_arg1:Event):void{ var len:int; var index:int; var i:int; var data:ListBaseSelectionData; var p:String; var selectedUID:String; var ce:CollectionEvent; var emitEvent:Boolean; var oldUID:String; var sd:ListBaseSelectionData; var requiresValueCommit:Boolean; var firstUID:String; var uid:String; var deletedItems:Array; var fakeRemove:CollectionEvent; var event = _arg1; if ((event is CollectionEvent)){ ce = CollectionEvent(event); if (ce.kind == CollectionEventKind.ADD){ prepareDataEffect(ce); if ((((ce.location == 0)) && ((verticalScrollPosition == 0)))){ try { iterator.seek(CursorBookmark.FIRST); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, 0); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; } else { if ((((listType == "vertical")) && ((verticalScrollPosition >= ce.location)))){ super.verticalScrollPosition = (super.verticalScrollPosition + ce.items.length); }; }; emitEvent = adjustAfterAdd(ce.items, ce.location); if (emitEvent){ dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; } else { if (ce.kind == CollectionEventKind.REPLACE){ selectedUID = (selectedItem) ? itemToUID(selectedItem) : null; len = ce.items.length; i = 0; while (i < len) { oldUID = itemToUID(ce.items[i].oldValue); sd = selectedData[oldUID]; if (sd){ sd.data = ce.items[i].newValue; delete selectedData[oldUID]; selectedData[itemToUID(sd.data)] = sd; if (selectedUID == oldUID){ _selectedItem = sd.data; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; }; i = (i + 1); }; prepareDataEffect(ce); } else { if (ce.kind == CollectionEventKind.REMOVE){ prepareDataEffect(ce); requiresValueCommit = false; if (((listItems.length) && (listItems[0].length))){ firstUID = rowMap[listItems[0][0].name].uid; selectedUID = (selectedItem) ? itemToUID(selectedItem) : null; i = 0; while (i < ce.items.length) { uid = itemToUID(ce.items[i]); if ((((uid == firstUID)) && ((verticalScrollPosition == 0)))){ try { iterator.seek(CursorBookmark.FIRST); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e1:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, 0); e1.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; }; if (selectedData[uid]){ removeSelectionData(uid); }; if (selectedUID == uid){ _selectedItem = null; _selectedIndex = -1; requiresValueCommit = true; }; removeIndicators(uid); i = (i + 1); }; if ((((listType == "vertical")) && ((verticalScrollPosition >= ce.location)))){ if (verticalScrollPosition > ce.location){ super.verticalScrollPosition = (verticalScrollPosition - Math.min(ce.items.length, (verticalScrollPosition - ce.location))); } else { if (verticalScrollPosition >= collection.length){ super.verticalScrollPosition = Math.max((collection.length - 1), 0); }; }; try { offscreenExtraRowsTop = Math.min(offscreenExtraRowsTop, verticalScrollPosition); index = scrollPositionToIndex(horizontalScrollPosition, (verticalScrollPosition - offscreenExtraRowsTop)); iterator.seek(CursorBookmark.FIRST, index); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e2:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, index); e2.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; }; emitEvent = adjustAfterRemove(ce.items, ce.location, requiresValueCommit); if (emitEvent){ dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; }; } else { if (ce.kind == CollectionEventKind.MOVE){ if (ce.oldLocation < ce.location){ for (p in selectedData) { data = selectedData[p]; if ((((data.index > ce.oldLocation)) && ((data.index < ce.location)))){ data.index--; } else { if (data.index == ce.oldLocation){ data.index = ce.location; }; }; }; if ((((_selectedIndex > ce.oldLocation)) && ((_selectedIndex < ce.location)))){ _selectedIndex--; } else { if (_selectedIndex == ce.oldLocation){ _selectedIndex = ce.location; }; }; } else { if (ce.location < ce.oldLocation){ for (p in selectedData) { data = selectedData[p]; if ((((data.index > ce.location)) && ((data.index < ce.oldLocation)))){ data.index++; } else { if (data.index == ce.oldLocation){ data.index = ce.location; }; }; }; if ((((_selectedIndex > ce.location)) && ((_selectedIndex < ce.oldLocation)))){ _selectedIndex++; } else { if (_selectedIndex == ce.oldLocation){ _selectedIndex = ce.location; }; }; }; }; if (ce.oldLocation == verticalScrollPosition){ if (ce.location > maxVerticalScrollPosition){ iterator.seek(CursorBookmark.CURRENT, (maxVerticalScrollPosition - ce.location)); }; super.verticalScrollPosition = Math.min(ce.location, maxVerticalScrollPosition); } else { if ((((ce.location >= verticalScrollPosition)) && ((ce.oldLocation < verticalScrollPosition)))){ seekNextSafely(iterator, verticalScrollPosition); } else { if ((((ce.location <= verticalScrollPosition)) && ((ce.oldLocation > verticalScrollPosition)))){ seekPreviousSafely(iterator, verticalScrollPosition); }; }; }; } else { if (ce.kind == CollectionEventKind.REFRESH){ if (anchorBookmark){ try { iterator.seek(anchorBookmark, 0); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e:ItemPendingError) { bSortItemPending = true; lastSeekPending = new ListBaseSeekPending(anchorBookmark, 0); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; } catch(cursorError:CursorError) { clearSelected(); }; adjustAfterSort(); } else { try { index = scrollPositionToIndex(horizontalScrollPosition, verticalScrollPosition); iterator.seek(CursorBookmark.FIRST, index); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e:ItemPendingError) { bSortItemPending = true; lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, index); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; }; } else { if (ce.kind == CollectionEventKind.RESET){ if ((((collection.length == 0)) || (((runningDataEffect) && ((actualCollection.length == 0)))))){ deletedItems = reconstructDataFromListItems(); if (deletedItems.length){ fakeRemove = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); fakeRemove.kind = CollectionEventKind.REMOVE; fakeRemove.items = deletedItems; fakeRemove.location = 0; prepareDataEffect(fakeRemove); }; }; try { iterator.seek(CursorBookmark.FIRST); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; collectionIterator.seek(CursorBookmark.FIRST); } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, 0); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; if (((((((bSelectedIndexChanged) || (bSelectedItemChanged))) || (bSelectedIndicesChanged))) || (bSelectedItemsChanged))){ bSelectionChanged = true; } else { commitSelectedIndex(-1); }; if (isNaN(verticalScrollPositionPending)){ verticalScrollPositionPending = 0; super.verticalScrollPosition = 0; }; if (isNaN(horizontalScrollPositionPending)){ horizontalScrollPositionPending = 0; super.horizontalScrollPosition = 0; }; invalidateSize(); } else { if (ce.kind == CollectionEventKind.UPDATE){ selectedUID = (selectedItem) ? itemToUID(selectedItem) : null; len = ce.items.length; i = 0; while (i < len) { if (ce.items[i].property == "uid"){ oldUID = ce.items[i].oldValue; sd = selectedData[oldUID]; if (sd){ sd.data = ce.items[i].target; delete selectedData[oldUID]; selectedData[ce.items[i].newValue] = sd; if (selectedUID == oldUID){ _selectedItem = sd.data; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; }; }; i = (i + 1); }; }; }; }; }; }; }; }; }; itemsSizeChanged = true; invalidateDisplayList(); } public function set dataProvider(_arg1:Object):void{ var _local3:XMLList; var _local4:Array; if (collection){ collection.removeEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler); }; if ((_arg1 is Array)){ collection = new ArrayCollection((_arg1 as Array)); } else { if ((_arg1 is ICollectionView)){ collection = ICollectionView(_arg1); } else { if ((_arg1 is IList)){ collection = new ListCollectionView(IList(_arg1)); } else { if ((_arg1 is XMLList)){ collection = new XMLListCollection((_arg1 as XMLList)); } else { if ((_arg1 is XML)){ _local3 = new XMLList(); _local3 = (_local3 + _arg1); collection = new XMLListCollection(_local3); } else { _local4 = []; if (_arg1 != null){ _local4.push(_arg1); }; collection = new ArrayCollection(_local4); }; }; }; }; }; iterator = collection.createCursor(); collectionIterator = collection.createCursor(); collection.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler, false, 0, true); clearSelectionData(); var _local2:CollectionEvent = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local2.kind = CollectionEventKind.RESET; collectionChangeHandler(_local2); dispatchEvent(_local2); itemsNeedMeasurement = true; invalidateProperties(); invalidateSize(); invalidateDisplayList(); } protected function destroyRow(_arg1:int, _arg2:int):void{ var _local3:IListItemRenderer; var _local4:String = rowInfo[_arg1].uid; removeIndicators(_local4); var _local5:int; while (_local5 < _arg2) { _local3 = listItems[_arg1][_local5]; if (_local3.data){ delete visibleData[_local4]; }; addToFreeItemRenderers(_local3); _local5++; }; } protected function dragDropHandler(_arg1:DragEvent):void{ var _local2:Array; var _local3:int; var _local4:Array; var _local5:int; if (_arg1.isDefaultPrevented()){ return; }; hideDropFeedback(_arg1); lastDragEvent = null; resetDragScrolling(); if (((enabled) && (_arg1.dragSource.hasFormat("items")))){ if (!dataProvider){ dataProvider = []; }; _local2 = (_arg1.dragSource.dataForFormat("items") as Array); _local3 = calculateDropIndex(_arg1); if ((((_arg1.action == DragManager.MOVE)) && (dragMoveEnabled))){ if (_arg1.dragInitiator == this){ _local4 = selectedIndices; _local4.sort(Array.NUMERIC); _local5 = (_local4.length - 1); while (_local5 >= 0) { collectionIterator.seek(CursorBookmark.FIRST, _local4[_local5]); if (_local4[_local5] < _local3){ _local3--; }; collectionIterator.remove(); _local5--; }; clearSelected(false); }; }; collectionIterator.seek(CursorBookmark.FIRST, _local3); _local5 = (_local2.length - 1); while (_local5 >= 0) { if (_arg1.action == DragManager.COPY){ collectionIterator.insert(copyItemWithUID(_local2[_local5])); } else { if (_arg1.action == DragManager.MOVE){ collectionIterator.insert(_local2[_local5]); }; }; _local5--; }; }; lastDragEvent = null; } public function get dataTipFunction():Function{ return (_dataTipFunction); } public function scrollToIndex(_arg1:int):Boolean{ var _local2:int; if ((((_arg1 >= ((verticalScrollPosition + listItems.length) - offscreenExtraRowsBottom))) || ((_arg1 < verticalScrollPosition)))){ _local2 = Math.min(_arg1, maxVerticalScrollPosition); verticalScrollPosition = _local2; return (true); }; return (false); } protected function addToFreeItemRenderers(_arg1:IListItemRenderer):void{ DisplayObject(_arg1).visible = false; var _local2:IFactory = factoryMap[_arg1]; var _local3:ItemWrapper = dataItemWrappersByRenderer[_arg1]; var _local4:String = (_local3) ? itemToUID(_local3) : itemToUID(_arg1.data); if (visibleData[_local4] == _arg1){ delete visibleData[_local4]; }; if (_local3){ reservedItemRenderers[itemToUID(_local3)] = _arg1; } else { if (!freeItemRenderersByFactory){ freeItemRenderersByFactory = new Dictionary(true); }; if (freeItemRenderersByFactory[_local2] == undefined){ freeItemRenderersByFactory[_local2] = new Dictionary(true); }; freeItemRenderersByFactory[_local2][_arg1] = 1; if (_local2 == itemRenderer){ freeItemRenderers.push(_arg1); }; }; delete rowMap[_arg1.name]; } override protected function initializeAccessibility():void{ if (ListBase.createAccessibilityImplementation != null){ ListBase.createAccessibilityImplementation(this); }; } public function isItemSelectable(_arg1:Object):Boolean{ if (!selectable){ return (false); }; if (_arg1 == null){ return (false); }; return (true); } private function findPendingFailureHandler(_arg1:Object, _arg2:ListBaseFindPending):void{ } public function get rowHeight():Number{ return (_rowHeight); } public function get data():Object{ return (_data); } mx_internal function adjustOffscreenRowsAndColumns():void{ offscreenExtraColumns = 0; offscreenExtraRows = offscreenExtraRowsOrColumns; } protected function indexToRow(_arg1:int):int{ return (_arg1); } protected function get dragImageOffsets():Point{ var _local1:Point = new Point(); var _local2:int = listItems.length; var _local3:int; while (_local3 < _local2) { if (selectedData[rowInfo[_local3].uid]){ _local1.x = listItems[_local3][0].x; _local1.y = listItems[_local3][0].y; }; _local3++; }; return (_local1); } public function get dataProvider():Object{ if (actualCollection){ return (actualCollection); }; return (collection); } override public function styleChanged(_arg1:String):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; if (IS_ITEM_STYLE[_arg1]){ itemsSizeChanged = true; invalidateDisplayList(); } else { if (_arg1 == "paddingTop"){ cachedPaddingTopInvalid = true; invalidateProperties(); } else { if (_arg1 == "paddingBottom"){ cachedPaddingBottomInvalid = true; invalidateProperties(); } else { if (_arg1 == "verticalAlign"){ cachedVerticalAlignInvalid = true; invalidateProperties(); } else { if (_arg1 == "itemsChangeEffect"){ cachedItemsChangeEffect = null; } else { if (((listContent) && (listItems))){ _local2 = listItems.length; _local3 = 0; while (_local3 < _local2) { _local4 = listItems[_local3].length; _local5 = 0; while (_local5 < _local4) { if (listItems[_local3][_local5]){ listItems[_local3][_local5].styleChanged(_arg1); }; _local5++; }; _local3++; }; }; }; }; }; }; }; super.styleChanged(_arg1); if (invalidateSizeFlag){ itemsNeedMeasurement = true; invalidateProperties(); }; if (StyleManager.isSizeInvalidatingStyle(_arg1)){ scrollAreaChanged = true; }; } private function selectionPendingResultHandler(_arg1:Object, _arg2:ListBaseSelectionPending):void{ iterator.seek(_arg2.bookmark, _arg2.offset); shiftSelectionLoop(_arg2.incrementing, _arg2.index, _arg2.stopData, _arg2.transition, _arg2.placeHolder); } public function set selectedItems(_arg1:Array):void{ if (((!(collection)) || ((collection.length == 0)))){ _selectedItems = _arg1; bSelectedItemsChanged = true; bSelectionChanged = true; invalidateDisplayList(); return; }; commitSelectedItems(_arg1); } public function itemToDataTip(_arg1:Object):String{ var data = _arg1; if (data == null){ return (" "); }; if (dataTipFunction != null){ return (dataTipFunction(data)); }; if ((data is XML)){ try { if (data[dataTipField].length() != 0){ data = data[dataTipField]; }; } catch(e:Error) { }; } else { if ((data is Object)){ try { if (data[dataTipField] != null){ data = data[dataTipField]; } else { if (data.label != null){ data = data.label; }; }; } catch(e:Error) { }; }; }; if ((data is String)){ return (String(data)); }; try { return (data.toString()); } catch(e:Error) { }; return (" "); } protected function dragStartHandler(_arg1:DragEvent):void{ var _local2:DragSource; if (_arg1.isDefaultPrevented()){ return; }; _local2 = new DragSource(); addDragData(_local2); DragManager.doDrag(this, _local2, _arg1, dragImage, 0, 0, 0.5, dragMoveEnabled); } private function cleanupAfterDataChangeEffect():void{ if (((runningDataEffect) || (runDataEffectNextUpdate))){ return; }; var _local1:int = scrollPositionToIndex((horizontalScrollPosition - offscreenExtraColumnsLeft), (verticalScrollPosition - offscreenExtraRowsTop)); iterator.seek(CursorBookmark.FIRST, _local1); dataEffectCompleted = true; itemsSizeChanged = true; invalidateList(); dataItemWrappersByRenderer = new Dictionary(); } mx_internal function setBookmarkPendingResultHandler(_arg1:Object, _arg2:Object):void{ var placeHolder:CursorBookmark; var data = _arg1; var info = _arg2; placeHolder = iterator.bookmark; try { iterator.seek(CursorBookmark.FIRST, info.value); this[info.property] = iterator.bookmark; } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(setBookmarkPendingResultHandler, setBookmarkPendingFailureHandler, info)); }; iterator.seek(placeHolder); } protected function removeIndicators(_arg1:String):void{ if (selectionTweens[_arg1]){ selectionTweens[_arg1].removeEventListener(TweenEvent.TWEEN_UPDATE, selectionTween_updateHandler); selectionTweens[_arg1].removeEventListener(TweenEvent.TWEEN_END, selectionTween_endHandler); if (selectionIndicators[_arg1].alpha < 1){ Tween.removeTween(selectionTweens[_arg1]); }; delete selectionTweens[_arg1]; }; if (selectionIndicators[_arg1]){ selectionIndicators[_arg1].parent.removeChild(selectionIndicators[_arg1]); selectionIndicators[_arg1] = null; }; if (_arg1 == highlightUID){ highlightItemRenderer = null; highlightUID = null; clearHighlightIndicator(highlightIndicator, UIDToItemRenderer(_arg1)); }; if (_arg1 == caretUID){ caretItemRenderer = null; caretUID = null; clearCaretIndicator(caretIndicator, UIDToItemRenderer(_arg1)); }; } private function mouseIsUp():void{ systemManager.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true); systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler); if (((!(dragEnabled)) && (!((dragScrollingInterval == 0))))){ clearInterval(dragScrollingInterval); dragScrollingInterval = 0; }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local3:CursorBookmark; var _local6:int; super.updateDisplayList(_arg1, _arg2); if ((((((((((oldUnscaledWidth == _arg1)) && ((oldUnscaledHeight == _arg2)))) && (!(itemsSizeChanged)))) && (!(bSelectionChanged)))) && (!(scrollAreaChanged)))){ return; }; if (oldUnscaledWidth != _arg1){ itemsSizeChanged = true; }; removeClipMask(); var _local4:Graphics = selectionLayer.graphics; _local4.clear(); if ((((listContent.width > 0)) && ((listContent.height > 0)))){ _local4.beginFill(0x808080, 0); _local4.drawRect(0, 0, listContent.width, listContent.height); _local4.endFill(); }; if (rendererChanged){ purgeItemRenderers(); } else { if (dataEffectCompleted){ partialPurgeItemRenderers(); }; }; adjustListContent(_arg1, _arg2); var _local5:Boolean = ((collection) && ((collection.length > 0))); if (_local5){ adjustScrollPosition(); }; if ((((((((((((oldUnscaledWidth == _arg1)) && (!(scrollAreaChanged)))) && (!(itemsSizeChanged)))) && ((listItems.length > 0)))) && (iterator))) && ((columnCount == 1)))){ _local6 = (listItems.length - 1); if (oldUnscaledHeight > _arg2){ reduceRows(_local6); } else { makeAdditionalRows(_local6); }; } else { if (iterator){ _local3 = iterator.bookmark; }; clearIndicators(); rendererTrackingSuspended = true; if (iterator){ if (((((offscreenExtraColumns) || (offscreenExtraColumnsLeft))) || (offscreenExtraColumnsRight))){ makeRowsAndColumnsWithExtraColumns(_arg1, _arg2); } else { makeRowsAndColumnsWithExtraRows(_arg1, _arg2); }; } else { makeRowsAndColumns(0, 0, listContent.width, listContent.height, 0, 0); }; rendererTrackingSuspended = false; seekPositionIgnoreError(iterator, _local3); }; oldUnscaledWidth = _arg1; oldUnscaledHeight = _arg2; configureScrollBars(); addClipMask(true); itemsSizeChanged = false; wordWrapChanged = false; adjustSelectionSettings(_local5); if (((keySelectionPending) && (iteratorValid))){ keySelectionPending = false; finishKeySelection(); }; } protected function dragCompleteHandler(_arg1:DragEvent):void{ var _local2:Array; var _local3:int; var _local4:int; isPressed = false; if (_arg1.isDefaultPrevented()){ return; }; if ((((_arg1.action == DragManager.MOVE)) && (dragMoveEnabled))){ if (_arg1.relatedObject != this){ _local2 = selectedIndices; _local2.sort(Array.NUMERIC); _local3 = _local2.length; _local4 = (_local3 - 1); while (_local4 >= 0) { collectionIterator.seek(CursorBookmark.FIRST, _local2[_local4]); collectionIterator.remove(); _local4--; }; clearSelected(false); }; }; lastDragEvent = null; resetDragScrolling(); } public function getItemRendererFactory(_arg1:Object):IFactory{ if (_arg1 == null){ return (nullItemRenderer); }; return (itemRenderer); } } }//package mx.controls.listClasses
Section 49
//ListBaseContentHolder (mx.controls.listClasses.ListBaseContentHolder) package mx.controls.listClasses { import flash.display.*; import mx.core.*; import mx.collections.*; public class ListBaseContentHolder extends UIComponent { public var listItems:Array; public var topOffset:Number;// = 0 public var rightOffset:Number;// = 0 private var maskShape:Shape; public var selectionLayer:Sprite; private var parentList:ListBase; public var iterator:IViewCursor; public var rowInfo:Array; public var bottomOffset:Number;// = 0 public var leftOffset:Number;// = 0 public var visibleData:Object; mx_internal var allowItemSizeChangeNotification:Boolean;// = true mx_internal static const VERSION:String = "3.0.0.0"; public function ListBaseContentHolder(_arg1:ListBase){ var _local2:Graphics; visibleData = {}; listItems = []; rowInfo = []; super(); this.parentList = _arg1; setStyle("backgroundColor", ""); setStyle("borderStyle", "none"); if (!selectionLayer){ selectionLayer = new FlexSprite(); selectionLayer.name = "selectionLayer"; selectionLayer.mouseEnabled = false; addChild(selectionLayer); _local2 = selectionLayer.graphics; _local2.beginFill(0, 0); _local2.drawRect(0, 0, 10, 10); _local2.endFill(); }; } override public function set focusPane(_arg1:Sprite):void{ var _local2:Graphics; if (_arg1){ if (!maskShape){ maskShape = new FlexShape(); maskShape.name = "mask"; _local2 = maskShape.graphics; _local2.beginFill(0xFFFFFF); _local2.drawRect(-2, -2, (parentList.width + 2), (parentList.height + 2)); _local2.endFill(); addChild(maskShape); }; maskShape.visible = false; _arg1.mask = maskShape; } else { if (parentList.focusPane.mask == maskShape){ parentList.focusPane.mask = null; }; }; parentList.focusPane = _arg1; _arg1.x = x; _arg1.y = y; } public function get heightExcludingOffsets():Number{ return (((height + topOffset) - bottomOffset)); } public function get widthExcludingOffsets():Number{ return (((width + leftOffset) - rightOffset)); } override public function invalidateSize():void{ if (allowItemSizeChangeNotification){ parentList.invalidateList(); }; } mx_internal function getParentList():ListBase{ return (parentList); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:Graphics = selectionLayer.graphics; _local3.clear(); if ((((_arg1 > 0)) && ((_arg2 > 0)))){ _local3.beginFill(0x808080, 0); _local3.drawRect(0, 0, _arg1, _arg2); _local3.endFill(); }; if (maskShape){ maskShape.width = _arg1; maskShape.height = _arg2; }; } } }//package mx.controls.listClasses
Section 50
//ListBaseFindPending (mx.controls.listClasses.ListBaseFindPending) package mx.controls.listClasses { import mx.collections.*; public class ListBaseFindPending { public var currentIndex:int; public var stopIndex:int; public var startingBookmark:CursorBookmark; public var searchString:String; public var offset:int; public var bookmark:CursorBookmark; mx_internal static const VERSION:String = "3.0.0.0"; public function ListBaseFindPending(_arg1:String, _arg2:CursorBookmark, _arg3:CursorBookmark, _arg4:int, _arg5:int, _arg6:int){ this.searchString = _arg1; this.startingBookmark = _arg2; this.bookmark = _arg3; this.offset = _arg4; this.currentIndex = _arg5; this.stopIndex = _arg6; } } }//package mx.controls.listClasses
Section 51
//ListBaseSeekPending (mx.controls.listClasses.ListBaseSeekPending) package mx.controls.listClasses { import mx.collections.*; public class ListBaseSeekPending { public var offset:int; public var bookmark:CursorBookmark; mx_internal static const VERSION:String = "3.0.0.0"; public function ListBaseSeekPending(_arg1:CursorBookmark, _arg2:int){ this.bookmark = _arg1; this.offset = _arg2; } } }//package mx.controls.listClasses
Section 52
//ListBaseSelectionData (mx.controls.listClasses.ListBaseSelectionData) package mx.controls.listClasses { public class ListBaseSelectionData { public var data:Object; mx_internal var prevSelectionData:ListBaseSelectionData; mx_internal var nextSelectionData:ListBaseSelectionData; public var approximate:Boolean; public var index:int; mx_internal static const VERSION:String = "3.0.0.0"; public function ListBaseSelectionData(_arg1:Object, _arg2:int, _arg3:Boolean){ this.data = _arg1; this.index = _arg2; this.approximate = _arg3; } } }//package mx.controls.listClasses
Section 53
//ListBaseSelectionDataPending (mx.controls.listClasses.ListBaseSelectionDataPending) package mx.controls.listClasses { import mx.collections.*; public class ListBaseSelectionDataPending { public var items:Array; public var index:int; public var bookmark:CursorBookmark; public var offset:int; public var useFind:Boolean; mx_internal static const VERSION:String = "3.0.0.0"; public function ListBaseSelectionDataPending(_arg1:Boolean, _arg2:int, _arg3:Array, _arg4:CursorBookmark, _arg5:int){ this.useFind = _arg1; this.index = _arg2; this.items = _arg3; this.bookmark = _arg4; this.offset = _arg5; } } }//package mx.controls.listClasses
Section 54
//ListBaseSelectionPending (mx.controls.listClasses.ListBaseSelectionPending) package mx.controls.listClasses { import mx.collections.*; public class ListBaseSelectionPending { public var offset:int; public var stopData:Object; public var index:int; public var placeHolder:CursorBookmark; public var bookmark:CursorBookmark; public var incrementing:Boolean; public var transition:Boolean; mx_internal static const VERSION:String = "3.0.0.0"; public function ListBaseSelectionPending(_arg1:Boolean, _arg2:int, _arg3:Object, _arg4:Boolean, _arg5:CursorBookmark, _arg6:CursorBookmark, _arg7:int){ this.incrementing = _arg1; this.index = _arg2; this.stopData = _arg3; this.transition = _arg4; this.placeHolder = _arg5; this.bookmark = _arg6; this.offset = _arg7; } } }//package mx.controls.listClasses
Section 55
//ListData (mx.controls.listClasses.ListData) package mx.controls.listClasses { import mx.core.*; public class ListData extends BaseListData { public var icon:Class; public var labelField:String; mx_internal static const VERSION:String = "3.0.0.0"; public function ListData(_arg1:String, _arg2:Class, _arg3:String, _arg4:String, _arg5:IUIComponent, _arg6:int=0, _arg7:int=0){ super(_arg1, _arg4, _arg5, _arg6, _arg7); this.icon = _arg2; this.labelField = _arg3; } } }//package mx.controls.listClasses
Section 56
//ListItemDragProxy (mx.controls.listClasses.ListItemDragProxy) package mx.controls.listClasses { import flash.display.*; import mx.core.*; public class ListItemDragProxy extends UIComponent { mx_internal static const VERSION:String = "3.0.0.0"; override protected function createChildren():void{ var _local4:IListItemRenderer; var _local5:IListItemRenderer; var _local6:ListBaseContentHolder; var _local7:BaseListData; super.createChildren(); var _local1:Array = ListBase(owner).selectedItems; var _local2:int = _local1.length; var _local3:int; while (_local3 < _local2) { _local4 = ListBase(owner).itemToItemRenderer(_local1[_local3]); if (!_local4){ } else { _local5 = ListBase(owner).createItemRenderer(_local1[_local3]); _local5.styleName = ListBase(owner); if ((_local5 is IDropInListItemRenderer)){ _local7 = IDropInListItemRenderer(_local4).listData; IDropInListItemRenderer(_local5).listData = (_local1[_local3]) ? _local7 : null; }; _local5.data = _local1[_local3]; addChild(DisplayObject(_local5)); _local6 = (_local4.parent as ListBaseContentHolder); _local5.setActualSize(_local4.width, _local4.height); _local5.x = (_local4.x + _local6.leftOffset); _local5.y = (_local4.y + _local6.topOffset); measuredHeight = Math.max(measuredHeight, (_local5.y + _local5.height)); measuredWidth = Math.max(measuredWidth, (_local5.x + _local5.width)); _local5.visible = true; }; _local3++; }; invalidateDisplayList(); } override protected function measure():void{ var _local3:IListItemRenderer; super.measure(); var _local1:Number = 0; var _local2:Number = 0; var _local4:int; while (_local4 < numChildren) { _local3 = (getChildAt(_local4) as IListItemRenderer); if (_local3){ _local1 = Math.max(_local1, (_local3.x + _local3.width)); _local2 = Math.max(_local2, (_local3.y + _local3.height)); }; _local4++; }; measuredWidth = (measuredMinWidth = _local1); measuredHeight = (measuredMinHeight = _local2); } } }//package mx.controls.listClasses
Section 57
//ListItemRenderer (mx.controls.listClasses.ListItemRenderer) package mx.controls.listClasses { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.events.*; public class ListItemRenderer extends UIComponent implements IDataRenderer, IDropInListItemRenderer, IListItemRenderer, IFontContextComponent { private var _listData:ListData; private var _data:Object; protected var label:IUITextField; private var listOwner:ListBase; protected var icon:IFlexDisplayObject; mx_internal static const VERSION:String = "3.0.0.0"; public function ListItemRenderer(){ addEventListener(ToolTipEvent.TOOL_TIP_SHOW, toolTipShowHandler); } public function set fontContext(_arg1:IFlexModuleFactory):void{ this.moduleFactory = _arg1; } mx_internal function getLabel():IUITextField{ return (label); } override protected function commitProperties():void{ var _local2:Class; super.commitProperties(); var _local1 = -1; if (((hasFontContextChanged()) && (!((label == null))))){ _local1 = getChildIndex(DisplayObject(label)); removeChild(DisplayObject(label)); label = null; }; if (!label){ label = IUITextField(createInFontContext(UITextField)); label.styleName = this; if (_local1 == -1){ addChild(DisplayObject(label)); } else { addChildAt(DisplayObject(label), _local1); }; }; if (icon){ removeChild(DisplayObject(icon)); icon = null; }; if (_data != null){ listOwner = ListBase(_listData.owner); if (_listData.icon){ _local2 = _listData.icon; icon = new (_local2); addChild(DisplayObject(icon)); }; label.text = (_listData.label) ? _listData.label : " "; label.multiline = listOwner.variableRowHeight; label.wordWrap = listOwner.wordWrap; if (listOwner.showDataTips){ if ((((label.textWidth > label.width)) || (!((listOwner.dataTipFunction == null))))){ toolTip = listOwner.itemToDataTip(_data); } else { toolTip = null; }; } else { toolTip = null; }; } else { label.text = " "; toolTip = null; }; } protected function toolTipShowHandler(_arg1:ToolTipEvent):void{ var _local2:IToolTip = _arg1.toolTip; var _local3:Point = new Point(0, 0); _local3 = label.localToGlobal(_local3); _local3 = stage.globalToLocal(_local3); _local2.move(_local3.x, (_local3.y + ((height - _local2.height) / 2))); var _local4:Rectangle = systemManager.screen; var _local5:Number = (_local4.x + _local4.width); if ((_local2.x + _local2.width) > _local5){ _local2.move((_local5 - _local2.width), _local2.y); }; } public function set listData(_arg1:BaseListData):void{ _listData = ListData(_arg1); invalidateProperties(); } public function set data(_arg1:Object):void{ _data = _arg1; invalidateProperties(); dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } override public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (!label){ return (0); }; return (label.baselinePosition); }; if (!validateBaselinePosition()){ return (NaN); }; return ((label.y + label.baselinePosition)); } override protected function measure():void{ super.measure(); var _local1:Number = 0; if (icon){ _local1 = icon.measuredWidth; }; if ((((label.width < 4)) || ((label.height < 4)))){ label.width = 4; label.height = 16; }; if (isNaN(explicitWidth)){ _local1 = (_local1 + label.getExplicitOrMeasuredWidth()); measuredWidth = _local1; measuredHeight = label.getExplicitOrMeasuredHeight(); } else { measuredWidth = explicitWidth; label.setActualSize(Math.max((explicitWidth - _local1), 4), label.height); measuredHeight = label.getExplicitOrMeasuredHeight(); if (((icon) && ((icon.measuredHeight > measuredHeight)))){ measuredHeight = icon.measuredHeight; }; }; } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } override protected function createChildren():void{ super.createChildren(); if (!label){ label = IUITextField(createInFontContext(UITextField)); label.styleName = this; addChild(DisplayObject(label)); }; } public function get data():Object{ return (_data); } public function get listData():BaseListData{ return (_listData); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local5:Number; super.updateDisplayList(_arg1, _arg2); var _local3:Number = 0; if (icon){ icon.x = _local3; _local3 = (icon.x + icon.measuredWidth); icon.setActualSize(icon.measuredWidth, icon.measuredHeight); }; label.x = _local3; label.setActualSize((_arg1 - _local3), measuredHeight); var _local4:String = getStyle("verticalAlign"); if (_local4 == "top"){ label.y = 0; if (icon){ icon.y = 0; }; } else { if (_local4 == "bottom"){ label.y = ((_arg2 - label.height) + 2); if (icon){ icon.y = (_arg2 - icon.height); }; } else { label.y = ((_arg2 - label.height) / 2); if (icon){ icon.y = ((_arg2 - icon.height) / 2); }; }; }; if (((data) && (parent))){ if (!enabled){ _local5 = getStyle("disabledColor"); } else { if (listOwner.isItemHighlighted(listData.uid)){ _local5 = getStyle("textRollOverColor"); } else { if (listOwner.isItemSelected(listData.uid)){ _local5 = getStyle("textSelectedColor"); } else { _local5 = getStyle("color"); }; }; }; label.setColor(_local5); }; } } }//package mx.controls.listClasses
Section 58
//ListRowInfo (mx.controls.listClasses.ListRowInfo) package mx.controls.listClasses { public class ListRowInfo { public var itemOldY:Number; public var height:Number; public var uid:String; public var data:Object; public var oldY:Number; public var y:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function ListRowInfo(_arg1:Number, _arg2:Number, _arg3:String, _arg4:Object=null){ this.y = _arg1; this.height = _arg2; this.uid = _arg3; this.data = _arg4; } } }//package mx.controls.listClasses
Section 59
//ScrollBar (mx.controls.scrollClasses.ScrollBar) package mx.controls.scrollClasses { import flash.geom.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.*; import flash.utils.*; import flash.ui.*; public class ScrollBar extends UIComponent { private var _direction:String;// = "vertical" private var _pageScrollSize:Number;// = 0 mx_internal var scrollTrack:Button; mx_internal var downArrow:Button; mx_internal var scrollThumb:ScrollThumb; private var trackScrollRepeatDirection:int; private var _minScrollPosition:Number;// = 0 private var trackPosition:Number; private var _pageSize:Number;// = 0 mx_internal var _minHeight:Number;// = 32 private var _maxScrollPosition:Number;// = 0 private var trackScrollTimer:Timer; mx_internal var upArrow:Button; private var _lineScrollSize:Number;// = 1 private var _scrollPosition:Number;// = 0 private var trackScrolling:Boolean;// = false mx_internal var isScrolling:Boolean; mx_internal var oldPosition:Number; mx_internal var _minWidth:Number;// = 16 mx_internal static const VERSION:String = "3.0.0.0"; public static const THICKNESS:Number = 16; override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; invalidateDisplayList(); } public function set lineScrollSize(_arg1:Number):void{ _lineScrollSize = _arg1; } public function get minScrollPosition():Number{ return (_minScrollPosition); } mx_internal function dispatchScrollEvent(_arg1:Number, _arg2:String):void{ var _local3:ScrollEvent = new ScrollEvent(ScrollEvent.SCROLL); _local3.detail = _arg2; _local3.position = scrollPosition; _local3.delta = (scrollPosition - _arg1); _local3.direction = direction; dispatchEvent(_local3); } private function downArrow_buttonDownHandler(_arg1:FlexEvent):void{ if (isNaN(oldPosition)){ oldPosition = scrollPosition; }; lineScroll(1); } private function scrollTrack_mouseDownHandler(_arg1:MouseEvent):void{ if (!(((_arg1.target == this)) || ((_arg1.target == scrollTrack)))){ return; }; trackScrolling = true; systemManager.addEventListener(MouseEvent.MOUSE_UP, scrollTrack_mouseUpHandler, true); systemManager.addEventListener(MouseEvent.MOUSE_MOVE, scrollTrack_mouseMoveHandler, true); systemManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_scrollTrack_mouseMoveHandler); systemManager.stage.addEventListener(Event.MOUSE_LEAVE, scrollTrack_mouseLeaveHandler); var _local2:Point = new Point(_arg1.localX, _arg1.localY); _local2 = _arg1.target.localToGlobal(_local2); _local2 = globalToLocal(_local2); trackPosition = _local2.y; if (isNaN(oldPosition)){ oldPosition = scrollPosition; }; trackScrollRepeatDirection = (((scrollThumb.y + scrollThumb.height) < _local2.y)) ? 1 : ((scrollThumb.y > _local2.y)) ? -1 : 0; pageScroll(trackScrollRepeatDirection); if (!trackScrollTimer){ trackScrollTimer = new Timer(getStyle("repeatDelay"), 1); trackScrollTimer.addEventListener(TimerEvent.TIMER, trackScrollTimerHandler); }; trackScrollTimer.start(); } public function set minScrollPosition(_arg1:Number):void{ _minScrollPosition = _arg1; } public function get scrollPosition():Number{ return (_scrollPosition); } mx_internal function get linePlusDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.LINE_DOWN : ScrollEventDetail.LINE_RIGHT); } public function get maxScrollPosition():Number{ return (_maxScrollPosition); } protected function get thumbStyleFilters():Object{ return (null); } override public function set doubleClickEnabled(_arg1:Boolean):void{ } public function get lineScrollSize():Number{ return (_lineScrollSize); } private function stage_scrollTrack_mouseMoveHandler(_arg1:MouseEvent):void{ if (_arg1.target != stage){ return; }; scrollTrack_mouseMoveHandler(_arg1); } mx_internal function get virtualHeight():Number{ return (unscaledHeight); } public function set scrollPosition(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:Number; _scrollPosition = _arg1; if (scrollThumb){ if (!cacheAsBitmap){ cacheHeuristic = (scrollThumb.cacheHeuristic = true); }; if (!isScrolling){ _arg1 = Math.min(_arg1, maxScrollPosition); _arg1 = Math.max(_arg1, minScrollPosition); _local2 = (maxScrollPosition - minScrollPosition); _local3 = ((((_local2 == 0)) || (isNaN(_local2)))) ? 0 : ((((_arg1 - minScrollPosition) * (trackHeight - scrollThumb.height)) / _local2) + trackY); _local4 = (((virtualWidth - scrollThumb.width) / 2) + getStyle("thumbOffset")); scrollThumb.move(Math.round(_local4), Math.round(_local3)); }; }; } protected function get downArrowStyleFilters():Object{ return (null); } public function get pageSize():Number{ return (_pageSize); } public function set pageScrollSize(_arg1:Number):void{ _pageScrollSize = _arg1; } public function set maxScrollPosition(_arg1:Number):void{ _maxScrollPosition = _arg1; } mx_internal function pageScroll(_arg1:int):void{ var _local4:Number; var _local5:String; var _local2:Number = ((_pageScrollSize)!=0) ? _pageScrollSize : pageSize; var _local3:Number = (_scrollPosition + (_arg1 * _local2)); if (_local3 > maxScrollPosition){ _local3 = maxScrollPosition; } else { if (_local3 < minScrollPosition){ _local3 = minScrollPosition; }; }; if (_local3 != scrollPosition){ _local4 = scrollPosition; scrollPosition = _local3; _local5 = ((_arg1 < 0)) ? pageMinusDetail : pagePlusDetail; dispatchScrollEvent(_local4, _local5); }; } override protected function createChildren():void{ super.createChildren(); if (!scrollTrack){ scrollTrack = new Button(); scrollTrack.focusEnabled = false; scrollTrack.skinName = "trackSkin"; scrollTrack.upSkinName = "trackUpSkin"; scrollTrack.overSkinName = "trackOverSkin"; scrollTrack.downSkinName = "trackDownSkin"; scrollTrack.disabledSkinName = "trackDisabledSkin"; if ((scrollTrack is ISimpleStyleClient)){ ISimpleStyleClient(scrollTrack).styleName = this; }; addChild(scrollTrack); scrollTrack.validateProperties(); }; if (!upArrow){ upArrow = new Button(); upArrow.enabled = false; upArrow.autoRepeat = true; upArrow.focusEnabled = false; upArrow.upSkinName = "upArrowUpSkin"; upArrow.overSkinName = "upArrowOverSkin"; upArrow.downSkinName = "upArrowDownSkin"; upArrow.disabledSkinName = "upArrowDisabledSkin"; upArrow.skinName = "upArrowSkin"; upArrow.upIconName = ""; upArrow.overIconName = ""; upArrow.downIconName = ""; upArrow.disabledIconName = ""; addChild(upArrow); upArrow.styleName = new StyleProxy(this, upArrowStyleFilters); upArrow.validateProperties(); upArrow.addEventListener(FlexEvent.BUTTON_DOWN, upArrow_buttonDownHandler); }; if (!downArrow){ downArrow = new Button(); downArrow.enabled = false; downArrow.autoRepeat = true; downArrow.focusEnabled = false; downArrow.upSkinName = "downArrowUpSkin"; downArrow.overSkinName = "downArrowOverSkin"; downArrow.downSkinName = "downArrowDownSkin"; downArrow.disabledSkinName = "downArrowDisabledSkin"; downArrow.skinName = "downArrowSkin"; downArrow.upIconName = ""; downArrow.overIconName = ""; downArrow.downIconName = ""; downArrow.disabledIconName = ""; addChild(downArrow); downArrow.styleName = new StyleProxy(this, downArrowStyleFilters); downArrow.validateProperties(); downArrow.addEventListener(FlexEvent.BUTTON_DOWN, downArrow_buttonDownHandler); }; } private function scrollTrack_mouseOverHandler(_arg1:MouseEvent):void{ if (!(((_arg1.target == this)) || ((_arg1.target == scrollTrack)))){ return; }; if (trackScrolling){ trackScrollTimer.start(); }; } private function get minDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.AT_TOP : ScrollEventDetail.AT_LEFT); } mx_internal function isScrollBarKey(_arg1:uint):Boolean{ var _local2:Number; if (_arg1 == Keyboard.HOME){ if (scrollPosition != 0){ _local2 = scrollPosition; scrollPosition = 0; dispatchScrollEvent(_local2, minDetail); }; return (true); } else { if (_arg1 == Keyboard.END){ if (scrollPosition < maxScrollPosition){ _local2 = scrollPosition; scrollPosition = maxScrollPosition; dispatchScrollEvent(_local2, maxDetail); }; return (true); }; }; return (false); } mx_internal function get lineMinusDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.LINE_UP : ScrollEventDetail.LINE_LEFT); } mx_internal function get pageMinusDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.PAGE_UP : ScrollEventDetail.PAGE_LEFT); } private function get maxDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.AT_BOTTOM : ScrollEventDetail.AT_RIGHT); } private function scrollTrack_mouseLeaveHandler(_arg1:Event):void{ trackScrolling = false; systemManager.removeEventListener(MouseEvent.MOUSE_UP, scrollTrack_mouseUpHandler, true); systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, scrollTrack_mouseMoveHandler, true); systemManager.stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_scrollTrack_mouseMoveHandler); systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, scrollTrack_mouseLeaveHandler); if (trackScrollTimer){ trackScrollTimer.reset(); }; if (_arg1.target != scrollTrack){ return; }; var _local2:String = ((oldPosition > scrollPosition)) ? pageMinusDetail : pagePlusDetail; dispatchScrollEvent(oldPosition, _local2); oldPosition = NaN; } protected function get upArrowStyleFilters():Object{ return (null); } private function get trackHeight():Number{ return ((virtualHeight - (upArrow.getExplicitOrMeasuredHeight() + downArrow.getExplicitOrMeasuredHeight()))); } public function get pageScrollSize():Number{ return (_pageScrollSize); } override protected function measure():void{ super.measure(); upArrow.validateSize(); downArrow.validateSize(); scrollTrack.validateSize(); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ _minWidth = (scrollThumb) ? scrollThumb.getExplicitOrMeasuredWidth() : 0; _minWidth = Math.max(scrollTrack.getExplicitOrMeasuredWidth(), upArrow.getExplicitOrMeasuredWidth(), downArrow.getExplicitOrMeasuredWidth(), _minWidth); } else { _minWidth = upArrow.getExplicitOrMeasuredWidth(); }; _minHeight = (upArrow.getExplicitOrMeasuredHeight() + downArrow.getExplicitOrMeasuredHeight()); } mx_internal function lineScroll(_arg1:int):void{ var _local4:Number; var _local5:String; var _local2:Number = _lineScrollSize; var _local3:Number = (_scrollPosition + (_arg1 * _local2)); if (_local3 > maxScrollPosition){ _local3 = maxScrollPosition; } else { if (_local3 < minScrollPosition){ _local3 = minScrollPosition; }; }; if (_local3 != scrollPosition){ _local4 = scrollPosition; scrollPosition = _local3; _local5 = ((_arg1 < 0)) ? lineMinusDetail : linePlusDetail; dispatchScrollEvent(_local4, _local5); }; } public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ var _local5:Number; this.pageSize = _arg1; _pageScrollSize = ((_arg4)>0) ? _arg4 : _arg1; this.minScrollPosition = Math.max(_arg2, 0); this.maxScrollPosition = Math.max(_arg3, 0); _scrollPosition = Math.max(this.minScrollPosition, _scrollPosition); _scrollPosition = Math.min(this.maxScrollPosition, _scrollPosition); if (((((this.maxScrollPosition - this.minScrollPosition) > 0)) && (enabled))){ upArrow.enabled = true; downArrow.enabled = true; scrollTrack.enabled = true; addEventListener(MouseEvent.MOUSE_DOWN, scrollTrack_mouseDownHandler); addEventListener(MouseEvent.MOUSE_OVER, scrollTrack_mouseOverHandler); addEventListener(MouseEvent.MOUSE_OUT, scrollTrack_mouseOutHandler); if (!scrollThumb){ scrollThumb = new ScrollThumb(); scrollThumb.focusEnabled = false; addChildAt(scrollThumb, getChildIndex(downArrow)); scrollThumb.styleName = new StyleProxy(this, thumbStyleFilters); scrollThumb.upSkinName = "thumbUpSkin"; scrollThumb.overSkinName = "thumbOverSkin"; scrollThumb.downSkinName = "thumbDownSkin"; scrollThumb.iconName = "thumbIcon"; scrollThumb.skinName = "thumbSkin"; }; _local5 = ((trackHeight < 0)) ? 0 : Math.round(((_arg1 / ((this.maxScrollPosition - this.minScrollPosition) + _arg1)) * trackHeight)); if (_local5 < scrollThumb.minHeight){ if (trackHeight < scrollThumb.minHeight){ scrollThumb.visible = false; } else { _local5 = scrollThumb.minHeight; scrollThumb.visible = true; scrollThumb.setActualSize(scrollThumb.measuredWidth, scrollThumb.minHeight); }; } else { scrollThumb.visible = true; scrollThumb.setActualSize(scrollThumb.measuredWidth, _local5); }; scrollThumb.setRange((upArrow.getExplicitOrMeasuredHeight() + 0), ((virtualHeight - downArrow.getExplicitOrMeasuredHeight()) - scrollThumb.height), this.minScrollPosition, this.maxScrollPosition); scrollPosition = Math.max(Math.min(scrollPosition, this.maxScrollPosition), this.minScrollPosition); } else { upArrow.enabled = false; downArrow.enabled = false; scrollTrack.enabled = false; if (scrollThumb){ scrollThumb.visible = false; }; }; } private function trackScrollTimerHandler(_arg1:Event):void{ if (trackScrollRepeatDirection == 1){ if ((scrollThumb.y + scrollThumb.height) > trackPosition){ return; }; }; if (trackScrollRepeatDirection == -1){ if (scrollThumb.y < trackPosition){ return; }; }; pageScroll(trackScrollRepeatDirection); if (((trackScrollTimer) && ((trackScrollTimer.repeatCount == 1)))){ trackScrollTimer.delay = getStyle("repeatInterval"); trackScrollTimer.repeatCount = 0; }; } private function upArrow_buttonDownHandler(_arg1:FlexEvent):void{ if (isNaN(oldPosition)){ oldPosition = scrollPosition; }; lineScroll(-1); } public function set pageSize(_arg1:Number):void{ _pageSize = _arg1; } private function get trackY():Number{ return (upArrow.getExplicitOrMeasuredHeight()); } private function scrollTrack_mouseOutHandler(_arg1:MouseEvent):void{ if (trackScrolling){ trackScrollTimer.stop(); }; } private function scrollTrack_mouseUpHandler(_arg1:MouseEvent):void{ scrollTrack_mouseLeaveHandler(_arg1); } private function scrollTrack_mouseMoveHandler(_arg1:MouseEvent):void{ var _local2:Point; if (trackScrolling){ _local2 = new Point(_arg1.stageX, _arg1.stageY); _local2 = globalToLocal(_local2); trackPosition = _local2.y; }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ if ($height == 1){ return; }; if (!upArrow){ return; }; super.updateDisplayList(_arg1, _arg2); if (cacheAsBitmap){ cacheHeuristic = (scrollThumb.cacheHeuristic = false); }; upArrow.setActualSize(upArrow.getExplicitOrMeasuredWidth(), upArrow.getExplicitOrMeasuredHeight()); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ upArrow.move(((virtualWidth - upArrow.width) / 2), 0); } else { upArrow.move(0, 0); }; scrollTrack.setActualSize(scrollTrack.getExplicitOrMeasuredWidth(), virtualHeight); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ scrollTrack.x = ((virtualWidth - scrollTrack.width) / 2); }; scrollTrack.y = 0; downArrow.setActualSize(downArrow.getExplicitOrMeasuredWidth(), downArrow.getExplicitOrMeasuredHeight()); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ downArrow.move(((virtualWidth - downArrow.width) / 2), (virtualHeight - downArrow.getExplicitOrMeasuredHeight())); } else { downArrow.move(0, (virtualHeight - downArrow.getExplicitOrMeasuredHeight())); }; setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, _pageScrollSize); scrollPosition = _scrollPosition; } mx_internal function get pagePlusDetail():String{ return (((direction == ScrollBarDirection.VERTICAL)) ? ScrollEventDetail.PAGE_DOWN : ScrollEventDetail.PAGE_RIGHT); } mx_internal function get virtualWidth():Number{ return (unscaledWidth); } public function set direction(_arg1:String):void{ _direction = _arg1; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("directionChanged")); } public function get direction():String{ return (_direction); } } }//package mx.controls.scrollClasses
Section 60
//ScrollBarDirection (mx.controls.scrollClasses.ScrollBarDirection) package mx.controls.scrollClasses { public final class ScrollBarDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.controls.scrollClasses
Section 61
//ScrollThumb (mx.controls.scrollClasses.ScrollThumb) package mx.controls.scrollClasses { import flash.geom.*; import flash.events.*; import mx.events.*; import mx.controls.*; public class ScrollThumb extends Button { private var lastY:Number; private var datamin:Number; private var ymax:Number; private var ymin:Number; private var datamax:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function ScrollThumb(){ explicitMinHeight = 10; stickyHighlighting = true; } private function stopDragThumb():void{ var _local1:ScrollBar = ScrollBar(parent); _local1.isScrolling = false; _local1.dispatchScrollEvent(_local1.oldPosition, ScrollEventDetail.THUMB_POSITION); _local1.oldPosition = NaN; systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); systemManager.stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler); } override protected function mouseDownHandler(_arg1:MouseEvent):void{ super.mouseDownHandler(_arg1); var _local2:ScrollBar = ScrollBar(parent); _local2.oldPosition = _local2.scrollPosition; lastY = _arg1.localY; systemManager.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); systemManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler); } private function mouseMoveHandler(_arg1:MouseEvent):void{ if (ymin == ymax){ return; }; var _local2:Point = new Point(_arg1.stageX, _arg1.stageY); _local2 = globalToLocal(_local2); var _local3:Number = (_local2.y - lastY); _local3 = (_local3 + y); if (_local3 < ymin){ _local3 = ymin; } else { if (_local3 > ymax){ _local3 = ymax; }; }; var _local4:ScrollBar = ScrollBar(parent); _local4.isScrolling = true; $y = _local3; var _local5:Number = _local4.scrollPosition; var _local6:Number = (Math.round((((datamax - datamin) * (y - ymin)) / (ymax - ymin))) + datamin); _local4.scrollPosition = _local6; _local4.dispatchScrollEvent(_local5, ScrollEventDetail.THUMB_TRACK); _arg1.updateAfterEvent(); } override mx_internal function buttonReleased():void{ super.buttonReleased(); stopDragThumb(); } private function stage_mouseMoveHandler(_arg1:MouseEvent):void{ if (_arg1.target != stage){ return; }; mouseMoveHandler(_arg1); } mx_internal function setRange(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ this.ymin = _arg1; this.ymax = _arg2; this.datamin = _arg3; this.datamax = _arg4; } } }//package mx.controls.scrollClasses
Section 62
//Alert (mx.controls.Alert) package mx.controls { import flash.display.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.resources.*; import mx.containers.*; import mx.controls.alertClasses.*; public class Alert extends Panel { mx_internal var alertForm:AlertForm; public var defaultButtonFlag:uint;// = 4 public var text:String;// = "" private var init:Boolean;// = false public var buttonFlags:uint;// = 4 public var iconClass:Class; public static const NONMODAL:uint = 0x8000; mx_internal static const VERSION:String = "3.0.0.0"; public static const NO:uint = 2; public static const YES:uint = 1; public static const OK:uint = 4; public static const CANCEL:uint = 8; mx_internal static var createAccessibilityImplementation:Function; private static var cancelLabelOverride:String; private static var _resourceManager:IResourceManager; public static var buttonHeight:Number = 22; private static var noLabelOverride:String; private static var _yesLabel:String; private static var yesLabelOverride:String; public static var buttonWidth:Number = ((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? 60 : 65; ; private static var _okLabel:String; private static var initialized:Boolean = false; private static var _cancelLabel:String; private static var okLabelOverride:String; private static var _noLabel:String; public function Alert(){ title = ""; } override public function styleChanged(_arg1:String):void{ var _local2:String; super.styleChanged(_arg1); if (_arg1 == "messageStyleName"){ _local2 = getStyle("messageStyleName"); styleName = _local2; }; if (alertForm){ alertForm.styleChanged(_arg1); }; } override protected function measure():void{ var _local1:EdgeMetrics; super.measure(); _local1 = viewMetrics; measuredWidth = Math.max(measuredWidth, ((alertForm.getExplicitOrMeasuredWidth() + _local1.left) + _local1.right)); measuredHeight = ((alertForm.getExplicitOrMeasuredHeight() + _local1.top) + _local1.bottom); } override protected function resourcesChanged():void{ super.resourcesChanged(); static_resourcesChanged(); } override protected function initializeAccessibility():void{ if (Alert.createAccessibilityImplementation != null){ Alert.createAccessibilityImplementation(this); }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local4:Number; var _local5:Number; super.updateDisplayList(_arg1, _arg2); var _local3:EdgeMetrics = viewMetrics; alertForm.setActualSize(((((_arg1 - _local3.left) - _local3.right) - getStyle("paddingLeft")) - getStyle("paddingRight")), ((((_arg2 - _local3.top) - _local3.bottom) - getStyle("paddingTop")) - getStyle("paddingBottom"))); if (!init){ if (parent == systemManager){ _local4 = ((screen.width - measuredWidth) / 2); _local5 = ((screen.height - measuredHeight) / 2); } else { _local4 = ((parent.width - measuredWidth) / 2); _local5 = ((parent.height - measuredHeight) / 2); }; move(Math.round(_local4), Math.round(_local5)); init = true; }; } override protected function createChildren():void{ super.createChildren(); var _local1:String = getStyle("messageStyleName"); if (_local1){ styleName = _local1; }; if (!alertForm){ alertForm = new AlertForm(); alertForm.styleName = this; addChild(alertForm); }; } private static function initialize():void{ if (!initialized){ resourceManager.addEventListener(Event.CHANGE, static_resourceManager_changeHandler, false, 0, true); static_resourcesChanged(); initialized = true; }; } private static function static_resourcesChanged():void{ cancelLabel = cancelLabelOverride; noLabel = noLabelOverride; okLabel = okLabelOverride; yesLabel = yesLabelOverride; } public static function get cancelLabel():String{ initialize(); return (_cancelLabel); } public static function set yesLabel(_arg1:String):void{ yesLabelOverride = _arg1; _yesLabel = ((_arg1)!=null) ? _arg1 : resourceManager.getString("controls", "yesLabel"); } public static function get noLabel():String{ initialize(); return (_noLabel); } public static function set cancelLabel(_arg1:String):void{ cancelLabelOverride = _arg1; _cancelLabel = ((_arg1)!=null) ? _arg1 : resourceManager.getString("controls", "cancelLabel"); } private static function get resourceManager():IResourceManager{ if (!_resourceManager){ _resourceManager = ResourceManager.getInstance(); }; return (_resourceManager); } public static function get yesLabel():String{ initialize(); return (_yesLabel); } public static function set noLabel(_arg1:String):void{ noLabelOverride = _arg1; _noLabel = ((_arg1)!=null) ? _arg1 : resourceManager.getString("controls", "noLabel"); } private static function static_resourceManager_changeHandler(_arg1:Event):void{ static_resourcesChanged(); } public static function set okLabel(_arg1:String):void{ okLabelOverride = _arg1; _okLabel = ((_arg1)!=null) ? _arg1 : resourceManager.getString("controls", "okLabel"); } public static function get okLabel():String{ initialize(); return (_okLabel); } public static function show(_arg1:String="", _arg2:String="", _arg3:uint=4, _arg4:Sprite=null, _arg5:Function=null, _arg6:Class=null, _arg7:uint=4):Alert{ var _local8:Boolean = ((_arg3 & Alert.NONMODAL)) ? false : true; if (!_arg4){ _arg4 = Sprite(Application.application); }; var _local9:Alert = new (Alert); if ((((((((_arg3 & Alert.OK)) || ((_arg3 & Alert.CANCEL)))) || ((_arg3 & Alert.YES)))) || ((_arg3 & Alert.NO)))){ _local9.buttonFlags = _arg3; }; if ((((((((_arg7 == Alert.OK)) || ((_arg7 == Alert.CANCEL)))) || ((_arg7 == Alert.YES)))) || ((_arg7 == Alert.NO)))){ _local9.defaultButtonFlag = _arg7; }; _local9.text = _arg1; _local9.title = _arg2; _local9.iconClass = _arg6; if (_arg5 != null){ _local9.addEventListener(CloseEvent.CLOSE, _arg5); }; if ((_arg4 is UIComponent)){ _local9.moduleFactory = UIComponent(_arg4).moduleFactory; }; PopUpManager.addPopUp(_local9, _arg4, _local8); _local9.setActualSize(_local9.getExplicitOrMeasuredWidth(), _local9.getExplicitOrMeasuredHeight()); return (_local9); } } }//package mx.controls
Section 63
//Button (mx.controls.Button) package mx.controls { import flash.display.*; import flash.text.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import flash.utils.*; import mx.controls.listClasses.*; import flash.ui.*; import mx.controls.dataGridClasses.*; public class Button extends UIComponent implements IDataRenderer, IDropInListItemRenderer, IFocusManagerComponent, IListItemRenderer, IFontContextComponent, IButton { mx_internal var _emphasized:Boolean;// = false mx_internal var extraSpacing:Number; private var icons:Array; public var selectedField:String;// = null private var labelChanged:Boolean;// = false private var skinMeasuredWidth:Number; mx_internal var checkedDefaultSkin:Boolean;// = false private var autoRepeatTimer:Timer; mx_internal var disabledIconName:String;// = "disabledIcon" mx_internal var disabledSkinName:String;// = "disabledSkin" mx_internal var checkedDefaultIcon:Boolean;// = false public var stickyHighlighting:Boolean;// = false private var enabledChanged:Boolean;// = false mx_internal var selectedUpIconName:String;// = "selectedUpIcon" mx_internal var selectedUpSkinName:String;// = "selectedUpSkin" mx_internal var upIconName:String;// = "upIcon" mx_internal var upSkinName:String;// = "upSkin" mx_internal var centerContent:Boolean;// = true mx_internal var buttonOffset:Number;// = 0 private var skinMeasuredHeight:Number; private var oldUnscaledWidth:Number; mx_internal var downIconName:String;// = "downIcon" mx_internal var _labelPlacement:String;// = "right" mx_internal var downSkinName:String;// = "downSkin" mx_internal var _toggle:Boolean;// = false private var _phase:String;// = "up" private var toolTipSet:Boolean;// = false private var _data:Object; mx_internal var currentIcon:IFlexDisplayObject; mx_internal var currentSkin:IFlexDisplayObject; mx_internal var overIconName:String;// = "overIcon" mx_internal var selectedDownIconName:String;// = "selectedDownIcon" mx_internal var overSkinName:String;// = "overSkin" mx_internal var iconName:String;// = "icon" mx_internal var skinName:String;// = "skin" mx_internal var selectedDownSkinName:String;// = "selectedDownSkin" private var skins:Array; private var selectedSet:Boolean; private var _autoRepeat:Boolean;// = false private var styleChangedFlag:Boolean;// = true mx_internal var selectedOverIconName:String;// = "selectedOverIcon" private var _listData:BaseListData; mx_internal var selectedOverSkinName:String;// = "selectedOverSkin" protected var textField:IUITextField; private var labelSet:Boolean; mx_internal var defaultIconUsesStates:Boolean;// = false mx_internal var defaultSkinUsesStates:Boolean;// = false mx_internal var toggleChanged:Boolean;// = false private var emphasizedChanged:Boolean;// = false private var _label:String;// = "" mx_internal var _selected:Boolean;// = false mx_internal var selectedDisabledIconName:String;// = "selectedDisabledIcon" mx_internal var selectedDisabledSkinName:String;// = "selectedDisabledSkin" mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var createAccessibilityImplementation:Function; mx_internal static var TEXT_WIDTH_PADDING:Number = (UITextField.TEXT_WIDTH_PADDING + 1); public function Button(){ skins = []; icons = []; extraSpacing = (10 + 10); super(); mouseChildren = false; addEventListener(MouseEvent.ROLL_OVER, rollOverHandler); addEventListener(MouseEvent.ROLL_OUT, rollOutHandler); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); addEventListener(MouseEvent.CLICK, clickHandler); } private function previousVersion_measure():void{ var bm:EdgeMetrics; var lineMetrics:TextLineMetrics; var paddingLeft:Number; var paddingRight:Number; var paddingTop:Number; var paddingBottom:Number; var horizontalGap:Number; super.measure(); var textWidth:Number = 0; var textHeight:Number = 0; if (label){ lineMetrics = measureText(label); textWidth = lineMetrics.width; textHeight = lineMetrics.height; paddingLeft = getStyle("paddingLeft"); paddingRight = getStyle("paddingRight"); paddingTop = getStyle("paddingTop"); paddingBottom = getStyle("paddingBottom"); textWidth = (textWidth + ((paddingLeft + paddingRight) + getStyle("textIndent"))); textHeight = (textHeight + (paddingTop + paddingBottom)); }; try { bm = currentSkin["borderMetrics"]; } catch(e:Error) { bm = new EdgeMetrics(3, 3, 3, 3); }; var tempCurrentIcon:IFlexDisplayObject = getCurrentIcon(); var iconWidth:Number = (tempCurrentIcon) ? tempCurrentIcon.width : 0; var iconHeight:Number = (tempCurrentIcon) ? tempCurrentIcon.height : 0; var w:Number = 0; var h:Number = 0; if ((((labelPlacement == ButtonLabelPlacement.LEFT)) || ((labelPlacement == ButtonLabelPlacement.RIGHT)))){ w = (textWidth + iconWidth); if (iconWidth != 0){ horizontalGap = getStyle("horizontalGap"); w = (w + (horizontalGap - 2)); }; h = Math.max(textHeight, (iconHeight + 6)); } else { w = Math.max(textWidth, iconWidth); h = (textHeight + iconHeight); if (iconHeight != 0){ h = (h + getStyle("verticalGap")); }; }; if (bm){ w = (w + (bm.left + bm.right)); h = (h + (bm.top + bm.bottom)); }; if (((label) && (!((label.length == 0))))){ w = (w + extraSpacing); } else { w = (w + 6); }; if (((currentSkin) && (((isNaN(skinMeasuredWidth)) || (isNaN(skinMeasuredHeight)))))){ skinMeasuredWidth = currentSkin.measuredWidth; skinMeasuredHeight = currentSkin.measuredHeight; }; if (!isNaN(skinMeasuredWidth)){ w = Math.max(skinMeasuredWidth, w); }; if (!isNaN(skinMeasuredHeight)){ h = Math.max(skinMeasuredHeight, h); }; measuredMinWidth = (measuredWidth = w); measuredMinHeight = (measuredHeight = h); } public function get label():String{ return (_label); } mx_internal function getCurrentIconName():String{ var _local1:String; if (!enabled){ _local1 = (selected) ? selectedDisabledIconName : disabledIconName; } else { if (phase == ButtonPhase.UP){ _local1 = (selected) ? selectedUpIconName : upIconName; } else { if (phase == ButtonPhase.OVER){ _local1 = (selected) ? selectedOverIconName : overIconName; } else { if (phase == ButtonPhase.DOWN){ _local1 = (selected) ? selectedDownIconName : downIconName; }; }; }; }; return (_local1); } protected function mouseUpHandler(_arg1:MouseEvent):void{ if (!enabled){ return; }; phase = ButtonPhase.OVER; buttonReleased(); if (!toggle){ _arg1.updateAfterEvent(); }; } override protected function adjustFocusRect(_arg1:DisplayObject=null):void{ super.adjustFocusRect((currentSkin) ? this : DisplayObject(currentIcon)); } mx_internal function set phase(_arg1:String):void{ _phase = _arg1; invalidateSize(); invalidateDisplayList(); } mx_internal function viewIconForPhase(_arg1:String):IFlexDisplayObject{ var _local3:IFlexDisplayObject; var _local4:Boolean; var _local5:String; var _local2:Class = Class(getStyle(_arg1)); if (!_local2){ _local2 = Class(getStyle(iconName)); if (defaultIconUsesStates){ _arg1 = iconName; }; if (((!(checkedDefaultIcon)) && (_local2))){ _local3 = IFlexDisplayObject(new (_local2)); if (((!((_local3 is IProgrammaticSkin))) && ((_local3 is IStateClient)))){ defaultIconUsesStates = true; _arg1 = iconName; }; if (_local3){ checkedDefaultIcon = true; }; }; }; _local3 = IFlexDisplayObject(getChildByName(_arg1)); if (_local3 == null){ if (_local2 != null){ _local3 = IFlexDisplayObject(new (_local2)); _local3.name = _arg1; if ((_local3 is ISimpleStyleClient)){ ISimpleStyleClient(_local3).styleName = this; }; addChild(DisplayObject(_local3)); _local4 = false; if ((_local3 is IInvalidating)){ IInvalidating(_local3).validateNow(); _local4 = true; } else { if ((_local3 is IProgrammaticSkin)){ IProgrammaticSkin(_local3).validateDisplayList(); _local4 = true; }; }; if (((_local3) && ((_local3 is IUIComponent)))){ IUIComponent(_local3).enabled = enabled; }; if (_local4){ _local3.setActualSize(_local3.measuredWidth, _local3.measuredHeight); }; icons.push(_local3); }; }; if (currentIcon != null){ currentIcon.visible = false; }; currentIcon = _local3; if (((defaultIconUsesStates) && ((currentIcon is IStateClient)))){ _local5 = ""; if (!enabled){ _local5 = (selected) ? "selectedDisabled" : "disabled"; } else { if (phase == ButtonPhase.UP){ _local5 = (selected) ? "selectedUp" : "up"; } else { if (phase == ButtonPhase.OVER){ _local5 = (selected) ? "selectedOver" : "over"; } else { if (phase == ButtonPhase.DOWN){ _local5 = (selected) ? "selectedDown" : "down"; }; }; }; }; IStateClient(currentIcon).currentState = _local5; }; if (currentIcon != null){ currentIcon.visible = true; }; return (_local3); } mx_internal function viewSkinForPhase(_arg1:String, _arg2:String):void{ var _local4:IFlexDisplayObject; var _local5:Number; var _local6:ISimpleStyleClient; var _local3:Class = Class(getStyle(_arg1)); if (!_local3){ _local3 = Class(getStyle(skinName)); if (defaultSkinUsesStates){ _arg1 = skinName; }; if (((!(checkedDefaultSkin)) && (_local3))){ _local4 = IFlexDisplayObject(new (_local3)); if (((!((_local4 is IProgrammaticSkin))) && ((_local4 is IStateClient)))){ defaultSkinUsesStates = true; _arg1 = skinName; }; if (_local4){ checkedDefaultSkin = true; }; }; }; _local4 = IFlexDisplayObject(getChildByName(_arg1)); if (!_local4){ if (_local3){ _local4 = IFlexDisplayObject(new (_local3)); _local4.name = _arg1; _local6 = (_local4 as ISimpleStyleClient); if (_local6){ _local6.styleName = this; }; addChild(DisplayObject(_local4)); _local4.setActualSize(unscaledWidth, unscaledHeight); if ((((_local4 is IInvalidating)) && (initialized))){ IInvalidating(_local4).validateNow(); } else { if ((((_local4 is IProgrammaticSkin)) && (initialized))){ IProgrammaticSkin(_local4).validateDisplayList(); }; }; skins.push(_local4); }; }; if (currentSkin){ currentSkin.visible = false; }; currentSkin = _local4; if (((defaultSkinUsesStates) && ((currentSkin is IStateClient)))){ IStateClient(currentSkin).currentState = _arg2; }; if (currentSkin){ currentSkin.visible = true; }; if (enabled){ if (phase == ButtonPhase.OVER){ _local5 = textField.getStyle("textRollOverColor"); } else { if (phase == ButtonPhase.DOWN){ _local5 = textField.getStyle("textSelectedColor"); } else { _local5 = textField.getStyle("color"); }; }; textField.setColor(_local5); }; } mx_internal function getTextField():IUITextField{ return (textField); } protected function rollOverHandler(_arg1:MouseEvent):void{ if (phase == ButtonPhase.UP){ if (_arg1.buttonDown){ return; }; phase = ButtonPhase.OVER; _arg1.updateAfterEvent(); } else { if (phase == ButtonPhase.OVER){ phase = ButtonPhase.DOWN; _arg1.updateAfterEvent(); if (autoRepeatTimer){ autoRepeatTimer.start(); }; }; }; } override protected function createChildren():void{ super.createChildren(); if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.styleName = this; addChild(DisplayObject(textField)); }; } mx_internal function setSelected(_arg1:Boolean, _arg2:Boolean=false):void{ if (_selected != _arg1){ _selected = _arg1; invalidateDisplayList(); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (toggle){ dispatchEvent(new Event(Event.CHANGE)); }; } else { if (((toggle) && (!(_arg2)))){ dispatchEvent(new Event(Event.CHANGE)); }; }; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; } private function autoRepeatTimer_timerDelayHandler(_arg1:Event):void{ if (!enabled){ return; }; dispatchEvent(new FlexEvent(FlexEvent.BUTTON_DOWN)); if (autoRepeat){ autoRepeatTimer.reset(); autoRepeatTimer.removeEventListener(TimerEvent.TIMER, autoRepeatTimer_timerDelayHandler); autoRepeatTimer.delay = getStyle("repeatInterval"); autoRepeatTimer.addEventListener(TimerEvent.TIMER, autoRepeatTimer_timerHandler); autoRepeatTimer.start(); }; } public function get autoRepeat():Boolean{ return (_autoRepeat); } public function set selected(_arg1:Boolean):void{ selectedSet = true; setSelected(_arg1, true); } override protected function focusOutHandler(_arg1:FocusEvent):void{ super.focusOutHandler(_arg1); if (phase != ButtonPhase.UP){ phase = ButtonPhase.UP; }; } public function get labelPlacement():String{ return (_labelPlacement); } public function set autoRepeat(_arg1:Boolean):void{ _autoRepeat = _arg1; if (_arg1){ autoRepeatTimer = new Timer(1); } else { autoRepeatTimer = null; }; } mx_internal function changeIcons():void{ var _local1:int = icons.length; var _local2:int; while (_local2 < _local1) { removeChild(icons[_local2]); _local2++; }; icons = []; checkedDefaultIcon = false; defaultIconUsesStates = false; } public function set data(_arg1:Object):void{ var _local2:*; var _local3:*; _data = _arg1; if (((_listData) && ((_listData is DataGridListData)))){ _local2 = _data[DataGridListData(_listData).dataField]; _local3 = ""; } else { if (_listData){ if (selectedField){ _local2 = _data[selectedField]; }; _local3 = _listData.label; } else { _local2 = _data; }; }; if (((!((_local2 === undefined))) && (!(selectedSet)))){ selected = (_local2 as Boolean); selectedSet = false; }; if (((!((_local3 === undefined))) && (!(labelSet)))){ label = _local3; labelSet = false; }; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } mx_internal function getCurrentIcon():IFlexDisplayObject{ var _local1:String = getCurrentIconName(); if (!_local1){ return (null); }; return (viewIconForPhase(_local1)); } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } public function get emphasized():Boolean{ return (_emphasized); } public function get listData():BaseListData{ return (_listData); } mx_internal function layoutContents(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local20:TextLineMetrics; var _local28:MoveEvent; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ previousVersion_layoutContents(_arg1, _arg2, _arg3); return; }; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = 0; var _local9:Number = 0; var _local10:Number = 0; var _local11:Number = 0; var _local12:Number = 0; var _local13:Number = 0; var _local14:Number = getStyle("paddingLeft"); var _local15:Number = getStyle("paddingRight"); var _local16:Number = getStyle("paddingTop"); var _local17:Number = getStyle("paddingBottom"); var _local18:Number = 0; var _local19:Number = 0; if (label){ _local20 = measureText(label); _local18 = (_local20.width + TEXT_WIDTH_PADDING); _local19 = (_local20.height + UITextField.TEXT_HEIGHT_PADDING); } else { _local20 = measureText("Wj"); _local19 = (_local20.height + UITextField.TEXT_HEIGHT_PADDING); }; var _local21:Number = (_arg3) ? buttonOffset : 0; var _local22:String = getStyle("textAlign"); var _local23:Number = _arg1; var _local24:Number = _arg2; var _local25:EdgeMetrics = (((((currentSkin) && ((currentSkin is IBorder)))) && (!((currentSkin is IFlexAsset))))) ? IBorder(currentSkin).borderMetrics : null; if (_local25){ _local23 = (_local23 - (_local25.left + _local25.right)); _local24 = (_local24 - (_local25.top + _local25.bottom)); }; if (currentIcon){ _local8 = currentIcon.width; _local9 = currentIcon.height; }; if ((((labelPlacement == ButtonLabelPlacement.LEFT)) || ((labelPlacement == ButtonLabelPlacement.RIGHT)))){ _local12 = getStyle("horizontalGap"); if ((((_local8 == 0)) || ((_local18 == 0)))){ _local12 = 0; }; if (_local18 > 0){ _local4 = Math.max(Math.min(((((_local23 - _local8) - _local12) - _local14) - _local15), _local18), 0); textField.width = _local4; } else { _local4 = 0; textField.width = _local4; }; _local5 = Math.min(_local24, _local19); textField.height = _local5; if (_local22 == "left"){ _local6 = (_local6 + _local14); } else { if (_local22 == "right"){ _local6 = (_local6 + ((((_local23 - _local4) - _local8) - _local12) - _local15)); } else { _local6 = (_local6 + (((((((_local23 - _local4) - _local8) - _local12) - _local14) - _local15) / 2) + _local14)); }; }; if (labelPlacement == ButtonLabelPlacement.RIGHT){ _local6 = (_local6 + (_local8 + _local12)); _local10 = (_local6 - (_local8 + _local12)); } else { _local10 = ((_local6 + _local4) + _local12); }; _local11 = (((((_local24 - _local9) - _local16) - _local17) / 2) + _local16); _local7 = (((((_local24 - _local5) - _local16) - _local17) / 2) + _local16); } else { _local13 = getStyle("verticalGap"); if ((((_local9 == 0)) || ((label == "")))){ _local13 = 0; }; if (_local18 > 0){ _local4 = Math.max(((_local23 - _local14) - _local15), 0); textField.width = _local4; _local5 = Math.min(((((_local24 - _local9) - _local16) - _local17) - _local13), _local19); textField.height = _local5; } else { _local4 = 0; textField.width = _local4; _local5 = 0; textField.height = _local5; }; _local6 = _local14; if (_local22 == "left"){ _local10 = (_local10 + _local14); } else { if (_local22 == "right"){ _local10 = (_local10 + Math.max(((_local23 - _local8) - _local15), _local14)); } else { _local10 = (_local10 + (((((_local23 - _local8) - _local14) - _local15) / 2) + _local14)); }; }; if (labelPlacement == ButtonLabelPlacement.TOP){ _local7 = (_local7 + (((((((_local24 - _local5) - _local9) - _local16) - _local17) - _local13) / 2) + _local16)); _local11 = (_local11 + ((_local7 + _local5) + _local13)); } else { _local11 = (_local11 + (((((((_local24 - _local5) - _local9) - _local16) - _local17) - _local13) / 2) + _local16)); _local7 = (_local7 + ((_local11 + _local9) + _local13)); }; }; var _local26:Number = _local21; var _local27:Number = _local21; if (_local25){ _local26 = (_local26 + _local25.left); _local27 = (_local27 + _local25.top); }; textField.x = Math.round((_local6 + _local26)); textField.y = Math.round((_local7 + _local27)); if (currentIcon){ _local10 = (_local10 + _local26); _local11 = (_local11 + _local27); _local28 = new MoveEvent(MoveEvent.MOVE); _local28.oldX = currentIcon.x; _local28.oldY = currentIcon.y; currentIcon.x = Math.round(_local10); currentIcon.y = Math.round(_local11); currentIcon.dispatchEvent(_local28); }; if (currentSkin){ setChildIndex(DisplayObject(currentSkin), (numChildren - 1)); }; if (currentIcon){ setChildIndex(DisplayObject(currentIcon), (numChildren - 1)); }; if (textField){ setChildIndex(DisplayObject(textField), (numChildren - 1)); }; } protected function mouseDownHandler(_arg1:MouseEvent):void{ if (!enabled){ return; }; systemManager.addEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true); systemManager.stage.addEventListener(Event.MOUSE_LEAVE, stage_mouseLeaveHandler); buttonPressed(); _arg1.updateAfterEvent(); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ buttonPressed(); }; } protected function rollOutHandler(_arg1:MouseEvent):void{ if (phase == ButtonPhase.OVER){ phase = ButtonPhase.UP; _arg1.updateAfterEvent(); } else { if ((((phase == ButtonPhase.DOWN)) && (!(stickyHighlighting)))){ phase = ButtonPhase.OVER; _arg1.updateAfterEvent(); if (autoRepeatTimer){ autoRepeatTimer.stop(); }; }; }; } mx_internal function get phase():String{ return (_phase); } override public function set enabled(_arg1:Boolean):void{ if (super.enabled == _arg1){ return; }; super.enabled = _arg1; enabledChanged = true; invalidateProperties(); invalidateDisplayList(); } override protected function measure():void{ var _local9:TextLineMetrics; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ previousVersion_measure(); return; }; super.measure(); var _local1:Number = 0; var _local2:Number = 0; if (label){ _local9 = measureText(label); _local1 = (_local9.width + TEXT_WIDTH_PADDING); _local2 = (_local9.height + UITextField.TEXT_HEIGHT_PADDING); }; var _local3:IFlexDisplayObject = getCurrentIcon(); var _local4:Number = (_local3) ? _local3.width : 0; var _local5:Number = (_local3) ? _local3.height : 0; var _local6:Number = 0; var _local7:Number = 0; if ((((labelPlacement == ButtonLabelPlacement.LEFT)) || ((labelPlacement == ButtonLabelPlacement.RIGHT)))){ _local6 = (_local1 + _local4); if (((_local1) && (_local4))){ _local6 = (_local6 + getStyle("horizontalGap")); }; _local7 = Math.max(_local2, _local5); } else { _local6 = Math.max(_local1, _local4); _local7 = (_local2 + _local5); if (((_local2) && (_local5))){ _local7 = (_local7 + getStyle("verticalGap")); }; }; if (((_local1) || (_local4))){ _local6 = (_local6 + (getStyle("paddingLeft") + getStyle("paddingRight"))); _local7 = (_local7 + (getStyle("paddingTop") + getStyle("paddingBottom"))); }; var _local8:EdgeMetrics = (((((currentSkin) && ((currentSkin is IBorder)))) && (!((currentSkin is IFlexAsset))))) ? IBorder(currentSkin).borderMetrics : null; if (_local8){ _local6 = (_local6 + (_local8.left + _local8.right)); _local7 = (_local7 + (_local8.top + _local8.bottom)); }; if (((currentSkin) && (((isNaN(skinMeasuredWidth)) || (isNaN(skinMeasuredHeight)))))){ skinMeasuredWidth = currentSkin.measuredWidth; skinMeasuredHeight = currentSkin.measuredHeight; }; if (!isNaN(skinMeasuredWidth)){ _local6 = Math.max(skinMeasuredWidth, _local6); }; if (!isNaN(skinMeasuredHeight)){ _local7 = Math.max(skinMeasuredHeight, _local7); }; measuredMinWidth = (measuredWidth = _local6); measuredMinHeight = (measuredHeight = _local7); } public function get toggle():Boolean{ return (_toggle); } mx_internal function buttonReleased():void{ systemManager.removeEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler, true); systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, stage_mouseLeaveHandler); if (autoRepeatTimer){ autoRepeatTimer.removeEventListener(TimerEvent.TIMER, autoRepeatTimer_timerDelayHandler); autoRepeatTimer.removeEventListener(TimerEvent.TIMER, autoRepeatTimer_timerHandler); autoRepeatTimer.reset(); }; } mx_internal function buttonPressed():void{ phase = ButtonPhase.DOWN; dispatchEvent(new FlexEvent(FlexEvent.BUTTON_DOWN)); if (autoRepeat){ autoRepeatTimer.delay = getStyle("repeatDelay"); autoRepeatTimer.addEventListener(TimerEvent.TIMER, autoRepeatTimer_timerDelayHandler); autoRepeatTimer.start(); }; } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ buttonReleased(); if (phase == ButtonPhase.DOWN){ dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; phase = ButtonPhase.UP; }; } public function get selected():Boolean{ return (_selected); } public function set labelPlacement(_arg1:String):void{ _labelPlacement = _arg1; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("labelPlacementChanged")); } protected function clickHandler(_arg1:MouseEvent):void{ if (!enabled){ _arg1.stopImmediatePropagation(); return; }; if (toggle){ setSelected(!(selected)); _arg1.updateAfterEvent(); }; } override protected function initializeAccessibility():void{ if (Button.createAccessibilityImplementation != null){ Button.createAccessibilityImplementation(this); }; } public function set toggle(_arg1:Boolean):void{ _toggle = _arg1; toggleChanged = true; invalidateProperties(); invalidateDisplayList(); dispatchEvent(new Event("toggleChanged")); } override public function get baselinePosition():Number{ var _local1:String; var _local2:TextLineMetrics; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local1 = label; if (!_local1){ _local1 = "Wj"; }; validateNow(); if (((!(label)) && ((((labelPlacement == ButtonLabelPlacement.TOP)) || ((labelPlacement == ButtonLabelPlacement.BOTTOM)))))){ _local2 = measureText(_local1); return ((((measuredHeight - _local2.height) / 2) + _local2.ascent)); }; return ((textField.y + measureText(_local1).ascent)); }; if (!validateBaselinePosition()){ return (NaN); }; return ((textField.y + textField.baselinePosition)); } public function get data():Object{ return (_data); } public function set fontContext(_arg1:IFlexModuleFactory):void{ this.moduleFactory = _arg1; } mx_internal function viewSkin():void{ var _local1:String; var _local2:String; if (!enabled){ _local1 = (selected) ? selectedDisabledSkinName : disabledSkinName; _local2 = (selected) ? "selectedDisabled" : "disabled"; } else { if (phase == ButtonPhase.UP){ _local1 = (selected) ? selectedUpSkinName : upSkinName; _local2 = (selected) ? "selectedUp" : "up"; } else { if (phase == ButtonPhase.OVER){ _local1 = (selected) ? selectedOverSkinName : overSkinName; _local2 = (selected) ? "selectedOver" : "over"; } else { if (phase == ButtonPhase.DOWN){ _local1 = (selected) ? selectedDownSkinName : downSkinName; _local2 = (selected) ? "selectedDown" : "down"; }; }; }; }; viewSkinForPhase(_local1, _local2); } override public function styleChanged(_arg1:String):void{ styleChangedFlag = true; super.styleChanged(_arg1); if (((!(_arg1)) || ((_arg1 == "styleName")))){ changeSkins(); changeIcons(); if (initialized){ viewSkin(); viewIcon(); }; } else { if (_arg1.toLowerCase().indexOf("skin") != -1){ changeSkins(); } else { if (_arg1.toLowerCase().indexOf("icon") != -1){ changeIcons(); invalidateSize(); }; }; }; } public function set emphasized(_arg1:Boolean):void{ _emphasized = _arg1; emphasizedChanged = true; invalidateDisplayList(); } mx_internal function viewIcon():void{ var _local1:String = getCurrentIconName(); viewIconForPhase(_local1); } override public function set toolTip(_arg1:String):void{ super.toolTip = _arg1; if (_arg1){ toolTipSet = true; } else { toolTipSet = false; invalidateDisplayList(); }; } override protected function commitProperties():void{ super.commitProperties(); if (((hasFontContextChanged()) && (!((textField == null))))){ removeChild(DisplayObject(textField)); textField = null; }; if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.styleName = this; addChild(DisplayObject(textField)); enabledChanged = true; toggleChanged = true; }; if (!initialized){ viewSkin(); viewIcon(); }; if (enabledChanged){ textField.enabled = enabled; if (((currentIcon) && ((currentIcon is IUIComponent)))){ IUIComponent(currentIcon).enabled = enabled; }; enabledChanged = false; }; if (toggleChanged){ if (!toggle){ selected = false; }; toggleChanged = false; }; } mx_internal function changeSkins():void{ var _local1:int = skins.length; var _local2:int; while (_local2 < _local1) { removeChild(skins[_local2]); _local2++; }; skins = []; skinMeasuredWidth = NaN; skinMeasuredHeight = NaN; checkedDefaultSkin = false; defaultSkinUsesStates = false; if (((initialized) && ((FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)))){ viewSkin(); invalidateSize(); }; } private function autoRepeatTimer_timerHandler(_arg1:Event):void{ if (!enabled){ return; }; dispatchEvent(new FlexEvent(FlexEvent.BUTTON_DOWN)); } private function previousVersion_layoutContents(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local20:TextLineMetrics; var _local28:Number; var _local29:MoveEvent; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = 0; var _local9:Number = 0; var _local10:Number = 0; var _local11:Number = 0; var _local12:Number = 2; var _local13:Number = 2; var _local14:Number = getStyle("paddingLeft"); var _local15:Number = getStyle("paddingRight"); var _local16:Number = getStyle("paddingTop"); var _local17:Number = getStyle("paddingBottom"); var _local18:Number = 0; var _local19:Number = 0; if (label){ _local20 = measureText(label); if (_local20.width > 0){ _local18 = (((_local14 + _local15) + getStyle("textIndent")) + _local20.width); }; _local19 = _local20.height; } else { _local20 = measureText("Wj"); _local19 = _local20.height; }; var _local21:Number = (_arg3) ? buttonOffset : 0; var _local22:String = getStyle("textAlign"); var _local23:EdgeMetrics = (((currentSkin) && ((currentSkin is IRectangularBorder)))) ? IRectangularBorder(currentSkin).borderMetrics : null; var _local24:Number = _arg1; var _local25:Number = ((_arg2 - _local16) - _local17); if (_local23){ _local24 = (_local24 - (_local23.left + _local23.right)); _local25 = (_local25 - (_local23.top + _local23.bottom)); }; if (currentIcon){ _local8 = currentIcon.width; _local9 = currentIcon.height; }; if ((((labelPlacement == ButtonLabelPlacement.LEFT)) || ((labelPlacement == ButtonLabelPlacement.RIGHT)))){ _local12 = getStyle("horizontalGap"); if ((((_local8 == 0)) || ((_local18 == 0)))){ _local12 = 0; }; if (_local18 > 0){ _local4 = Math.max(((((_local24 - _local8) - _local12) - _local14) - _local15), 0); textField.width = _local4; } else { _local4 = 0; textField.width = _local4; }; _local5 = Math.min((_local25 + 2), (_local19 + UITextField.TEXT_HEIGHT_PADDING)); textField.height = _local5; if (labelPlacement == ButtonLabelPlacement.RIGHT){ _local6 = (_local8 + _local12); if (centerContent){ if (_local22 == "left"){ _local6 = (_local6 + _local14); } else { if (_local22 == "right"){ _local6 = (_local6 + ((((_local24 - _local4) - _local8) - _local12) - _local14)); } else { _local28 = ((((_local24 - _local4) - _local8) - _local12) / 2); _local6 = (_local6 + Math.max(_local28, _local14)); }; }; }; _local10 = (_local6 - (_local8 + _local12)); if (!centerContent){ _local6 = (_local6 + _local14); }; } else { _local6 = ((((_local24 - _local4) - _local8) - _local12) - _local15); if (centerContent){ if (_local22 == "left"){ _local6 = 2; } else { if (_local22 == "right"){ _local6--; } else { if (_local6 > 0){ _local6 = (_local6 / 2); }; }; }; }; _local10 = ((_local6 + _local4) + _local12); }; _local7 = 0; _local11 = _local7; if (centerContent){ _local11 = (Math.round(((_local25 - _local9) / 2)) + _local16); _local7 = (Math.round(((_local25 - _local5) / 2)) + _local16); } else { _local7 = (_local7 + (Math.max(0, ((_local25 - _local5) / 2)) + _local16)); _local11 = (_local11 + (Math.max(0, (((_local25 - _local9) / 2) - 1)) + _local16)); }; } else { _local13 = getStyle("verticalGap"); if ((((_local9 == 0)) || ((_local19 == 0)))){ _local13 = 0; }; if (_local18 > 0){ _local4 = Math.min(_local24, (_local18 + UITextField.TEXT_WIDTH_PADDING)); textField.width = _local4; _local5 = Math.min(((_local25 - _local9) + 1), (_local19 + 5)); textField.height = _local5; } else { _local4 = 0; textField.width = _local4; _local5 = 0; textField.height = _local5; }; _local6 = ((_local24 - _local4) / 2); _local10 = ((_local24 - _local8) / 2); if (labelPlacement == ButtonLabelPlacement.TOP){ _local7 = (((_local25 - _local5) - _local9) - _local13); if (((centerContent) && ((_local7 > 0)))){ _local7 = (_local7 / 2); }; _local7 = (_local7 + _local16); _local11 = (((_local7 + _local5) + _local13) - 3); } else { _local7 = ((_local9 + _local13) + _local16); if (centerContent){ _local7 = (_local7 + (((((_local25 - _local5) - _local9) - _local13) / 2) + 1)); }; _local11 = (((_local7 - _local9) - _local13) + 3); }; }; var _local26:Number = _local21; var _local27:Number = _local21; if (_local23){ _local26 = (_local26 + _local23.left); _local27 = (_local27 + _local23.top); }; textField.x = (_local6 + _local26); textField.y = (_local7 + _local27); if (currentIcon){ _local10 = (_local10 + _local26); _local11 = (_local11 + _local27); _local29 = new MoveEvent(MoveEvent.MOVE); _local29.oldX = currentIcon.x; _local29.oldY = currentIcon.y; currentIcon.x = Math.round(_local10); currentIcon.y = Math.round(_local11); currentIcon.dispatchEvent(_local29); }; if (currentSkin){ setChildIndex(DisplayObject(currentSkin), (numChildren - 1)); }; if (currentIcon){ setChildIndex(DisplayObject(currentIcon), (numChildren - 1)); }; if (textField){ setChildIndex(DisplayObject(textField), (numChildren - 1)); }; } private function systemManager_mouseUpHandler(_arg1:MouseEvent):void{ if (contains(DisplayObject(_arg1.target))){ return; }; phase = ButtonPhase.UP; buttonReleased(); _arg1.updateAfterEvent(); } public function set label(_arg1:String):void{ labelSet = true; if (_label != _arg1){ _label = _arg1; labelChanged = true; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("labelChanged")); }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local5:IFlexDisplayObject; var _local6:Boolean; super.updateDisplayList(_arg1, _arg2); if (emphasizedChanged){ changeSkins(); emphasizedChanged = false; }; var _local3:int = skins.length; var _local4:int; while (_local4 < _local3) { _local5 = IFlexDisplayObject(skins[_local4]); _local5.setActualSize(_arg1, _arg2); _local4++; }; viewSkin(); viewIcon(); layoutContents(_arg1, _arg2, (phase == ButtonPhase.DOWN)); if ((((((((oldUnscaledWidth > _arg1)) || (!((textField.text == label))))) || (labelChanged))) || (styleChangedFlag))){ textField.text = label; _local6 = textField.truncateToFit(); if (!toolTipSet){ if (_local6){ super.toolTip = label; } else { super.toolTip = null; }; }; styleChangedFlag = false; labelChanged = false; }; oldUnscaledWidth = _arg1; } private function stage_mouseLeaveHandler(_arg1:Event):void{ phase = ButtonPhase.UP; buttonReleased(); } public function set listData(_arg1:BaseListData):void{ _listData = _arg1; } } }//package mx.controls
Section 64
//ButtonLabelPlacement (mx.controls.ButtonLabelPlacement) package mx.controls { public final class ButtonLabelPlacement { public static const TOP:String = "top"; public static const LEFT:String = "left"; mx_internal static const VERSION:String = "3.0.0.0"; public static const BOTTOM:String = "bottom"; public static const RIGHT:String = "right"; } }//package mx.controls
Section 65
//ButtonPhase (mx.controls.ButtonPhase) package mx.controls { public final class ButtonPhase { public static const DOWN:String = "down"; public static const OVER:String = "over"; mx_internal static const VERSION:String = "3.0.0.0"; public static const UP:String = "up"; } }//package mx.controls
Section 66
//ComboBase (mx.controls.ComboBase) package mx.controls { import flash.display.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.collections.*; import mx.utils.*; public class ComboBase extends UIComponent implements IIMESupport, IFocusManagerComponent { private var _enabled:Boolean;// = false mx_internal var useFullDropdownSkin:Boolean;// = false mx_internal var selectedItemChanged:Boolean;// = false mx_internal var selectionChanged:Boolean;// = false mx_internal var downArrowButton:Button; private var _restrict:String; protected var collection:ICollectionView; private var _text:String;// = "" mx_internal var border:IFlexDisplayObject; private var _selectedItem:Object; mx_internal var editableChanged:Boolean;// = true private var enabledChanged:Boolean;// = false private var selectedUID:String; mx_internal var selectedIndexChanged:Boolean;// = false mx_internal var oldBorderStyle:String; protected var textInput:TextInput; private var _editable:Boolean;// = false mx_internal var collectionIterator:IViewCursor; mx_internal var textChanged:Boolean; private var _imeMode:String;// = null protected var iterator:IViewCursor; mx_internal var wrapDownArrowButton:Boolean;// = true private var _selectedIndex:int;// = -1 mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var createAccessibilityImplementation:Function; private static var _textInputStyleFilters:Object = {backgroundAlpha:"backgroundAlpha", backgroundColor:"backgroundColor", backgroundImage:"backgroundImage", backgroundDisabledColor:"backgroundDisabledColor", backgroundSize:"backgroundSize", borderAlpha:"borderAlpha", borderColor:"borderColor", borderSides:"borderSides", borderSkin:"borderSkin", borderStyle:"borderStyle", borderThickness:"borderThickness", dropShadowColor:"dropShadowColor", dropShadowEnabled:"dropShadowEnabled", embedFonts:"embedFonts", focusAlpha:"focusAlpha", focusBlendMode:"focusBlendMode", focusRoundedCorners:"focusRoundedCorners", focusThickness:"focusThickness", leading:"leading", paddingLeft:"paddingLeft", paddingRight:"paddingRight", shadowDirection:"shadowDirection", shadowDistance:"shadowDistance", textDecoration:"textDecoration"}; public function ComboBase(){ tabEnabled = true; } protected function collectionChangeHandler(_arg1:Event):void{ var _local2:Boolean; var _local3:Number; var _local4:Object; var _local5:CollectionEvent; var _local6:int; var _local7:String; if ((_arg1 is CollectionEvent)){ _local2 = false; _local5 = CollectionEvent(_arg1); if (_local5.kind == CollectionEventKind.ADD){ if (selectedIndex >= _local5.location){ _selectedIndex++; }; }; if (_local5.kind == CollectionEventKind.REMOVE){ _local6 = 0; while (_local6 < _local5.items.length) { _local7 = itemToUID(_local5.items[_local6]); if (selectedUID == _local7){ selectionChanged = true; }; _local6++; }; if (selectionChanged){ if (_selectedIndex >= collection.length){ _selectedIndex = (collection.length - 1); }; selectedIndexChanged = true; _local2 = true; invalidateDisplayList(); } else { if (selectedIndex >= _local5.location){ _selectedIndex--; selectedIndexChanged = true; _local2 = true; invalidateDisplayList(); }; }; }; if (_local5.kind == CollectionEventKind.REFRESH){ selectedItemChanged = true; _local2 = true; }; invalidateDisplayList(); if (_local2){ dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; }; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; _enabled = _arg1; enabledChanged = true; invalidateProperties(); } public function get imeMode():String{ return (_imeMode); } override protected function focusOutHandler(_arg1:FocusEvent):void{ super.focusOutHandler(_arg1); var _local2:IFocusManager = focusManager; if (_local2){ _local2.defaultButtonEnabled = true; }; if (_editable){ dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; } override public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return ((textInput.y + textInput.baselinePosition)); }; if (!validateBaselinePosition()){ return (NaN); }; return ((textInput.y + textInput.baselinePosition)); } public function set imeMode(_arg1:String):void{ _imeMode = _arg1; if (textInput){ textInput.imeMode = _imeMode; }; } protected function itemToUID(_arg1:Object):String{ if (!_arg1){ return ("null"); }; return (UIDUtil.getUID(_arg1)); } protected function downArrowButton_buttonDownHandler(_arg1:FlexEvent):void{ } override protected function createChildren():void{ var _local1:Class; var _local2:Object; super.createChildren(); if (!border){ _local1 = getStyle("borderSkin"); if (_local1){ border = new (_local1); if ((border is IFocusManagerComponent)){ IFocusManagerComponent(border).focusEnabled = false; }; if ((border is ISimpleStyleClient)){ ISimpleStyleClient(border).styleName = this; }; addChild(DisplayObject(border)); }; }; if (!downArrowButton){ downArrowButton = new Button(); downArrowButton.styleName = new StyleProxy(this, arrowButtonStyleFilters); downArrowButton.focusEnabled = false; addChild(downArrowButton); downArrowButton.addEventListener(FlexEvent.BUTTON_DOWN, downArrowButton_buttonDownHandler); }; if (!textInput){ _local2 = getStyle("textInputStyleName"); if (!_local2){ _local2 = new StyleProxy(this, textInputStyleFilters); }; textInput = new TextInput(); textInput.editable = _editable; editableChanged = true; textInput.restrict = "^\x1B"; textInput.focusEnabled = false; textInput.imeMode = _imeMode; textInput.styleName = _local2; textInput.addEventListener(Event.CHANGE, textInput_changeHandler); textInput.addEventListener(FlexEvent.ENTER, textInput_enterHandler); textInput.addEventListener(FocusEvent.FOCUS_IN, focusInHandler); textInput.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler); textInput.addEventListener(FlexEvent.VALUE_COMMIT, textInput_valueCommitHandler); addChild(textInput); textInput.move(0, 0); textInput.parentDrawsFocus = true; }; } public function set selectedItem(_arg1:Object):void{ setSelectedItem(_arg1); } override protected function initializeAccessibility():void{ if (ComboBase.createAccessibilityImplementation != null){ ComboBase.createAccessibilityImplementation(this); }; } private function textInput_enterHandler(_arg1:FlexEvent):void{ dispatchEvent(_arg1); dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } protected function calculatePreferredSizeFromData(_arg1:int):Object{ return (null); } override public function setFocus():void{ if (((textInput) && (_editable))){ textInput.setFocus(); } else { super.setFocus(); }; } private function textInput_valueCommitHandler(_arg1:FlexEvent):void{ _text = textInput.text; dispatchEvent(_arg1); } public function get text():String{ return (_text); } public function get dataProvider():Object{ return (collection); } protected function get arrowButtonStyleFilters():Object{ return (null); } public function set editable(_arg1:Boolean):void{ _editable = _arg1; editableChanged = true; invalidateProperties(); dispatchEvent(new Event("editableChanged")); } override public function styleChanged(_arg1:String):void{ if (downArrowButton){ downArrowButton.styleChanged(_arg1); }; if (textInput){ textInput.styleChanged(_arg1); }; if (((border) && ((border is ISimpleStyleClient)))){ ISimpleStyleClient(border).styleChanged(_arg1); }; super.styleChanged(_arg1); } public function get restrict():String{ return (_restrict); } public function get selectedItem():Object{ return (_selectedItem); } mx_internal function get ComboDownArrowButton():Button{ return (downArrowButton); } private function setSelectedItem(_arg1:Object, _arg2:Boolean=true):void{ if (((!(collection)) || ((collection.length == 0)))){ _selectedItem = value; selectedItemChanged = true; invalidateDisplayList(); return; }; var _local3:Boolean; var _local4:IViewCursor = collection.createCursor(); var _local5:int; do { } while (_arg1 != _local4.current); if (!_local3){ selectedIndex = -1; _selectedItem = null; selectedUID = null; }; invalidateDisplayList(); } override protected function commitProperties():void{ var _local1:Boolean; super.commitProperties(); textInput.restrict = _restrict; if (textChanged){ textInput.text = _text; textChanged = false; }; if (enabledChanged){ textInput.enabled = _enabled; editableChanged = true; downArrowButton.enabled = _enabled; enabledChanged = false; }; if (editableChanged){ editableChanged = false; _local1 = _editable; if (wrapDownArrowButton == false){ if (_local1){ if (oldBorderStyle){ setStyle("borderStyle", oldBorderStyle); }; } else { oldBorderStyle = getStyle("borderStyle"); setStyle("borderStyle", "comboNonEdit"); }; }; if (useFullDropdownSkin){ downArrowButton.upSkinName = (_local1) ? "editableUpSkin" : "upSkin"; downArrowButton.overSkinName = (_local1) ? "editableOverSkin" : "overSkin"; downArrowButton.downSkinName = (_local1) ? "editableDownSkin" : "downSkin"; downArrowButton.disabledSkinName = (_local1) ? "editableDisabledSkin" : "disabledSkin"; downArrowButton.changeSkins(); downArrowButton.invalidateDisplayList(); }; if (textInput){ textInput.editable = _local1; textInput.selectable = _local1; if (_local1){ textInput.removeEventListener(MouseEvent.MOUSE_DOWN, textInput_mouseEventHandler); textInput.removeEventListener(MouseEvent.MOUSE_UP, textInput_mouseEventHandler); textInput.removeEventListener(MouseEvent.ROLL_OVER, textInput_mouseEventHandler); textInput.removeEventListener(MouseEvent.ROLL_OUT, textInput_mouseEventHandler); textInput.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); } else { textInput.addEventListener(MouseEvent.MOUSE_DOWN, textInput_mouseEventHandler); textInput.addEventListener(MouseEvent.MOUSE_UP, textInput_mouseEventHandler); textInput.addEventListener(MouseEvent.ROLL_OVER, textInput_mouseEventHandler); textInput.addEventListener(MouseEvent.ROLL_OUT, textInput_mouseEventHandler); textInput.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; }; }; } protected function get textInputStyleFilters():Object{ return (_textInputStyleFilters); } public function set text(_arg1:String):void{ _text = _arg1; textChanged = true; invalidateProperties(); dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } override protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((((_arg1 == textInput)) || (super.isOurFocus(_arg1)))); } public function get editable():Boolean{ return (_editable); } override protected function measure():void{ var _local3:Object; var _local4:EdgeMetrics; var _local5:Number; var _local6:Number; var _local7:Number; super.measure(); var _local1:Number = getStyle("arrowButtonWidth"); var _local2:Number = downArrowButton.getExplicitOrMeasuredHeight(); if (((collection) && ((collection.length > 0)))){ _local3 = calculatePreferredSizeFromData(collection.length); _local4 = borderMetrics; _local5 = (((_local3.width + _local4.left) + _local4.right) + 8); _local6 = (((_local3.height + _local4.top) + _local4.bottom) + UITextField.TEXT_HEIGHT_PADDING); measuredMinWidth = (measuredWidth = (_local5 + _local1)); measuredMinHeight = (measuredHeight = Math.max(_local6, _local2)); } else { measuredMinWidth = DEFAULT_MEASURED_MIN_WIDTH; measuredWidth = DEFAULT_MEASURED_WIDTH; measuredMinHeight = DEFAULT_MEASURED_MIN_HEIGHT; measuredHeight = DEFAULT_MEASURED_HEIGHT; }; if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ _local7 = (getStyle("paddingTop") + getStyle("paddingBottom")); measuredMinHeight = (measuredMinHeight + _local7); measuredHeight = (measuredHeight + _local7); }; } protected function textInput_changeHandler(_arg1:Event):void{ _text = textInput.text; if (_selectedIndex != -1){ _selectedIndex = -1; _selectedItem = null; selectedUID = null; }; } mx_internal function getTextInput():TextInput{ return (textInput); } override protected function focusInHandler(_arg1:FocusEvent):void{ super.focusInHandler(_arg1); var _local2:IFocusManager = focusManager; if (_local2){ _local2.defaultButtonEnabled = false; }; } public function get value():Object{ if (_editable){ return (text); }; var _local1:Object = selectedItem; if ((((_local1 == null)) || (!((typeof(_local1) == "object"))))){ return (_local1); }; return (((_local1.data)!=null) ? _local1.data : _local1.label); } private function textInput_mouseEventHandler(_arg1:Event):void{ downArrowButton.dispatchEvent(_arg1); } public function set selectedIndex(_arg1:int):void{ var _local2:CursorBookmark; var _local3:int; var _local4:Object; var _local5:String; _selectedIndex = _arg1; if (_arg1 == -1){ _selectedItem = null; selectedUID = null; }; if (((!(collection)) || ((collection.length == 0)))){ selectedIndexChanged = true; } else { if (_arg1 != -1){ _arg1 = Math.min(_arg1, (collection.length - 1)); _local2 = iterator.bookmark; _local3 = _arg1; iterator.seek(CursorBookmark.FIRST, _local3); _local4 = iterator.current; _local5 = itemToUID(_local4); iterator.seek(_local2, 0); _selectedIndex = _arg1; _selectedItem = _local4; selectedUID = _local5; }; }; selectionChanged = true; invalidateDisplayList(); dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } public function set dataProvider(_arg1:Object):void{ var _local3:Array; if ((_arg1 is Array)){ collection = new ArrayCollection((_arg1 as Array)); } else { if ((_arg1 is ICollectionView)){ collection = ICollectionView(_arg1); } else { if ((_arg1 is IList)){ collection = new ListCollectionView(IList(_arg1)); } else { if ((_arg1 is XMLList)){ collection = new XMLListCollection((_arg1 as XMLList)); } else { _local3 = [_arg1]; collection = new ArrayCollection(_local3); }; }; }; }; iterator = collection.createCursor(); collectionIterator = collection.createCursor(); collection.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler, false, 0, true); var _local2:CollectionEvent = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE); _local2.kind = CollectionEventKind.RESET; collectionChangeHandler(_local2); dispatchEvent(_local2); invalidateSize(); invalidateDisplayList(); } protected function get borderMetrics():EdgeMetrics{ if (((border) && ((border is IRectangularBorder)))){ return (IRectangularBorder(border).borderMetrics); }; return (EdgeMetrics.EMPTY); } public function set restrict(_arg1:String):void{ _restrict = _arg1; invalidateProperties(); dispatchEvent(new Event("restrictChanged")); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local7:EdgeMetrics; var _local8:Number; var _local9:Number; var _local10:Number; super.updateDisplayList(_arg1, _arg2); var _local3:Number = _arg1; var _local4:Number = _arg2; var _local5:Number = getStyle("arrowButtonWidth"); var _local6:Number = textInput.getExplicitOrMeasuredHeight(); if (isNaN(_local5)){ _local5 = 0; }; if (wrapDownArrowButton){ _local7 = borderMetrics; _local8 = ((_local4 - _local7.top) - _local7.bottom); downArrowButton.setActualSize(_local8, _local8); downArrowButton.move(((_local3 - _local5) - _local7.right), _local7.top); border.setActualSize(_local3, _local4); textInput.setActualSize((_local3 - _local5), _local6); } else { if (((!(_editable)) && (useFullDropdownSkin))){ _local9 = getStyle("paddingTop"); _local10 = getStyle("paddingBottom"); downArrowButton.move(0, 0); border.setActualSize(_local3, _local4); textInput.setActualSize((_local3 - _local5), _local6); textInput.border.visible = false; if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ textInput.move(textInput.x, (((((_local4 - _local6) - _local9) - _local10) / 2) + _local9)); }; downArrowButton.setActualSize(_arg1, _arg2); } else { downArrowButton.move((_local3 - _local5), 0); border.setActualSize((_local3 - _local5), _local4); textInput.setActualSize((_local3 - _local5), _local4); downArrowButton.setActualSize(_local5, _arg2); textInput.border.visible = true; }; }; if (selectedIndexChanged){ selectedIndex = selectedIndex; selectedIndexChanged = false; }; if (selectedItemChanged){ selectedItem = selectedItem; selectedItemChanged = false; }; } public function get selectedIndex():int{ return (_selectedIndex); } } }//package mx.controls
Section 67
//ComboBox (mx.controls.ComboBox) package mx.controls { import flash.geom.*; import flash.text.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.effects.*; import mx.collections.*; import mx.controls.listClasses.*; import flash.ui.*; import mx.controls.dataGridClasses.*; public class ComboBox extends ComboBase implements IDataRenderer, IDropInListItemRenderer, IListItemRenderer { private var _labelField:String;// = "label" private var dropdownBorderStyle:String;// = "solid" private var implicitSelectedIndex:Boolean;// = false private var _selectedIndexOnDropdown:int;// = -1 private var preferredDropdownWidth:Number; private var collectionChanged:Boolean;// = false private var labelFunctionChanged:Boolean; private var selectedItemSet:Boolean; private var _dropdownWidth:Number;// = 100 private var inTween:Boolean;// = false private var _oldIndex:int; private var tweenUp:Boolean;// = false private var tween:Tween;// = null private var labelFieldChanged:Boolean; private var _dropdown:ListBase; private var _dropdownFactory:IFactory; private var explicitText:Boolean; private var _prompt:String; private var _data:Object; private var bInKeyDown:Boolean;// = false private var promptChanged:Boolean;// = false private var _rowCount:int;// = 5 private var bRemoveDropdown:Boolean;// = false private var _showingDropdown:Boolean;// = false private var triggerEvent:Event; private var _listData:BaseListData; private var _itemRenderer:IFactory; private var _labelFunction:Function; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var createAccessibilityImplementation:Function; public function ComboBox(){ _dropdownFactory = new ClassFactory(List); super(); dataProvider = new ArrayCollection(); useFullDropdownSkin = true; wrapDownArrowButton = false; addEventListener("unload", unloadHandler); addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler); } override protected function calculatePreferredSizeFromData(_arg1:int):Object{ var _local6:TextLineMetrics; var _local8:Object; var _local9:String; var _local2:Number = 0; var _local3:Number = 0; var _local4:CursorBookmark = (iterator) ? iterator.bookmark : null; iterator.seek(CursorBookmark.FIRST, 0); var _local5 = !((iterator == null)); var _local7:int; while (_local7 < _arg1) { if (_local5){ _local8 = (iterator) ? iterator.current : null; } else { _local8 = null; }; _local9 = itemToLabel(_local8); _local6 = measureText(_local9); _local2 = Math.max(_local2, _local6.width); _local3 = Math.max(_local3, _local6.height); if (iterator){ iterator.moveNext(); }; _local7++; }; if (prompt){ _local6 = measureText(prompt); _local2 = Math.max(_local2, _local6.width); _local3 = Math.max(_local3, _local6.height); }; _local2 = (_local2 + (getStyle("paddingLeft") + getStyle("paddingRight"))); if (iterator){ iterator.seek(_local4, 0); }; return ({width:_local2, height:_local3}); } private function dropdown_scrollHandler(_arg1:Event):void{ var _local2:ScrollEvent; if ((_arg1 is ScrollEvent)){ _local2 = ScrollEvent(_arg1); if ((((((((_local2.detail == ScrollEventDetail.THUMB_TRACK)) || ((_local2.detail == ScrollEventDetail.THUMB_POSITION)))) || ((_local2.detail == ScrollEventDetail.LINE_UP)))) || ((_local2.detail == ScrollEventDetail.LINE_DOWN)))){ dispatchEvent(_local2); }; }; } public function get dropdown():ListBase{ return (getDropdown()); } public function get selectedLabel():String{ var _local1:Object = selectedItem; return (itemToLabel(_local1)); } override protected function focusOutHandler(_arg1:FocusEvent):void{ if (((_showingDropdown) && (_dropdown))){ if (((!(_arg1.relatedObject)) || (!(_dropdown.contains(_arg1.relatedObject))))){ close(); }; }; super.focusOutHandler(_arg1); } private function popup_moveHandler(_arg1:Event):void{ destroyDropdown(); } private function destroyDropdown():void{ if (((_dropdown) && (!(_showingDropdown)))){ if (inTween){ tween.endTween(); } else { PopUpManager.removePopUp(_dropdown); _dropdown = null; }; }; } public function get dropdownWidth():Number{ return (_dropdownWidth); } private function unloadHandler(_arg1:Event):void{ if (inTween){ UIComponent.resumeBackgroundProcessing(); inTween = false; }; if (_dropdown){ _dropdown.parent.removeChild(_dropdown); }; } public function open():void{ displayDropdown(true); } public function set data(_arg1:Object):void{ var _local2:*; _data = _arg1; if (((_listData) && ((_listData is DataGridListData)))){ _local2 = _data[DataGridListData(_listData).dataField]; } else { if ((((_listData is ListData)) && ((ListData(_listData).labelField in _data)))){ _local2 = _data[ListData(_listData).labelField]; } else { _local2 = _data; }; }; if (((!((_local2 === undefined))) && (!(selectedItemSet)))){ selectedItem = _local2; selectedItemSet = false; }; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } public function get rowCount():int{ return (Math.max(1, Math.min(collection.length, _rowCount))); } override protected function textInput_changeHandler(_arg1:Event):void{ super.textInput_changeHandler(_arg1); dispatchChangeEvent(_arg1, -1, -2); } private function dropdown_itemRollOutHandler(_arg1:Event):void{ dispatchEvent(_arg1); } override protected function measure():void{ super.measure(); measuredMinWidth = Math.max(measuredWidth, DEFAULT_MEASURED_MIN_WIDTH); var _local1:Number = (measureText("M").height + 6); var _local2:EdgeMetrics = borderMetrics; measuredMinHeight = (measuredHeight = Math.max(((_local1 + _local2.top) + _local2.bottom), DEFAULT_MEASURED_MIN_HEIGHT)); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ measuredMinHeight = (measuredHeight = (measuredHeight + (getStyle("paddingTop") + getStyle("paddingBottom")))); }; } private function dropdown_itemRollOverHandler(_arg1:Event):void{ dispatchEvent(_arg1); } public function get prompt():String{ return (_prompt); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:int; if (_arg1.target == textInput){ return; }; if (((_arg1.ctrlKey) && ((_arg1.keyCode == Keyboard.DOWN)))){ displayDropdown(true, _arg1); _arg1.stopPropagation(); } else { if (((_arg1.ctrlKey) && ((_arg1.keyCode == Keyboard.UP)))){ close(_arg1); _arg1.stopPropagation(); } else { if (_arg1.keyCode == Keyboard.ESCAPE){ if (_showingDropdown){ if (_oldIndex != _dropdown.selectedIndex){ selectedIndex = _oldIndex; }; displayDropdown(false); _arg1.stopPropagation(); }; } else { if (_arg1.keyCode == Keyboard.ENTER){ if (_showingDropdown){ close(); _arg1.stopPropagation(); }; } else { if (((((((((!(editable)) || ((_arg1.keyCode == Keyboard.UP)))) || ((_arg1.keyCode == Keyboard.DOWN)))) || ((_arg1.keyCode == Keyboard.PAGE_UP)))) || ((_arg1.keyCode == Keyboard.PAGE_DOWN)))){ _local2 = selectedIndex; bInKeyDown = _showingDropdown; dropdown.dispatchEvent(_arg1.clone()); _arg1.stopPropagation(); bInKeyDown = false; }; }; }; }; }; } public function set dropdownWidth(_arg1:Number):void{ _dropdownWidth = _arg1; preferredDropdownWidth = _arg1; if (_dropdown){ _dropdown.setActualSize(_arg1, _dropdown.height); }; dispatchEvent(new Event("dropdownWidthChanged")); } public function get labelField():String{ return (_labelField); } public function set dropdownFactory(_arg1:IFactory):void{ _dropdownFactory = _arg1; dispatchEvent(new Event("dropdownFactoryChanged")); } override public function set dataProvider(_arg1:Object):void{ selectionChanged = true; super.dataProvider = _arg1; destroyDropdown(); _showingDropdown = false; invalidateProperties(); invalidateSize(); } mx_internal function get isShowingDropdown():Boolean{ return (_showingDropdown); } override protected function collectionChangeHandler(_arg1:Event):void{ var _local3:CollectionEvent; var _local2:int = selectedIndex; super.collectionChangeHandler(_arg1); if ((_arg1 is CollectionEvent)){ _local3 = CollectionEvent(_arg1); if (collection.length == 0){ if (((!(selectedIndexChanged)) && (!(selectedItemChanged)))){ super.selectedIndex = -1; implicitSelectedIndex = true; invalidateDisplayList(); }; if (((textInput) && (!(editable)))){ textInput.text = ""; }; } else { if (_local3.kind == CollectionEventKind.ADD){ if (collection.length == _local3.items.length){ if ((((selectedIndex == -1)) && ((_prompt == null)))){ selectedIndex = 0; }; } else { return; }; } else { if (_local3.kind == CollectionEventKind.UPDATE){ if ((((_local3.location == selectedIndex)) || ((_local3.items[0].source == selectedItem)))){ selectionChanged = true; }; } else { if (_local3.kind == CollectionEventKind.REPLACE){ return; }; if (_local3.kind == CollectionEventKind.RESET){ collectionChanged = true; if (((!(selectedIndexChanged)) && (!(selectedItemChanged)))){ selectedIndex = (prompt) ? -1 : 0; }; invalidateProperties(); }; }; }; }; invalidateDisplayList(); destroyDropdown(); _showingDropdown = false; }; } private function dropdown_mouseDownOutsideHandler(_arg1:MouseEvent):void{ if (_arg1.target != _dropdown){ return; }; if (!hitTestPoint(_arg1.stageX, _arg1.stageY, true)){ close(_arg1); }; } public function get listData():BaseListData{ return (_listData); } private function getDropdown():ListBase{ var _local1:String; var _local2:CSSStyleDeclaration; if (!initialized){ return (null); }; if (!hasDropdown()){ _local1 = getStyle("dropDownStyleName"); if (_local1 == null){ _local1 = getStyle("dropdownStyleName"); }; _dropdown = dropdownFactory.newInstance(); _dropdown.visible = false; _dropdown.focusEnabled = false; _dropdown.owner = this; if (itemRenderer){ _dropdown.itemRenderer = itemRenderer; }; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _dropdown.styleName = this; }; if (_local1){ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local2 = StyleManager.getStyleDeclaration(("." + _local1)); if (_local2){ _dropdown.styleDeclaration = _local2; }; } else { _dropdown.styleName = _local1; }; } else { if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _dropdown.setStyle("cornerRadius", 0); }; }; PopUpManager.addPopUp(_dropdown, this); _dropdown.setStyle("selectionDuration", 0); if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && (dropdownBorderStyle))) && (!((dropdownBorderStyle == ""))))){ _dropdown.setStyle("borderStyle", dropdownBorderStyle); }; if (!dataProvider){ dataProvider = new ArrayCollection(); }; _dropdown.dataProvider = dataProvider; _dropdown.rowCount = rowCount; _dropdown.width = _dropdownWidth; _dropdown.selectedIndex = selectedIndex; _oldIndex = selectedIndex; _dropdown.verticalScrollPolicy = ScrollPolicy.AUTO; _dropdown.labelField = _labelField; _dropdown.labelFunction = _labelFunction; _dropdown.allowDragSelection = true; _dropdown.addEventListener("change", dropdown_changeHandler); _dropdown.addEventListener(ScrollEvent.SCROLL, dropdown_scrollHandler); _dropdown.addEventListener(ListEvent.ITEM_ROLL_OVER, dropdown_itemRollOverHandler); _dropdown.addEventListener(ListEvent.ITEM_ROLL_OUT, dropdown_itemRollOutHandler); _dropdown.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, dropdown_mouseDownOutsideHandler); _dropdown.addEventListener(FlexMouseEvent.MOUSE_WHEEL_OUTSIDE, dropdown_mouseWheelOutsideHandler); _dropdown.addEventListener(ListEvent.ITEM_CLICK, dropdown_itemClickHandler); UIComponentGlobals.layoutManager.validateClient(_dropdown, true); _dropdown.setActualSize(_dropdownWidth, _dropdown.getExplicitOrMeasuredHeight()); _dropdown.validateDisplayList(); _dropdown.cacheAsBitmap = true; systemManager.addEventListener(Event.RESIZE, stage_resizeHandler, false, 0, true); }; _dropdown.scaleX = scaleX; _dropdown.scaleY = scaleY; return (_dropdown); } private function stage_resizeHandler(_arg1:Event):void{ if (_dropdown){ _dropdown.$visible = false; _showingDropdown = false; }; } override protected function downArrowButton_buttonDownHandler(_arg1:FlexEvent):void{ if (_showingDropdown){ close(_arg1); } else { displayDropdown(true, _arg1); }; } mx_internal function onTweenEnd(_arg1:Number):void{ if (_dropdown){ _dropdown.scrollRect = null; inTween = false; _dropdown.enabled = true; _dropdown.visible = _showingDropdown; }; if (bRemoveDropdown){ PopUpManager.removePopUp(_dropdown); _dropdown = null; bRemoveDropdown = false; }; UIComponent.resumeBackgroundProcessing(); var _local2:DropdownEvent = new DropdownEvent((_showingDropdown) ? DropdownEvent.OPEN : DropdownEvent.CLOSE); _local2.triggerEvent = triggerEvent; dispatchEvent(_local2); } override public function set selectedItem(_arg1:Object):void{ selectedItemSet = true; super.selectedItem = _arg1; } override protected function initializeAccessibility():void{ if (ComboBox.createAccessibilityImplementation != null){ ComboBox.createAccessibilityImplementation(this); }; } public function itemToLabel(_arg1:Object):String{ var item = _arg1; if (item == null){ return (""); }; if (labelFunction != null){ return (labelFunction(item)); }; if (typeof(item) == "object"){ try { if (item[labelField] != null){ item = item[labelField]; }; } catch(e:Error) { }; } else { if (typeof(item) == "xml"){ try { if (item[labelField].length() != 0){ item = item[labelField]; }; } catch(e:Error) { }; }; }; if (typeof(item) == "string"){ return (String(item)); }; try { return (item.toString()); } catch(e:Error) { }; return (" "); } private function dropdown_mouseWheelOutsideHandler(_arg1:MouseEvent):void{ dropdown_mouseDownOutsideHandler(_arg1); } public function get data():Object{ return (_data); } mx_internal function onTweenUpdate(_arg1:Number):void{ if (_dropdown){ _dropdown.scrollRect = new Rectangle(0, _arg1, _dropdown.width, _dropdown.height); }; } private function removedFromStageHandler(_arg1:Event):void{ destroyDropdown(); } public function get dropdownFactory():IFactory{ return (_dropdownFactory); } override public function styleChanged(_arg1:String):void{ destroyDropdown(); super.styleChanged(_arg1); } public function set prompt(_arg1:String):void{ _prompt = _arg1; promptChanged = true; invalidateProperties(); } override protected function commitProperties():void{ explicitText = textChanged; super.commitProperties(); if (collectionChanged){ if ((((((selectedIndex == -1)) && (implicitSelectedIndex))) && ((_prompt == null)))){ selectedIndex = 0; }; selectedIndexChanged = true; collectionChanged = false; }; if (((((promptChanged) && (!((prompt == null))))) && ((selectedIndex == -1)))){ promptChanged = false; textInput.text = prompt; }; } mx_internal function hasDropdown():Boolean{ return (!((_dropdown == null))); } public function set listData(_arg1:BaseListData):void{ _listData = _arg1; } public function set labelField(_arg1:String):void{ _labelField = _arg1; labelFieldChanged = true; invalidateDisplayList(); dispatchEvent(new Event("labelFieldChanged")); } public function set labelFunction(_arg1:Function):void{ _labelFunction = _arg1; labelFunctionChanged = true; invalidateDisplayList(); dispatchEvent(new Event("labelFunctionChanged")); } protected function get dropDownStyleFilters():Object{ return (null); } public function set rowCount(_arg1:int):void{ _rowCount = _arg1; if (_dropdown){ _dropdown.rowCount = _arg1; }; } private function dropdown_changeHandler(_arg1:Event):void{ var _local2:int = selectedIndex; if (_dropdown){ selectedIndex = _dropdown.selectedIndex; }; if (!_showingDropdown){ dispatchChangeEvent(_arg1, _local2, selectedIndex); } else { if (!bInKeyDown){ close(); }; }; } private function dropdown_itemClickHandler(_arg1:ListEvent):void{ if (_showingDropdown){ close(); }; } public function get labelFunction():Function{ return (_labelFunction); } override public function set selectedIndex(_arg1:int):void{ super.selectedIndex = _arg1; if (_arg1 >= 0){ selectionChanged = true; }; implicitSelectedIndex = false; invalidateDisplayList(); if (((((textInput) && (!(textChanged)))) && ((_arg1 >= 0)))){ textInput.text = selectedLabel; } else { if (((textInput) && (prompt))){ textInput.text = prompt; }; }; } private function dispatchChangeEvent(_arg1:Event, _arg2:int, _arg3:int):void{ var _local4:Event; if (_arg2 != _arg3){ _local4 = ((_arg1 is ListEvent)) ? _arg1 : new ListEvent("change"); dispatchEvent(_local4); }; } private function displayDropdown(_arg1:Boolean, _arg2:Event=null):void{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Function; var _local8:int; var _local9:Number; if (((!(initialized)) || ((_arg1 == _showingDropdown)))){ return; }; var _local7:Point = new Point(0, unscaledHeight); _local7 = localToGlobal(_local7); if (_arg1){ _selectedIndexOnDropdown = selectedIndex; getDropdown(); if (_dropdown.parent == null){ PopUpManager.addPopUp(_dropdown, this); } else { PopUpManager.bringToFront(_dropdown); }; _local7 = _dropdown.parent.globalToLocal(_local7); if (((((_local7.y + _dropdown.height) > screen.height)) && ((_local7.y > _dropdown.height)))){ _local7.y = (_local7.y - (unscaledHeight + _dropdown.height)); _local3 = -(_dropdown.height); tweenUp = true; } else { _local3 = _dropdown.height; tweenUp = false; }; _local8 = _dropdown.selectedIndex; if (_local8 == -1){ _local8 = 0; }; _local9 = _dropdown.verticalScrollPosition; _local9 = (_local8 - 1); _local9 = Math.min(Math.max(_local9, 0), _dropdown.maxVerticalScrollPosition); _dropdown.verticalScrollPosition = _local9; if (((!((_dropdown.x == _local7.x))) || (!((_dropdown.y == _local7.y))))){ _dropdown.move(_local7.x, _local7.y); }; _dropdown.scrollRect = new Rectangle(0, _local3, _dropdown.width, _dropdown.height); if (!_dropdown.visible){ _dropdown.visible = true; }; bRemoveDropdown = false; _showingDropdown = _arg1; _local5 = getStyle("openDuration"); _local4 = 0; _local6 = (getStyle("openEasingFunction") as Function); } else { if (_dropdown){ _local7 = _dropdown.parent.globalToLocal(_local7); _local4 = (((((_local7.y + _dropdown.height) > screen.height)) || (tweenUp))) ? -(_dropdown.height) : _dropdown.height; _showingDropdown = _arg1; _local3 = 0; _local5 = getStyle("closeDuration"); _local6 = (getStyle("closeEasingFunction") as Function); _dropdown.resetDragScrolling(); }; }; inTween = true; UIComponentGlobals.layoutManager.validateNow(); UIComponent.suspendBackgroundProcessing(); if (_dropdown){ _dropdown.enabled = false; }; _local5 = Math.max(1, _local5); tween = new Tween(this, _local3, _local4, _local5); if (((!((_local6 == null))) && (tween))){ tween.easingFunction = _local6; }; triggerEvent = _arg2; } public function get itemRenderer():IFactory{ return (_itemRenderer); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); if (((_dropdown) && (!(inTween)))){ destroyDropdown(); } else { if (((!(_showingDropdown)) && (inTween))){ bRemoveDropdown = true; }; }; var _local3:Number = preferredDropdownWidth; if (isNaN(_local3)){ _local3 = (_dropdownWidth = _arg1); }; if (labelFieldChanged){ if (_dropdown){ _dropdown.labelField = _labelField; }; selectionChanged = true; if (!explicitText){ textInput.text = selectedLabel; }; labelFieldChanged = false; }; if (labelFunctionChanged){ if (_dropdown){ _dropdown.labelFunction = _labelFunction; }; selectionChanged = true; if (!explicitText){ textInput.text = selectedLabel; }; labelFunctionChanged = false; }; if (selectionChanged){ if (!textChanged){ if ((((selectedIndex == -1)) && (prompt))){ textInput.text = prompt; } else { if (!explicitText){ textInput.text = selectedLabel; }; }; }; textInput.invalidateDisplayList(); textInput.validateNow(); if (editable){ textInput.getTextField().setSelection(0, textInput.text.length); textInput.getTextField().scrollH = 0; }; if (_dropdown){ _dropdown.selectedIndex = selectedIndex; }; selectionChanged = false; }; if (((_dropdown) && (!((_dropdown.rowCount == rowCount))))){ _dropdown.rowCount = rowCount; }; } public function close(_arg1:Event=null):void{ if (_showingDropdown){ if (((_dropdown) && (!((selectedIndex == _dropdown.selectedIndex))))){ selectedIndex = _dropdown.selectedIndex; }; displayDropdown(false, _arg1); dispatchChangeEvent(new Event("dummy"), _selectedIndexOnDropdown, selectedIndex); }; } public function set itemRenderer(_arg1:IFactory):void{ _itemRenderer = _arg1; if (_dropdown){ _dropdown.itemRenderer = _arg1; }; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("itemRendererChanged")); } override public function set showInAutomationHierarchy(_arg1:Boolean):void{ } } }//package mx.controls
Section 68
//HScrollBar (mx.controls.HScrollBar) package mx.controls { import mx.controls.scrollClasses.*; import flash.ui.*; public class HScrollBar extends ScrollBar { mx_internal static const VERSION:String = "3.0.0.0"; public function HScrollBar(){ super.direction = ScrollBarDirection.HORIZONTAL; scaleX = -1; rotation = -90; } override mx_internal function get virtualHeight():Number{ return (unscaledWidth); } override protected function measure():void{ super.measure(); measuredWidth = _minHeight; measuredHeight = _minWidth; } override public function get minHeight():Number{ return (_minWidth); } override mx_internal function get virtualWidth():Number{ return (unscaledHeight); } override public function get minWidth():Number{ return (_minHeight); } override mx_internal function isScrollBarKey(_arg1:uint):Boolean{ if (_arg1 == Keyboard.LEFT){ lineScroll(-1); return (true); }; if (_arg1 == Keyboard.RIGHT){ lineScroll(1); return (true); }; return (super.isScrollBarKey(_arg1)); } override public function set direction(_arg1:String):void{ } } }//package mx.controls
Section 69
//IFlexContextMenu (mx.controls.IFlexContextMenu) package mx.controls { import flash.display.*; public interface IFlexContextMenu { function setContextMenu(_arg1:InteractiveObject):void; function unsetContextMenu(_arg1:InteractiveObject):void; } }//package mx.controls
Section 70
//Image (mx.controls.Image) package mx.controls { import flash.display.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.controls.listClasses.*; public class Image extends SWFLoader implements IDataRenderer, IDropInListItemRenderer, IListItemRenderer { private var _listData:BaseListData; private var sourceSet:Boolean; private var _data:Object; private var settingBrokenImage:Boolean; private var makeContentVisible:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; public function Image(){ tabChildren = false; tabEnabled = true; showInAutomationHierarchy = true; } override mx_internal function contentLoaderInfo_completeEventHandler(_arg1:Event):void{ var _local2:DisplayObject = DisplayObject(_arg1.target.loader); super.contentLoaderInfo_completeEventHandler(_arg1); _local2.visible = false; makeContentVisible = true; invalidateDisplayList(); } public function get listData():BaseListData{ return (_listData); } public function set listData(_arg1:BaseListData):void{ _listData = _arg1; } public function get data():Object{ return (_data); } public function set data(_arg1:Object):void{ _data = _arg1; if (!sourceSet){ source = (listData) ? listData.label : data; sourceSet = false; }; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } override public function invalidateSize():void{ if (((data) && (settingBrokenImage))){ return; }; super.invalidateSize(); } override public function set source(_arg1:Object):void{ settingBrokenImage = (_arg1 == getStyle("brokenImageSkin")); sourceSet = !(settingBrokenImage); super.source = _arg1; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); if (((makeContentVisible) && (contentHolder))){ contentHolder.visible = true; makeContentVisible = false; }; } } }//package mx.controls
Section 71
//Label (mx.controls.Label) package mx.controls { import flash.display.*; import flash.geom.*; import flash.text.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.controls.listClasses.*; public class Label extends UIComponent implements IDataRenderer, IDropInListItemRenderer, IListItemRenderer, IFontContextComponent { private var _selectable:Boolean;// = false private var _text:String;// = "" private var _data:Object; mx_internal var htmlTextChanged:Boolean;// = false private var _tabIndex:int;// = -1 private var _textWidth:Number; private var explicitHTMLText:String;// = null private var enabledChanged:Boolean;// = false private var condenseWhiteChanged:Boolean;// = false private var _listData:BaseListData; private var _textHeight:Number; protected var textField:IUITextField; private var _htmlText:String;// = "" private var _condenseWhite:Boolean;// = false mx_internal var textChanged:Boolean;// = false public var truncateToFit:Boolean;// = true private var textSet:Boolean; private var selectableChanged:Boolean; private var toolTipSet:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; override public function set enabled(_arg1:Boolean):void{ if (_arg1 == enabled){ return; }; super.enabled = _arg1; enabledChanged = true; invalidateProperties(); } private function textField_textFieldStyleChangeHandler(_arg1:Event):void{ textFieldChanged(true); } override public function get baselinePosition():Number{ var _local1:String; var _local2:TextLineMetrics; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (!textField){ return (NaN); }; validateNow(); _local1 = (isHTML) ? explicitHTMLText : text; if (_local1 == ""){ _local1 = " "; }; _local2 = (isHTML) ? measureHTMLText(_local1) : measureText(_local1); return ((textField.y + _local2.ascent)); }; if (!validateBaselinePosition()){ return (NaN); }; return ((textField.y + textField.baselinePosition)); } public function set condenseWhite(_arg1:Boolean):void{ if (_arg1 == _condenseWhite){ return; }; _condenseWhite = _arg1; condenseWhiteChanged = true; if (isHTML){ htmlTextChanged = true; }; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("condenseWhiteChanged")); } public function get textWidth():Number{ return (_textWidth); } override protected function createChildren():void{ super.createChildren(); if (!textField){ createTextField(-1); }; } mx_internal function getTextField():IUITextField{ return (textField); } private function measureTextFieldBounds(_arg1:String):Rectangle{ var _local2:TextLineMetrics = (isHTML) ? measureHTMLText(_arg1) : measureText(_arg1); return (new Rectangle(0, 0, (_local2.width + UITextField.TEXT_WIDTH_PADDING), (_local2.height + UITextField.TEXT_HEIGHT_PADDING))); } mx_internal function getMinimumText(_arg1:String):String{ if (((!(_arg1)) || ((_arg1.length < 2)))){ _arg1 = "Wj"; }; return (_arg1); } private function textFieldChanged(_arg1:Boolean):void{ var _local2:Boolean; var _local3:Boolean; if (!_arg1){ _local2 = !((_text == textField.text)); _text = textField.text; }; _local3 = !((_htmlText == textField.htmlText)); _htmlText = textField.htmlText; if (_local2){ dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; if (_local3){ dispatchEvent(new Event("htmlTextChanged")); }; _textWidth = textField.textWidth; _textHeight = textField.textHeight; } public function get data():Object{ return (_data); } public function get text():String{ return (_text); } mx_internal function removeTextField():void{ if (textField){ textField.removeEventListener("textFieldStyleChange", textField_textFieldStyleChangeHandler); textField.removeEventListener("textInsert", textField_textModifiedHandler); textField.removeEventListener("textReplace", textField_textModifiedHandler); removeChild(DisplayObject(textField)); textField = null; }; } public function get textHeight():Number{ return (_textHeight); } mx_internal function get styleSheet():StyleSheet{ return (textField.styleSheet); } public function set selectable(_arg1:Boolean):void{ if (_arg1 == selectable){ return; }; _selectable = _arg1; selectableChanged = true; invalidateProperties(); } override public function get tabIndex():int{ return (_tabIndex); } public function set fontContext(_arg1:IFlexModuleFactory):void{ this.moduleFactory = _arg1; } override public function set toolTip(_arg1:String):void{ super.toolTip = _arg1; toolTipSet = !((_arg1 == null)); } mx_internal function createTextField(_arg1:int):void{ if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.enabled = enabled; textField.ignorePadding = true; textField.selectable = selectable; textField.styleName = this; textField.addEventListener("textFieldStyleChange", textField_textFieldStyleChangeHandler); textField.addEventListener("textInsert", textField_textModifiedHandler); textField.addEventListener("textReplace", textField_textModifiedHandler); if (_arg1 == -1){ addChild(DisplayObject(textField)); } else { addChildAt(DisplayObject(textField), _arg1); }; }; } override protected function commitProperties():void{ super.commitProperties(); if (((hasFontContextChanged()) && (!((textField == null))))){ removeTextField(); condenseWhiteChanged = true; enabledChanged = true; selectableChanged = true; textChanged = true; }; if (!textField){ createTextField(-1); }; if (condenseWhiteChanged){ textField.condenseWhite = _condenseWhite; condenseWhiteChanged = false; }; textField.tabIndex = tabIndex; if (enabledChanged){ textField.enabled = enabled; enabledChanged = false; }; if (selectableChanged){ textField.selectable = _selectable; selectableChanged = false; }; if (((textChanged) || (htmlTextChanged))){ if (isHTML){ textField.htmlText = explicitHTMLText; } else { textField.text = _text; }; textFieldChanged(false); textChanged = false; htmlTextChanged = false; }; } public function get condenseWhite():Boolean{ return (_condenseWhite); } public function set listData(_arg1:BaseListData):void{ _listData = _arg1; } private function get isHTML():Boolean{ return (!((explicitHTMLText == null))); } public function get selectable():Boolean{ return (_selectable); } public function set text(_arg1:String):void{ textSet = true; if (!_arg1){ _arg1 = ""; }; if (((!(isHTML)) && ((_arg1 == _text)))){ return; }; _text = _arg1; textChanged = true; _htmlText = null; explicitHTMLText = null; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } public function set data(_arg1:Object):void{ var _local2:*; _data = _arg1; if (_listData){ _local2 = _listData.label; } else { if (_data != null){ if ((_data is String)){ _local2 = String(_data); } else { _local2 = _data.toString(); }; }; }; if (((!((_local2 === undefined))) && (!(textSet)))){ text = _local2; textSet = false; }; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } override protected function measure():void{ super.measure(); var _local1:String = (isHTML) ? explicitHTMLText : text; _local1 = getMinimumText(_local1); var _local2:Rectangle = measureTextFieldBounds(_local1); measuredMinWidth = (measuredWidth = ((_local2.width + getStyle("paddingLeft")) + getStyle("paddingRight"))); measuredMinHeight = (measuredHeight = ((_local2.height + getStyle("paddingTop")) + getStyle("paddingBottom"))); } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } private function textField_textModifiedHandler(_arg1:Event):void{ textFieldChanged(false); } public function get listData():BaseListData{ return (_listData); } mx_internal function set styleSheet(_arg1:StyleSheet):void{ textField.styleSheet = _arg1; } public function set htmlText(_arg1:String):void{ textSet = true; if (!_arg1){ _arg1 = ""; }; if (((isHTML) && ((_arg1 == explicitHTMLText)))){ return; }; _htmlText = _arg1; htmlTextChanged = true; _text = null; explicitHTMLText = _arg1; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("htmlTextChanged")); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local9:Boolean; super.updateDisplayList(_arg1, _arg2); var _local3:Number = getStyle("paddingLeft"); var _local4:Number = getStyle("paddingTop"); var _local5:Number = getStyle("paddingRight"); var _local6:Number = getStyle("paddingBottom"); textField.setActualSize(((_arg1 - _local3) - _local5), ((_arg2 - _local4) - _local6)); textField.x = _local3; textField.y = _local4; var _local7:String = (isHTML) ? explicitHTMLText : text; var _local8:Rectangle = measureTextFieldBounds(_local7); if (truncateToFit){ if (isHTML){ _local9 = (_local8.width > textField.width); } else { textField.text = _text; _local9 = textField.truncateToFit(); }; if (!toolTipSet){ super.toolTip = (_local9) ? text : null; }; }; } public function get htmlText():String{ return (_htmlText); } public function getLineMetrics(_arg1:int):TextLineMetrics{ return ((textField) ? textField.getLineMetrics(_arg1) : null); } override public function set tabIndex(_arg1:int):void{ _tabIndex = _arg1; invalidateProperties(); } } }//package mx.controls
Section 72
//List (mx.controls.List) package mx.controls { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.scrollClasses.*; import mx.collections.*; import flash.utils.*; import mx.controls.listClasses.*; import flash.ui.*; import mx.collections.errors.*; public class List extends ListBase implements IIMESupport { public var editorXOffset:Number;// = 0 public var itemEditorInstance:IListItemRenderer; public var rendererIsEditor:Boolean;// = false private var dontEdit:Boolean;// = false public var editorYOffset:Number;// = 0 public var editorWidthOffset:Number;// = 0 private var lastEditedItemPosition; public var itemEditor:IFactory; public var editable:Boolean;// = false private var losingFocus:Boolean;// = false public var editorUsesEnterKey:Boolean;// = false public var editorDataField:String;// = "text" private var bEditedItemPositionChanged:Boolean;// = false mx_internal var _lockedRowCount:int;// = 0 private var inEndEdit:Boolean;// = false public var editorHeightOffset:Number;// = 0 private var _editedItemPosition:Object; private var _imeMode:String; private var actualRowIndex:int; private var _proposedEditedItemPosition; private var actualColIndex:int;// = 0 protected var measuringObjects:Dictionary; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var createAccessibilityImplementation:Function; public function List(){ itemEditor = new ClassFactory(TextInput); super(); listType = "vertical"; bColumnScrolling = false; itemRenderer = new ClassFactory(ListItemRenderer); _horizontalScrollPolicy = ScrollPolicy.OFF; _verticalScrollPolicy = ScrollPolicy.AUTO; defaultColumnCount = 1; defaultRowCount = 7; addEventListener(ListEvent.ITEM_EDIT_BEGINNING, itemEditorItemEditBeginningHandler, false, EventPriority.DEFAULT_HANDLER); addEventListener(ListEvent.ITEM_EDIT_BEGIN, itemEditorItemEditBeginHandler, false, EventPriority.DEFAULT_HANDLER); addEventListener(ListEvent.ITEM_EDIT_END, itemEditorItemEditEndHandler, false, EventPriority.DEFAULT_HANDLER); } override public function measureWidthOfItems(_arg1:int=-1, _arg2:int=0):Number{ var item:IListItemRenderer; var rw:Number; var data:Object; var factory:IFactory; var index = _arg1; var count = _arg2; if (count == 0){ count = (collection) ? collection.length : 0; }; if (((collection) && ((collection.length == 0)))){ count = 0; }; var w:Number = 0; var bookmark:CursorBookmark = (iterator) ? iterator.bookmark : null; if (((!((index == -1))) && (iterator))){ try { iterator.seek(CursorBookmark.FIRST, index); } catch(e:ItemPendingError) { return (0); }; }; var more = !((iterator == null)); var i:int; while (i < count) { if (more){ data = iterator.current; factory = getItemRendererFactory(data); item = measuringObjects[factory]; if (!item){ item = getMeasuringRenderer(data); }; item.explicitWidth = NaN; setupRendererFromData(item, data); rw = item.measuredWidth; w = Math.max(w, rw); }; if (more){ try { more = iterator.moveNext(); } catch(e:ItemPendingError) { more = false; }; }; i = (i + 1); }; if (iterator){ iterator.seek(bookmark, 0); }; if (w == 0){ if (explicitWidth){ return (explicitWidth); }; return (DEFAULT_MEASURED_WIDTH); }; var paddingLeft:Number = getStyle("paddingLeft"); var paddingRight:Number = getStyle("paddingRight"); w = (w + (paddingLeft + paddingRight)); return (w); } private function findNextEnterItemRenderer(_arg1:KeyboardEvent):void{ if (_proposedEditedItemPosition !== undefined){ return; }; _editedItemPosition = lastEditedItemPosition; var _local2:int = _editedItemPosition.rowIndex; var _local3:int = _editedItemPosition.columnIndex; var _local4:int = (_editedItemPosition.rowIndex + (_arg1.shiftKey) ? -1 : 1); if ((((_local4 < collection.length)) && ((_local4 >= 0)))){ _local2 = _local4; }; var _local5:ListEvent = new ListEvent(ListEvent.ITEM_EDIT_BEGINNING, false, true); _local5.rowIndex = _local2; _local5.columnIndex = 0; dispatchEvent(_local5); } public function get imeMode():String{ return (_imeMode); } private function mouseFocusChangeHandler(_arg1:MouseEvent):void{ if (((((itemEditorInstance) && (!(_arg1.isDefaultPrevented())))) && (itemRendererContains(itemEditorInstance, DisplayObject(_arg1.target))))){ _arg1.preventDefault(); }; } public function set imeMode(_arg1:String):void{ _imeMode = _arg1; } override protected function mouseUpHandler(_arg1:MouseEvent):void{ var _local2:ListEvent; var _local3:IListItemRenderer; var _local4:Sprite; var _local5:int; var _local6:int; var _local7:Point; _local3 = mouseEventToItemRenderer(_arg1); super.mouseUpHandler(_arg1); if (((((_local3) && (_local3.data))) && (!((_local3 == itemEditorInstance))))){ _local7 = itemRendererToIndices(_local3); if (((editable) && (!(dontEdit)))){ _local2 = new ListEvent(ListEvent.ITEM_EDIT_BEGINNING, false, true); _local2.rowIndex = _local7.y; _local2.columnIndex = 0; _local2.itemRenderer = _local3; dispatchEvent(_local2); }; }; } private function itemEditorItemEditEndHandler(_arg1:ListEvent):void{ var bChanged:Boolean; var bFieldChanged:Boolean; var newData:Object; var data:Object; var editCollection:IList; var listData:BaseListData; var fm:IFocusManager; var event = _arg1; if (!event.isDefaultPrevented()){ bChanged = false; bFieldChanged = false; newData = itemEditorInstance[editorDataField]; data = event.itemRenderer.data; if ((data is String)){ if (!(newData is String)){ newData = newData.toString(); }; } else { if ((data is uint)){ if (!(newData is uint)){ newData = uint(newData); }; } else { if ((data is int)){ if (!(newData is int)){ newData = int(newData); }; } else { if ((data is Number)){ if (!(newData is int)){ newData = Number(newData); }; } else { bFieldChanged = true; try { data[labelField] = newData; if (!(data is IPropertyChangeNotifier)){ if (actualCollection){ actualCollection.itemUpdated(data, labelField); } else { collection.itemUpdated(data, labelField); }; }; } catch(e:Error) { trace("attempt to write to", labelField, "failed. You may need a custom ITEM_EDIT_END handler"); }; }; }; }; }; if (!bFieldChanged){ if (data !== newData){ bChanged = true; data = newData; }; if (bChanged){ editCollection = (actualCollection) ? (actualCollection as IList) : (collection as IList); if (editCollection){ IList(editCollection).setItemAt(data, event.rowIndex); } else { trace("attempt to update collection failed. You may need a custom ITEM_EDIT_END handler"); }; }; }; if ((event.itemRenderer is IDropInListItemRenderer)){ listData = BaseListData(IDropInListItemRenderer(event.itemRenderer).listData); listData.label = itemToLabel(data); IDropInListItemRenderer(event.itemRenderer).listData = listData; }; delete visibleData[itemToUID(event.itemRenderer.data)]; event.itemRenderer.data = data; visibleData[itemToUID(data)] = event.itemRenderer; } else { if (event.reason != ListEventReason.OTHER){ if (((itemEditorInstance) && (_editedItemPosition))){ if (selectedIndex != _editedItemPosition.rowIndex){ selectedIndex = _editedItemPosition.rowIndex; }; fm = focusManager; if ((itemEditorInstance is IFocusManagerComponent)){ fm.setFocus(IFocusManagerComponent(itemEditorInstance)); }; }; }; }; if ((((event.reason == ListEventReason.OTHER)) || (!(event.isDefaultPrevented())))){ destroyItemEditor(); }; } private function itemEditorItemEditBeginningHandler(_arg1:ListEvent):void{ if (!_arg1.isDefaultPrevented()){ setEditedItemPosition({columnIndex:_arg1.columnIndex, rowIndex:_arg1.rowIndex}); } else { if (!itemEditorInstance){ _editedItemPosition = null; editable = false; setFocus(); editable = true; }; }; } override public function createItemRenderer(_arg1:Object):IListItemRenderer{ var _local2:IFactory; var _local3:IListItemRenderer; var _local4:Dictionary; var _local5:*; _local2 = getItemRendererFactory(_arg1); if (!_local2){ if (_arg1 == null){ _local2 = nullItemRenderer; }; if (!_local2){ _local2 = itemRenderer; }; }; if (_local2 == itemRenderer){ if (((freeItemRenderers) && (freeItemRenderers.length))){ _local3 = freeItemRenderers.pop(); delete freeItemRenderersByFactory[_local2][_local3]; }; } else { if (freeItemRenderersByFactory){ _local4 = freeItemRenderersByFactory[_local2]; if (_local4){ for (_local5 in _local4) { _local3 = IListItemRenderer(_local5); delete _local4[_local5]; break; }; }; }; }; if (!_local3){ _local3 = _local2.newInstance(); _local3.styleName = this; factoryMap[_local3] = _local2; }; _local3.owner = this; return (_local3); } override protected function focusOutHandler(_arg1:FocusEvent):void{ if (_arg1.target == this){ super.focusOutHandler(_arg1); }; if ((((_arg1.relatedObject == this)) && (itemRendererContains(itemEditorInstance, DisplayObject(_arg1.target))))){ return; }; if ((((_arg1.relatedObject == null)) && (itemRendererContains(editedItemRenderer, DisplayObject(_arg1.target))))){ return; }; if ((((_arg1.relatedObject == null)) && (itemRendererContains(itemEditorInstance, DisplayObject(_arg1.target))))){ return; }; if (((itemEditorInstance) && (((!(_arg1.relatedObject)) || (!(itemRendererContains(itemEditorInstance, _arg1.relatedObject))))))){ endEdit(ListEventReason.OTHER); removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); removeEventListener(MouseEvent.MOUSE_DOWN, mouseFocusChangeHandler); }; } override protected function scrollHorizontally(_arg1:int, _arg2:int, _arg3:Boolean):void{ var _local4:int = listItems.length; var _local5:Number = getStyle("paddingLeft"); var _local6:int; while (_local6 < _local4) { if (listItems[_local6].length){ listItems[_local6][0].x = (-(_arg1) + _local5); }; _local6++; }; } override protected function drawHighlightIndicator(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:uint, _arg7:IListItemRenderer):void{ super.drawHighlightIndicator(_arg1, 0, _arg3, ((unscaledWidth - viewMetrics.left) - viewMetrics.right), _arg5, _arg6, _arg7); } public function get editedItemPosition():Object{ if (_editedItemPosition){ return ({rowIndex:_editedItemPosition.rowIndex, columnIndex:0}); }; return (_editedItemPosition); } private function setEditedItemPosition(_arg1:Object):void{ bEditedItemPositionChanged = true; _proposedEditedItemPosition = _arg1; invalidateDisplayList(); } override protected function drawRowBackgrounds():void{ var _local2:Array; var _local6:int; var _local1:Sprite = Sprite(listContent.getChildByName("rowBGs")); if (!_local1){ _local1 = new FlexSprite(); _local1.mouseEnabled = false; _local1.name = "rowBGs"; listContent.addChildAt(_local1, 0); }; _local2 = getStyle("alternatingItemColors"); if (((!(_local2)) || ((_local2.length == 0)))){ while (_local1.numChildren > _local6) { _local1.removeChildAt((_local1.numChildren - 1)); }; return; }; StyleManager.getColorNames(_local2); var _local3:int; var _local4:int = verticalScrollPosition; var _local5:int; _local6 = listItems.length; while (_local3 < _local6) { var _temp1 = _local5; _local5 = (_local5 + 1); drawRowBackground(_local1, _temp1, rowInfo[_local3].y, rowInfo[_local3].height, _local2[(_local4 % _local2.length)], _local4); _local3++; _local4++; }; while (_local1.numChildren > _local6) { _local1.removeChildAt((_local1.numChildren - 1)); }; } override protected function drawCaretIndicator(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:uint, _arg7:IListItemRenderer):void{ super.drawCaretIndicator(_arg1, 0, _arg3, ((unscaledWidth - viewMetrics.left) - viewMetrics.right), _arg5, _arg6, _arg7); } private function deactivateHandler(_arg1:Event):void{ if (itemEditorInstance){ endEdit(ListEventReason.OTHER); losingFocus = true; setFocus(); }; } protected function layoutEditor(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{ itemEditorInstance.move(_arg1, _arg2); itemEditorInstance.setActualSize(_arg3, _arg4); } private function editorKeyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.ESCAPE){ endEdit(ListEventReason.CANCELLED); } else { if (((_arg1.ctrlKey) && ((_arg1.charCode == 46)))){ endEdit(ListEventReason.CANCELLED); } else { if ((((_arg1.charCode == Keyboard.ENTER)) && (!((_arg1.keyCode == 229))))){ if (editorUsesEnterKey){ return; }; if (endEdit(ListEventReason.NEW_ROW)){ if (!dontEdit){ findNextEnterItemRenderer(_arg1); }; }; }; }; }; } private function itemEditorItemEditBeginHandler(_arg1:ListEvent):void{ var _local2:IFocusManager; stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true); if (((!(_arg1.isDefaultPrevented())) && (!((listItems[actualRowIndex][actualColIndex].data == null))))){ createItemEditor(_arg1.columnIndex, _arg1.rowIndex); if ((((editedItemRenderer is IDropInListItemRenderer)) && ((itemEditorInstance is IDropInListItemRenderer)))){ IDropInListItemRenderer(itemEditorInstance).listData = IDropInListItemRenderer(editedItemRenderer).listData; }; if (!rendererIsEditor){ itemEditorInstance.data = editedItemRenderer.data; }; if ((itemEditorInstance is IInvalidating)){ IInvalidating(itemEditorInstance).validateNow(); }; if ((itemEditorInstance is IIMESupport)){ IIMESupport(itemEditorInstance).imeMode = imeMode; }; _local2 = focusManager; if ((itemEditorInstance is IFocusManagerComponent)){ _local2.setFocus(IFocusManagerComponent(itemEditorInstance)); }; _local2.defaultButtonEnabled = false; _arg1 = new ListEvent(ListEvent.ITEM_FOCUS_IN); _arg1.rowIndex = _editedItemPosition.rowIndex; _arg1.itemRenderer = itemEditorInstance; dispatchEvent(_arg1); }; } private function editingTemporarilyPrevented(_arg1:Object):Boolean{ var _local2:int; var _local3:IListItemRenderer; if (((runningDataEffect) && (_arg1))){ _local2 = ((_arg1.rowIndex - verticalScrollPosition) + offscreenExtraRowsTop); if ((((_local2 < 0)) || ((_local2 >= listItems.length)))){ return (false); }; _local3 = listItems[_local2][0]; if (((_local3) && (((getRendererSemanticValue(_local3, "replaced")) || (getRendererSemanticValue(_local3, "removed")))))){ return (true); }; }; return (false); } override public function measureHeightOfItems(_arg1:int=-1, _arg2:int=0):Number{ var data:Object; var item:IListItemRenderer; var index = _arg1; var count = _arg2; if (count == 0){ count = (collection) ? collection.length : 0; }; var paddingTop:Number = getStyle("paddingTop"); var paddingBottom:Number = getStyle("paddingBottom"); var ww:Number = 200; if (listContent.width){ ww = listContent.width; }; var h:Number = 0; var bookmark:CursorBookmark = (iterator) ? iterator.bookmark : null; if (((!((index == -1))) && (iterator))){ iterator.seek(CursorBookmark.FIRST, index); }; var rh:Number = rowHeight; var more = !((iterator == null)); var i:int; while (i < count) { if (more){ rh = rowHeight; data = iterator.current; item = getMeasuringRenderer(data); item.explicitWidth = ww; setupRendererFromData(item, data); if (variableRowHeight){ rh = ((item.getExplicitOrMeasuredHeight() + paddingTop) + paddingBottom); }; }; h = (h + rh); if (more){ try { more = iterator.moveNext(); } catch(e:ItemPendingError) { more = false; }; }; i = (i + 1); }; if (iterator){ iterator.seek(bookmark, 0); }; return (h); } mx_internal function callSetupRendererFromData(_arg1:IListItemRenderer, _arg2:Object):void{ setupRendererFromData(_arg1, _arg2); } override protected function drawSelectionIndicator(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:uint, _arg7:IListItemRenderer):void{ super.drawSelectionIndicator(_arg1, 0, _arg3, ((unscaledWidth - viewMetrics.left) - viewMetrics.right), _arg5, _arg6, _arg7); } private function keyFocusChangeHandler(_arg1:FocusEvent):void{ if ((((((_arg1.keyCode == Keyboard.TAB)) && (!(_arg1.isDefaultPrevented())))) && (findNextItemRenderer(_arg1.shiftKey)))){ _arg1.preventDefault(); }; } public function set editedItemPosition(_arg1:Object):void{ var _local2:Object = {rowIndex:_arg1.rowIndex, columnIndex:0}; setEditedItemPosition(_local2); } override protected function makeRowsAndColumns(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int, _arg7:Boolean=false, _arg8:uint=0):Point{ var yy:Number; var hh:Number; var i:int; var j:int; var item:IListItemRenderer; var oldItem:IListItemRenderer; var rowData:BaseListData; var data:Object; var wrappedData:Object; var uid:String; var rh:Number; var ld:BaseListData; var rr:Array; var rowInfo:ListRowInfo; var dx:Number; var dy:Number; var dw:Number; var dh:Number; var left = _arg1; var top = _arg2; var right = _arg3; var bottom = _arg4; var firstCol = _arg5; var firstRow = _arg6; var byCount = _arg7; var rowsNeeded = _arg8; listContent.allowItemSizeChangeNotification = false; var paddingLeft:Number = getStyle("paddingLeft"); var paddingRight:Number = getStyle("paddingRight"); var xx:Number = ((left + paddingLeft) - horizontalScrollPosition); var ww:Number = ((right - paddingLeft) - paddingRight); var bSelected:Boolean; var bHighlight:Boolean; var bCaret:Boolean; var colNum:int; var rowNum:int = lockedRowCount; var rowsMade:int; var more:Boolean; var valid:Boolean; yy = top; rowNum = firstRow; more = ((((!((iterator == null))) && (!(iterator.afterLast)))) && (iteratorValid)); while (((((!(byCount)) && ((yy < bottom)))) || (((byCount) && ((rowsNeeded > 0)))))) { if (byCount){ rowsNeeded = (rowsNeeded - 1); }; valid = more; wrappedData = (more) ? iterator.current : null; data = ((wrappedData is ItemWrapper)) ? wrappedData.data : wrappedData; uid = null; if (!listItems[rowNum]){ listItems[rowNum] = []; }; if (valid){ item = listItems[rowNum][colNum]; uid = itemToUID(wrappedData); if (((!(item)) || ((((runningDataEffect) && (dataItemWrappersByRenderer[item]))) ? !((dataItemWrappersByRenderer[item] == wrappedData)) : !((item.data == data))))){ if (allowRendererStealingDuringLayout){ item = visibleData[uid]; if (((!(item)) && (!((wrappedData == data))))){ item = visibleData[itemToUID(data)]; }; }; if (item){ ld = BaseListData(rowMap[item.name]); if (((ld) && ((ld.rowIndex > rowNum)))){ listItems[ld.rowIndex] = []; } else { item = null; }; }; if (!item){ item = getReservedOrFreeItemRenderer(wrappedData); }; if (!item){ item = createItemRenderer(data); item.owner = this; item.styleName = listContent; listContent.addChild(DisplayObject(item)); }; oldItem = listItems[rowNum][colNum]; if (oldItem){ addToFreeItemRenderers(oldItem); }; listItems[rowNum][colNum] = item; }; rowData = makeListData(data, uid, rowNum); rowMap[item.name] = rowData; if ((item is IDropInListItemRenderer)){ if (data != null){ IDropInListItemRenderer(item).listData = rowData; } else { IDropInListItemRenderer(item).listData = null; }; }; item.data = data; item.enabled = enabled; item.visible = true; if (uid != null){ visibleData[uid] = item; }; if (wrappedData != data){ dataItemWrappersByRenderer[item] = wrappedData; }; item.explicitWidth = ww; if ((((item is IInvalidating)) && (((wordWrapChanged) || (variableRowHeight))))){ IInvalidating(item).invalidateSize(); }; UIComponentGlobals.layoutManager.validateClient(item, true); hh = Math.ceil((variableRowHeight) ? ((item.getExplicitOrMeasuredHeight() + cachedPaddingTop) + cachedPaddingBottom) : rowHeight); rh = item.getExplicitOrMeasuredHeight(); item.setActualSize(ww, (variableRowHeight) ? rh : ((rowHeight - cachedPaddingTop) - cachedPaddingBottom)); item.move(xx, (yy + cachedPaddingTop)); } else { hh = ((rowNum > 0)) ? rowInfo[(rowNum - 1)].height : rowHeight; if (hh == 0){ hh = rowHeight; }; oldItem = listItems[rowNum][colNum]; if (oldItem){ addToFreeItemRenderers(oldItem); listItems[rowNum].splice(colNum, 1); }; }; bSelected = !((selectedData[uid] == null)); if (wrappedData != data){ bSelected = ((bSelected) || (selectedData[itemToUID(data)])); bSelected = ((((bSelected) && (!(getRendererSemanticValue(item, ModifiedCollectionView.REPLACEMENT))))) && (!(getRendererSemanticValue(item, ModifiedCollectionView.ADDED)))); }; bHighlight = (highlightUID == uid); bCaret = (caretUID == uid); rowInfo[rowNum] = new ListRowInfo(yy, hh, uid, data); if (valid){ drawItem(item, bSelected, bHighlight, bCaret); }; yy = (yy + hh); rowNum = (rowNum + 1); rowsMade = (rowsMade + 1); if (((iterator) && (more))){ try { more = iterator.moveNext(); } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.CURRENT, 0); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); more = false; iteratorValid = false; }; }; }; if (!byCount){ while (rowNum < listItems.length) { rr = listItems.pop(); rowInfo.pop(); while (rr.length) { item = rr.pop(); addToFreeItemRenderers(item); }; }; }; if (itemEditorInstance){ listContent.setChildIndex(DisplayObject(itemEditorInstance), (listContent.numChildren - 1)); item = listItems[actualRowIndex][actualColIndex]; rowInfo = rowInfo[actualRowIndex]; if (((item) && (!(rendererIsEditor)))){ dx = editorXOffset; dy = editorYOffset; dw = editorWidthOffset; dh = editorHeightOffset; layoutEditor((item.x + dx), (rowInfo.y + dy), Math.min((item.width + dw), ((listContent.width - listContent.x) - itemEditorInstance.x)), Math.min((rowInfo.height + dh), ((listContent.height - listContent.y) - itemEditorInstance.y))); }; }; listContent.allowItemSizeChangeNotification = variableRowHeight; return (new Point(colNum, rowsMade)); } override protected function measure():void{ super.measure(); var _local1:EdgeMetrics = viewMetrics; measuredMinWidth = DEFAULT_MEASURED_MIN_WIDTH; if (((((((initialized) && (variableRowHeight))) && ((explicitRowCount < 1)))) && (isNaN(explicitRowHeight)))){ measuredHeight = height; }; } private function findNextItemRenderer(_arg1:Boolean):Boolean{ if (!lastEditedItemPosition){ return (false); }; if (_proposedEditedItemPosition !== undefined){ return (true); }; _editedItemPosition = lastEditedItemPosition; var _local2:int = _editedItemPosition.rowIndex; var _local3:int = _editedItemPosition.columnIndex; var _local4:int = (_editedItemPosition.rowIndex + (_arg1) ? -1 : 1); if ((((_local4 < collection.length)) && ((_local4 >= 0)))){ _local2 = _local4; } else { setEditedItemPosition(null); losingFocus = true; setFocus(); return (false); }; var _local5:ListEvent = new ListEvent(ListEvent.ITEM_EDIT_BEGINNING, false, true); _local5.rowIndex = _local2; _local5.columnIndex = _local3; dispatchEvent(_local5); return (true); } override protected function mouseDownHandler(_arg1:MouseEvent):void{ var _local2:IListItemRenderer; var _local3:Sprite; var _local5:Point; var _local6:Boolean; _local2 = mouseEventToItemRenderer(_arg1); var _local4:Boolean = itemRendererContains(itemEditorInstance, DisplayObject(_arg1.target)); if (!_local4){ if (((_local2) && (_local2.data))){ _local5 = itemRendererToIndices(_local2); _local6 = true; if (itemEditorInstance){ _local6 = endEdit(ListEventReason.NEW_ROW); }; if (!_local6){ return; }; } else { if (itemEditorInstance){ endEdit(ListEventReason.OTHER); }; }; super.mouseDownHandler(_arg1); }; } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (itemEditorInstance){ return; }; super.keyDownHandler(_arg1); } override protected function focusInHandler(_arg1:FocusEvent):void{ var _local2:Boolean; if (_arg1.target != this){ return; }; if (losingFocus){ losingFocus = false; return; }; super.focusInHandler(_arg1); if (((editable) && (!(isPressed)))){ _editedItemPosition = lastEditedItemPosition; _local2 = !((editedItemPosition == null)); if (!_editedItemPosition){ _editedItemPosition = {rowIndex:0, columnIndex:0}; _local2 = ((listItems.length) && ((listItems[0].length > 0))); }; if (_local2){ setEditedItemPosition(_editedItemPosition); }; }; if (editable){ addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); addEventListener(MouseEvent.MOUSE_DOWN, mouseFocusChangeHandler); }; } override protected function mouseEventToItemRenderer(_arg1:MouseEvent):IListItemRenderer{ var _local2:IListItemRenderer = super.mouseEventToItemRenderer(_arg1); return (((_local2 == itemEditorInstance)) ? null : _local2); } protected function makeListData(_arg1:Object, _arg2:String, _arg3:int):BaseListData{ return (new ListData(itemToLabel(_arg1), itemToIcon(_arg1), labelField, _arg2, this, _arg3)); } public function createItemEditor(_arg1:int, _arg2:int):void{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _arg1 = 0; if (_arg2 > lockedRowCount){ _arg2 = (_arg2 - verticalScrollPosition); }; var _local3:IListItemRenderer = listItems[_arg2][_arg1]; var _local4:ListRowInfo = rowInfo[_arg2]; if (!rendererIsEditor){ _local5 = 0; _local6 = -2; _local7 = 0; _local8 = 4; if (!itemEditorInstance){ _local5 = editorXOffset; _local6 = editorYOffset; _local7 = editorWidthOffset; _local8 = editorHeightOffset; itemEditorInstance = itemEditor.newInstance(); itemEditorInstance.owner = this; itemEditorInstance.styleName = this; listContent.addChild(DisplayObject(itemEditorInstance)); }; listContent.setChildIndex(DisplayObject(itemEditorInstance), (listContent.numChildren - 1)); itemEditorInstance.visible = true; layoutEditor((_local3.x + _local5), (_local4.y + _local6), Math.min((_local3.width + _local7), ((listContent.width - listContent.x) - itemEditorInstance.x)), Math.min((_local4.height + _local8), ((listContent.height - listContent.y) - itemEditorInstance.y))); DisplayObject(itemEditorInstance).addEventListener("focusOut", itemEditorFocusOutHandler); } else { itemEditorInstance = _local3; }; DisplayObject(itemEditorInstance).addEventListener(KeyboardEvent.KEY_DOWN, editorKeyDownHandler); stage.addEventListener(MouseEvent.MOUSE_DOWN, editorMouseDownHandler, true, 0, true); } public function get lockedRowCount():int{ return (_lockedRowCount); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; if (itemEditorInstance){ endEdit(ListEventReason.OTHER); }; invalidateDisplayList(); } protected function endEdit(_arg1:String):Boolean{ if (!editedItemRenderer){ return (true); }; inEndEdit = true; var _local2:ListEvent = new ListEvent(ListEvent.ITEM_EDIT_END, false, true); _local2.rowIndex = editedItemPosition.rowIndex; _local2.itemRenderer = editedItemRenderer; _local2.reason = _arg1; dispatchEvent(_local2); dontEdit = !((itemEditorInstance == null)); if (((!(dontEdit)) && ((_arg1 == ListEventReason.CANCELLED)))){ losingFocus = true; setFocus(); }; inEndEdit = false; return (!(_local2.isDefaultPrevented())); } override protected function collectionChangeHandler(_arg1:Event):void{ var _local2:CollectionEvent; if ((_arg1 is CollectionEvent)){ _local2 = CollectionEvent(_arg1); if (_local2.kind == CollectionEventKind.REMOVE){ if (editedItemPosition){ if (collection.length == 0){ if (itemEditorInstance){ endEdit(ListEventReason.CANCELLED); }; setEditedItemPosition(null); } else { if (_local2.location <= editedItemPosition.rowIndex){ if (inEndEdit){ _editedItemPosition = {columnIndex:editedItemPosition.columnIndex, rowIndex:Math.max(0, (editedItemPosition.rowIndex - _local2.items.length))}; } else { setEditedItemPosition({columnIndex:editedItemPosition.columnIndex, rowIndex:Math.max(0, (editedItemPosition.rowIndex - _local2.items.length))}); }; }; }; }; }; }; super.collectionChangeHandler(_arg1); } override public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if (((listItems.length) && (listItems[0].length))){ return (((borderMetrics.top + cachedPaddingTop) + listItems[0][0].baselinePosition)); }; return (NaN); }; return (super.baselinePosition); } private function itemEditorFocusOutHandler(_arg1:FocusEvent):void{ if (((_arg1.relatedObject) && (contains(_arg1.relatedObject)))){ return; }; if (!_arg1.relatedObject){ return; }; if (itemEditorInstance){ endEdit(ListEventReason.OTHER); }; } override public function set dataProvider(_arg1:Object):void{ if (itemEditorInstance){ endEdit(ListEventReason.OTHER); }; super.dataProvider = _arg1; } override protected function initializeAccessibility():void{ if (createAccessibilityImplementation != null){ createAccessibilityImplementation(this); }; } override protected function configureScrollBars():void{ var _local2:Number; var _local3:int; var _local1:int = listItems.length; if (_local1 == 0){ return; }; var _local4:int = listItems.length; while ((((_local1 > 1)) && (((rowInfo[(_local4 - 1)].y + rowInfo[(_local4 - 1)].height) > (listContent.height - listContent.bottomOffset))))) { _local1--; _local4--; }; var _local5:int = ((verticalScrollPosition - lockedRowCount) - 1); var _local6:int; while (((_local1) && ((listItems[(_local1 - 1)].length == 0)))) { if (((collection) && (((_local1 + _local5) >= collection.length)))){ _local1--; _local6++; } else { break; }; }; if ((((((verticalScrollPosition > 0)) && ((_local6 > 0)))) && (!(runningDataEffect)))){ if (adjustVerticalScrollPositionDownward(Math.max(_local1, 1))){ return; }; }; if (listContent.topOffset){ _local2 = Math.abs(listContent.topOffset); _local3 = 0; while ((rowInfo[_local3].y + rowInfo[_local3].height) <= _local2) { _local1--; _local3++; if (_local3 == _local1){ break; }; }; }; var _local7:int = listItems[0].length; var _local8:Object = horizontalScrollBar; var _local9:Object = verticalScrollBar; var _local10:int = Math.round(unscaledWidth); var _local11:int = (collection) ? (collection.length - lockedRowCount) : 0; var _local12:int = (_local1 - lockedRowCount); setScrollBarProperties((isNaN(_maxHorizontalScrollPosition)) ? Math.round(listContent.width) : Math.round((_maxHorizontalScrollPosition + _local10)), _local10, _local11, _local12); maxVerticalScrollPosition = Math.max((_local11 - _local12), 0); } override protected function mouseWheelHandler(_arg1:MouseEvent):void{ if (itemEditorInstance){ endEdit(ListEventReason.OTHER); }; super.mouseWheelHandler(_arg1); } override public function set maxHorizontalScrollPosition(_arg1:Number):void{ super.maxHorizontalScrollPosition = _arg1; scrollAreaChanged = true; invalidateDisplayList(); } override protected function scrollHandler(_arg1:Event):void{ var scrollBar:ScrollBar; var pos:Number; var delta:int; var o:EdgeMetrics; var bookmark:CursorBookmark; var event = _arg1; if ((event is ScrollEvent)){ if (itemEditorInstance){ endEdit(ListEventReason.OTHER); }; if (((!(liveScrolling)) && ((ScrollEvent(event).detail == ScrollEventDetail.THUMB_TRACK)))){ return; }; scrollBar = ScrollBar(event.target); pos = scrollBar.scrollPosition; removeClipMask(); if (scrollBar == verticalScrollBar){ delta = (pos - verticalScrollPosition); super.scrollHandler(event); if ((((Math.abs(delta) >= (listItems.length - lockedRowCount))) || (!(iteratorValid)))){ try { if (!iteratorValid){ iterator.seek(CursorBookmark.FIRST, pos); } else { iterator.seek(CursorBookmark.CURRENT, delta); }; if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, pos); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; }; bookmark = iterator.bookmark; clearIndicators(); clearVisibleData(); makeRowsAndColumns(0, 0, listContent.width, listContent.height, 0, 0); iterator.seek(bookmark, 0); } else { if (delta != 0){ scrollVertically(pos, Math.abs(delta), Boolean((delta > 0))); }; }; if (variableRowHeight){ configureScrollBars(); }; drawRowBackgrounds(); } else { delta = (pos - _horizontalScrollPosition); super.scrollHandler(event); scrollHorizontally(pos, Math.abs(delta), Boolean((delta > 0))); }; addClipMask(false); }; } public function get editedItemRenderer():IListItemRenderer{ if (!itemEditorInstance){ return (null); }; return (listItems[actualRowIndex][actualColIndex]); } private function commitEditedItemPosition(_arg1:Object):void{ var _local10:String; if (((!(enabled)) || (!(editable)))){ return; }; if (((((((itemEditorInstance) && (_arg1))) && ((itemEditorInstance is IFocusManagerComponent)))) && ((_editedItemPosition.rowIndex == _arg1.rowIndex)))){ IFocusManagerComponent(itemEditorInstance).setFocus(); return; }; if (itemEditorInstance){ if (!_arg1){ _local10 = ListEventReason.OTHER; } else { _local10 = ListEventReason.NEW_ROW; }; if (((!(endEdit(_local10))) && (!((_local10 == ListEventReason.OTHER))))){ return; }; }; _editedItemPosition = _arg1; if (((!(_arg1)) || (dontEdit))){ return; }; var _local2:int = _arg1.rowIndex; var _local3:int = _arg1.columnIndex; if (selectedIndex != _arg1.rowIndex){ commitSelectedIndex(_arg1.rowIndex); }; var _local4:int = lockedRowCount; var _local5:int = ((((verticalScrollPosition + listItems.length) - offscreenExtraRowsTop) - offscreenExtraRowsBottom) - 1); var _local6:int = (((rowInfo[((listItems.length - offscreenExtraRowsBottom) - 1)].y + rowInfo[((listItems.length - offscreenExtraRowsBottom) - 1)].height))>listContent.height) ? 1 : 0; if (_local2 > _local4){ if (_local2 < (verticalScrollPosition + _local4)){ verticalScrollPosition = (_local2 - _local4); } else { while ((((_local2 > _local5)) || ((((((_local2 == _local5)) && ((_local2 > (verticalScrollPosition + _local4))))) && (_local6))))) { if (verticalScrollPosition == maxVerticalScrollPosition){ break; }; verticalScrollPosition = Math.min((verticalScrollPosition + ((_local2 > _local5)) ? (_local2 - _local5) : _local6), maxVerticalScrollPosition); _local5 = ((((verticalScrollPosition + listItems.length) - offscreenExtraRowsTop) - offscreenExtraRowsBottom) - 1); _local6 = (((rowInfo[((listItems.length - offscreenExtraRowsBottom) - 1)].y + rowInfo[((listItems.length - offscreenExtraRowsBottom) - 1)].height))>listContent.height) ? 1 : 0; }; }; actualRowIndex = (_local2 - verticalScrollPosition); } else { if (_local2 == _local4){ verticalScrollPosition = 0; }; actualRowIndex = _local2; }; var _local7:EdgeMetrics = borderMetrics; actualColIndex = _local3; var _local8:IListItemRenderer = listItems[actualRowIndex][actualColIndex]; if (!_local8){ commitEditedItemPosition(null); return; }; if (!isItemEditable(_local8.data)){ commitEditedItemPosition(null); return; }; var _local9:ListEvent = new ListEvent(ListEvent.ITEM_EDIT_BEGIN, false, true); _local9.rowIndex = _editedItemPosition.rowIndex; _local9.itemRenderer = _local8; dispatchEvent(_local9); lastEditedItemPosition = _editedItemPosition; if (bEditedItemPositionChanged){ bEditedItemPositionChanged = false; commitEditedItemPosition(_proposedEditedItemPosition); _proposedEditedItemPosition = undefined; }; if (!itemEditorInstance){ commitEditedItemPosition(null); }; } protected function drawRowBackground(_arg1:Sprite, _arg2:int, _arg3:Number, _arg4:Number, _arg5:uint, _arg6:int):void{ var _local7:Shape; if (_arg2 < _arg1.numChildren){ _local7 = Shape(_arg1.getChildAt(_arg2)); } else { _local7 = new FlexShape(); _local7.name = "rowBackground"; _arg1.addChild(_local7); }; _arg4 = Math.min(rowInfo[_arg2].height, (listContent.height - rowInfo[_arg2].y)); _local7.y = rowInfo[_arg2].y; var _local8:Graphics = _local7.graphics; _local8.clear(); _local8.beginFill(_arg5, getStyle("backgroundAlpha")); _local8.drawRect(0, 0, listContent.width, _arg4); _local8.endFill(); } override protected function commitProperties():void{ var _local1:Number; var _local2:Number; var _local3:IListItemRenderer; var _local4:Number; var _local5:int; super.commitProperties(); if (itemsNeedMeasurement){ itemsNeedMeasurement = false; if (isNaN(explicitRowHeight)){ if (iterator){ _local1 = getStyle("paddingTop"); _local2 = getStyle("paddingBottom"); _local3 = getMeasuringRenderer(iterator.current); _local4 = 200; if (listContent.width){ _local4 = listContent.width; }; _local3.explicitWidth = _local4; setupRendererFromData(_local3, iterator.current); _local5 = ((_local3.getExplicitOrMeasuredHeight() + _local1) + _local2); setRowHeight(Math.max(_local5, 20)); } else { setRowHeight(20); }; }; if (isNaN(explicitColumnWidth)){ setColumnWidth(measureWidthOfItems(0, ((explicitRowCount)<1) ? defaultRowCount : explicitRowCount)); }; }; } mx_internal function getMeasuringRenderer(_arg1:Object):IListItemRenderer{ var _local2:IListItemRenderer; if (!measuringObjects){ measuringObjects = new Dictionary(true); }; var _local3:IFactory = getItemRendererFactory(_arg1); _local2 = measuringObjects[_local3]; if (!_local2){ _local2 = createItemRenderer(_arg1); _local2.owner = this; _local2.name = "hiddenItem"; _local2.visible = false; _local2.styleName = listContent; listContent.addChild(DisplayObject(_local2)); measuringObjects[_local3] = _local2; }; return (_local2); } mx_internal function purgeMeasuringRenderers():void{ var _local1:IListItemRenderer; for each (_local1 in measuringObjects) { if (_local1.parent){ _local1.parent.removeChild(DisplayObject(_local1)); }; }; if (!measuringObjects){ measuringObjects = new Dictionary(true); }; } private function adjustVerticalScrollPositionDownward(_arg1:int):Boolean{ var n:int; var j:int; var more:Boolean; var data:Object; var rowCount = _arg1; var bookmark:CursorBookmark = iterator.bookmark; var h:Number = 0; var ch:Number = 0; var paddingTop:Number = getStyle("paddingTop"); var paddingBottom:Number = getStyle("paddingBottom"); var paddingLeft:Number = getStyle("paddingLeft"); var paddingRight:Number = getStyle("paddingRight"); h = (rowInfo[(rowCount - 1)].y + rowInfo[(rowCount - 1)].height); h = ((listContent.heightExcludingOffsets - listContent.topOffset) - h); var numRows:int; try { if (iterator.afterLast){ iterator.seek(CursorBookmark.LAST, 0); } else { more = iterator.movePrevious(); }; } catch(e:ItemPendingError) { more = false; }; if (!more){ super.verticalScrollPosition = 0; try { iterator.seek(CursorBookmark.FIRST, 0); if (!iteratorValid){ iteratorValid = true; lastSeekPending = null; }; } catch(e:ItemPendingError) { lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, 0); e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler, lastSeekPending)); iteratorValid = false; invalidateList(); return (true); }; updateList(); return (true); }; var item:IListItemRenderer = getMeasuringRenderer(iterator.current); item.explicitWidth = ((listContent.width - paddingLeft) - paddingRight); while ((((h > 0)) && (more))) { if (more){ data = iterator.current; setupRendererFromData(item, data); ch = (variableRowHeight) ? ((item.getExplicitOrMeasuredHeight() + paddingBottom) + paddingTop) : rowHeight; }; h = (h - ch); try { more = iterator.movePrevious(); numRows = (numRows + 1); } catch(e:ItemPendingError) { more = false; }; }; if (h < 0){ numRows = (numRows - 1); }; iterator.seek(bookmark, 0); verticalScrollPosition = Math.max(0, (verticalScrollPosition - numRows)); if ((((numRows > 0)) && (!(variableRowHeight)))){ configureScrollBars(); }; return ((numRows > 0)); } public function isItemEditable(_arg1:Object):Boolean{ if (!editable){ return (false); }; if (_arg1 == null){ return (false); }; return (true); } override protected function adjustListContent(_arg1:Number=-1, _arg2:Number=-1):void{ var _local3:Number = (viewMetrics.left + Math.max(listContent.leftOffset, 0)); var _local4:Number = (viewMetrics.top + listContent.topOffset); listContent.move(_local3, _local4); var _local5:Number = ((Math.max(0, listContent.rightOffset) - _local3) - viewMetrics.right); var _local6:Number = ((Math.max(0, listContent.bottomOffset) - _local4) - viewMetrics.bottom); var _local7:Number = (_arg1 + _local5); if ((((horizontalScrollPolicy == ScrollPolicy.ON)) || ((((horizontalScrollPolicy == ScrollPolicy.AUTO)) && (!(isNaN(_maxHorizontalScrollPosition))))))){ if (isNaN(_maxHorizontalScrollPosition)){ _local7 = (_local7 * 2); } else { _local7 = (_local7 + _maxHorizontalScrollPosition); }; }; listContent.setActualSize(_local7, (_arg2 + _local6)); } private function editorMouseDownHandler(_arg1:MouseEvent):void{ if (!itemRendererContains(itemEditorInstance, DisplayObject(_arg1.target))){ endEdit(ListEventReason.OTHER); }; } override public function set itemRenderer(_arg1:IFactory):void{ super.itemRenderer = _arg1; purgeMeasuringRenderers(); } mx_internal function setupRendererFromData(_arg1:IListItemRenderer, _arg2:Object):void{ var _local3:Object = ((_arg2 is ItemWrapper)) ? _arg2.data : _arg2; if ((_arg1 is IDropInListItemRenderer)){ if (_local3 != null){ IDropInListItemRenderer(_arg1).listData = makeListData(_local3, itemToUID(_arg2), 0); } else { IDropInListItemRenderer(_arg1).listData = null; }; }; _arg1.data = _local3; if ((_arg1 is IInvalidating)){ IInvalidating(_arg1).invalidateSize(); }; UIComponentGlobals.layoutManager.validateClient(_arg1, true); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); setRowCount(listItems.length); if (((bEditedItemPositionChanged) && (!(editingTemporarilyPrevented(_proposedEditedItemPosition))))){ bEditedItemPositionChanged = false; commitEditedItemPosition(_proposedEditedItemPosition); _proposedEditedItemPosition = undefined; }; drawRowBackgrounds(); } public function destroyItemEditor():void{ var _local1:ListEvent; if (itemEditorInstance){ DisplayObject(itemEditorInstance).removeEventListener(KeyboardEvent.KEY_DOWN, editorKeyDownHandler); if (stage){ stage.removeEventListener(MouseEvent.MOUSE_DOWN, editorMouseDownHandler, true); }; _local1 = new ListEvent(ListEvent.ITEM_FOCUS_OUT); _local1.rowIndex = _editedItemPosition.rowIndex; _local1.itemRenderer = editedItemRenderer; dispatchEvent(_local1); if (!rendererIsEditor){ if (((itemEditorInstance) && ((itemEditorInstance is UIComponent)))){ UIComponent(itemEditorInstance).drawFocus(false); }; listContent.removeChild(DisplayObject(itemEditorInstance)); }; itemEditorInstance = null; _editedItemPosition = null; }; } mx_internal function callMakeListData(_arg1:Object, _arg2:String, _arg3:int):BaseListData{ return (makeListData(_arg1, _arg2, _arg3)); } public function set lockedRowCount(_arg1:int):void{ _lockedRowCount = _arg1; invalidateDisplayList(); } } }//package mx.controls
Section 73
//SWFLoader (mx.controls.SWFLoader) package mx.controls { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import flash.utils.*; import flash.system.*; import flash.net.*; import mx.utils.*; public class SWFLoader extends UIComponent { mx_internal var contentHolder:DisplayObject; private var brokenImage:Boolean;// = false private var _bytesLoaded:Number;// = NAN private var _autoLoad:Boolean;// = true private var _loaderContext:LoaderContext; private var requestedURL:URLRequest; private var _showBusyCursor:Boolean;// = false private var _scaleContent:Boolean;// = true private var _bytesTotal:Number;// = NAN private var flexContent:Boolean;// = false private var explicitLoaderContext:Boolean;// = false private var _maintainAspectRatio:Boolean;// = true private var resizableContent:Boolean;// = false private var brokenImageBorder:IFlexDisplayObject; private var isContentLoaded:Boolean;// = false private var attemptingChildAppDomain:Boolean;// = false private var _trustContent:Boolean;// = false private var scaleContentChanged:Boolean;// = false private var _source:Object; private var contentRequestID:String;// = null private var contentChanged:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; public function SWFLoader(){ tabChildren = true; tabEnabled = false; addEventListener(FlexEvent.INITIALIZE, initializeHandler); showInAutomationHierarchy = false; } public function get trustContent():Boolean{ return (_trustContent); } public function set trustContent(_arg1:Boolean):void{ if (_trustContent != _arg1){ _trustContent = _arg1; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("trustContentChanged")); }; } public function get contentHeight():Number{ return ((contentHolder) ? contentHolder.height : NaN); } public function get maintainAspectRatio():Boolean{ return (_maintainAspectRatio); } private function contentLoaderInfo_progressEventHandler(_arg1:ProgressEvent):void{ _bytesTotal = _arg1.bytesTotal; _bytesLoaded = _arg1.bytesLoaded; dispatchEvent(_arg1); } private function contentLoaded():void{ var loaderInfo:LoaderInfo; isContentLoaded = true; if ((contentHolder is Loader)){ loaderInfo = Loader(contentHolder).contentLoaderInfo; }; resizableContent = false; if (loaderInfo){ if (loaderInfo.contentType == "application/x-shockwave-flash"){ resizableContent = true; }; if (resizableContent){ try { flexContent = (Loader(contentHolder).content is IFlexDisplayObject); } catch(e:Error) { flexContent = false; }; }; }; try { if (((((tabChildren) && ((contentHolder is Loader)))) && ((Loader(contentHolder).content is DisplayObjectContainer)))){ Loader(contentHolder).tabChildren = true; DisplayObjectContainer(Loader(contentHolder).content).tabChildren = true; }; } catch(e:Error) { }; invalidateSize(); invalidateDisplayList(); } override public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (0); }; return (super.baselinePosition); } private function unScaleContent():void{ contentHolder.scaleX = 1; contentHolder.scaleY = 1; contentHolder.x = 0; contentHolder.y = 0; } private function get contentHolderHeight():Number{ var loaderInfo:LoaderInfo; var content:IFlexDisplayObject; var testContent:DisplayObject; if ((contentHolder is Loader)){ loaderInfo = Loader(contentHolder).contentLoaderInfo; }; if (loaderInfo){ if (loaderInfo.contentType == "application/x-shockwave-flash"){ try { content = (Loader(contentHolder).content as IFlexDisplayObject); if (content){ return (content.measuredHeight); }; } catch(error:Error) { return (contentHolder.height); }; } else { try { testContent = Loader(contentHolder).content; } catch(error:Error) { return (contentHolder.height); }; }; return (loaderInfo.height); }; if ((contentHolder is IUIComponent)){ return (IUIComponent(contentHolder).getExplicitOrMeasuredHeight()); }; if ((contentHolder is IFlexDisplayObject)){ return (IFlexDisplayObject(contentHolder).measuredHeight); }; return (contentHolder.height); } public function set maintainAspectRatio(_arg1:Boolean):void{ _maintainAspectRatio = _arg1; dispatchEvent(new Event("maintainAspectRatioChanged")); } public function set showBusyCursor(_arg1:Boolean):void{ if (_showBusyCursor != _arg1){ _showBusyCursor = _arg1; if (_showBusyCursor){ CursorManager.registerToUseBusyCursor(this); } else { CursorManager.unRegisterToUseBusyCursor(this); }; }; } public function get bytesTotal():Number{ return (_bytesTotal); } private function initializeHandler(_arg1:FlexEvent):void{ if (contentChanged){ contentChanged = false; if (_autoLoad){ load(_source); }; }; } public function get showBusyCursor():Boolean{ return (_showBusyCursor); } public function set scaleContent(_arg1:Boolean):void{ if (_scaleContent != _arg1){ _scaleContent = _arg1; scaleContentChanged = true; invalidateDisplayList(); }; dispatchEvent(new Event("scaleContentChanged")); } private function contentLoaderInfo_openEventHandler(_arg1:Event):void{ dispatchEvent(_arg1); } override public function regenerateStyleCache(_arg1:Boolean):void{ var sm:ISystemManager; var recursive = _arg1; super.regenerateStyleCache(recursive); try { sm = (content as ISystemManager); if (sm != null){ Object(sm).regenerateStyleCache(recursive); }; } catch(error:Error) { }; } public function get loaderContext():LoaderContext{ return (_loaderContext); } private function getHorizontalAlignValue():Number{ var _local1:String = getStyle("horizontalAlign"); if (_local1 == "left"){ return (0); }; if (_local1 == "right"){ return (1); }; return (0.5); } public function get percentLoaded():Number{ var _local1:Number = (((isNaN(_bytesTotal)) || ((_bytesTotal == 0)))) ? 0 : (100 * (_bytesLoaded / _bytesTotal)); if (isNaN(_local1)){ _local1 = 0; }; return (_local1); } private function contentLoaderInfo_unloadEventHandler(_arg1:Event):void{ dispatchEvent(_arg1); } mx_internal function contentLoaderInfo_completeEventHandler(_arg1:Event):void{ if (LoaderInfo(_arg1.target).loader != contentHolder){ return; }; dispatchEvent(_arg1); contentLoaded(); } override public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{ var sm:ISystemManager; var styleProp = _arg1; var recursive = _arg2; super.notifyStyleChangeInChildren(styleProp, recursive); try { sm = (content as ISystemManager); if (sm != null){ Object(sm).notifyStyleChangeInChildren(styleProp, recursive); }; } catch(error:Error) { }; } public function get autoLoad():Boolean{ return (_autoLoad); } public function set source(_arg1:Object):void{ if (_source != _arg1){ _source = _arg1; contentChanged = true; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("sourceChanged")); }; } public function get source():Object{ return (_source); } private function contentLoaderInfo_httpStatusEventHandler(_arg1:HTTPStatusEvent):void{ dispatchEvent(_arg1); } public function set loaderContext(_arg1:LoaderContext):void{ _loaderContext = _arg1; explicitLoaderContext = true; dispatchEvent(new Event("loaderContextChanged")); } private function get contentHolderWidth():Number{ var loaderInfo:LoaderInfo; var content:IFlexDisplayObject; var testContent:DisplayObject; if ((contentHolder is Loader)){ loaderInfo = Loader(contentHolder).contentLoaderInfo; }; if (loaderInfo){ if (loaderInfo.contentType == "application/x-shockwave-flash"){ try { content = (Loader(contentHolder).content as IFlexDisplayObject); if (content){ return (content.measuredWidth); }; } catch(error:Error) { return (contentHolder.width); }; } else { try { testContent = Loader(contentHolder).content; } catch(error:Error) { return (contentHolder.width); }; }; return (loaderInfo.width); }; if ((contentHolder is IUIComponent)){ return (IUIComponent(contentHolder).getExplicitOrMeasuredWidth()); }; if ((contentHolder is IFlexDisplayObject)){ return (IFlexDisplayObject(contentHolder).measuredWidth); }; return (contentHolder.width); } private function loadContent(_arg1:Object):DisplayObject{ var child:DisplayObject; var cls:Class; var url:String; var byteArray:ByteArray; var loader:Loader; var lc:LoaderContext; var rootURL:String; var lastIndex:int; var message:String; var classOrString = _arg1; if ((classOrString is Class)){ cls = Class(classOrString); } else { if ((classOrString is String)){ try { cls = Class(systemManager.getDefinitionByName(String(classOrString))); } catch(e:Error) { }; url = String(classOrString); } else { if ((classOrString is ByteArray)){ byteArray = ByteArray(classOrString); } else { url = classOrString.toString(); }; }; }; if (cls){ var _local3 = new (cls); child = _local3; contentHolder = _local3; addChild(child); contentLoaded(); } else { if ((classOrString is DisplayObject)){ _local3 = DisplayObject(classOrString); child = _local3; contentHolder = _local3; addChild(child); contentLoaded(); } else { if (byteArray){ loader = new FlexLoader(); child = loader; addChild(child); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, contentLoaderInfo_completeEventHandler); loader.contentLoaderInfo.addEventListener(Event.INIT, contentLoaderInfo_initEventHandler); loader.contentLoaderInfo.addEventListener(Event.UNLOAD, contentLoaderInfo_unloadEventHandler); loader.loadBytes(byteArray, loaderContext); } else { if (url){ loader = new FlexLoader(); child = loader; addChild(loader); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, contentLoaderInfo_completeEventHandler); loader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, contentLoaderInfo_httpStatusEventHandler); loader.contentLoaderInfo.addEventListener(Event.INIT, contentLoaderInfo_initEventHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, contentLoaderInfo_ioErrorEventHandler); loader.contentLoaderInfo.addEventListener(Event.OPEN, contentLoaderInfo_openEventHandler); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, contentLoaderInfo_progressEventHandler); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, contentLoaderInfo_securityErrorEventHandler); loader.contentLoaderInfo.addEventListener(Event.UNLOAD, contentLoaderInfo_unloadEventHandler); if ((((((Capabilities.isDebugger == true)) && ((url.indexOf(".jpg") == -1)))) && ((LoaderUtil.normalizeURL(Application.application.systemManager.loaderInfo).indexOf("debug=true") > -1)))){ url = (url + ((url.indexOf("?"))>-1) ? "&debug=true" : "?debug=true"); }; if (!(((((url.indexOf(":") > -1)) || ((url.indexOf("/") == 0)))) || ((url.indexOf("\\") == 0)))){ if (((!((SystemManagerGlobals.bootstrapLoaderInfoURL == null))) && (!((SystemManagerGlobals.bootstrapLoaderInfoURL == ""))))){ rootURL = SystemManagerGlobals.bootstrapLoaderInfoURL; } else { if (root){ rootURL = LoaderUtil.normalizeURL(root.loaderInfo); } else { if (systemManager){ rootURL = LoaderUtil.normalizeURL(DisplayObject(systemManager).loaderInfo); }; }; }; if (rootURL){ lastIndex = Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/")); if (lastIndex != -1){ url = (rootURL.substr(0, (lastIndex + 1)) + url); }; }; }; requestedURL = new URLRequest(url); lc = loaderContext; if (!lc){ lc = new LoaderContext(); _loaderContext = lc; if (trustContent){ lc.securityDomain = SecurityDomain.currentDomain; } else { attemptingChildAppDomain = true; lc.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); }; }; loader.load(requestedURL, lc); } else { message = resourceManager.getString("controls", "notLoadable", [source]); throw (new Error(message)); }; }; }; }; invalidateDisplayList(); return (child); } public function get contentWidth():Number{ return ((contentHolder) ? contentHolder.width : NaN); } public function get scaleContent():Boolean{ return (_scaleContent); } public function get bytesLoaded():Number{ return (_bytesLoaded); } override protected function commitProperties():void{ super.commitProperties(); if (contentChanged){ contentChanged = false; if (_autoLoad){ load(_source); }; }; } private function contentLoaderInfo_securityErrorEventHandler(_arg1:SecurityErrorEvent):void{ var _local2:LoaderContext; if (attemptingChildAppDomain){ attemptingChildAppDomain = false; _local2 = new LoaderContext(); _loaderContext = _local2; callLater(load); return; }; dispatchEvent(_arg1); } public function load(_arg1:Object=null):void{ var imageData:Bitmap; var url = _arg1; if (url){ _source = url; }; if (contentHolder){ if (isContentLoaded){ if ((contentHolder is Loader)){ try { if ((Loader(contentHolder).content is Bitmap)){ imageData = Bitmap(Loader(contentHolder).content); if (imageData.bitmapData){ imageData.bitmapData = null; }; }; } catch(error:Error) { }; Loader(contentHolder).unload(); if (!explicitLoaderContext){ _loaderContext = null; }; } else { if ((contentHolder is Bitmap)){ imageData = Bitmap(contentHolder); if (imageData.bitmapData){ imageData.bitmapData = null; }; }; }; } else { if ((contentHolder is Loader)){ try { Loader(contentHolder).close(); } catch(error:Error) { }; }; }; try { if (contentHolder.parent == this){ removeChild(contentHolder); }; } catch(error:Error) { try { removeChild(contentHolder); } catch(error1:Error) { }; }; contentHolder = null; }; isContentLoaded = false; brokenImage = false; if (((!(_source)) || ((_source == "")))){ return; }; contentHolder = loadContent(_source); } public function set autoLoad(_arg1:Boolean):void{ if (_autoLoad != _arg1){ _autoLoad = _arg1; contentChanged = true; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("autoLoadChanged")); }; } private function contentLoaderInfo_initEventHandler(_arg1:Event):void{ dispatchEvent(_arg1); } override protected function measure():void{ var _local1:Number; var _local2:Number; super.measure(); if (isContentLoaded){ _local1 = contentHolder.scaleX; _local2 = contentHolder.scaleY; contentHolder.scaleX = 1; contentHolder.scaleY = 1; measuredWidth = contentHolderWidth; measuredHeight = contentHolderHeight; contentHolder.scaleX = _local1; contentHolder.scaleY = _local2; } else { if (((!(_source)) || ((_source == "")))){ measuredWidth = 0; measuredHeight = 0; }; }; } private function doScaleLoader():void{ if (!isContentLoaded){ return; }; unScaleContent(); var _local1:Number = unscaledWidth; var _local2:Number = unscaledHeight; if ((((contentHolderWidth > _local1)) || ((contentHolderHeight > _local2)))){ contentHolder.scrollRect = new Rectangle(0, 0, _local1, _local2); } else { contentHolder.scrollRect = null; }; contentHolder.x = ((_local1 - contentHolderWidth) * getHorizontalAlignValue()); contentHolder.y = ((_local2 - contentHolderHeight) * getVerticalAlignValue()); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local3:Class; super.updateDisplayList(_arg1, _arg2); if (contentChanged){ contentChanged = false; if (_autoLoad){ load(_source); }; }; if (isContentLoaded){ if (((_scaleContent) && (!(brokenImage)))){ doScaleContent(); } else { doScaleLoader(); }; scaleContentChanged = false; }; if (((brokenImage) && (!(brokenImageBorder)))){ _local3 = getStyle("brokenImageBorderSkin"); if (_local3){ brokenImageBorder = IFlexDisplayObject(new (_local3)); if ((brokenImageBorder is ISimpleStyleClient)){ ISimpleStyleClient(brokenImageBorder).styleName = this; }; addChild(DisplayObject(brokenImageBorder)); }; } else { if (((!(brokenImage)) && (brokenImageBorder))){ removeChild(DisplayObject(brokenImageBorder)); brokenImageBorder = null; }; }; if (brokenImageBorder){ brokenImageBorder.setActualSize(_arg1, _arg2); }; } private function getVerticalAlignValue():Number{ var _local1:String = getStyle("verticalAlign"); if (_local1 == "top"){ return (0); }; if (_local1 == "bottom"){ return (1); }; return (0.5); } public function get content():DisplayObject{ if ((contentHolder is Loader)){ return (Loader(contentHolder).content); }; return (contentHolder); } private function doScaleContent():void{ var interiorWidth:Number; var interiorHeight:Number; var contentWidth:Number; var contentHeight:Number; var x:Number; var y:Number; var newXScale:Number; var newYScale:Number; var scale:Number; var w:Number; var h:Number; var holder:Loader; var lInfo:LoaderInfo; if (!isContentLoaded){ return; }; if (((!(resizableContent)) || (((maintainAspectRatio) && (!(flexContent)))))){ unScaleContent(); interiorWidth = unscaledWidth; interiorHeight = unscaledHeight; contentWidth = contentHolderWidth; contentHeight = contentHolderHeight; x = 0; y = 0; newXScale = ((contentWidth == 0)) ? 1 : (interiorWidth / contentWidth); newYScale = ((contentHeight == 0)) ? 1 : (interiorHeight / contentHeight); if (_maintainAspectRatio){ if (newXScale > newYScale){ x = Math.floor(((interiorWidth - (contentWidth * newYScale)) * getHorizontalAlignValue())); scale = newYScale; } else { y = Math.floor(((interiorHeight - (contentHeight * newXScale)) * getVerticalAlignValue())); scale = newXScale; }; contentHolder.scaleX = scale; contentHolder.scaleY = scale; } else { contentHolder.scaleX = newXScale; contentHolder.scaleY = newYScale; }; contentHolder.x = x; contentHolder.y = y; } else { contentHolder.x = 0; contentHolder.y = 0; w = unscaledWidth; h = unscaledHeight; if ((contentHolder is Loader)){ holder = Loader(contentHolder); try { if (holder.content.width > 0){ if ((holder.content is IFlexDisplayObject)){ IFlexDisplayObject(holder.content).setActualSize(w, h); } else { lInfo = holder.contentLoaderInfo; if (lInfo){ contentHolder.scaleX = (w / lInfo.width); contentHolder.scaleY = (h / lInfo.height); } else { contentHolder.width = w; contentHolder.height = h; }; }; } else { if (!(holder.content is IFlexDisplayObject)){ contentHolder.width = w; contentHolder.height = h; }; }; } catch(error:Error) { contentHolder.width = w; contentHolder.height = h; }; } else { contentHolder.width = w; contentHolder.height = h; }; }; } private function contentLoaderInfo_ioErrorEventHandler(_arg1:IOErrorEvent):void{ source = getStyle("brokenImageSkin"); load(); contentChanged = false; brokenImage = true; if (hasEventListener(_arg1.type)){ dispatchEvent(_arg1); }; } } }//package mx.controls
Section 74
//TextArea (mx.controls.TextArea) package mx.controls { import flash.display.*; import flash.text.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.controls.listClasses.*; import flash.system.*; import flash.accessibility.*; public class TextArea extends ScrollControlBase implements IDataRenderer, IDropInListItemRenderer, IFocusManagerComponent, IIMESupport, IListItemRenderer, IFontContextComponent { private var _text:String;// = "" private var _selectable:Boolean;// = true private var _textWidth:Number; private var _restrict:String;// = null private var htmlTextChanged:Boolean;// = false private var _maxChars:int;// = 0 private var enabledChanged:Boolean;// = false private var _condenseWhite:Boolean;// = false private var accessibilityPropertiesChanged:Boolean;// = false private var _hScrollPosition:Number; private var _textHeight:Number; private var displayAsPasswordChanged:Boolean;// = false private var prevMode:String;// = null private var selectableChanged:Boolean;// = false private var restrictChanged:Boolean;// = false private var selectionChanged:Boolean;// = false private var maxCharsChanged:Boolean;// = false private var _tabIndex:int;// = -1 private var errorCaught:Boolean;// = false private var _selectionBeginIndex:int;// = 0 private var wordWrapChanged:Boolean;// = false private var _data:Object; private var explicitHTMLText:String;// = null private var styleSheetChanged:Boolean;// = false private var tabIndexChanged:Boolean;// = false private var editableChanged:Boolean;// = false private var _editable:Boolean;// = true private var allowScrollEvent:Boolean;// = true private var _imeMode:String;// = null private var condenseWhiteChanged:Boolean;// = false protected var textField:IUITextField; private var _listData:BaseListData; private var _displayAsPassword:Boolean;// = false private var _wordWrap:Boolean;// = true private var _styleSheet:StyleSheet; private var textChanged:Boolean;// = false private var _accessibilityProperties:AccessibilityProperties; private var _selectionEndIndex:int;// = 0 private var _htmlText:String;// = "" private var _vScrollPosition:Number; private var textSet:Boolean; mx_internal static const VERSION:String = "3.0.0.0"; public function TextArea(){ tabChildren = true; _horizontalScrollPolicy = ScrollPolicy.AUTO; _verticalScrollPolicy = ScrollPolicy.AUTO; } public function get imeMode():String{ return (_imeMode); } public function set imeMode(_arg1:String):void{ _imeMode = _arg1; } override protected function focusOutHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager = focusManager; if (_local2){ _local2.defaultButtonEnabled = true; }; super.focusOutHandler(_arg1); if (((!((_imeMode == null))) && (_editable))){ if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((prevMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = prevMode; }; IME.enabled = false; }; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } mx_internal function getTextField():IUITextField{ return (textField); } private function textField_textInputHandler(_arg1:TextEvent):void{ _arg1.stopImmediatePropagation(); var _local2:TextEvent = new TextEvent(TextEvent.TEXT_INPUT, false, true); _local2.text = _arg1.text; dispatchEvent(_local2); if (_local2.isDefaultPrevented()){ _arg1.preventDefault(); }; } override public function get accessibilityProperties():AccessibilityProperties{ return (_accessibilityProperties); } override protected function createChildren():void{ super.createChildren(); createTextField(-1); } private function adjustScrollBars():void{ var _local1:Number = ((textField.bottomScrollV - textField.scrollV) + 1); var _local2:Number = textField.numLines; setScrollBarProperties((textField.width + textField.maxScrollH), textField.width, textField.numLines, _local1); } private function textFieldChanged(_arg1:Boolean, _arg2:Boolean):void{ var _local3:Boolean; var _local4:Boolean; if (!_arg1){ _local3 = !((_text == textField.text)); _text = textField.text; }; _local4 = !((_htmlText == textField.htmlText)); _htmlText = textField.htmlText; if (_local3){ dispatchEvent(new Event("textChanged")); if (_arg2){ dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; }; if (_local4){ dispatchEvent(new Event("htmlTextChanged")); }; _textWidth = textField.textWidth; _textHeight = textField.textHeight; } private function textField_ioErrorHandler(_arg1:IOErrorEvent):void{ } public function get text():String{ return (_text); } public function get styleSheet():StyleSheet{ return (_styleSheet); } mx_internal function createTextField(_arg1:int):void{ if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.autoSize = TextFieldAutoSize.NONE; textField.enabled = enabled; textField.ignorePadding = true; textField.multiline = true; textField.selectable = true; textField.styleName = this; textField.tabEnabled = true; textField.type = TextFieldType.INPUT; textField.useRichTextClipboard = true; textField.wordWrap = true; textField.addEventListener(Event.CHANGE, textField_changeHandler); textField.addEventListener(Event.SCROLL, textField_scrollHandler); textField.addEventListener(IOErrorEvent.IO_ERROR, textField_ioErrorHandler); textField.addEventListener(TextEvent.TEXT_INPUT, textField_textInputHandler); textField.addEventListener("textFieldStyleChange", textField_textFieldStyleChangeHandler); textField.addEventListener("textFormatChange", textField_textFormatChangeHandler); textField.addEventListener("textInsert", textField_textModifiedHandler); textField.addEventListener("textReplace", textField_textModifiedHandler); if (_arg1 == -1){ addChild(DisplayObject(textField)); } else { addChildAt(DisplayObject(textField), _arg1); }; }; } override public function get tabIndex():int{ return (_tabIndex); } override public function set accessibilityProperties(_arg1:AccessibilityProperties):void{ if (_arg1 == _accessibilityProperties){ return; }; _accessibilityProperties = _arg1; accessibilityPropertiesChanged = true; invalidateProperties(); } public function setSelection(_arg1:int, _arg2:int):void{ _selectionBeginIndex = _arg1; _selectionEndIndex = _arg2; selectionChanged = true; invalidateProperties(); } public function get condenseWhite():Boolean{ return (_condenseWhite); } override protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((((_arg1 == textField)) || (super.isOurFocus(_arg1)))); } public function get displayAsPassword():Boolean{ return (_displayAsPassword); } public function get selectionBeginIndex():int{ return ((textField) ? textField.selectionBeginIndex : _selectionBeginIndex); } public function get selectable():Boolean{ return (_selectable); } override public function set verticalScrollPosition(_arg1:Number):void{ super.verticalScrollPosition = _arg1; _vScrollPosition = _arg1; if (textField){ textField.scrollV = (_arg1 + 1); textField.background = false; } else { invalidateProperties(); }; } public function set text(_arg1:String):void{ textSet = true; if (!_arg1){ _arg1 = ""; }; if (((!(isHTML)) && ((_arg1 == _text)))){ return; }; _text = _arg1; textChanged = true; _htmlText = null; explicitHTMLText = null; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("textChanged")); dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } public function set data(_arg1:Object):void{ var _local2:*; _data = _arg1; if (_listData){ _local2 = _listData.label; } else { if (_data != null){ if ((_data is String)){ _local2 = String(_data); } else { _local2 = _data.toString(); }; }; }; if (((!((_local2 === undefined))) && (!(textSet)))){ text = _local2; textSet = false; }; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } public function set styleSheet(_arg1:StyleSheet):void{ _styleSheet = _arg1; styleSheetChanged = true; htmlTextChanged = true; invalidateProperties(); } override protected function measure():void{ super.measure(); measuredMinWidth = DEFAULT_MEASURED_MIN_WIDTH; measuredWidth = DEFAULT_MEASURED_WIDTH; measuredMinHeight = (measuredHeight = (2 * DEFAULT_MEASURED_MIN_HEIGHT)); } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } public function get selectionEndIndex():int{ return ((textField) ? textField.selectionEndIndex : _selectionEndIndex); } public function get editable():Boolean{ return (_editable); } override protected function focusInHandler(_arg1:FocusEvent):void{ var message:String; var event = _arg1; if (event.target == this){ systemManager.stage.focus = TextField(textField); }; var fm:IFocusManager = focusManager; if (((editable) && (fm))){ fm.showFocusIndicator = true; }; if (fm){ fm.defaultButtonEnabled = false; }; super.focusInHandler(event); if (((!((_imeMode == null))) && (_editable))){ IME.enabled = true; prevMode = IME.conversionMode; try { if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _imeMode; }; errorCaught = false; } catch(e:Error) { errorCaught = true; message = resourceManager.getString("controls", "unsupportedMode", [_imeMode]); throw (new Error(message)); }; }; } public function get listData():BaseListData{ return (_listData); } public function get wordWrap():Boolean{ return (_wordWrap); } override public function set tabIndex(_arg1:int):void{ if (_arg1 == _tabIndex){ return; }; _tabIndex = _arg1; tabIndexChanged = true; invalidateProperties(); } public function get htmlText():String{ return (_htmlText); } override public function set enabled(_arg1:Boolean):void{ if (_arg1 == enabled){ return; }; super.enabled = _arg1; enabledChanged = true; if (verticalScrollBar){ verticalScrollBar.enabled = _arg1; }; if (horizontalScrollBar){ horizontalScrollBar.enabled = _arg1; }; invalidateProperties(); if (((border) && ((border is IInvalidating)))){ IInvalidating(border).invalidateDisplayList(); }; } private function textField_textFieldStyleChangeHandler(_arg1:Event):void{ textFieldChanged(true, false); } public function set restrict(_arg1:String):void{ if (_arg1 == _restrict){ return; }; _restrict = _arg1; restrictChanged = true; invalidateProperties(); dispatchEvent(new Event("restrictChanged")); } override public function get baselinePosition():Number{ var _local1:String; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local1 = text; if (((!(_local1)) || ((_local1 == "")))){ _local1 = " "; }; return ((viewMetrics.top + measureText(_local1).ascent)); }; if (!validateBaselinePosition()){ return (NaN); }; return ((textField.y + textField.baselinePosition)); } private function textField_changeHandler(_arg1:Event):void{ textFieldChanged(false, false); adjustScrollBars(); textChanged = false; htmlTextChanged = false; _arg1.stopImmediatePropagation(); dispatchEvent(new Event(Event.CHANGE)); } public function set condenseWhite(_arg1:Boolean):void{ if (_arg1 == _condenseWhite){ return; }; _condenseWhite = _arg1; condenseWhiteChanged = true; if (isHTML){ htmlTextChanged = true; }; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("condenseWhiteChanged")); } public function get textWidth():Number{ return (_textWidth); } public function set displayAsPassword(_arg1:Boolean):void{ if (_arg1 == _displayAsPassword){ return; }; _displayAsPassword = _arg1; displayAsPasswordChanged = true; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("displayAsPasswordChanged")); } override public function get horizontalScrollPolicy():String{ return (((height <= 40)) ? ScrollPolicy.OFF : _horizontalScrollPolicy); } public function get data():Object{ return (_data); } override public function get maxVerticalScrollPosition():Number{ return ((textField) ? (textField.maxScrollV - 1) : 0); } public function set maxChars(_arg1:int):void{ if (_arg1 == _maxChars){ return; }; _maxChars = _arg1; maxCharsChanged = true; invalidateProperties(); dispatchEvent(new Event("maxCharsChanged")); } public function set selectable(_arg1:Boolean):void{ if (_arg1 == selectable){ return; }; _selectable = _arg1; selectableChanged = true; invalidateProperties(); } override public function set horizontalScrollPosition(_arg1:Number):void{ super.horizontalScrollPosition = _arg1; _hScrollPosition = _arg1; if (textField){ textField.scrollH = _arg1; textField.background = false; } else { invalidateProperties(); }; } override public function setFocus():void{ var _local1:int = verticalScrollPosition; allowScrollEvent = false; textField.setFocus(); verticalScrollPosition = _local1; allowScrollEvent = true; } public function set selectionBeginIndex(_arg1:int):void{ _selectionBeginIndex = _arg1; selectionChanged = true; invalidateProperties(); } public function get restrict():String{ return (_restrict); } override protected function scrollHandler(_arg1:Event):void{ if ((_arg1 is ScrollEvent)){ if (((!(liveScrolling)) && ((ScrollEvent(_arg1).detail == ScrollEventDetail.THUMB_TRACK)))){ return; }; super.scrollHandler(_arg1); textField.scrollH = horizontalScrollPosition; textField.scrollV = (verticalScrollPosition + 1); _vScrollPosition = (textField.scrollV - 1); _hScrollPosition = textField.scrollH; }; } public function set fontContext(_arg1:IFlexModuleFactory):void{ this.moduleFactory = _arg1; } mx_internal function removeTextField():void{ if (textField){ textField.removeEventListener(Event.CHANGE, textField_changeHandler); textField.removeEventListener(Event.SCROLL, textField_scrollHandler); textField.removeEventListener(IOErrorEvent.IO_ERROR, textField_ioErrorHandler); textField.removeEventListener(TextEvent.TEXT_INPUT, textField_textInputHandler); textField.removeEventListener("textFieldStyleChange", textField_textFieldStyleChangeHandler); textField.removeEventListener("textFormatChange", textField_textFormatChangeHandler); textField.removeEventListener("textInsert", textField_textModifiedHandler); textField.removeEventListener("textReplace", textField_textModifiedHandler); removeChild(DisplayObject(textField)); textField = null; }; } public function set selectionEndIndex(_arg1:int):void{ _selectionEndIndex = _arg1; selectionChanged = true; invalidateProperties(); } public function get textHeight():Number{ return (_textHeight); } public function set editable(_arg1:Boolean):void{ if (_arg1 == _editable){ return; }; _editable = _arg1; editableChanged = true; invalidateProperties(); dispatchEvent(new Event("editableChanged")); } override protected function commitProperties():void{ super.commitProperties(); if (((hasFontContextChanged()) && (!((textField == null))))){ removeTextField(); createTextField(-1); accessibilityPropertiesChanged = true; condenseWhiteChanged = true; displayAsPasswordChanged = true; editableChanged = true; enabledChanged = true; maxCharsChanged = true; restrictChanged = true; selectableChanged = true; tabIndexChanged = true; wordWrapChanged = true; textChanged = true; selectionChanged = true; }; if (accessibilityPropertiesChanged){ textField.accessibilityProperties = _accessibilityProperties; accessibilityPropertiesChanged = false; }; if (condenseWhiteChanged){ textField.condenseWhite = _condenseWhite; condenseWhiteChanged = false; }; if (displayAsPasswordChanged){ textField.displayAsPassword = _displayAsPassword; displayAsPasswordChanged = false; }; if (editableChanged){ textField.type = (((_editable) && (enabled))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC; editableChanged = false; }; if (enabledChanged){ textField.enabled = enabled; enabledChanged = false; }; if (maxCharsChanged){ textField.maxChars = _maxChars; maxCharsChanged = false; }; if (restrictChanged){ textField.restrict = _restrict; restrictChanged = false; }; if (selectableChanged){ textField.selectable = _selectable; selectableChanged = false; }; if (styleSheetChanged){ textField.styleSheet = _styleSheet; styleSheetChanged = false; }; if (tabIndexChanged){ textField.tabIndex = _tabIndex; tabIndexChanged = false; }; if (wordWrapChanged){ textField.wordWrap = _wordWrap; wordWrapChanged = false; }; if (((textChanged) || (htmlTextChanged))){ if (isHTML){ textField.htmlText = explicitHTMLText; } else { textField.text = _text; }; textFieldChanged(false, true); textChanged = false; htmlTextChanged = false; }; if (selectionChanged){ textField.setSelection(_selectionBeginIndex, _selectionEndIndex); selectionChanged = false; }; if (!isNaN(_hScrollPosition)){ horizontalScrollPosition = _hScrollPosition; }; if (!isNaN(_vScrollPosition)){ verticalScrollPosition = _vScrollPosition; }; } private function get isHTML():Boolean{ return (!((explicitHTMLText == null))); } public function set listData(_arg1:BaseListData):void{ _listData = _arg1; } public function get maxChars():int{ return (_maxChars); } override public function get maxHorizontalScrollPosition():Number{ return ((textField) ? textField.maxScrollH : 0); } override protected function mouseWheelHandler(_arg1:MouseEvent):void{ _arg1.stopPropagation(); } private function textField_scrollHandler(_arg1:Event):void{ var _local2:int; var _local3:int; var _local4:ScrollEvent; if (((initialized) && (allowScrollEvent))){ _local2 = (textField.scrollH - horizontalScrollPosition); _local3 = ((textField.scrollV - 1) - verticalScrollPosition); horizontalScrollPosition = textField.scrollH; verticalScrollPosition = (textField.scrollV - 1); if (_local2){ _local4 = new ScrollEvent(ScrollEvent.SCROLL, false, false, null, horizontalScrollPosition, ScrollEventDirection.HORIZONTAL, _local2); dispatchEvent(_local4); }; if (_local3){ _local4 = new ScrollEvent(ScrollEvent.SCROLL, false, false, null, verticalScrollPosition, ScrollEventDirection.VERTICAL, _local3); dispatchEvent(_local4); }; }; } public function set wordWrap(_arg1:Boolean):void{ if (_arg1 == _wordWrap){ return; }; _wordWrap = _arg1; wordWrapChanged = true; invalidateProperties(); invalidateDisplayList(); dispatchEvent(new Event("wordWrapChanged")); } private function textField_textModifiedHandler(_arg1:Event):void{ textFieldChanged(false, true); } private function textField_textFormatChangeHandler(_arg1:Event):void{ textFieldChanged(true, false); } public function set htmlText(_arg1:String):void{ textSet = true; if (!_arg1){ _arg1 = ""; }; _htmlText = _arg1; htmlTextChanged = true; _text = null; explicitHTMLText = _arg1; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("htmlTextChanged")); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:EdgeMetrics = viewMetrics; _local3.left = (_local3.left + getStyle("paddingLeft")); _local3.top = (_local3.top + getStyle("paddingTop")); _local3.right = (_local3.right + getStyle("paddingRight")); _local3.bottom = (_local3.bottom + getStyle("paddingBottom")); textField.move(_local3.left, _local3.top); var _local4:Number = ((_arg1 - _local3.left) - _local3.right); var _local5:Number = ((_arg2 - _local3.top) - _local3.bottom); if ((_local3.top + _local3.bottom) > 0){ _local5++; }; textField.setActualSize(Math.max(4, _local4), Math.max(4, _local5)); if (!initialized){ callLater(invalidateDisplayList); } else { callLater(adjustScrollBars); }; if (isNaN(_hScrollPosition)){ _hScrollPosition = 0; }; if (isNaN(_vScrollPosition)){ _vScrollPosition = 0; }; var _local6:Number = Math.min(textField.maxScrollH, _hScrollPosition); if (_local6 != textField.scrollH){ horizontalScrollPosition = _local6; }; _local6 = Math.min((textField.maxScrollV - 1), _vScrollPosition); if (_local6 != (textField.scrollV - 1)){ verticalScrollPosition = _local6; }; } public function getLineMetrics(_arg1:int):TextLineMetrics{ return ((textField) ? textField.getLineMetrics(_arg1) : null); } override public function get verticalScrollPolicy():String{ return (((height <= 40)) ? ScrollPolicy.OFF : _verticalScrollPolicy); } public function get length():int{ return (((text)!=null) ? text.length : -1); } } }//package mx.controls
Section 75
//TextInput (mx.controls.TextInput) package mx.controls { import flash.display.*; import flash.text.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.listClasses.*; import flash.system.*; import flash.accessibility.*; import flash.ui.*; public class TextInput extends UIComponent implements IDataRenderer, IDropInListItemRenderer, IFocusManagerComponent, IIMESupport, IListItemRenderer, IFontContextComponent { private var _text:String;// = "" private var _textWidth:Number; private var _restrict:String; private var htmlTextChanged:Boolean;// = false mx_internal var border:IFlexDisplayObject; private var enabledChanged:Boolean;// = false private var _maxChars:int;// = 0 private var _condenseWhite:Boolean;// = false private var accessibilityPropertiesChanged:Boolean;// = false private var _textHeight:Number; private var displayAsPasswordChanged:Boolean;// = false private var prevMode:String;// = null private var selectableChanged:Boolean;// = false private var restrictChanged:Boolean;// = false private var selectionChanged:Boolean;// = false private var _data:Object; private var maxCharsChanged:Boolean;// = false private var _tabIndex:int;// = -1 private var errorCaught:Boolean;// = false private var _selectionBeginIndex:int;// = 0 private var explicitHTMLText:String;// = null private var editableChanged:Boolean;// = false mx_internal var parentDrawsFocus:Boolean;// = false private var tabIndexChanged:Boolean;// = false private var _horizontalScrollPosition:Number;// = 0 private var _editable:Boolean;// = true private var _imeMode:String;// = null private var condenseWhiteChanged:Boolean;// = false protected var textField:IUITextField; private var _listData:BaseListData; private var _displayAsPassword:Boolean;// = false private var textChanged:Boolean;// = false private var _htmlText:String;// = "" private var _accessibilityProperties:AccessibilityProperties; private var _selectionEndIndex:int;// = 0 private var textSet:Boolean; private var horizontalScrollPositionChanged:Boolean;// = false private var _selectable:Boolean;// = true mx_internal static const VERSION:String = "3.0.0.0"; public function TextInput(){ tabChildren = true; } public function get imeMode():String{ return (_imeMode); } public function set imeMode(_arg1:String):void{ _imeMode = _arg1; } override protected function focusOutHandler(_arg1:FocusEvent):void{ super.focusOutHandler(_arg1); if (((!((_imeMode == null))) && (_editable))){ if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((prevMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = prevMode; }; IME.enabled = false; }; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } override public function drawFocus(_arg1:Boolean):void{ if (parentDrawsFocus){ IFocusManagerComponent(parent).drawFocus(_arg1); return; }; super.drawFocus(_arg1); } mx_internal function getTextField():IUITextField{ return (textField); } private function textField_textInputHandler(_arg1:TextEvent):void{ _arg1.stopImmediatePropagation(); var _local2:TextEvent = new TextEvent(TextEvent.TEXT_INPUT, false, true); _local2.text = _arg1.text; dispatchEvent(_local2); if (_local2.isDefaultPrevented()){ _arg1.preventDefault(); }; } override public function get accessibilityProperties():AccessibilityProperties{ return (_accessibilityProperties); } override protected function createChildren():void{ super.createChildren(); createBorder(); createTextField(-1); } private function textFieldChanged(_arg1:Boolean, _arg2:Boolean):void{ var _local3:Boolean; var _local4:Boolean; if (!_arg1){ _local3 = !((_text == textField.text)); _text = textField.text; }; _local4 = !((_htmlText == textField.htmlText)); _htmlText = textField.htmlText; if (_local3){ dispatchEvent(new Event("textChanged")); if (_arg2){ dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; }; if (_local4){ dispatchEvent(new Event("htmlTextChanged")); }; _textWidth = textField.textWidth; _textHeight = textField.textHeight; } public function get text():String{ return (_text); } mx_internal function createTextField(_arg1:int):void{ if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.autoSize = TextFieldAutoSize.NONE; textField.enabled = enabled; textField.ignorePadding = false; textField.multiline = false; textField.tabEnabled = true; textField.wordWrap = false; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ textField.styleName = this; }; textField.addEventListener(Event.CHANGE, textField_changeHandler); textField.addEventListener(TextEvent.TEXT_INPUT, textField_textInputHandler); textField.addEventListener(Event.SCROLL, textField_scrollHandler); textField.addEventListener("textFieldStyleChange", textField_textFieldStyleChangeHandler); textField.addEventListener("textFormatChange", textField_textFormatChangeHandler); textField.addEventListener("textInsert", textField_textModifiedHandler); textField.addEventListener("textReplace", textField_textModifiedHandler); if (_arg1 == -1){ addChild(DisplayObject(textField)); } else { addChildAt(DisplayObject(textField), _arg1); }; }; } override public function get tabIndex():int{ return (_tabIndex); } override public function set accessibilityProperties(_arg1:AccessibilityProperties):void{ if (_arg1 == _accessibilityProperties){ return; }; _accessibilityProperties = _arg1; accessibilityPropertiesChanged = true; invalidateProperties(); } public function setSelection(_arg1:int, _arg2:int):void{ _selectionBeginIndex = _arg1; _selectionEndIndex = _arg2; selectionChanged = true; invalidateProperties(); } public function get condenseWhite():Boolean{ return (_condenseWhite); } override protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((((_arg1 == textField)) || (super.isOurFocus(_arg1)))); } public function get displayAsPassword():Boolean{ return (_displayAsPassword); } public function set data(_arg1:Object):void{ var _local2:*; _data = _arg1; if (_listData){ _local2 = _listData.label; } else { if (_data != null){ if ((_data is String)){ _local2 = String(_data); } else { _local2 = _data.toString(); }; }; }; if (((!((_local2 === undefined))) && (!(textSet)))){ text = _local2; textSet = false; }; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } public function get selectionBeginIndex():int{ return ((textField) ? textField.selectionBeginIndex : _selectionBeginIndex); } mx_internal function get selectable():Boolean{ return (_selectable); } protected function createBorder():void{ var _local1:Class; if (!border){ _local1 = getStyle("borderSkin"); if (_local1 != null){ border = new (_local1); if ((border is ISimpleStyleClient)){ ISimpleStyleClient(border).styleName = this; }; addChildAt(DisplayObject(border), 0); invalidateDisplayList(); }; }; } public function get horizontalScrollPosition():Number{ return (_horizontalScrollPosition); } override protected function measure():void{ var _local2:Number; var _local3:Number; var _local4:TextLineMetrics; super.measure(); var _local1:EdgeMetrics = (((border) && ((border is IRectangularBorder)))) ? IRectangularBorder(border).borderMetrics : EdgeMetrics.EMPTY; measuredWidth = DEFAULT_MEASURED_WIDTH; if (maxChars){ measuredWidth = Math.min(measuredWidth, ((((measureText("W").width * maxChars) + _local1.left) + _local1.right) + 8)); }; if (((!(text)) || ((text == "")))){ _local2 = DEFAULT_MEASURED_MIN_WIDTH; _local3 = (((measureText(" ").height + _local1.top) + _local1.bottom) + UITextField.TEXT_HEIGHT_PADDING); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ _local3 = (_local3 + (getStyle("paddingTop") + getStyle("paddingBottom"))); }; } else { _local4 = measureText(text); _local2 = (((_local4.width + _local1.left) + _local1.right) + 8); _local3 = (((_local4.height + _local1.top) + _local1.bottom) + UITextField.TEXT_HEIGHT_PADDING); if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ _local2 = (_local2 + (getStyle("paddingLeft") + getStyle("paddingRight"))); _local3 = (_local3 + (getStyle("paddingTop") + getStyle("paddingBottom"))); }; }; measuredWidth = Math.max(_local2, measuredWidth); measuredHeight = Math.max(_local3, DEFAULT_MEASURED_HEIGHT); measuredMinWidth = DEFAULT_MEASURED_MIN_WIDTH; measuredMinHeight = DEFAULT_MEASURED_MIN_HEIGHT; } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } public function set text(_arg1:String):void{ textSet = true; if (!_arg1){ _arg1 = ""; }; if (((!(isHTML)) && ((_arg1 == _text)))){ return; }; _text = _arg1; textChanged = true; _htmlText = null; explicitHTMLText = null; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("textChanged")); dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } public function get selectionEndIndex():int{ return ((textField) ? textField.selectionEndIndex : _selectionEndIndex); } public function get editable():Boolean{ return (_editable); } public function get listData():BaseListData{ return (_listData); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case Keyboard.ENTER: dispatchEvent(new FlexEvent(FlexEvent.ENTER)); break; }; } override protected function focusInHandler(_arg1:FocusEvent):void{ var message:String; var event = _arg1; if (event.target == this){ systemManager.stage.focus = TextField(textField); }; var fm:IFocusManager = focusManager; if (((editable) && (fm))){ fm.showFocusIndicator = true; if (((textField.selectable) && ((_selectionBeginIndex == _selectionEndIndex)))){ textField.setSelection(0, textField.length); }; }; super.focusInHandler(event); if (((!((_imeMode == null))) && (_editable))){ IME.enabled = true; prevMode = IME.conversionMode; try { if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _imeMode; }; errorCaught = false; } catch(e:Error) { errorCaught = true; message = resourceManager.getString("controls", "unsupportedMode", [_imeMode]); throw (new Error(message)); }; }; } public function get htmlText():String{ return (_htmlText); } override public function set tabIndex(_arg1:int):void{ if (_arg1 == _tabIndex){ return; }; _tabIndex = _arg1; tabIndexChanged = true; invalidateProperties(); } public function set restrict(_arg1:String):void{ if (_arg1 == _restrict){ return; }; _restrict = _arg1; restrictChanged = true; invalidateProperties(); dispatchEvent(new Event("restrictChanged")); } private function textField_textFieldStyleChangeHandler(_arg1:Event):void{ textFieldChanged(true, false); } private function textField_changeHandler(_arg1:Event):void{ textFieldChanged(false, false); textChanged = false; htmlTextChanged = false; _arg1.stopImmediatePropagation(); dispatchEvent(new Event(Event.CHANGE)); } override public function set enabled(_arg1:Boolean):void{ if (_arg1 == enabled){ return; }; super.enabled = _arg1; enabledChanged = true; invalidateProperties(); if (((border) && ((border is IInvalidating)))){ IInvalidating(border).invalidateDisplayList(); }; } override public function get baselinePosition():Number{ var _local1:String; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local1 = text; if (_local1 == ""){ _local1 = " "; }; return (((((border) && ((border is IRectangularBorder)))) ? IRectangularBorder(border).borderMetrics.top : 0 + measureText(_local1).ascent)); }; if (!validateBaselinePosition()){ return (NaN); }; return ((textField.y + textField.baselinePosition)); } public function set condenseWhite(_arg1:Boolean):void{ if (_arg1 == _condenseWhite){ return; }; _condenseWhite = _arg1; condenseWhiteChanged = true; if (isHTML){ htmlTextChanged = true; }; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("condenseWhiteChanged")); } public function get textWidth():Number{ return (_textWidth); } public function set displayAsPassword(_arg1:Boolean):void{ if (_arg1 == _displayAsPassword){ return; }; _displayAsPassword = _arg1; displayAsPasswordChanged = true; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("displayAsPasswordChanged")); } mx_internal function removeTextField():void{ if (textField){ textField.removeEventListener(Event.CHANGE, textField_changeHandler); textField.removeEventListener(TextEvent.TEXT_INPUT, textField_textInputHandler); textField.removeEventListener(Event.SCROLL, textField_scrollHandler); textField.removeEventListener("textFieldStyleChange", textField_textFieldStyleChangeHandler); textField.removeEventListener("textFormatChange", textField_textFormatChangeHandler); textField.removeEventListener("textInsert", textField_textModifiedHandler); textField.removeEventListener("textReplace", textField_textModifiedHandler); removeChild(DisplayObject(textField)); textField = null; }; } public function get data():Object{ return (_data); } public function set maxChars(_arg1:int):void{ if (_arg1 == _maxChars){ return; }; _maxChars = _arg1; maxCharsChanged = true; invalidateProperties(); dispatchEvent(new Event("maxCharsChanged")); } public function set horizontalScrollPosition(_arg1:Number):void{ if (_arg1 == _horizontalScrollPosition){ return; }; _horizontalScrollPosition = _arg1; horizontalScrollPositionChanged = true; invalidateProperties(); dispatchEvent(new Event("horizontalScrollPositionChanged")); } override public function setFocus():void{ textField.setFocus(); } public function get restrict():String{ return (_restrict); } public function set fontContext(_arg1:IFlexModuleFactory):void{ this.moduleFactory = _arg1; } public function set selectionBeginIndex(_arg1:int):void{ _selectionBeginIndex = _arg1; selectionChanged = true; invalidateProperties(); } public function set selectionEndIndex(_arg1:int):void{ _selectionEndIndex = _arg1; selectionChanged = true; invalidateProperties(); } private function textField_scrollHandler(_arg1:Event):void{ _horizontalScrollPosition = textField.scrollH; } public function get textHeight():Number{ return (_textHeight); } public function set editable(_arg1:Boolean):void{ if (_arg1 == _editable){ return; }; _editable = _arg1; editableChanged = true; invalidateProperties(); dispatchEvent(new Event("editableChanged")); } override protected function commitProperties():void{ var _local1:int; super.commitProperties(); if (((hasFontContextChanged()) && (!((textField == null))))){ _local1 = getChildIndex(DisplayObject(textField)); removeTextField(); createTextField(_local1); accessibilityPropertiesChanged = true; condenseWhiteChanged = true; displayAsPasswordChanged = true; enabledChanged = true; maxCharsChanged = true; restrictChanged = true; tabIndexChanged = true; textChanged = true; selectionChanged = true; horizontalScrollPositionChanged = true; }; if (accessibilityPropertiesChanged){ textField.accessibilityProperties = _accessibilityProperties; accessibilityPropertiesChanged = false; }; if (condenseWhiteChanged){ textField.condenseWhite = _condenseWhite; condenseWhiteChanged = false; }; if (displayAsPasswordChanged){ textField.displayAsPassword = _displayAsPassword; displayAsPasswordChanged = false; }; if (((enabledChanged) || (editableChanged))){ textField.type = (((enabled) && (_editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC; if (enabledChanged){ if (textField.enabled != enabled){ textField.enabled = enabled; }; enabledChanged = false; }; selectableChanged = true; editableChanged = false; }; if (selectableChanged){ if (_editable){ textField.selectable = enabled; } else { textField.selectable = ((enabled) && (_selectable)); }; selectableChanged = false; }; if (maxCharsChanged){ textField.maxChars = _maxChars; maxCharsChanged = false; }; if (restrictChanged){ textField.restrict = _restrict; restrictChanged = false; }; if (tabIndexChanged){ textField.tabIndex = _tabIndex; tabIndexChanged = false; }; if (((textChanged) || (htmlTextChanged))){ if (isHTML){ textField.htmlText = explicitHTMLText; } else { textField.text = _text; }; textFieldChanged(false, true); textChanged = false; htmlTextChanged = false; }; if (selectionChanged){ textField.setSelection(_selectionBeginIndex, _selectionEndIndex); selectionChanged = false; }; if (horizontalScrollPositionChanged){ textField.scrollH = _horizontalScrollPosition; horizontalScrollPositionChanged = false; }; } override public function styleChanged(_arg1:String):void{ var _local2:Boolean = (((_arg1 == null)) || ((_arg1 == "styleName"))); super.styleChanged(_arg1); if (((_local2) || ((_arg1 == "borderSkin")))){ if (border){ removeChild(DisplayObject(border)); border = null; createBorder(); }; }; } private function get isHTML():Boolean{ return (!((explicitHTMLText == null))); } public function get maxChars():int{ return (_maxChars); } public function get maxHorizontalScrollPosition():Number{ return ((textField) ? textField.maxScrollH : 0); } mx_internal function set selectable(_arg1:Boolean):void{ if (_selectable == _arg1){ return; }; _selectable = _arg1; selectableChanged = true; invalidateProperties(); } public function get length():int{ return (((text)!=null) ? text.length : -1); } public function set listData(_arg1:BaseListData):void{ _listData = _arg1; } private function textField_textModifiedHandler(_arg1:Event):void{ textFieldChanged(false, true); } private function textField_textFormatChangeHandler(_arg1:Event):void{ textFieldChanged(true, false); } public function set htmlText(_arg1:String):void{ textSet = true; if (!_arg1){ _arg1 = ""; }; _htmlText = _arg1; htmlTextChanged = true; _text = null; explicitHTMLText = _arg1; invalidateProperties(); invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("htmlTextChanged")); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local3:EdgeMetrics; super.updateDisplayList(_arg1, _arg2); if (border){ border.setActualSize(_arg1, _arg2); _local3 = ((border is IRectangularBorder)) ? IRectangularBorder(border).borderMetrics : EdgeMetrics.EMPTY; } else { _local3 = EdgeMetrics.EMPTY; }; var _local4:Number = getStyle("paddingLeft"); var _local5:Number = getStyle("paddingRight"); var _local6:Number = getStyle("paddingTop"); var _local7:Number = getStyle("paddingBottom"); var _local8:Number = (_local3.left + _local3.right); var _local9:Number = ((_local3.top + _local3.bottom) + 1); textField.x = _local3.left; textField.y = _local3.top; if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ textField.x = (textField.x + _local4); textField.y = (textField.y + _local6); _local8 = (_local8 + (_local4 + _local5)); _local9 = (_local9 + (_local6 + _local7)); }; textField.width = Math.max(0, (_arg1 - _local8)); textField.height = Math.max(0, (_arg2 - _local9)); } public function getLineMetrics(_arg1:int):TextLineMetrics{ return ((textField) ? textField.getLineMetrics(_arg1) : null); } } }//package mx.controls
Section 76
//ToolTip (mx.controls.ToolTip) package mx.controls { import flash.display.*; import flash.text.*; import mx.core.*; import mx.styles.*; public class ToolTip extends UIComponent implements IToolTip, IFontContextComponent { private var textChanged:Boolean; private var _text:String; protected var textField:IUITextField; mx_internal var border:IFlexDisplayObject; mx_internal static const VERSION:String = "3.0.0.0"; public static var maxWidth:Number = 300; public function ToolTip(){ mouseEnabled = false; } public function set fontContext(_arg1:IFlexModuleFactory):void{ this.moduleFactory = _arg1; } override public function styleChanged(_arg1:String):void{ super.styleChanged(_arg1); if ((((((_arg1 == "borderStyle")) || ((_arg1 == "styleName")))) || ((_arg1 == null)))){ invalidateDisplayList(); }; } override protected function commitProperties():void{ var _local1:int; var _local2:TextFormat; super.commitProperties(); if (((hasFontContextChanged()) && (!((textField == null))))){ _local1 = getChildIndex(DisplayObject(textField)); removeTextField(); createTextField(_local1); invalidateSize(); textChanged = true; }; if (textChanged){ _local2 = textField.getTextFormat(); _local2.leftMargin = 0; _local2.rightMargin = 0; textField.defaultTextFormat = _local2; textField.text = _text; textChanged = false; }; } mx_internal function getTextField():IUITextField{ return (textField); } override protected function createChildren():void{ var _local1:Class; super.createChildren(); if (!border){ _local1 = getStyle("borderSkin"); border = new (_local1); if ((border is ISimpleStyleClient)){ ISimpleStyleClient(border).styleName = this; }; addChild(DisplayObject(border)); }; createTextField(-1); } override protected function measure():void{ var _local7:Number; super.measure(); var _local1:EdgeMetrics = borderMetrics; var _local2:Number = (_local1.left + getStyle("paddingLeft")); var _local3:Number = (_local1.top + getStyle("paddingTop")); var _local4:Number = (_local1.right + getStyle("paddingRight")); var _local5:Number = (_local1.bottom + getStyle("paddingBottom")); var _local6:Number = (_local2 + _local4); _local7 = (_local3 + _local5); textField.wordWrap = false; if ((textField.textWidth + _local6) > ToolTip.maxWidth){ textField.width = (ToolTip.maxWidth - _local6); textField.wordWrap = true; }; measuredWidth = (textField.width + _local6); measuredHeight = (textField.height + _local7); } public function get fontContext():IFlexModuleFactory{ return (moduleFactory); } public function set text(_arg1:String):void{ _text = _arg1; textChanged = true; invalidateProperties(); invalidateSize(); invalidateDisplayList(); } public function get text():String{ return (_text); } mx_internal function removeTextField():void{ if (textField){ removeChild(DisplayObject(textField)); textField = null; }; } mx_internal function createTextField(_arg1:int):void{ if (!textField){ textField = IUITextField(createInFontContext(UITextField)); textField.autoSize = TextFieldAutoSize.LEFT; textField.mouseEnabled = false; textField.multiline = true; textField.selectable = false; textField.wordWrap = false; textField.styleName = this; if (_arg1 == -1){ addChild(DisplayObject(textField)); } else { addChildAt(DisplayObject(textField), _arg1); }; }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:EdgeMetrics = borderMetrics; var _local4:Number = (_local3.left + getStyle("paddingLeft")); var _local5:Number = (_local3.top + getStyle("paddingTop")); var _local6:Number = (_local3.right + getStyle("paddingRight")); var _local7:Number = (_local3.bottom + getStyle("paddingBottom")); var _local8:Number = (_local4 + _local6); var _local9:Number = (_local5 + _local7); border.setActualSize(_arg1, _arg2); textField.move(_local4, _local5); textField.setActualSize((_arg1 - _local8), (_arg2 - _local9)); } private function get borderMetrics():EdgeMetrics{ if ((border is IRectangularBorder)){ return (IRectangularBorder(border).borderMetrics); }; return (EdgeMetrics.EMPTY); } } }//package mx.controls
Section 77
//VScrollBar (mx.controls.VScrollBar) package mx.controls { import mx.controls.scrollClasses.*; import flash.ui.*; public class VScrollBar extends ScrollBar { mx_internal static const VERSION:String = "3.0.0.0"; public function VScrollBar(){ super.direction = ScrollBarDirection.VERTICAL; } override protected function measure():void{ super.measure(); measuredWidth = _minWidth; measuredHeight = _minHeight; } override public function get minHeight():Number{ return (_minHeight); } override mx_internal function isScrollBarKey(_arg1:uint):Boolean{ if (_arg1 == Keyboard.UP){ lineScroll(-1); return (true); }; if (_arg1 == Keyboard.DOWN){ lineScroll(1); return (true); }; if (_arg1 == Keyboard.PAGE_UP){ pageScroll(-1); return (true); }; if (_arg1 == Keyboard.PAGE_DOWN){ pageScroll(1); return (true); }; return (super.isScrollBarKey(_arg1)); } override public function get minWidth():Number{ return (_minWidth); } override public function set direction(_arg1:String):void{ } } }//package mx.controls
Section 78
//Application (mx.core.Application) package mx.core { import flash.display.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.effects.*; import flash.utils.*; import flash.system.*; import flash.net.*; import mx.containers.utilityClasses.*; import flash.ui.*; import flash.external.*; public class Application extends LayoutContainer { public var preloader:Object; public var pageTitle:String; private var resizeWidth:Boolean;// = true private var _applicationViewMetrics:EdgeMetrics; mx_internal var _parameters:Object; private var processingCreationQueue:Boolean;// = false public var scriptRecursionLimit:int; private var resizeHandlerAdded:Boolean;// = false private var preloadObj:Object; public var usePreloader:Boolean; mx_internal var _url:String; private var _viewSourceURL:String; public var resetHistory:Boolean;// = true public var historyManagementEnabled:Boolean;// = true public var scriptTimeLimit:Number; public var frameRate:Number; private var creationQueue:Array; private var resizeHeight:Boolean;// = true public var controlBar:IUIComponent; private var viewSourceCMI:ContextMenuItem; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var useProgressiveLayout:Boolean = false; public function Application(){ creationQueue = []; name = "application"; UIComponentGlobals.layoutManager = ILayoutManager(Singleton.getInstance("mx.managers::ILayoutManager")); UIComponentGlobals.layoutManager.usePhasedInstantiation = true; if (!ApplicationGlobals.application){ ApplicationGlobals.application = this; }; super(); layoutObject = new ApplicationLayout(); layoutObject.target = this; boxLayoutClass = ApplicationLayout; showInAutomationHierarchy = true; } public function set viewSourceURL(_arg1:String):void{ _viewSourceURL = _arg1; } override public function set percentWidth(_arg1:Number):void{ super.percentWidth = _arg1; invalidateDisplayList(); } override public function prepareToPrint(_arg1:IFlexDisplayObject):Object{ var _local2:Object = {}; if (_arg1 == this){ _local2.width = width; _local2.height = height; _local2.verticalScrollPosition = verticalScrollPosition; _local2.horizontalScrollPosition = horizontalScrollPosition; _local2.horizontalScrollBarVisible = !((horizontalScrollBar == null)); _local2.verticalScrollBarVisible = !((verticalScrollBar == null)); _local2.whiteBoxVisible = !((whiteBox == null)); setActualSize(measuredWidth, measuredHeight); horizontalScrollPosition = 0; verticalScrollPosition = 0; if (horizontalScrollBar){ horizontalScrollBar.visible = false; }; if (verticalScrollBar){ verticalScrollBar.visible = false; }; if (whiteBox){ whiteBox.visible = false; }; updateDisplayList(unscaledWidth, unscaledHeight); }; _local2.scrollRect = super.prepareToPrint(_arg1); return (_local2); } override protected function measure():void{ var _local2:Number; super.measure(); var _local1:EdgeMetrics = borderMetrics; if (((controlBar) && (controlBar.includeInLayout))){ _local2 = ((controlBar.getExplicitOrMeasuredWidth() + _local1.left) + _local1.right); measuredWidth = Math.max(measuredWidth, _local2); measuredMinWidth = Math.max(measuredMinWidth, _local2); }; } override public function getChildIndex(_arg1:DisplayObject):int{ if (((controlBar) && ((_arg1 == controlBar)))){ return (-1); }; return (super.getChildIndex(_arg1)); } private function resizeHandler(_arg1:Event):void{ var _local2:Number; var _local3:Number; if (resizeWidth){ if (isNaN(percentWidth)){ _local2 = DisplayObject(systemManager).width; } else { super.percentWidth = Math.max(percentWidth, 0); super.percentWidth = Math.min(percentWidth, 100); _local2 = ((percentWidth * screen.width) / 100); }; if (!isNaN(explicitMaxWidth)){ _local2 = Math.min(_local2, explicitMaxWidth); }; if (!isNaN(explicitMinWidth)){ _local2 = Math.max(_local2, explicitMinWidth); }; } else { _local2 = width; }; if (resizeHeight){ if (isNaN(percentHeight)){ _local3 = DisplayObject(systemManager).height; } else { super.percentHeight = Math.max(percentHeight, 0); super.percentHeight = Math.min(percentHeight, 100); _local3 = ((percentHeight * screen.height) / 100); }; if (!isNaN(explicitMaxHeight)){ _local3 = Math.min(_local3, explicitMaxHeight); }; if (!isNaN(explicitMinHeight)){ _local3 = Math.max(_local3, explicitMinHeight); }; } else { _local3 = height; }; if (((!((_local2 == width))) || (!((_local3 == height))))){ invalidateProperties(); invalidateSize(); }; setActualSize(_local2, _local3); invalidateDisplayList(); } private function initManagers(_arg1:ISystemManager):void{ if (_arg1.isTopLevel()){ focusManager = new FocusManager(this); _arg1.activate(this); }; } override public function initialize():void{ var _local2:Object; var _local1:ISystemManager = systemManager; _url = _local1.loaderInfo.url; _parameters = _local1.loaderInfo.parameters; initManagers(_local1); _descriptor = null; if (documentDescriptor){ creationPolicy = documentDescriptor.properties.creationPolicy; if ((((creationPolicy == null)) || ((creationPolicy.length == 0)))){ creationPolicy = ContainerCreationPolicy.AUTO; }; _local2 = documentDescriptor.properties; if (_local2.width != null){ width = _local2.width; delete _local2.width; }; if (_local2.height != null){ height = _local2.height; delete _local2.height; }; documentDescriptor.events = null; }; initContextMenu(); super.initialize(); addEventListener(Event.ADDED, addedHandler); if (((_local1.isTopLevel()) && ((Capabilities.isDebugger == true)))){ setInterval(debugTickler, 1500); }; } override public function set percentHeight(_arg1:Number):void{ super.percentHeight = _arg1; invalidateDisplayList(); } override public function get id():String{ if (((((!(super.id)) && ((this == Application.application)))) && (ExternalInterface.available))){ return (ExternalInterface.objectID); }; return (super.id); } override mx_internal function setUnscaledWidth(_arg1:Number):void{ invalidateProperties(); super.setUnscaledWidth(_arg1); } private function debugTickler():void{ var _local1:int; } private function doNextQueueItem(_arg1:FlexEvent=null):void{ processingCreationQueue = true; Application.useProgressiveLayout = true; callLater(processNextQueueItem); } private function initContextMenu():void{ var _local2:String; if (flexContextMenu != null){ if ((systemManager is InteractiveObject)){ InteractiveObject(systemManager).contextMenu = contextMenu; }; return; }; var _local1:ContextMenu = new ContextMenu(); _local1.hideBuiltInItems(); _local1.builtInItems.print = true; if (_viewSourceURL){ _local2 = resourceManager.getString("core", "viewSource"); viewSourceCMI = new ContextMenuItem(_local2, true); viewSourceCMI.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler); _local1.customItems.push(viewSourceCMI); }; contextMenu = _local1; if ((systemManager is InteractiveObject)){ InteractiveObject(systemManager).contextMenu = _local1; }; } private function addedHandler(_arg1:Event):void{ if ((((_arg1.target == this)) && ((creationQueue.length > 0)))){ doNextQueueItem(); }; } public function get viewSourceURL():String{ return (_viewSourceURL); } override mx_internal function get usePadding():Boolean{ return (!((layout == ContainerLayout.ABSOLUTE))); } override mx_internal function setUnscaledHeight(_arg1:Number):void{ invalidateProperties(); super.setUnscaledHeight(_arg1); } mx_internal function dockControlBar(_arg1:IUIComponent, _arg2:Boolean):void{ var controlBar = _arg1; var dock = _arg2; if (dock){ try { removeChild(DisplayObject(controlBar)); } catch(e:Error) { return; }; rawChildren.addChildAt(DisplayObject(controlBar), firstChildIndex); setControlBar(controlBar); } else { try { rawChildren.removeChild(DisplayObject(controlBar)); } catch(e:Error) { return; }; setControlBar(null); addChildAt(DisplayObject(controlBar), 0); }; } override public function styleChanged(_arg1:String):void{ super.styleChanged(_arg1); if ((((_arg1 == "backgroundColor")) && ((getStyle("backgroundImage") == getStyle("defaultBackgroundImage"))))){ clearStyle("backgroundImage"); }; } override protected function layoutChrome(_arg1:Number, _arg2:Number):void{ super.layoutChrome(_arg1, _arg2); if (!doingLayout){ createBorder(); }; var _local3:EdgeMetrics = borderMetrics; var _local4:Number = getStyle("borderThickness"); var _local5:EdgeMetrics = new EdgeMetrics(); _local5.left = (_local3.left - _local4); _local5.top = (_local3.top - _local4); _local5.right = (_local3.right - _local4); _local5.bottom = (_local3.bottom - _local4); if (((controlBar) && (controlBar.includeInLayout))){ if ((controlBar is IInvalidating)){ IInvalidating(controlBar).invalidateDisplayList(); }; controlBar.setActualSize((width - (_local5.left + _local5.right)), controlBar.getExplicitOrMeasuredHeight()); controlBar.move(_local5.left, _local5.top); }; } protected function menuItemSelectHandler(_arg1:Event):void{ navigateToURL(new URLRequest(_viewSourceURL), "_blank"); } private function printCreationQueue():void{ var _local4:Object; var _local1 = ""; var _local2:Number = creationQueue.length; var _local3:int; while (_local3 < _local2) { _local4 = creationQueue[_local3]; _local1 = (_local1 + (((((" [" + _local3) + "] ") + _local4.id) + " ") + _local4.index)); _local3++; }; } override protected function resourcesChanged():void{ super.resourcesChanged(); if (viewSourceCMI){ viewSourceCMI.caption = resourceManager.getString("core", "viewSource"); }; } override protected function commitProperties():void{ super.commitProperties(); resizeWidth = isNaN(explicitWidth); resizeHeight = isNaN(explicitHeight); if (((resizeWidth) || (resizeHeight))){ resizeHandler(new Event(Event.RESIZE)); if (!resizeHandlerAdded){ systemManager.addEventListener(Event.RESIZE, resizeHandler, false, 0, true); resizeHandlerAdded = true; }; } else { if (resizeHandlerAdded){ systemManager.removeEventListener(Event.RESIZE, resizeHandler); resizeHandlerAdded = false; }; }; } override public function set toolTip(_arg1:String):void{ } public function addToCreationQueue(_arg1:Object, _arg2:int=-1, _arg3:Function=null, _arg4:IFlexDisplayObject=null):void{ var _local8:int; var _local9:int; var _local10:int; var _local12:int; var _local5:int = creationQueue.length; var _local6:Object = {}; var _local7:Boolean; _local6.id = _arg1; _local6.parent = _arg4; _local6.callbackFunc = _arg3; _local6.index = _arg2; var _local11:int; while (_local11 < _local5) { _local9 = creationQueue[_local11].index; _local10 = (creationQueue[_local11].parent) ? creationQueue[_local11].parent.nestLevel : 0; if (_local6.index != -1){ if ((((_local9 == -1)) || ((_local6.index < _local9)))){ _local8 = _local11; _local7 = true; break; }; } else { _local12 = (_local6.parent) ? _local6.parent.nestLevel : 0; if ((((_local9 == -1)) && ((_local10 < _local12)))){ _local8 = _local11; _local7 = true; break; }; }; _local11++; }; if (!_local7){ creationQueue.push(_local6); _local7 = true; } else { creationQueue.splice(_local8, 0, _local6); }; if (((initialized) && (!(processingCreationQueue)))){ doNextQueueItem(); }; } override mx_internal function initThemeColor():Boolean{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:CSSStyleDeclaration; var _local1:Boolean = super.initThemeColor(); if (!_local1){ _local5 = StyleManager.getStyleDeclaration("global"); if (_local5){ _local2 = _local5.getStyle("themeColor"); _local3 = _local5.getStyle("rollOverColor"); _local4 = _local5.getStyle("selectionColor"); }; if (((((_local2) && (isNaN(_local3)))) && (isNaN(_local4)))){ setThemeColor(_local2); }; _local1 = true; }; return (_local1); } override public function finishPrint(_arg1:Object, _arg2:IFlexDisplayObject):void{ if (_arg2 == this){ setActualSize(_arg1.width, _arg1.height); if (horizontalScrollBar){ horizontalScrollBar.visible = _arg1.horizontalScrollBarVisible; }; if (verticalScrollBar){ verticalScrollBar.visible = _arg1.verticalScrollBarVisible; }; if (whiteBox){ whiteBox.visible = _arg1.whiteBoxVisible; }; horizontalScrollPosition = _arg1.horizontalScrollPosition; verticalScrollPosition = _arg1.verticalScrollPosition; updateDisplayList(unscaledWidth, unscaledHeight); }; super.finishPrint(_arg1.scrollRect, _arg2); } private function processNextQueueItem():void{ var queueItem:Object; var nextChild:IUIComponent; if (EffectManager.effectsPlaying.length > 0){ callLater(processNextQueueItem); } else { if (creationQueue.length > 0){ queueItem = creationQueue.shift(); try { nextChild = ((queueItem.id is String)) ? document[queueItem.id] : queueItem.id; if ((nextChild is Container)){ Container(nextChild).createComponentsFromDescriptors(true); }; if ((((nextChild is Container)) && ((Container(nextChild).creationPolicy == ContainerCreationPolicy.QUEUED)))){ doNextQueueItem(); } else { nextChild.addEventListener("childrenCreationComplete", doNextQueueItem); }; } catch(e:Error) { processNextQueueItem(); }; } else { processingCreationQueue = false; Application.useProgressiveLayout = false; }; }; } override public function set label(_arg1:String):void{ } public function get parameters():Object{ return (_parameters); } override public function get viewMetrics():EdgeMetrics{ if (!_applicationViewMetrics){ _applicationViewMetrics = new EdgeMetrics(); }; var _local1:EdgeMetrics = _applicationViewMetrics; var _local2:EdgeMetrics = super.viewMetrics; var _local3:Number = getStyle("borderThickness"); _local1.left = _local2.left; _local1.top = _local2.top; _local1.right = _local2.right; _local1.bottom = _local2.bottom; if (((controlBar) && (controlBar.includeInLayout))){ _local1.top = (_local1.top - _local3); _local1.top = (_local1.top + Math.max(controlBar.getExplicitOrMeasuredHeight(), _local3)); }; return (_local1); } public function get url():String{ return (_url); } override public function set icon(_arg1:Class):void{ } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); createBorder(); } private function setControlBar(_arg1:IUIComponent):void{ if (_arg1 == controlBar){ return; }; if (((controlBar) && ((controlBar is IStyleClient)))){ IStyleClient(controlBar).clearStyle("cornerRadius"); IStyleClient(controlBar).clearStyle("docked"); }; controlBar = _arg1; if (((controlBar) && ((controlBar is IStyleClient)))){ IStyleClient(controlBar).setStyle("cornerRadius", 0); IStyleClient(controlBar).setStyle("docked", true); }; invalidateSize(); invalidateDisplayList(); invalidateViewMetricsAndPadding(); } override public function set tabIndex(_arg1:int):void{ } public static function get application():Object{ return (ApplicationGlobals.application); } } }//package mx.core
Section 79
//ApplicationGlobals (mx.core.ApplicationGlobals) package mx.core { public class ApplicationGlobals { public static var application:Object; } }//package mx.core
Section 80
//ClassFactory (mx.core.ClassFactory) package mx.core { public class ClassFactory implements IFactory { public var properties:Object;// = null public var generator:Class; mx_internal static const VERSION:String = "3.0.0.0"; public function ClassFactory(_arg1:Class=null){ this.generator = _arg1; } public function newInstance(){ var _local2:String; var _local1:Object = new generator(); if (properties != null){ for (_local2 in properties) { _local1[_local2] = properties[_local2]; }; }; return (_local1); } } }//package mx.core
Section 81
//ComponentDescriptor (mx.core.ComponentDescriptor) package mx.core { public class ComponentDescriptor { public var events:Object; public var type:Class; public var document:Object; private var _properties:Object; public var propertiesFactory:Function; public var id:String; mx_internal static const VERSION:String = "3.0.0.0"; public function ComponentDescriptor(_arg1:Object){ var _local2:String; super(); for (_local2 in _arg1) { this[_local2] = _arg1[_local2]; }; } public function toString():String{ return (("ComponentDescriptor_" + id)); } public function invalidateProperties():void{ _properties = null; } public function get properties():Object{ var _local1:Array; var _local2:int; var _local3:int; if (_properties){ return (_properties); }; if (propertiesFactory != null){ _properties = propertiesFactory.call(document); }; if (_properties){ _local1 = _properties.childDescriptors; if (_local1){ _local2 = _local1.length; _local3 = 0; while (_local3 < _local2) { _local1[_local3].document = document; _local3++; }; }; } else { _properties = {}; }; return (_properties); } } }//package mx.core
Section 82
//Container (mx.core.Container) package mx.core { import flash.display.*; import flash.geom.*; import flash.text.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.*; import mx.graphics.*; import mx.controls.scrollClasses.*; import mx.binding.*; import flash.utils.*; import mx.controls.listClasses.*; import flash.ui.*; public class Container extends UIComponent implements IContainer, IDataRenderer, IFocusManagerContainer, IListItemRenderer, IRawChildrenContainer { private var forceLayout:Boolean;// = false private var _numChildrenCreated:int;// = -1 private var _horizontalLineScrollSize:Number;// = 5 mx_internal var border:IFlexDisplayObject; protected var actualCreationPolicy:String; private var _viewMetricsAndPadding:EdgeMetrics; private var _creatingContentPane:Boolean;// = false private var _childRepeaters:Array; private var scrollableWidth:Number;// = 0 private var _childDescriptors:Array; private var _rawChildren:ContainerRawChildrenList; private var _data:Object; private var _verticalPageScrollSize:Number;// = 0 private var _viewMetrics:EdgeMetrics; private var _verticalScrollBar:ScrollBar; private var scrollPropertiesChanged:Boolean;// = false private var changedStyles:String;// = null private var scrollPositionChanged:Boolean;// = true private var _defaultButton:IFlexDisplayObject; private var mouseEventReferenceCount:int;// = 0 private var _focusPane:Sprite; protected var whiteBox:Shape; private var _forceClippingCount:int; private var _horizontalPageScrollSize:Number;// = 0 private var _creationPolicy:String; private var _creationIndex:int;// = -1 private var _clipContent:Boolean;// = true private var _verticalScrollPosition:Number;// = 0 private var _autoLayout:Boolean;// = true private var _icon:Class;// = null mx_internal var doingLayout:Boolean;// = false private var _horizontalScrollBar:ScrollBar; private var numChildrenBefore:int; private var viewableHeight:Number;// = 0 private var viewableWidth:Number;// = 0 mx_internal var contentPane:Sprite;// = null private var _createdComponents:Array; private var _firstChildIndex:int;// = 0 private var scrollableHeight:Number;// = 0 private var _verticalLineScrollSize:Number;// = 5 private var _horizontalScrollPosition:Number;// = 0 mx_internal var _horizontalScrollPolicy:String;// = "auto" private var verticalScrollPositionPending:Number; mx_internal var _verticalScrollPolicy:String;// = "auto" private var horizontalScrollPositionPending:Number; mx_internal var _numChildren:int;// = 0 private var recursionFlag:Boolean;// = true private var _label:String;// = "" mx_internal var blocker:Sprite; mx_internal static const VERSION:String = "3.0.0.0"; private static const MULTIPLE_PROPERTIES:String = "<MULTIPLE>"; public function Container(){ tabChildren = true; tabEnabled = false; showInAutomationHierarchy = false; } public function set verticalScrollPolicy(_arg1:String):void{ if (_verticalScrollPolicy != _arg1){ _verticalScrollPolicy = _arg1; invalidateDisplayList(); dispatchEvent(new Event("verticalScrollPolicyChanged")); }; } private function createContentPaneAndScrollbarsIfNeeded():Boolean{ var _local1:Rectangle; var _local2:Boolean; if (_clipContent){ _local1 = getScrollableRect(); _local2 = createScrollbarsIfNeeded(_local1); if (border){ updateBackgroundImageRect(); }; return (_local2); //unresolved jump }; _local2 = createOrDestroyScrollbars(false, false, false); _local1 = getScrollableRect(); scrollableWidth = _local1.right; scrollableHeight = _local1.bottom; if (((_local2) && (border))){ updateBackgroundImageRect(); }; return (_local2); } override protected function initializationComplete():void{ } mx_internal function rawChildren_getObjectsUnderPoint(_arg1:Point):Array{ return (super.getObjectsUnderPoint(_arg1)); } public function set creatingContentPane(_arg1:Boolean):void{ _creatingContentPane = _arg1; } public function set clipContent(_arg1:Boolean):void{ if (_clipContent != _arg1){ _clipContent = _arg1; invalidateDisplayList(); }; } protected function scrollChildren():void{ if (!contentPane){ return; }; var _local1:EdgeMetrics = viewMetrics; var _local2:Number = 0; var _local3:Number = 0; var _local4:Number = ((unscaledWidth - _local1.left) - _local1.right); var _local5:Number = ((unscaledHeight - _local1.top) - _local1.bottom); if (_clipContent){ _local2 = (_local2 + _horizontalScrollPosition); if (horizontalScrollBar){ _local4 = viewableWidth; }; _local3 = (_local3 + _verticalScrollPosition); if (verticalScrollBar){ _local5 = viewableHeight; }; } else { _local4 = scrollableWidth; _local5 = scrollableHeight; }; var _local6:Rectangle = getScrollableRect(); if ((((((((((((((_local2 == 0)) && ((_local3 == 0)))) && ((_local4 >= _local6.right)))) && ((_local5 >= _local6.bottom)))) && ((_local6.left >= 0)))) && ((_local6.top >= 0)))) && ((_forceClippingCount <= 0)))){ contentPane.scrollRect = null; contentPane.opaqueBackground = null; contentPane.cacheAsBitmap = false; } else { contentPane.scrollRect = new Rectangle(_local2, _local3, _local4, _local5); }; if (focusPane){ focusPane.scrollRect = contentPane.scrollRect; }; if (((((border) && ((border is IRectangularBorder)))) && (IRectangularBorder(border).hasBackgroundImage))){ IRectangularBorder(border).layoutBackgroundImage(); }; } override public function set doubleClickEnabled(_arg1:Boolean):void{ var _local2:int; var _local3:int; var _local4:InteractiveObject; super.doubleClickEnabled = _arg1; if (contentPane){ _local2 = contentPane.numChildren; _local3 = 0; while (_local3 < _local2) { _local4 = (contentPane.getChildAt(_local3) as InteractiveObject); if (_local4){ _local4.doubleClickEnabled = _arg1; }; _local3++; }; }; } override public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{ var _local5:ISimpleStyleClient; var _local3:int = super.numChildren; var _local4:int; while (_local4 < _local3) { if (((((contentPane) || ((_local4 < _firstChildIndex)))) || ((_local4 >= (_firstChildIndex + _numChildren))))){ _local5 = (super.getChildAt(_local4) as ISimpleStyleClient); if (_local5){ _local5.styleChanged(_arg1); if ((_local5 is IStyleClient)){ IStyleClient(_local5).notifyStyleChangeInChildren(_arg1, _arg2); }; }; }; _local4++; }; if (_arg2){ changedStyles = (((!((changedStyles == null))) || ((_arg1 == null)))) ? MULTIPLE_PROPERTIES : _arg1; invalidateProperties(); }; } mx_internal function get createdComponents():Array{ return (_createdComponents); } public function get childDescriptors():Array{ return (_childDescriptors); } override public function get contentMouseY():Number{ if (contentPane){ return (contentPane.mouseY); }; return (super.contentMouseY); } mx_internal function get childRepeaters():Array{ return (_childRepeaters); } override public function contains(_arg1:DisplayObject):Boolean{ if (contentPane){ return (contentPane.contains(_arg1)); }; return (super.contains(_arg1)); } override public function get contentMouseX():Number{ if (contentPane){ return (contentPane.mouseX); }; return (super.contentMouseX); } mx_internal function set createdComponents(_arg1:Array):void{ _createdComponents = _arg1; } public function get horizontalScrollBar():ScrollBar{ return (_horizontalScrollBar); } override public function validateSize(_arg1:Boolean=false):void{ var _local2:int; var _local3:int; var _local4:DisplayObject; if ((((autoLayout == false)) && ((forceLayout == false)))){ if (_arg1){ _local2 = super.numChildren; _local3 = 0; while (_local3 < _local2) { _local4 = super.getChildAt(_local3); if ((_local4 is ILayoutManagerClient)){ ILayoutManagerClient(_local4).validateSize(true); }; _local3++; }; }; adjustSizesForScaleChanges(); } else { super.validateSize(_arg1); }; } public function get rawChildren():IChildList{ if (!_rawChildren){ _rawChildren = new ContainerRawChildrenList(this); }; return (_rawChildren); } override public function getChildAt(_arg1:int):DisplayObject{ if (contentPane){ return (contentPane.getChildAt(_arg1)); }; return (super.getChildAt((_firstChildIndex + _arg1))); } override protected function attachOverlay():void{ rawChildren_addChild(overlay); } override public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ super.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); if ((((((((((((((((_arg1 == MouseEvent.CLICK)) || ((_arg1 == MouseEvent.DOUBLE_CLICK)))) || ((_arg1 == MouseEvent.MOUSE_DOWN)))) || ((_arg1 == MouseEvent.MOUSE_MOVE)))) || ((_arg1 == MouseEvent.MOUSE_OVER)))) || ((_arg1 == MouseEvent.MOUSE_OUT)))) || ((_arg1 == MouseEvent.MOUSE_UP)))) || ((_arg1 == MouseEvent.MOUSE_WHEEL)))){ if ((((mouseEventReferenceCount < 2147483647)) && ((mouseEventReferenceCount++ == 0)))){ setStyle("mouseShield", true); setStyle("mouseShieldChildren", true); }; }; } override public function localToContent(_arg1:Point):Point{ if (!contentPane){ return (_arg1); }; _arg1 = localToGlobal(_arg1); return (globalToContent(_arg1)); } public function executeChildBindings(_arg1:Boolean):void{ var _local4:IUIComponent; var _local2:int = numChildren; var _local3:int; while (_local3 < _local2) { _local4 = IUIComponent(getChildAt(_local3)); if ((_local4 is IDeferredInstantiationUIComponent)){ IDeferredInstantiationUIComponent(_local4).executeBindings(_arg1); }; _local3++; }; } protected function createBorder():void{ var _local1:Class; if (((!(border)) && (isBorderNeeded()))){ _local1 = getStyle("borderSkin"); if (_local1 != null){ border = new (_local1); border.name = "border"; if ((border is IUIComponent)){ IUIComponent(border).enabled = enabled; }; if ((border is ISimpleStyleClient)){ ISimpleStyleClient(border).styleName = this; }; rawChildren.addChildAt(DisplayObject(border), 0); invalidateDisplayList(); }; }; } public function get verticalScrollPosition():Number{ if (!isNaN(verticalScrollPositionPending)){ return (verticalScrollPositionPending); }; return (_verticalScrollPosition); } public function get horizontalScrollPosition():Number{ if (!isNaN(horizontalScrollPositionPending)){ return (horizontalScrollPositionPending); }; return (_horizontalScrollPosition); } protected function layoutChrome(_arg1:Number, _arg2:Number):void{ if (border){ updateBackgroundImageRect(); border.move(0, 0); border.setActualSize(_arg1, _arg2); }; } mx_internal function set childRepeaters(_arg1:Array):void{ _childRepeaters = _arg1; } override public function get focusPane():Sprite{ return (_focusPane); } public function set creationIndex(_arg1:int):void{ _creationIndex = _arg1; } public function get viewMetrics():EdgeMetrics{ var _local1:EdgeMetrics = borderMetrics; var _local2:Boolean = ((!((verticalScrollBar == null))) && (((doingLayout) || ((verticalScrollPolicy == ScrollPolicy.ON))))); var _local3:Boolean = ((!((horizontalScrollBar == null))) && (((doingLayout) || ((horizontalScrollPolicy == ScrollPolicy.ON))))); if (((!(_local2)) && (!(_local3)))){ return (_local1); }; if (!_viewMetrics){ _viewMetrics = _local1.clone(); } else { _viewMetrics.left = _local1.left; _viewMetrics.right = _local1.right; _viewMetrics.top = _local1.top; _viewMetrics.bottom = _local1.bottom; }; if (_local2){ _viewMetrics.right = (_viewMetrics.right + verticalScrollBar.minWidth); }; if (_local3){ _viewMetrics.bottom = (_viewMetrics.bottom + horizontalScrollBar.minHeight); }; return (_viewMetrics); } public function set verticalScrollBar(_arg1:ScrollBar):void{ _verticalScrollBar = _arg1; } public function set verticalScrollPosition(_arg1:Number):void{ if (_verticalScrollPosition == _arg1){ return; }; _verticalScrollPosition = _arg1; scrollPositionChanged = true; if (!initialized){ verticalScrollPositionPending = _arg1; }; invalidateDisplayList(); dispatchEvent(new Event("viewChanged")); } private function createOrDestroyScrollbars(_arg1:Boolean, _arg2:Boolean, _arg3:Boolean):Boolean{ var _local5:IFocusManager; var _local6:String; var _local7:String; var _local8:Graphics; var _local4:Boolean; if (((((_arg1) || (_arg2))) || (_arg3))){ createContentPane(); }; if (_arg1){ if (!horizontalScrollBar){ horizontalScrollBar = new HScrollBar(); horizontalScrollBar.name = "horizontalScrollBar"; _local6 = getStyle("horizontalScrollBarStyleName"); if (((_local6) && ((horizontalScrollBar is ISimpleStyleClient)))){ ISimpleStyleClient(horizontalScrollBar).styleName = _local6; }; rawChildren.addChild(DisplayObject(horizontalScrollBar)); horizontalScrollBar.lineScrollSize = horizontalLineScrollSize; horizontalScrollBar.pageScrollSize = horizontalPageScrollSize; horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, horizontalScrollBar_scrollHandler); horizontalScrollBar.enabled = enabled; if ((horizontalScrollBar is IInvalidating)){ IInvalidating(horizontalScrollBar).validateNow(); }; invalidateDisplayList(); invalidateViewMetricsAndPadding(); _local4 = true; if (!verticalScrollBar){ addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; }; } else { if (horizontalScrollBar){ horizontalScrollBar.removeEventListener(ScrollEvent.SCROLL, horizontalScrollBar_scrollHandler); rawChildren.removeChild(DisplayObject(horizontalScrollBar)); horizontalScrollBar = null; viewableWidth = (scrollableWidth = 0); if (_horizontalScrollPosition != 0){ _horizontalScrollPosition = 0; scrollPositionChanged = true; }; invalidateDisplayList(); invalidateViewMetricsAndPadding(); _local4 = true; _local5 = focusManager; if (((!(verticalScrollBar)) && (((!(_local5)) || (!((_local5.getFocus() == this))))))){ removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; }; }; if (_arg2){ if (!verticalScrollBar){ verticalScrollBar = new VScrollBar(); verticalScrollBar.name = "verticalScrollBar"; _local7 = getStyle("verticalScrollBarStyleName"); if (((_local7) && ((verticalScrollBar is ISimpleStyleClient)))){ ISimpleStyleClient(verticalScrollBar).styleName = _local7; }; rawChildren.addChild(DisplayObject(verticalScrollBar)); verticalScrollBar.lineScrollSize = verticalLineScrollSize; verticalScrollBar.pageScrollSize = verticalPageScrollSize; verticalScrollBar.addEventListener(ScrollEvent.SCROLL, verticalScrollBar_scrollHandler); verticalScrollBar.enabled = enabled; if ((verticalScrollBar is IInvalidating)){ IInvalidating(verticalScrollBar).validateNow(); }; invalidateDisplayList(); invalidateViewMetricsAndPadding(); _local4 = true; if (!horizontalScrollBar){ addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler); }; } else { if (verticalScrollBar){ verticalScrollBar.removeEventListener(ScrollEvent.SCROLL, verticalScrollBar_scrollHandler); rawChildren.removeChild(DisplayObject(verticalScrollBar)); verticalScrollBar = null; viewableHeight = (scrollableHeight = 0); if (_verticalScrollPosition != 0){ _verticalScrollPosition = 0; scrollPositionChanged = true; }; invalidateDisplayList(); invalidateViewMetricsAndPadding(); _local4 = true; _local5 = focusManager; if (((!(horizontalScrollBar)) && (((!(_local5)) || (!((_local5.getFocus() == this))))))){ removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; removeEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler); }; }; if (((horizontalScrollBar) && (verticalScrollBar))){ if (!whiteBox){ whiteBox = new FlexShape(); whiteBox.name = "whiteBox"; _local8 = whiteBox.graphics; _local8.beginFill(0xFFFFFF); _local8.drawRect(0, 0, verticalScrollBar.minWidth, horizontalScrollBar.minHeight); _local8.endFill(); rawChildren.addChild(whiteBox); }; } else { if (whiteBox){ rawChildren.removeChild(whiteBox); whiteBox = null; }; }; return (_local4); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local3:String; var _local4:Number; var _local2:Object = getFocus(); if ((_local2 is TextField)){ return; }; if (verticalScrollBar){ _local3 = ScrollEventDirection.VERTICAL; _local4 = verticalScrollPosition; switch (_arg1.keyCode){ case Keyboard.DOWN: verticalScrollPosition = (verticalScrollPosition + verticalLineScrollSize); dispatchScrollEvent(_local3, _local4, verticalScrollPosition, ScrollEventDetail.LINE_DOWN); _arg1.stopPropagation(); break; case Keyboard.UP: verticalScrollPosition = (verticalScrollPosition - verticalLineScrollSize); dispatchScrollEvent(_local3, _local4, verticalScrollPosition, ScrollEventDetail.LINE_UP); _arg1.stopPropagation(); break; case Keyboard.PAGE_UP: verticalScrollPosition = (verticalScrollPosition - verticalPageScrollSize); dispatchScrollEvent(_local3, _local4, verticalScrollPosition, ScrollEventDetail.PAGE_UP); _arg1.stopPropagation(); break; case Keyboard.PAGE_DOWN: verticalScrollPosition = (verticalScrollPosition + verticalPageScrollSize); dispatchScrollEvent(_local3, _local4, verticalScrollPosition, ScrollEventDetail.PAGE_DOWN); _arg1.stopPropagation(); break; case Keyboard.HOME: verticalScrollPosition = verticalScrollBar.minScrollPosition; dispatchScrollEvent(_local3, _local4, verticalScrollPosition, ScrollEventDetail.AT_TOP); _arg1.stopPropagation(); break; case Keyboard.END: verticalScrollPosition = verticalScrollBar.maxScrollPosition; dispatchScrollEvent(_local3, _local4, verticalScrollPosition, ScrollEventDetail.AT_BOTTOM); _arg1.stopPropagation(); break; }; }; if (horizontalScrollBar){ _local3 = ScrollEventDirection.HORIZONTAL; _local4 = horizontalScrollPosition; switch (_arg1.keyCode){ case Keyboard.LEFT: horizontalScrollPosition = (horizontalScrollPosition - horizontalLineScrollSize); dispatchScrollEvent(_local3, _local4, horizontalScrollPosition, ScrollEventDetail.LINE_LEFT); _arg1.stopPropagation(); break; case Keyboard.RIGHT: horizontalScrollPosition = (horizontalScrollPosition + horizontalLineScrollSize); dispatchScrollEvent(_local3, _local4, horizontalScrollPosition, ScrollEventDetail.LINE_RIGHT); _arg1.stopPropagation(); break; }; }; } public function get icon():Class{ return (_icon); } private function createOrDestroyBlocker():void{ var _local1:DisplayObject; var _local2:ISystemManager; if (enabled){ if (blocker){ rawChildren.removeChild(blocker); blocker = null; }; } else { if (!blocker){ blocker = new FlexSprite(); blocker.name = "blocker"; blocker.mouseEnabled = true; rawChildren.addChild(blocker); blocker.addEventListener(MouseEvent.CLICK, blocker_clickHandler); _local1 = (focusManager) ? DisplayObject(focusManager.getFocus()) : null; while (_local1) { if (_local1 == this){ _local2 = systemManager; if (((_local2) && (_local2.stage))){ _local2.stage.focus = null; }; break; }; _local1 = _local1.parent; }; }; }; } private function horizontalScrollBar_scrollHandler(_arg1:Event):void{ var _local2:Number; if ((_arg1 is ScrollEvent)){ _local2 = horizontalScrollPosition; horizontalScrollPosition = horizontalScrollBar.scrollPosition; dispatchScrollEvent(ScrollEventDirection.HORIZONTAL, _local2, horizontalScrollPosition, ScrollEvent(_arg1).detail); }; } public function createComponentFromDescriptor(_arg1:ComponentDescriptor, _arg2:Boolean):IFlexDisplayObject{ var _local7:String; var _local10:IRepeaterClient; var _local11:IStyleClient; var _local12:String; var _local13:String; var _local3:UIComponentDescriptor = UIComponentDescriptor(_arg1); var _local4:Object = _local3.properties; if (((((((!((numChildrenBefore == 0))) || (!((numChildrenCreated == -1))))) && ((_local3.instanceIndices == null)))) && (hasChildMatchingDescriptor(_local3)))){ return (null); }; UIComponentGlobals.layoutManager.usePhasedInstantiation = true; var _local5:Class = _local3.type; var _local6:IDeferredInstantiationUIComponent = new (_local5); _local6.id = _local3.id; if (((_local6.id) && (!((_local6.id == ""))))){ _local6.name = _local6.id; }; _local6.descriptor = _local3; if (((_local4.childDescriptors) && ((_local6 is Container)))){ Container(_local6)._childDescriptors = _local4.childDescriptors; delete _local4.childDescriptors; }; for (_local7 in _local4) { _local6[_local7] = _local4[_local7]; }; if ((_local6 is Container)){ Container(_local6).recursionFlag = _arg2; }; if (_local3.instanceIndices){ if ((_local6 is IRepeaterClient)){ _local10 = IRepeaterClient(_local6); _local10.instanceIndices = _local3.instanceIndices; _local10.repeaters = _local3.repeaters; _local10.repeaterIndices = _local3.repeaterIndices; }; }; if ((_local6 is IStyleClient)){ _local11 = IStyleClient(_local6); if (_local3.stylesFactory != null){ if (!_local11.styleDeclaration){ _local11.styleDeclaration = new CSSStyleDeclaration(); }; _local11.styleDeclaration.factory = _local3.stylesFactory; }; }; var _local8:Object = _local3.events; if (_local8){ for (_local12 in _local8) { _local13 = _local8[_local12]; _local6.addEventListener(_local12, _local3.document[_local13]); }; }; var _local9:Array = _local3.effects; if (_local9){ _local6.registerEffects(_local9); }; if ((_local6 is IRepeaterClient)){ IRepeaterClient(_local6).initializeRepeaterArrays(this); }; _local6.createReferenceOnParentDocument(IFlexDisplayObject(_local3.document)); if (!_local6.document){ _local6.document = _local3.document; }; if ((_local6 is IRepeater)){ if (!childRepeaters){ childRepeaters = []; }; childRepeaters.push(_local6); _local6.executeBindings(); IRepeater(_local6).initializeRepeater(this, _arg2); } else { addChild(DisplayObject(_local6)); if ((((creationPolicy == ContainerCreationPolicy.QUEUED)) || ((creationPolicy == ContainerCreationPolicy.NONE)))){ _local6.addEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler); }; }; return (_local6); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; if (horizontalScrollBar){ horizontalScrollBar.enabled = _arg1; }; if (verticalScrollBar){ verticalScrollBar.enabled = _arg1; }; invalidateProperties(); } public function set horizontalScrollBar(_arg1:ScrollBar):void{ _horizontalScrollBar = _arg1; } mx_internal function get usePadding():Boolean{ return (true); } override public function get baselinePosition():Number{ var _local2:IUIComponent; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ if ((((getStyle("verticalAlign") == "top")) && ((numChildren > 0)))){ _local2 = (getChildAt(0) as IUIComponent); if (_local2){ return ((_local2.y + _local2.baselinePosition)); }; }; return (super.baselinePosition); }; if (!validateBaselinePosition()){ return (NaN); }; var _local1:TextLineMetrics = measureText("Wj"); if (height < (((2 * viewMetrics.top) + 4) + _local1.ascent)){ return (int((height + ((_local1.ascent - height) / 2)))); }; return (((viewMetrics.top + 2) + _local1.ascent)); } override public function getChildByName(_arg1:String):DisplayObject{ var _local2:DisplayObject; var _local3:int; if (contentPane){ return (contentPane.getChildByName(_arg1)); }; _local2 = super.getChildByName(_arg1); if (!_local2){ return (null); }; _local3 = (super.getChildIndex(_local2) - _firstChildIndex); if ((((_local3 < 0)) || ((_local3 >= _numChildren)))){ return (null); }; return (_local2); } public function get verticalLineScrollSize():Number{ return (_verticalLineScrollSize); } public function get horizontalScrollPolicy():String{ return (_horizontalScrollPolicy); } override public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ var _local3:DisplayObjectContainer = _arg1.parent; if (((_local3) && (!((_local3 is Loader))))){ _local3.removeChild(_arg1); }; addingChild(_arg1); if (contentPane){ contentPane.addChildAt(_arg1, _arg2); } else { $addChildAt(_arg1, (_firstChildIndex + _arg2)); }; childAdded(_arg1); if ((((_arg1 is UIComponent)) && (UIComponent(_arg1).isDocument))){ BindingManager.setEnabled(_arg1, true); }; if ((_arg1 is IDeferredInstantiationUIComponent)){ IDeferredInstantiationUIComponent(_arg1).executeBindings(true); }; return (_arg1); } public function get maxVerticalScrollPosition():Number{ return ((verticalScrollBar) ? verticalScrollBar.maxScrollPosition : Math.max((scrollableHeight - viewableHeight), 0)); } public function set horizontalScrollPosition(_arg1:Number):void{ if (_horizontalScrollPosition == _arg1){ return; }; _horizontalScrollPosition = _arg1; scrollPositionChanged = true; if (!initialized){ horizontalScrollPositionPending = _arg1; }; invalidateDisplayList(); dispatchEvent(new Event("viewChanged")); } mx_internal function invalidateViewMetricsAndPadding():void{ _viewMetricsAndPadding = null; } public function get horizontalLineScrollSize():Number{ return (_horizontalLineScrollSize); } override public function set focusPane(_arg1:Sprite):void{ var _local2:Boolean = invalidateSizeFlag; var _local3:Boolean = invalidateDisplayListFlag; invalidateSizeFlag = true; invalidateDisplayListFlag = true; if (_arg1){ rawChildren.addChild(_arg1); _arg1.x = 0; _arg1.y = 0; _arg1.scrollRect = null; _focusPane = _arg1; } else { rawChildren.removeChild(_focusPane); _focusPane = null; }; if (((_arg1) && (contentPane))){ _arg1.x = contentPane.x; _arg1.y = contentPane.y; _arg1.scrollRect = contentPane.scrollRect; }; invalidateSizeFlag = _local2; invalidateDisplayListFlag = _local3; } private function updateBackgroundImageRect():void{ var _local1:IRectangularBorder = (border as IRectangularBorder); if (!_local1){ return; }; if ((((viewableWidth == 0)) && ((viewableHeight == 0)))){ _local1.backgroundImageBounds = null; return; }; var _local2:EdgeMetrics = viewMetrics; var _local3:Number = (viewableWidth) ? viewableWidth : ((unscaledWidth - _local2.left) - _local2.right); var _local4:Number = (viewableHeight) ? viewableHeight : ((unscaledHeight - _local2.top) - _local2.bottom); if (getStyle("backgroundAttachment") == "fixed"){ _local1.backgroundImageBounds = new Rectangle(_local2.left, _local2.top, _local3, _local4); } else { _local1.backgroundImageBounds = new Rectangle(_local2.left, _local2.top, Math.max(scrollableWidth, _local3), Math.max(scrollableHeight, _local4)); }; } private function blocker_clickHandler(_arg1:Event):void{ _arg1.stopPropagation(); } private function mouseWheelHandler(_arg1:MouseEvent):void{ var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; if (verticalScrollBar){ _arg1.stopPropagation(); _local2 = ((_arg1.delta <= 0)) ? 1 : -1; _local3 = (verticalScrollBar) ? verticalScrollBar.lineScrollSize : 1; _local4 = Math.max(Math.abs(_arg1.delta), _local3); _local5 = verticalScrollPosition; verticalScrollPosition = (verticalScrollPosition + ((3 * _local4) * _local2)); dispatchScrollEvent(ScrollEventDirection.VERTICAL, _local5, verticalScrollPosition, ((_arg1.delta <= 0)) ? ScrollEventDetail.LINE_UP : ScrollEventDetail.LINE_DOWN); }; } public function get defaultButton():IFlexDisplayObject{ return (_defaultButton); } mx_internal function createContentPane():void{ var _local3:int; var _local5:IUIComponent; if (contentPane){ return; }; creatingContentPane = true; var _local1:int = numChildren; var _local2:Sprite = new FlexSprite(); _local2.name = "contentPane"; _local2.tabChildren = true; if (border){ _local3 = (rawChildren.getChildIndex(DisplayObject(border)) + 1); if ((((border is IRectangularBorder)) && (IRectangularBorder(border).hasBackgroundImage))){ _local3++; }; } else { _local3 = 0; }; rawChildren.addChildAt(_local2, _local3); var _local4:int; while (_local4 < _local1) { _local5 = IUIComponent(super.getChildAt(_firstChildIndex)); _local2.addChild(DisplayObject(_local5)); _local5.parentChanged(_local2); _numChildren--; _local4++; }; contentPane = _local2; creatingContentPane = false; contentPane.visible = true; } public function set verticalPageScrollSize(_arg1:Number):void{ scrollPropertiesChanged = true; _verticalPageScrollSize = _arg1; invalidateDisplayList(); dispatchEvent(new Event("verticalPageScrollSizeChanged")); } mx_internal function setDocumentDescriptor(_arg1:UIComponentDescriptor):void{ var _local2:String; if (processedDescriptors){ return; }; if (((_documentDescriptor) && (_documentDescriptor.properties.childDescriptors))){ if (_arg1.properties.childDescriptors){ _local2 = resourceManager.getString("core", "multipleChildSets_ClassAndSubclass"); throw (new Error(_local2)); }; } else { _documentDescriptor = _arg1; _documentDescriptor.document = this; }; } private function verticalScrollBar_scrollHandler(_arg1:Event):void{ var _local2:Number; if ((_arg1 is ScrollEvent)){ _local2 = verticalScrollPosition; verticalScrollPosition = verticalScrollBar.scrollPosition; dispatchScrollEvent(ScrollEventDirection.VERTICAL, _local2, verticalScrollPosition, ScrollEvent(_arg1).detail); }; } public function get creationPolicy():String{ return (_creationPolicy); } public function set icon(_arg1:Class):void{ _icon = _arg1; dispatchEvent(new Event("iconChanged")); } private function dispatchScrollEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:String):void{ var _local5:ScrollEvent = new ScrollEvent(ScrollEvent.SCROLL); _local5.direction = _arg1; _local5.position = _arg3; _local5.delta = (_arg3 - _arg2); _local5.detail = _arg4; dispatchEvent(_local5); } public function get label():String{ return (_label); } public function get verticalScrollPolicy():String{ return (_verticalScrollPolicy); } public function get borderMetrics():EdgeMetrics{ return ((((border) && ((border is IRectangularBorder)))) ? IRectangularBorder(border).borderMetrics : EdgeMetrics.EMPTY); } private function creationCompleteHandler(_arg1:FlexEvent):void{ numChildrenCreated--; if (numChildrenCreated <= 0){ dispatchEvent(new FlexEvent("childrenCreationComplete")); }; } override public function contentToLocal(_arg1:Point):Point{ if (!contentPane){ return (_arg1); }; _arg1 = contentToGlobal(_arg1); return (globalToLocal(_arg1)); } override public function removeChild(_arg1:DisplayObject):DisplayObject{ var _local2:int; var _local3:int; if ((((_arg1 is IDeferredInstantiationUIComponent)) && (IDeferredInstantiationUIComponent(_arg1).descriptor))){ if (createdComponents){ _local2 = createdComponents.length; _local3 = 0; while (_local3 < _local2) { if (createdComponents[_local3] === _arg1){ createdComponents.splice(_local3, 1); }; _local3++; }; }; }; removingChild(_arg1); if ((((_arg1 is UIComponent)) && (UIComponent(_arg1).isDocument))){ BindingManager.setEnabled(_arg1, false); }; if (contentPane){ contentPane.removeChild(_arg1); } else { $removeChild(_arg1); }; childRemoved(_arg1); return (_arg1); } final mx_internal function get $numChildren():int{ return (super.numChildren); } mx_internal function get numRepeaters():int{ return ((childRepeaters) ? childRepeaters.length : 0); } mx_internal function set numChildrenCreated(_arg1:int):void{ _numChildrenCreated = _arg1; } public function get creatingContentPane():Boolean{ return (_creatingContentPane); } public function get clipContent():Boolean{ return (_clipContent); } mx_internal function rawChildren_getChildIndex(_arg1:DisplayObject):int{ return (super.getChildIndex(_arg1)); } override public function regenerateStyleCache(_arg1:Boolean):void{ var _local2:int; var _local3:int; var _local4:DisplayObject; super.regenerateStyleCache(_arg1); if (contentPane){ _local2 = contentPane.numChildren; _local3 = 0; while (_local3 < _local2) { _local4 = getChildAt(_local3); if (((_arg1) && ((_local4 is UIComponent)))){ if (UIComponent(_local4).inheritingStyles != UIComponent.STYLE_UNINITIALIZED){ UIComponent(_local4).regenerateStyleCache(_arg1); }; } else { if ((((_local4 is IUITextField)) && (IUITextField(_local4).inheritingStyles))){ StyleProtoChain.initTextField(IUITextField(_local4)); }; }; _local3++; }; }; } override public function getChildIndex(_arg1:DisplayObject):int{ var _local2:int; if (contentPane){ return (contentPane.getChildIndex(_arg1)); }; _local2 = (super.getChildIndex(_arg1) - _firstChildIndex); return (_local2); } mx_internal function rawChildren_contains(_arg1:DisplayObject):Boolean{ return (super.contains(_arg1)); } mx_internal function getScrollableRect():Rectangle{ var _local9:DisplayObject; var _local1:Number = 0; var _local2:Number = 0; var _local3:Number = 0; var _local4:Number = 0; var _local5:int = numChildren; var _local6:int; while (_local6 < _local5) { _local9 = getChildAt(_local6); if ((((_local9 is IUIComponent)) && (!(IUIComponent(_local9).includeInLayout)))){ } else { _local1 = Math.min(_local1, _local9.x); _local2 = Math.min(_local2, _local9.y); if (!isNaN(_local9.width)){ _local3 = Math.max(_local3, (_local9.x + _local9.width)); }; if (!isNaN(_local9.height)){ _local4 = Math.max(_local4, (_local9.y + _local9.height)); }; }; _local6++; }; var _local7:EdgeMetrics = viewMetrics; var _local8:Rectangle = new Rectangle(); _local8.left = _local1; _local8.top = _local2; _local8.right = _local3; _local8.bottom = _local4; if (usePadding){ _local8.right = (_local8.right + getStyle("paddingRight")); _local8.bottom = (_local8.bottom + getStyle("paddingBottom")); }; return (_local8); } override protected function createChildren():void{ var _local1:Application; super.createChildren(); createBorder(); createOrDestroyScrollbars((horizontalScrollPolicy == ScrollPolicy.ON), (verticalScrollPolicy == ScrollPolicy.ON), (((horizontalScrollPolicy == ScrollPolicy.ON)) || ((verticalScrollPolicy == ScrollPolicy.ON)))); if (creationPolicy != null){ actualCreationPolicy = creationPolicy; } else { if ((parent is Container)){ if (Container(parent).actualCreationPolicy == ContainerCreationPolicy.QUEUED){ actualCreationPolicy = ContainerCreationPolicy.AUTO; } else { actualCreationPolicy = Container(parent).actualCreationPolicy; }; }; }; if (actualCreationPolicy == ContainerCreationPolicy.NONE){ actualCreationPolicy = ContainerCreationPolicy.AUTO; } else { if (actualCreationPolicy == ContainerCreationPolicy.QUEUED){ _local1 = (parentApplication) ? Application(parentApplication) : Application(Application.application); _local1.addToCreationQueue(this, creationIndex, null, this); } else { if (recursionFlag){ createComponentsFromDescriptors(); }; }; }; if (autoLayout == false){ forceLayout = true; }; UIComponentGlobals.layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE, layoutCompleteHandler, false, 0, true); } override public function executeBindings(_arg1:Boolean=false):void{ var _local2:Object = (((descriptor) && (descriptor.document))) ? descriptor.document : parentDocument; BindingManager.executeBindings(_local2, id, this); if (_arg1){ executeChildBindings(_arg1); }; } override public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ var _local3:int; var _local4:int = _local3; var _local5:int = _arg2; if (contentPane){ contentPane.setChildIndex(_arg1, _arg2); if (((_autoLayout) || (forceLayout))){ invalidateDisplayList(); }; } else { _local3 = super.getChildIndex(_arg1); _arg2 = (_arg2 + _firstChildIndex); if (_arg2 == _local3){ return; }; super.setChildIndex(_arg1, _arg2); invalidateDisplayList(); _local4 = (_local3 - _firstChildIndex); _local5 = (_arg2 - _firstChildIndex); }; var _local6:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.CHILD_INDEX_CHANGE); _local6.relatedObject = _arg1; _local6.oldIndex = _local4; _local6.newIndex = _local5; dispatchEvent(_local6); dispatchEvent(new Event("childrenChanged")); } override public function globalToContent(_arg1:Point):Point{ if (contentPane){ return (contentPane.globalToLocal(_arg1)); }; return (globalToLocal(_arg1)); } mx_internal function rawChildren_removeChild(_arg1:DisplayObject):DisplayObject{ var _local2:int = rawChildren_getChildIndex(_arg1); return (rawChildren_removeChildAt(_local2)); } mx_internal function rawChildren_setChildIndex(_arg1:DisplayObject, _arg2:int):void{ var _local3:int = super.getChildIndex(_arg1); super.setChildIndex(_arg1, _arg2); if ((((_local3 < _firstChildIndex)) && ((_arg2 >= _firstChildIndex)))){ _firstChildIndex--; } else { if ((((_local3 >= _firstChildIndex)) && ((_arg2 <= _firstChildIndex)))){ _firstChildIndex++; }; }; dispatchEvent(new Event("childrenChanged")); } public function set verticalLineScrollSize(_arg1:Number):void{ scrollPropertiesChanged = true; _verticalLineScrollSize = _arg1; invalidateDisplayList(); dispatchEvent(new Event("verticalLineScrollSizeChanged")); } mx_internal function rawChildren_getChildAt(_arg1:int):DisplayObject{ return (super.getChildAt(_arg1)); } public function get creationIndex():int{ return (_creationIndex); } public function get verticalScrollBar():ScrollBar{ return (_verticalScrollBar); } public function get viewMetricsAndPadding():EdgeMetrics{ if (((((_viewMetricsAndPadding) && (((!(horizontalScrollBar)) || ((horizontalScrollPolicy == ScrollPolicy.ON)))))) && (((!(verticalScrollBar)) || ((verticalScrollPolicy == ScrollPolicy.ON)))))){ return (_viewMetricsAndPadding); }; if (!_viewMetricsAndPadding){ _viewMetricsAndPadding = new EdgeMetrics(); }; var _local1:EdgeMetrics = _viewMetricsAndPadding; var _local2:EdgeMetrics = viewMetrics; _local1.left = (_local2.left + getStyle("paddingLeft")); _local1.right = (_local2.right + getStyle("paddingRight")); _local1.top = (_local2.top + getStyle("paddingTop")); _local1.bottom = (_local2.bottom + getStyle("paddingBottom")); return (_local1); } override public function addChild(_arg1:DisplayObject):DisplayObject{ return (addChildAt(_arg1, numChildren)); } public function set horizontalPageScrollSize(_arg1:Number):void{ scrollPropertiesChanged = true; _horizontalPageScrollSize = _arg1; invalidateDisplayList(); dispatchEvent(new Event("horizontalPageScrollSizeChanged")); } override mx_internal function childAdded(_arg1:DisplayObject):void{ dispatchEvent(new Event("childrenChanged")); var _local2:ChildExistenceChangedEvent = new ChildExistenceChangedEvent(ChildExistenceChangedEvent.CHILD_ADD); _local2.relatedObject = _arg1; dispatchEvent(_local2); _arg1.dispatchEvent(new FlexEvent(FlexEvent.ADD)); super.childAdded(_arg1); } public function set horizontalScrollPolicy(_arg1:String):void{ if (_horizontalScrollPolicy != _arg1){ _horizontalScrollPolicy = _arg1; invalidateDisplayList(); dispatchEvent(new Event("horizontalScrollPolicyChanged")); }; } private function layoutCompleteHandler(_arg1:FlexEvent):void{ UIComponentGlobals.layoutManager.removeEventListener(FlexEvent.UPDATE_COMPLETE, layoutCompleteHandler); forceLayout = false; var _local2:Boolean; if (!isNaN(horizontalScrollPositionPending)){ if (horizontalScrollPositionPending < 0){ horizontalScrollPositionPending = 0; } else { if (horizontalScrollPositionPending > maxHorizontalScrollPosition){ horizontalScrollPositionPending = maxHorizontalScrollPosition; }; }; if (((horizontalScrollBar) && (!((horizontalScrollBar.scrollPosition == horizontalScrollPositionPending))))){ _horizontalScrollPosition = horizontalScrollPositionPending; horizontalScrollBar.scrollPosition = horizontalScrollPositionPending; _local2 = true; }; horizontalScrollPositionPending = NaN; }; if (!isNaN(verticalScrollPositionPending)){ if (verticalScrollPositionPending < 0){ verticalScrollPositionPending = 0; } else { if (verticalScrollPositionPending > maxVerticalScrollPosition){ verticalScrollPositionPending = maxVerticalScrollPosition; }; }; if (((verticalScrollBar) && (!((verticalScrollBar.scrollPosition == verticalScrollPositionPending))))){ _verticalScrollPosition = verticalScrollPositionPending; verticalScrollBar.scrollPosition = verticalScrollPositionPending; _local2 = true; }; verticalScrollPositionPending = NaN; }; if (_local2){ scrollChildren(); }; } public function createComponentsFromDescriptors(_arg1:Boolean=true):void{ var _local4:IFlexDisplayObject; numChildrenBefore = numChildren; createdComponents = []; var _local2:int = (childDescriptors) ? childDescriptors.length : 0; var _local3:int; while (_local3 < _local2) { _local4 = createComponentFromDescriptor(childDescriptors[_local3], _arg1); createdComponents.push(_local4); _local3++; }; if ((((creationPolicy == ContainerCreationPolicy.QUEUED)) || ((creationPolicy == ContainerCreationPolicy.NONE)))){ UIComponentGlobals.layoutManager.usePhasedInstantiation = false; }; numChildrenCreated = (numChildren - numChildrenBefore); processedDescriptors = true; } override mx_internal function fillOverlay(_arg1:UIComponent, _arg2:uint, _arg3:RoundedRectangle=null):void{ var _local4:EdgeMetrics = viewMetrics; var _local5:Number = 0; if (!_arg3){ _arg3 = new RoundedRectangle(_local4.left, _local4.top, ((unscaledWidth - _local4.right) - _local4.left), ((unscaledHeight - _local4.bottom) - _local4.top), _local5); }; if (((((((((isNaN(_arg3.x)) || (isNaN(_arg3.y)))) || (isNaN(_arg3.width)))) || (isNaN(_arg3.height)))) || (isNaN(_arg3.cornerRadius)))){ return; }; var _local6:Graphics = _arg1.graphics; _local6.clear(); _local6.beginFill(_arg2); _local6.drawRoundRect(_arg3.x, _arg3.y, _arg3.width, _arg3.height, (_arg3.cornerRadius * 2), (_arg3.cornerRadius * 2)); _local6.endFill(); } override public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ super.removeEventListener(_arg1, _arg2, _arg3); if ((((((((((((((((_arg1 == MouseEvent.CLICK)) || ((_arg1 == MouseEvent.DOUBLE_CLICK)))) || ((_arg1 == MouseEvent.MOUSE_DOWN)))) || ((_arg1 == MouseEvent.MOUSE_MOVE)))) || ((_arg1 == MouseEvent.MOUSE_OVER)))) || ((_arg1 == MouseEvent.MOUSE_OUT)))) || ((_arg1 == MouseEvent.MOUSE_UP)))) || ((_arg1 == MouseEvent.MOUSE_WHEEL)))){ if ((((mouseEventReferenceCount > 0)) && ((--mouseEventReferenceCount == 0)))){ setStyle("mouseShield", false); setStyle("mouseShieldChildren", false); }; }; } mx_internal function rawChildren_removeChildAt(_arg1:int):DisplayObject{ var _local2:DisplayObject = super.getChildAt(_arg1); super.removingChild(_local2); $removeChildAt(_arg1); super.childRemoved(_local2); if ((((_firstChildIndex < _arg1)) && ((_arg1 < (_firstChildIndex + _numChildren))))){ _numChildren--; } else { if ((((_numChildren == 0)) || ((_arg1 < _firstChildIndex)))){ _firstChildIndex--; }; }; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("childrenChanged")); return (_local2); } public function set data(_arg1:Object):void{ _data = _arg1; dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); invalidateDisplayList(); } override public function removeChildAt(_arg1:int):DisplayObject{ return (removeChild(getChildAt(_arg1))); } private function isBorderNeeded():Boolean{ var c:Class = getStyle("borderSkin"); try { if (c != getDefinitionByName("mx.skins.halo::HaloBorder")){ return (true); }; } catch(e:Error) { return (true); }; var v:Object = getStyle("borderStyle"); if (v){ if (((!((v == "none"))) || ((((v == "none")) && (getStyle("mouseShield")))))){ return (true); }; }; v = getStyle("backgroundColor"); if (((!((v === null))) && (!((v === ""))))){ return (true); }; v = getStyle("backgroundImage"); return (((!((v == null))) && (!((v == ""))))); } public function set autoLayout(_arg1:Boolean):void{ var _local2:IInvalidating; _autoLayout = _arg1; if (_arg1){ invalidateSize(); invalidateDisplayList(); _local2 = (parent as IInvalidating); if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; }; } public function get verticalPageScrollSize():Number{ return (_verticalPageScrollSize); } public function getChildren():Array{ var _local1:Array = []; var _local2:int = numChildren; var _local3:int; while (_local3 < _local2) { _local1.push(getChildAt(_local3)); _local3++; }; return (_local1); } private function createScrollbarsIfNeeded(_arg1:Rectangle):Boolean{ var _local2:Number = _arg1.right; var _local3:Number = _arg1.bottom; var _local4:Number = unscaledWidth; var _local5:Number = unscaledHeight; var _local6:Boolean = (((_arg1.left < 0)) || ((_arg1.top < 0))); var _local7:EdgeMetrics = viewMetrics; if (scaleX != 1){ _local4 = (_local4 + (1 / Math.abs(scaleX))); }; if (scaleY != 1){ _local5 = (_local5 + (1 / Math.abs(scaleY))); }; _local4 = Math.floor(_local4); _local5 = Math.floor(_local5); _local2 = Math.floor(_local2); _local3 = Math.floor(_local3); if (((horizontalScrollBar) && (!((horizontalScrollPolicy == ScrollPolicy.ON))))){ _local5 = (_local5 - horizontalScrollBar.minHeight); }; if (((verticalScrollBar) && (!((verticalScrollPolicy == ScrollPolicy.ON))))){ _local4 = (_local4 - verticalScrollBar.minWidth); }; _local4 = (_local4 - (_local7.left + _local7.right)); _local5 = (_local5 - (_local7.top + _local7.bottom)); var _local8 = (horizontalScrollPolicy == ScrollPolicy.ON); var _local9 = (verticalScrollPolicy == ScrollPolicy.ON); var _local10:Boolean = ((((((((((_local8) || (_local9))) || (_local6))) || (!((overlay == null))))) || ((_local7.left > 0)))) || ((_local7.top > 0))); if (_local4 < _local2){ _local10 = true; if ((((((horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((((unscaledHeight - _local7.top) - _local7.bottom) >= 18)))) && ((((unscaledWidth - _local7.left) - _local7.right) >= 32)))){ _local8 = true; }; }; if (_local5 < _local3){ _local10 = true; if ((((((verticalScrollPolicy == ScrollPolicy.AUTO)) && ((((unscaledWidth - _local7.left) - _local7.right) >= 18)))) && ((((unscaledHeight - _local7.top) - _local7.bottom) >= 32)))){ _local9 = true; }; }; if (((((((((((((((_local8) && (_local9))) && ((horizontalScrollPolicy == ScrollPolicy.AUTO)))) && ((verticalScrollPolicy == ScrollPolicy.AUTO)))) && (horizontalScrollBar))) && (verticalScrollBar))) && (((_local4 + verticalScrollBar.minWidth) >= _local2)))) && (((_local5 + horizontalScrollBar.minHeight) >= _local3)))){ _local9 = false; _local8 = _local9; } else { if (((((((((_local8) && (!(_local9)))) && (verticalScrollBar))) && ((horizontalScrollPolicy == ScrollPolicy.AUTO)))) && (((_local4 + verticalScrollBar.minWidth) >= _local2)))){ _local8 = false; }; }; var _local11:Boolean = createOrDestroyScrollbars(_local8, _local9, _local10); if (((((!((scrollableWidth == _local2))) || (!((viewableWidth == _local4))))) || (_local11))){ if (horizontalScrollBar){ horizontalScrollBar.setScrollProperties(_local4, 0, (_local2 - _local4), horizontalPageScrollSize); scrollPositionChanged = true; }; viewableWidth = _local4; scrollableWidth = _local2; }; if (((((!((scrollableHeight == _local3))) || (!((viewableHeight == _local5))))) || (_local11))){ if (verticalScrollBar){ verticalScrollBar.setScrollProperties(_local5, 0, (_local3 - _local5), verticalPageScrollSize); scrollPositionChanged = true; }; viewableHeight = _local5; scrollableHeight = _local3; }; return (_local11); } override mx_internal function removingChild(_arg1:DisplayObject):void{ super.removingChild(_arg1); _arg1.dispatchEvent(new FlexEvent(FlexEvent.REMOVE)); var _local2:ChildExistenceChangedEvent = new ChildExistenceChangedEvent(ChildExistenceChangedEvent.CHILD_REMOVE); _local2.relatedObject = _arg1; dispatchEvent(_local2); } mx_internal function get numChildrenCreated():int{ return (_numChildrenCreated); } mx_internal function rawChildren_addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ if ((((_firstChildIndex < _arg2)) && ((_arg2 < ((_firstChildIndex + _numChildren) + 1))))){ _numChildren++; } else { if (_arg2 <= _firstChildIndex){ _firstChildIndex++; }; }; super.addingChild(_arg1); $addChildAt(_arg1, _arg2); super.childAdded(_arg1); dispatchEvent(new Event("childrenChanged")); return (_arg1); } private function hasChildMatchingDescriptor(_arg1:UIComponentDescriptor):Boolean{ var _local4:int; var _local5:IUIComponent; var _local2:String = _arg1.id; if (((!((_local2 == null))) && ((document[_local2] == null)))){ return (false); }; var _local3:int = numChildren; _local4 = 0; while (_local4 < _local3) { _local5 = IUIComponent(getChildAt(_local4)); if ((((_local5 is IDeferredInstantiationUIComponent)) && ((IDeferredInstantiationUIComponent(_local5).descriptor == _arg1)))){ return (true); }; _local4++; }; if (childRepeaters){ _local3 = childRepeaters.length; _local4 = 0; while (_local4 < _local3) { if (IDeferredInstantiationUIComponent(childRepeaters[_local4]).descriptor == _arg1){ return (true); }; _local4++; }; }; return (false); } mx_internal function rawChildren_getChildByName(_arg1:String):DisplayObject{ return (super.getChildByName(_arg1)); } override public function validateDisplayList():void{ var _local1:EdgeMetrics; var _local2:Number; var _local3:Number; var _local4:Object; var _local5:Number; var _local6:Number; var _local7:Number; if (((_autoLayout) || (forceLayout))){ doingLayout = true; super.validateDisplayList(); doingLayout = false; } else { layoutChrome(unscaledWidth, unscaledHeight); }; invalidateDisplayListFlag = true; if (createContentPaneAndScrollbarsIfNeeded()){ if (((_autoLayout) || (forceLayout))){ doingLayout = true; super.validateDisplayList(); doingLayout = false; }; createContentPaneAndScrollbarsIfNeeded(); }; if (clampScrollPositions()){ scrollChildren(); }; if (contentPane){ _local1 = viewMetrics; if (overlay){ overlay.x = 0; overlay.y = 0; overlay.width = unscaledWidth; overlay.height = unscaledHeight; }; if (((horizontalScrollBar) || (verticalScrollBar))){ if (((verticalScrollBar) && ((verticalScrollPolicy == ScrollPolicy.ON)))){ _local1.right = (_local1.right - verticalScrollBar.minWidth); }; if (((horizontalScrollBar) && ((horizontalScrollPolicy == ScrollPolicy.ON)))){ _local1.bottom = (_local1.bottom - horizontalScrollBar.minHeight); }; if (horizontalScrollBar){ _local2 = ((unscaledWidth - _local1.left) - _local1.right); if (verticalScrollBar){ _local2 = (_local2 - verticalScrollBar.minWidth); }; horizontalScrollBar.setActualSize(_local2, horizontalScrollBar.minHeight); horizontalScrollBar.move(_local1.left, ((unscaledHeight - _local1.bottom) - horizontalScrollBar.minHeight)); }; if (verticalScrollBar){ _local3 = ((unscaledHeight - _local1.top) - _local1.bottom); if (horizontalScrollBar){ _local3 = (_local3 - horizontalScrollBar.minHeight); }; verticalScrollBar.setActualSize(verticalScrollBar.minWidth, _local3); verticalScrollBar.move(((unscaledWidth - _local1.right) - verticalScrollBar.minWidth), _local1.top); }; if (whiteBox){ whiteBox.x = verticalScrollBar.x; whiteBox.y = horizontalScrollBar.y; }; }; contentPane.x = _local1.left; contentPane.y = _local1.top; if (focusPane){ focusPane.x = _local1.left; focusPane.y = _local1.top; }; scrollChildren(); }; invalidateDisplayListFlag = false; if (blocker){ _local1 = viewMetrics; _local4 = (enabled) ? null : getStyle("backgroundDisabledColor"); if ((((_local4 === null)) || (isNaN(Number(_local4))))){ _local4 = getStyle("backgroundColor"); }; if ((((_local4 === null)) || (isNaN(Number(_local4))))){ _local4 = 0xFFFFFF; }; _local5 = getStyle("disabledOverlayAlpha"); if (isNaN(_local5)){ _local5 = 0.6; }; blocker.x = _local1.left; blocker.y = _local1.top; _local6 = (unscaledWidth - (_local1.left + _local1.right)); _local7 = (unscaledHeight - (_local1.top + _local1.bottom)); blocker.graphics.clear(); blocker.graphics.beginFill(uint(_local4), _local5); blocker.graphics.drawRect(0, 0, _local6, _local7); blocker.graphics.endFill(); rawChildren.setChildIndex(blocker, (rawChildren.numChildren - 1)); }; } public function set horizontalLineScrollSize(_arg1:Number):void{ scrollPropertiesChanged = true; _horizontalLineScrollSize = _arg1; invalidateDisplayList(); dispatchEvent(new Event("horizontalLineScrollSizeChanged")); } override public function initialize():void{ var _local1:*; var _local2:String; if (((((isDocument) && (documentDescriptor))) && (!(processedDescriptors)))){ _local1 = documentDescriptor.properties; if (((_local1) && (_local1.childDescriptors))){ if (_childDescriptors){ _local2 = resourceManager.getString("core", "multipleChildSets_ClassAndInstance"); throw (new Error(_local2)); }; _childDescriptors = _local1.childDescriptors; }; }; super.initialize(); } mx_internal function set forceClipping(_arg1:Boolean):void{ if (_clipContent){ if (_arg1){ _forceClippingCount++; } else { _forceClippingCount--; }; createContentPane(); scrollChildren(); }; } public function removeAllChildren():void{ while (numChildren > 0) { removeChildAt(0); }; } override public function contentToGlobal(_arg1:Point):Point{ if (contentPane){ return (contentPane.localToGlobal(_arg1)); }; return (localToGlobal(_arg1)); } public function get horizontalPageScrollSize():Number{ return (_horizontalPageScrollSize); } override mx_internal function childRemoved(_arg1:DisplayObject):void{ super.childRemoved(_arg1); invalidateSize(); invalidateDisplayList(); if (!contentPane){ _numChildren--; if (_numChildren == 0){ _firstChildIndex = super.numChildren; }; }; if (((contentPane) && (!(autoLayout)))){ forceLayout = true; UIComponentGlobals.layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE, layoutCompleteHandler, false, 0, true); }; dispatchEvent(new Event("childrenChanged")); } public function set defaultButton(_arg1:IFlexDisplayObject):void{ _defaultButton = _arg1; ContainerGlobals.focusedContainer = null; } public function get data():Object{ return (_data); } override public function get numChildren():int{ return ((contentPane) ? contentPane.numChildren : _numChildren); } public function get autoLayout():Boolean{ return (_autoLayout); } override public function styleChanged(_arg1:String):void{ var _local3:String; var _local4:String; var _local2:Boolean = (((_arg1 == null)) || ((_arg1 == "styleName"))); if (((_local2) || (StyleManager.isSizeInvalidatingStyle(_arg1)))){ invalidateDisplayList(); }; if (((_local2) || ((_arg1 == "borderSkin")))){ if (border){ rawChildren.removeChild(DisplayObject(border)); border = null; createBorder(); }; }; if (((((((((((_local2) || ((_arg1 == "borderStyle")))) || ((_arg1 == "backgroundColor")))) || ((_arg1 == "backgroundImage")))) || ((_arg1 == "mouseShield")))) || ((_arg1 == "mouseShieldChildren")))){ createBorder(); }; super.styleChanged(_arg1); if (((_local2) || (StyleManager.isSizeInvalidatingStyle(_arg1)))){ invalidateViewMetricsAndPadding(); }; if (((_local2) || ((_arg1 == "horizontalScrollBarStyleName")))){ if (((horizontalScrollBar) && ((horizontalScrollBar is ISimpleStyleClient)))){ _local3 = getStyle("horizontalScrollBarStyleName"); ISimpleStyleClient(horizontalScrollBar).styleName = _local3; }; }; if (((_local2) || ((_arg1 == "verticalScrollBarStyleName")))){ if (((verticalScrollBar) && ((verticalScrollBar is ISimpleStyleClient)))){ _local4 = getStyle("verticalScrollBarStyleName"); ISimpleStyleClient(verticalScrollBar).styleName = _local4; }; }; } override protected function commitProperties():void{ var _local1:String; super.commitProperties(); if (changedStyles){ _local1 = ((changedStyles == MULTIPLE_PROPERTIES)) ? null : changedStyles; super.notifyStyleChangeInChildren(_local1, true); changedStyles = null; }; createOrDestroyBlocker(); } override public function finishPrint(_arg1:Object, _arg2:IFlexDisplayObject):void{ if (_arg1){ contentPane.scrollRect = Rectangle(_arg1); }; super.finishPrint(_arg1, _arg2); } public function get maxHorizontalScrollPosition():Number{ return ((horizontalScrollBar) ? horizontalScrollBar.maxScrollPosition : Math.max((scrollableWidth - viewableWidth), 0)); } public function set creationPolicy(_arg1:String):void{ _creationPolicy = _arg1; setActualCreationPolicies(_arg1); } public function set label(_arg1:String):void{ _label = _arg1; dispatchEvent(new Event("labelChanged")); } private function clampScrollPositions():Boolean{ var _local1:Boolean; if (_horizontalScrollPosition < 0){ _horizontalScrollPosition = 0; _local1 = true; } else { if (_horizontalScrollPosition > maxHorizontalScrollPosition){ _horizontalScrollPosition = maxHorizontalScrollPosition; _local1 = true; }; }; if (((horizontalScrollBar) && (!((horizontalScrollBar.scrollPosition == _horizontalScrollPosition))))){ horizontalScrollBar.scrollPosition = _horizontalScrollPosition; }; if (_verticalScrollPosition < 0){ _verticalScrollPosition = 0; _local1 = true; } else { if (_verticalScrollPosition > maxVerticalScrollPosition){ _verticalScrollPosition = maxVerticalScrollPosition; _local1 = true; }; }; if (((verticalScrollBar) && (!((verticalScrollBar.scrollPosition == _verticalScrollPosition))))){ verticalScrollBar.scrollPosition = _verticalScrollPosition; }; return (_local1); } override public function prepareToPrint(_arg1:IFlexDisplayObject):Object{ var _local2:Rectangle = (((contentPane) && (contentPane.scrollRect))) ? contentPane.scrollRect : null; if (_local2){ contentPane.scrollRect = null; }; super.prepareToPrint(_arg1); return (_local2); } mx_internal function get firstChildIndex():int{ return (_firstChildIndex); } mx_internal function rawChildren_addChild(_arg1:DisplayObject):DisplayObject{ if (_numChildren == 0){ _firstChildIndex++; }; super.addingChild(_arg1); $addChild(_arg1); super.childAdded(_arg1); dispatchEvent(new Event("childrenChanged")); return (_arg1); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local3:Object; var _local4:Number; super.updateDisplayList(_arg1, _arg2); layoutChrome(_arg1, _arg2); if (scrollPositionChanged){ clampScrollPositions(); scrollChildren(); scrollPositionChanged = false; }; if (scrollPropertiesChanged){ if (horizontalScrollBar){ horizontalScrollBar.lineScrollSize = horizontalLineScrollSize; horizontalScrollBar.pageScrollSize = horizontalPageScrollSize; }; if (verticalScrollBar){ verticalScrollBar.lineScrollSize = verticalLineScrollSize; verticalScrollBar.pageScrollSize = verticalPageScrollSize; }; scrollPropertiesChanged = false; }; if (((contentPane) && (contentPane.scrollRect))){ _local3 = (enabled) ? null : getStyle("backgroundDisabledColor"); if ((((_local3 === null)) || (isNaN(Number(_local3))))){ _local3 = getStyle("backgroundColor"); }; _local4 = getStyle("backgroundAlpha"); if (((((((!(_clipContent)) || (isNaN(Number(_local3))))) || ((_local3 === "")))) || (((!(((horizontalScrollBar) || (verticalScrollBar)))) && (!(cacheAsBitmap)))))){ _local3 = null; } else { if (((getStyle("backgroundImage")) || (getStyle("background")))){ _local3 = null; } else { if (_local4 != 1){ _local3 = null; }; }; }; contentPane.opaqueBackground = _local3; contentPane.cacheAsBitmap = !((_local3 == null)); }; } override mx_internal function addingChild(_arg1:DisplayObject):void{ var _local2:IUIComponent = IUIComponent(_arg1); super.addingChild(_arg1); invalidateSize(); invalidateDisplayList(); if (!contentPane){ if (_numChildren == 0){ _firstChildIndex = super.numChildren; }; _numChildren++; }; if (((contentPane) && (!(autoLayout)))){ forceLayout = true; UIComponentGlobals.layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE, layoutCompleteHandler, false, 0, true); }; } mx_internal function setActualCreationPolicies(_arg1:String):void{ var _local5:IFlexDisplayObject; var _local6:Container; actualCreationPolicy = _arg1; var _local2:String = _arg1; if (_arg1 == ContainerCreationPolicy.QUEUED){ _local2 = ContainerCreationPolicy.AUTO; }; var _local3:int = numChildren; var _local4:int; while (_local4 < _local3) { _local5 = IFlexDisplayObject(getChildAt(_local4)); if ((_local5 is Container)){ _local6 = Container(_local5); if (_local6.creationPolicy == null){ _local6.setActualCreationPolicies(_local2); }; }; _local4++; }; } } }//package mx.core
Section 83
//ContainerCreationPolicy (mx.core.ContainerCreationPolicy) package mx.core { public final class ContainerCreationPolicy { public static const ALL:String = "all"; public static const QUEUED:String = "queued"; public static const NONE:String = "none"; mx_internal static const VERSION:String = "3.0.0.0"; public static const AUTO:String = "auto"; } }//package mx.core
Section 84
//ContainerGlobals (mx.core.ContainerGlobals) package mx.core { import flash.display.*; import mx.managers.*; public class ContainerGlobals { public static var focusedContainer:InteractiveObject; public static function checkFocus(_arg1:InteractiveObject, _arg2:InteractiveObject):void{ var _local6:IFocusManager; var _local7:IButton; var _local3:InteractiveObject = _arg2; var _local4:InteractiveObject = _arg2; var _local5:IUIComponent; if (((!((_arg2 == null))) && ((_arg1 == _arg2)))){ return; }; while (_local4) { if (_local4.parent){ _local3 = _local4.parent; } else { _local3 = null; }; if ((_local4 is IUIComponent)){ _local5 = IUIComponent(_local4); }; _local4 = _local3; if (((((_local4) && ((_local4 is IContainer)))) && (IContainer(_local4).defaultButton))){ break; }; }; if (((!((ContainerGlobals.focusedContainer == _local4))) || ((((ContainerGlobals.focusedContainer == null)) && ((_local4 == null)))))){ if (!_local4){ _local4 = InteractiveObject(_local5); }; if (((_local4) && ((_local4 is IContainer)))){ _local6 = IContainer(_local4).focusManager; if (!_local6){ return; }; _local7 = (IContainer(_local4).defaultButton as IButton); if (_local7){ ContainerGlobals.focusedContainer = InteractiveObject(_local4); _local6.defaultButton = (_local7 as IButton); } else { ContainerGlobals.focusedContainer = InteractiveObject(_local4); _local6.defaultButton = null; }; }; }; } } }//package mx.core
Section 85
//ContainerLayout (mx.core.ContainerLayout) package mx.core { public final class ContainerLayout { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; public static const ABSOLUTE:String = "absolute"; mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 86
//ContainerRawChildrenList (mx.core.ContainerRawChildrenList) package mx.core { import flash.display.*; import flash.geom.*; public class ContainerRawChildrenList implements IChildList { private var owner:Container; mx_internal static const VERSION:String = "3.0.0.0"; public function ContainerRawChildrenList(_arg1:Container){ this.owner = _arg1; } public function addChild(_arg1:DisplayObject):DisplayObject{ return (owner.mx_internal::rawChildren_addChild(_arg1)); } public function getChildIndex(_arg1:DisplayObject):int{ return (owner.mx_internal::rawChildren_getChildIndex(_arg1)); } public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ var _local3 = owner; _local3.mx_internal::rawChildren_setChildIndex(_arg1, _arg2); } public function getChildByName(_arg1:String):DisplayObject{ return (owner.mx_internal::rawChildren_getChildByName(_arg1)); } public function removeChildAt(_arg1:int):DisplayObject{ return (owner.mx_internal::rawChildren_removeChildAt(_arg1)); } public function get numChildren():int{ return (owner.mx_internal::$numChildren); } public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ return (owner.mx_internal::rawChildren_addChildAt(_arg1, _arg2)); } public function getObjectsUnderPoint(_arg1:Point):Array{ return (owner.mx_internal::rawChildren_getObjectsUnderPoint(_arg1)); } public function contains(_arg1:DisplayObject):Boolean{ return (owner.mx_internal::rawChildren_contains(_arg1)); } public function removeChild(_arg1:DisplayObject):DisplayObject{ return (owner.mx_internal::rawChildren_removeChild(_arg1)); } public function getChildAt(_arg1:int):DisplayObject{ return (owner.mx_internal::rawChildren_getChildAt(_arg1)); } } }//package mx.core
Section 87
//DragSource (mx.core.DragSource) package mx.core { public class DragSource { private var formatHandlers:Object; private var dataHolder:Object; private var _formats:Array; mx_internal static const VERSION:String = "3.0.0.0"; public function DragSource(){ dataHolder = {}; formatHandlers = {}; _formats = []; super(); } public function hasFormat(_arg1:String):Boolean{ var _local2:int = _formats.length; var _local3:int; while (_local3 < _local2) { if (_formats[_local3] == _arg1){ return (true); }; _local3++; }; return (false); } public function addData(_arg1:Object, _arg2:String):void{ _formats.push(_arg2); dataHolder[_arg2] = _arg1; } public function dataForFormat(_arg1:String):Object{ var _local2:Object = dataHolder[_arg1]; if (_local2){ return (_local2); }; if (formatHandlers[_arg1]){ return (formatHandlers[_arg1]()); }; return (null); } public function addHandler(_arg1:Function, _arg2:String):void{ _formats.push(_arg2); formatHandlers[_arg2] = _arg1; } public function get formats():Array{ return (_formats); } } }//package mx.core
Section 88
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); ; public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){ this.left = _arg1; this.top = _arg2; this.right = _arg3; this.bottom = _arg4; } public function clone():EdgeMetrics{ return (new EdgeMetrics(left, top, right, bottom)); } } }//package mx.core
Section 89
//EmbeddedFont (mx.core.EmbeddedFont) package mx.core { public class EmbeddedFont { private var _fontName:String; private var _fontStyle:String; mx_internal static const VERSION:String = "3.0.0.0"; public function EmbeddedFont(_arg1:String, _arg2:Boolean, _arg3:Boolean){ _fontName = _arg1; _fontStyle = EmbeddedFontRegistry.getFontStyle(_arg2, _arg3); } public function get fontStyle():String{ return (_fontStyle); } public function get fontName():String{ return (_fontName); } } }//package mx.core
Section 90
//EmbeddedFontRegistry (mx.core.EmbeddedFontRegistry) package mx.core { import flash.text.*; import flash.utils.*; public class EmbeddedFontRegistry implements IEmbeddedFontRegistry { mx_internal static const VERSION:String = "3.0.0.0"; private static var fonts:Object = {}; private static var instance:IEmbeddedFontRegistry; public function getAssociatedModuleFactory(_arg1:EmbeddedFont, _arg2:IFlexModuleFactory):IFlexModuleFactory{ var _local4:int; var _local5:Object; var _local3:Dictionary = fonts[createFontKey(_arg1)]; if (_local3){ _local4 = _local3[_arg2]; if (_local4){ return (_arg2); }; for (_local5 in _local3) { return ((_local5 as IFlexModuleFactory)); }; }; return (null); } public function deregisterFont(_arg1:EmbeddedFont, _arg2:IFlexModuleFactory):void{ var _local5:int; var _local6:Object; var _local3:String = createFontKey(_arg1); var _local4:Dictionary = fonts[_local3]; if (_local4 != null){ delete _local4[_arg2]; _local5 = 0; for (_local6 in _local4) { _local5++; }; if (_local5 == 0){ delete fonts[_local3]; }; }; } public function getFonts():Array{ var _local2:String; var _local1:Array = []; for (_local2 in fonts) { _local1.push(createEmbeddedFont(_local2)); }; return (_local1); } public function registerFont(_arg1:EmbeddedFont, _arg2:IFlexModuleFactory):void{ var _local3:String = createFontKey(_arg1); var _local4:Dictionary = fonts[_local3]; if (!_local4){ _local4 = new Dictionary(true); fonts[_local3] = _local4; }; _local4[_arg2] = 1; } public static function registerFonts(_arg1:Object, _arg2:IFlexModuleFactory):void{ var _local4:Object; var _local5:Object; var _local6:String; var _local7:Boolean; var _local8:Boolean; var _local3:IEmbeddedFontRegistry = IEmbeddedFontRegistry(Singleton.getInstance("mx.core::IEmbeddedFontRegistry")); for (_local4 in _arg1) { _local5 = _arg1[_local4]; for (_local6 in _local5) { if (_local5[_local6] == false){ } else { if (_local6 == "regular"){ _local7 = false; _local8 = false; } else { if (_local6 == "boldItalic"){ _local7 = true; _local8 = true; } else { if (_local6 == "bold"){ _local7 = true; _local8 = false; } else { if (_local6 == "italic"){ _local7 = false; _local8 = true; }; }; }; }; _local3.registerFont(new EmbeddedFont(String(_local4), _local7, _local8), _arg2); }; }; }; } public static function getInstance():IEmbeddedFontRegistry{ if (!instance){ instance = new (EmbeddedFontRegistry); }; return (instance); } public static function getFontStyle(_arg1:Boolean, _arg2:Boolean):String{ var _local3:String = FontStyle.REGULAR; if (((_arg1) && (_arg2))){ _local3 = FontStyle.BOLD_ITALIC; } else { if (_arg1){ _local3 = FontStyle.BOLD; } else { if (_arg2){ _local3 = FontStyle.ITALIC; }; }; }; return (_local3); } private static function createFontKey(_arg1:EmbeddedFont):String{ return ((_arg1.fontName + _arg1.fontStyle)); } private static function createEmbeddedFont(_arg1:String):EmbeddedFont{ var _local2:String; var _local3:Boolean; var _local4:Boolean; var _local5:int = endsWith(_arg1, FontStyle.REGULAR); if (_local5 > 0){ _local2 = _arg1.substring(0, _local5); return (new EmbeddedFont(_local2, false, false)); }; _local5 = endsWith(_arg1, FontStyle.BOLD); if (_local5 > 0){ _local2 = _arg1.substring(0, _local5); return (new EmbeddedFont(_local2, true, false)); }; _local5 = endsWith(_arg1, FontStyle.BOLD_ITALIC); if (_local5 > 0){ _local2 = _arg1.substring(0, _local5); return (new EmbeddedFont(_local2, true, true)); }; _local5 = endsWith(_arg1, FontStyle.ITALIC); if (_local5 > 0){ _local2 = _arg1.substring(0, _local5); return (new EmbeddedFont(_local2, false, true)); }; return (new EmbeddedFont("", false, false)); } private static function endsWith(_arg1:String, _arg2:String):int{ var _local3:int = _arg1.lastIndexOf(_arg2); if ((((_local3 > 0)) && (((_local3 + _arg2.length) == _arg1.length)))){ return (_local3); }; return (-1); } } }//package mx.core
Section 91
//EventPriority (mx.core.EventPriority) package mx.core { public final class EventPriority { public static const DEFAULT:int = 0; public static const BINDING:int = 100; public static const DEFAULT_HANDLER:int = -50; public static const EFFECT:int = -100; public static const CURSOR_MANAGEMENT:int = 200; mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 92
//FlexLoader (mx.core.FlexLoader) package mx.core { import flash.display.*; import mx.utils.*; public class FlexLoader extends Loader { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexLoader(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 93
//FlexShape (mx.core.FlexShape) package mx.core { import flash.display.*; import mx.utils.*; public class FlexShape extends Shape { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexShape(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 94
//FlexSprite (mx.core.FlexSprite) package mx.core { import flash.display.*; import mx.utils.*; public class FlexSprite extends Sprite { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexSprite(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 95
//FlexTextField (mx.core.FlexTextField) package mx.core { import flash.text.*; import mx.utils.*; public class FlexTextField extends TextField { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexTextField(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 96
//FlexVersion (mx.core.FlexVersion) package mx.core { import mx.resources.*; public class FlexVersion { public static const VERSION_2_0_1:uint = 33554433; public static const CURRENT_VERSION:uint = 50331648; public static const VERSION_3_0:uint = 50331648; public static const VERSION_2_0:uint = 33554432; public static const VERSION_ALREADY_READ:String = "versionAlreadyRead"; public static const VERSION_ALREADY_SET:String = "versionAlreadySet"; mx_internal static const VERSION:String = "3.0.0.0"; private static var compatibilityVersionChanged:Boolean = false; private static var _compatibilityErrorFunction:Function; private static var _compatibilityVersion:uint = 50331648; private static var compatibilityVersionRead:Boolean = false; mx_internal static function changeCompatibilityVersionString(_arg1:String):void{ var _local2:Array = _arg1.split("."); var _local3:uint = parseInt(_local2[0]); var _local4:uint = parseInt(_local2[1]); var _local5:uint = parseInt(_local2[2]); _compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5); } public static function set compatibilityVersion(_arg1:uint):void{ var _local2:String; if (_arg1 == _compatibilityVersion){ return; }; if (compatibilityVersionChanged){ if (compatibilityErrorFunction == null){ _local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET); throw (new Error(_local2)); }; compatibilityErrorFunction(_arg1, VERSION_ALREADY_SET); }; if (compatibilityVersionRead){ if (compatibilityErrorFunction == null){ _local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ); throw (new Error(_local2)); }; compatibilityErrorFunction(_arg1, VERSION_ALREADY_READ); }; _compatibilityVersion = _arg1; compatibilityVersionChanged = true; } public static function get compatibilityVersion():uint{ compatibilityVersionRead = true; return (_compatibilityVersion); } public static function set compatibilityErrorFunction(_arg1:Function):void{ _compatibilityErrorFunction = _arg1; } public static function set compatibilityVersionString(_arg1:String):void{ var _local2:Array = _arg1.split("."); var _local3:uint = parseInt(_local2[0]); var _local4:uint = parseInt(_local2[1]); var _local5:uint = parseInt(_local2[2]); compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5); } public static function get compatibilityErrorFunction():Function{ return (_compatibilityErrorFunction); } public static function get compatibilityVersionString():String{ var _local1:uint = ((compatibilityVersion >> 24) & 0xFF); var _local2:uint = ((compatibilityVersion >> 16) & 0xFF); var _local3:uint = (compatibilityVersion & 0xFFFF); return (((((_local1.toString() + ".") + _local2.toString()) + ".") + _local3.toString())); } } }//package mx.core
Section 97
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 98
//IButton (mx.core.IButton) package mx.core { public interface IButton extends IUIComponent { function get emphasized():Boolean; function set emphasized(_arg1:Boolean):void; function callLater(_arg1:Function, _arg2:Array=null):void; } }//package mx.core
Section 99
//IChildList (mx.core.IChildList) package mx.core { import flash.display.*; import flash.geom.*; public interface IChildList { function get numChildren():int; function removeChild(_arg1:DisplayObject):DisplayObject; function getChildByName(_arg1:String):DisplayObject; function removeChildAt(_arg1:int):DisplayObject; function getChildIndex(_arg1:DisplayObject):int; function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject; function getObjectsUnderPoint(_arg1:Point):Array; function setChildIndex(_arg1:DisplayObject, _arg2:int):void; function getChildAt(_arg1:int):DisplayObject; function addChild(_arg1:DisplayObject):DisplayObject; function contains(_arg1:DisplayObject):Boolean; } }//package mx.core
Section 100
//IConstraintClient (mx.core.IConstraintClient) package mx.core { public interface IConstraintClient { function setConstraintValue(_arg1:String, _arg2):void; function getConstraintValue(_arg1:String); } }//package mx.core
Section 101
//IContainer (mx.core.IContainer) package mx.core { import flash.display.*; import flash.geom.*; import flash.media.*; import flash.text.*; import mx.managers.*; public interface IContainer extends IUIComponent { function set hitArea(_arg1:Sprite):void; function swapChildrenAt(_arg1:int, _arg2:int):void; function getChildByName(_arg1:String):DisplayObject; function get doubleClickEnabled():Boolean; function get graphics():Graphics; function get useHandCursor():Boolean; function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject; function set mouseChildren(_arg1:Boolean):void; function set creatingContentPane(_arg1:Boolean):void; function get textSnapshot():TextSnapshot; function getChildIndex(_arg1:DisplayObject):int; function set doubleClickEnabled(_arg1:Boolean):void; function getObjectsUnderPoint(_arg1:Point):Array; function get creatingContentPane():Boolean; function setChildIndex(_arg1:DisplayObject, _arg2:int):void; function get soundTransform():SoundTransform; function set useHandCursor(_arg1:Boolean):void; function get numChildren():int; function contains(_arg1:DisplayObject):Boolean; function get verticalScrollPosition():Number; function set defaultButton(_arg1:IFlexDisplayObject):void; function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void; function set horizontalScrollPosition(_arg1:Number):void; function get focusManager():IFocusManager; function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void; function set mouseEnabled(_arg1:Boolean):void; function getChildAt(_arg1:int):DisplayObject; function set soundTransform(_arg1:SoundTransform):void; function get tabChildren():Boolean; function get tabIndex():int; function set focusRect(_arg1:Object):void; function get hitArea():Sprite; function get mouseChildren():Boolean; function removeChildAt(_arg1:int):DisplayObject; function get defaultButton():IFlexDisplayObject; function stopDrag():void; function set tabEnabled(_arg1:Boolean):void; function get horizontalScrollPosition():Number; function get focusRect():Object; function get viewMetrics():EdgeMetrics; function set verticalScrollPosition(_arg1:Number):void; function get dropTarget():DisplayObject; function get mouseEnabled():Boolean; function set tabChildren(_arg1:Boolean):void; function set buttonMode(_arg1:Boolean):void; function get tabEnabled():Boolean; function get buttonMode():Boolean; function removeChild(_arg1:DisplayObject):DisplayObject; function set tabIndex(_arg1:int):void; function addChild(_arg1:DisplayObject):DisplayObject; function areInaccessibleObjectsUnderPoint(_arg1:Point):Boolean; } }//package mx.core
Section 102
//IDataRenderer (mx.core.IDataRenderer) package mx.core { public interface IDataRenderer { function get data():Object; function set data(_arg1:Object):void; } }//package mx.core
Section 103
//IDeferredInstantiationUIComponent (mx.core.IDeferredInstantiationUIComponent) package mx.core { public interface IDeferredInstantiationUIComponent extends IUIComponent { function set cacheHeuristic(_arg1:Boolean):void; function createReferenceOnParentDocument(_arg1:IFlexDisplayObject):void; function get cachePolicy():String; function set id(_arg1:String):void; function registerEffects(_arg1:Array):void; function executeBindings(_arg1:Boolean=false):void; function get id():String; function deleteReferenceOnParentDocument(_arg1:IFlexDisplayObject):void; function set descriptor(_arg1:UIComponentDescriptor):void; function get descriptor():UIComponentDescriptor; } }//package mx.core
Section 104
//IEmbeddedFontRegistry (mx.core.IEmbeddedFontRegistry) package mx.core { public interface IEmbeddedFontRegistry { function getAssociatedModuleFactory(_arg1:EmbeddedFont, _arg2:IFlexModuleFactory):IFlexModuleFactory; function registerFont(_arg1:EmbeddedFont, _arg2:IFlexModuleFactory):void; function deregisterFont(_arg1:EmbeddedFont, _arg2:IFlexModuleFactory):void; function getFonts():Array; } }//package mx.core
Section 105
//IFactory (mx.core.IFactory) package mx.core { public interface IFactory { function newInstance(); } }//package mx.core
Section 106
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 107
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.display.*; import flash.geom.*; import flash.accessibility.*; import flash.events.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(_arg1:Point):Point; function get name():String; function set width(_arg1:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(_arg1:String):void; function set scaleX(_arg1:Number):void; function set scaleY(_arg1:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(_arg1:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(_arg1:Point):Point; function get height():Number; function set blendMode(_arg1:String):void; function get parent():DisplayObjectContainer; function getBounds(_arg1:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(_arg1:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(_arg1:Number):void; function set accessibilityProperties(_arg1:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(_arg1:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(_arg1:Number):void; function set mask(_arg1:DisplayObject):void; function getRect(_arg1:DisplayObject):Rectangle; function get alpha():Number; function set transform(_arg1:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(_arg1:DisplayObject):Boolean; function set opaqueBackground(_arg1:Object):void; function set visible(_arg1:Boolean):void; function get mask():DisplayObject; function set x(_arg1:Number):void; function set y(_arg1:Number):void; function get transform():Transform; function set filters(_arg1:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(_arg1:Number):void; function get stage():Stage; } }//package mx.core
Section 108
//IFlexModule (mx.core.IFlexModule) package mx.core { public interface IFlexModule { function set moduleFactory(_arg1:IFlexModuleFactory):void; function get moduleFactory():IFlexModuleFactory; } }//package mx.core
Section 109
//IFlexModuleFactory (mx.core.IFlexModuleFactory) package mx.core { public interface IFlexModuleFactory { function create(... _args):Object; function info():Object; } }//package mx.core
Section 110
//IFontContextComponent (mx.core.IFontContextComponent) package mx.core { public interface IFontContextComponent { function get fontContext():IFlexModuleFactory; function set fontContext(_arg1:IFlexModuleFactory):void; } }//package mx.core
Section 111
//IIMESupport (mx.core.IIMESupport) package mx.core { public interface IIMESupport { function set imeMode(_arg1:String):void; function get imeMode():String; } }//package mx.core
Section 112
//IInvalidating (mx.core.IInvalidating) package mx.core { public interface IInvalidating { function validateNow():void; function invalidateSize():void; function invalidateDisplayList():void; function invalidateProperties():void; } }//package mx.core
Section 113
//IMXMLObject (mx.core.IMXMLObject) package mx.core { public interface IMXMLObject { function initialized(_arg1:Object, _arg2:String):void; } }//package mx.core
Section 114
//IProgrammaticSkin (mx.core.IProgrammaticSkin) package mx.core { public interface IProgrammaticSkin { function validateNow():void; function validateDisplayList():void; } }//package mx.core
Section 115
//IPropertyChangeNotifier (mx.core.IPropertyChangeNotifier) package mx.core { import flash.events.*; public interface IPropertyChangeNotifier extends IEventDispatcher, IUID { } }//package mx.core
Section 116
//IRawChildrenContainer (mx.core.IRawChildrenContainer) package mx.core { public interface IRawChildrenContainer { function get rawChildren():IChildList; } }//package mx.core
Section 117
//IRectangularBorder (mx.core.IRectangularBorder) package mx.core { import flash.geom.*; public interface IRectangularBorder extends IBorder { function get backgroundImageBounds():Rectangle; function get hasBackgroundImage():Boolean; function set backgroundImageBounds(_arg1:Rectangle):void; function layoutBackgroundImage():void; } }//package mx.core
Section 118
//IRepeater (mx.core.IRepeater) package mx.core { public interface IRepeater { function get container():IContainer; function set startingIndex(_arg1:int):void; function get startingIndex():int; function set recycleChildren(_arg1:Boolean):void; function get currentItem():Object; function get count():int; function get recycleChildren():Boolean; function executeChildBindings():void; function set dataProvider(_arg1:Object):void; function initializeRepeater(_arg1:IContainer, _arg2:Boolean):void; function get currentIndex():int; function get dataProvider():Object; function set count(_arg1:int):void; } }//package mx.core
Section 119
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(_arg1:Array):void; function get isDocument():Boolean; function set repeaters(_arg1:Array):void; function initializeRepeaterArrays(_arg1:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(_arg1:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 120
//IStateClient (mx.core.IStateClient) package mx.core { public interface IStateClient { function get currentState():String; function set currentState(_arg1:String):void; } }//package mx.core
Section 121
//ITextFieldFactory (mx.core.ITextFieldFactory) package mx.core { import flash.text.*; public interface ITextFieldFactory { function createTextField(_arg1:IFlexModuleFactory):TextField; } }//package mx.core
Section 122
//IToolTip (mx.core.IToolTip) package mx.core { import flash.geom.*; public interface IToolTip extends IUIComponent { function set text(_arg1:String):void; function get screen():Rectangle; function get text():String; } }//package mx.core
Section 123
//IUIComponent (mx.core.IUIComponent) package mx.core { import flash.display.*; import mx.managers.*; public interface IUIComponent extends IFlexDisplayObject { function set focusPane(_arg1:Sprite):void; function get enabled():Boolean; function set enabled(_arg1:Boolean):void; function set isPopUp(_arg1:Boolean):void; function get explicitMinHeight():Number; function get percentWidth():Number; function get isPopUp():Boolean; function get owner():DisplayObjectContainer; function get percentHeight():Number; function get baselinePosition():Number; function owns(_arg1:DisplayObject):Boolean; function initialize():void; function get maxWidth():Number; function get minWidth():Number; function getExplicitOrMeasuredWidth():Number; function get explicitMaxWidth():Number; function get explicitMaxHeight():Number; function set percentHeight(_arg1:Number):void; function get minHeight():Number; function set percentWidth(_arg1:Number):void; function get document():Object; function get focusPane():Sprite; function getExplicitOrMeasuredHeight():Number; function set tweeningProperties(_arg1:Array):void; function set explicitWidth(_arg1:Number):void; function set measuredMinHeight(_arg1:Number):void; function get explicitMinWidth():Number; function get tweeningProperties():Array; function get maxHeight():Number; function set owner(_arg1:DisplayObjectContainer):void; function set includeInLayout(_arg1:Boolean):void; function setVisible(_arg1:Boolean, _arg2:Boolean=false):void; function parentChanged(_arg1:DisplayObjectContainer):void; function get explicitWidth():Number; function get measuredMinHeight():Number; function set measuredMinWidth(_arg1:Number):void; function set explicitHeight(_arg1:Number):void; function get includeInLayout():Boolean; function get measuredMinWidth():Number; function get explicitHeight():Number; function set systemManager(_arg1:ISystemManager):void; function set document(_arg1:Object):void; function get systemManager():ISystemManager; } }//package mx.core
Section 124
//IUID (mx.core.IUID) package mx.core { public interface IUID { function get uid():String; function set uid(_arg1:String):void; } }//package mx.core
Section 125
//IUITextField (mx.core.IUITextField) package mx.core { import flash.display.*; import flash.geom.*; import flash.text.*; import mx.managers.*; import mx.styles.*; public interface IUITextField extends IIMESupport, IFlexModule, IInvalidating, ISimpleStyleClient, IToolTipManagerClient, IUIComponent { function replaceText(_arg1:int, _arg2:int, _arg3:String):void; function get doubleClickEnabled():Boolean; function get nestLevel():int; function get caretIndex():int; function set doubleClickEnabled(_arg1:Boolean):void; function get maxScrollH():int; function set nestLevel(_arg1:int):void; function get numLines():int; function get scrollH():int; function setColor(_arg1:uint):void; function get maxScrollV():int; function getImageReference(_arg1:String):DisplayObject; function get scrollV():int; function get border():Boolean; function get text():String; function get styleSheet():StyleSheet; function getCharBoundaries(_arg1:int):Rectangle; function get background():Boolean; function set scrollH(_arg1:int):void; function getFirstCharInParagraph(_arg1:int):int; function get type():String; function replaceSelectedText(_arg1:String):void; function set borderColor(_arg1:uint):void; function get alwaysShowSelection():Boolean; function get sharpness():Number; function get tabIndex():int; function get textColor():uint; function set defaultTextFormat(_arg1:TextFormat):void; function get condenseWhite():Boolean; function get displayAsPassword():Boolean; function get autoSize():String; function setSelection(_arg1:int, _arg2:int):void; function set scrollV(_arg1:int):void; function set useRichTextClipboard(_arg1:Boolean):void; function get selectionBeginIndex():int; function get selectable():Boolean; function set border(_arg1:Boolean):void; function set multiline(_arg1:Boolean):void; function set background(_arg1:Boolean):void; function set embedFonts(_arg1:Boolean):void; function set text(_arg1:String):void; function get selectionEndIndex():int; function set mouseWheelEnabled(_arg1:Boolean):void; function appendText(_arg1:String):void; function get antiAliasType():String; function set styleSheet(_arg1:StyleSheet):void; function set nonInheritingStyles(_arg1:Object):void; function set textColor(_arg1:uint):void; function get wordWrap():Boolean; function getLineIndexAtPoint(_arg1:Number, _arg2:Number):int; function get htmlText():String; function set tabIndex(_arg1:int):void; function get thickness():Number; function getLineIndexOfChar(_arg1:int):int; function get bottomScrollV():int; function set restrict(_arg1:String):void; function set alwaysShowSelection(_arg1:Boolean):void; function getTextFormat(_arg1:int=-1, _arg2:int=-1):TextFormat; function set sharpness(_arg1:Number):void; function set type(_arg1:String):void; function setTextFormat(_arg1:TextFormat, _arg2:int=-1, _arg3:int=-1):void; function set gridFitType(_arg1:String):void; function getUITextFormat():UITextFormat; function set inheritingStyles(_arg1:Object):void; function setFocus():void; function get borderColor():uint; function set condenseWhite(_arg1:Boolean):void; function get textWidth():Number; function getLineOffset(_arg1:int):int; function set displayAsPassword(_arg1:Boolean):void; function set autoSize(_arg1:String):void; function get defaultTextFormat():TextFormat; function get useRichTextClipboard():Boolean; function get nonZeroTextHeight():Number; function set backgroundColor(_arg1:uint):void; function get embedFonts():Boolean; function set selectable(_arg1:Boolean):void; function get multiline():Boolean; function set maxChars(_arg1:int):void; function get textHeight():Number; function get nonInheritingStyles():Object; function getLineText(_arg1:int):String; function set focusRect(_arg1:Object):void; function get mouseWheelEnabled():Boolean; function get restrict():String; function getParagraphLength(_arg1:int):int; function set mouseEnabled(_arg1:Boolean):void; function get gridFitType():String; function get inheritingStyles():Object; function set ignorePadding(_arg1:Boolean):void; function set antiAliasType(_arg1:String):void; function get backgroundColor():uint; function getCharIndexAtPoint(_arg1:Number, _arg2:Number):int; function set tabEnabled(_arg1:Boolean):void; function get maxChars():int; function get focusRect():Object; function get ignorePadding():Boolean; function get mouseEnabled():Boolean; function get length():int; function set wordWrap(_arg1:Boolean):void; function get tabEnabled():Boolean; function set thickness(_arg1:Number):void; function getLineLength(_arg1:int):int; function truncateToFit(_arg1:String=null):Boolean; function set htmlText(_arg1:String):void; function getLineMetrics(_arg1:int):TextLineMetrics; function getStyle(_arg1:String); } }//package mx.core
Section 126
//LayoutContainer (mx.core.LayoutContainer) package mx.core { import flash.events.*; import mx.containers.*; import mx.containers.utilityClasses.*; public class LayoutContainer extends Container implements IConstraintLayout { private var _constraintColumns:Array; protected var layoutObject:Layout; private var _layout:String;// = "vertical" private var processingCreationQueue:Boolean;// = false protected var boxLayoutClass:Class; private var resizeHandlerAdded:Boolean;// = false private var preloadObj:Object; private var creationQueue:Array; private var _constraintRows:Array; protected var canvasLayoutClass:Class; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var useProgressiveLayout:Boolean = false; public function LayoutContainer(){ layoutObject = new BoxLayout(); canvasLayoutClass = CanvasLayout; boxLayoutClass = BoxLayout; creationQueue = []; _constraintColumns = []; _constraintRows = []; super(); layoutObject.target = this; } public function get constraintColumns():Array{ return (_constraintColumns); } override mx_internal function get usePadding():Boolean{ return (!((layout == ContainerLayout.ABSOLUTE))); } override protected function layoutChrome(_arg1:Number, _arg2:Number):void{ super.layoutChrome(_arg1, _arg2); if (!doingLayout){ createBorder(); }; } public function set constraintColumns(_arg1:Array):void{ var _local2:int; var _local3:int; if (_arg1 != _constraintColumns){ _local2 = _arg1.length; _local3 = 0; while (_local3 < _local2) { ConstraintColumn(_arg1[_local3]).container = this; _local3++; }; _constraintColumns = _arg1; invalidateSize(); invalidateDisplayList(); }; } public function set layout(_arg1:String):void{ if (_layout != _arg1){ _layout = _arg1; if (layoutObject){ layoutObject.target = null; }; if (_layout == ContainerLayout.ABSOLUTE){ layoutObject = new canvasLayoutClass(); } else { layoutObject = new boxLayoutClass(); if (_layout == ContainerLayout.VERTICAL){ BoxLayout(layoutObject).direction = BoxDirection.VERTICAL; } else { BoxLayout(layoutObject).direction = BoxDirection.HORIZONTAL; }; }; if (layoutObject){ layoutObject.target = this; }; invalidateSize(); invalidateDisplayList(); dispatchEvent(new Event("layoutChanged")); }; } public function get constraintRows():Array{ return (_constraintRows); } override protected function measure():void{ super.measure(); layoutObject.measure(); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); layoutObject.updateDisplayList(_arg1, _arg2); createBorder(); } public function get layout():String{ return (_layout); } public function set constraintRows(_arg1:Array):void{ var _local2:int; var _local3:int; if (_arg1 != _constraintRows){ _local2 = _arg1.length; _local3 = 0; while (_local3 < _local2) { ConstraintRow(_arg1[_local3]).container = this; _local3++; }; _constraintRows = _arg1; invalidateSize(); invalidateDisplayList(); }; } } }//package mx.core
Section 127
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 128
//ResourceModuleRSLItem (mx.core.ResourceModuleRSLItem) package mx.core { import flash.events.*; import mx.events.*; import mx.resources.*; public class ResourceModuleRSLItem extends RSLItem { mx_internal static const VERSION:String = "3.0.0.0"; public function ResourceModuleRSLItem(_arg1:String){ super(_arg1); } private function resourceErrorHandler(_arg1:ResourceEvent):void{ var _local2:IOErrorEvent = new IOErrorEvent(IOErrorEvent.IO_ERROR); _local2.text = _arg1.errorText; super.itemErrorHandler(_local2); } override public function load(_arg1:Function, _arg2:Function, _arg3:Function, _arg4:Function, _arg5:Function):void{ chainedProgressHandler = _arg1; chainedCompleteHandler = _arg2; chainedIOErrorHandler = _arg3; chainedSecurityErrorHandler = _arg4; chainedRSLErrorHandler = _arg5; var _local6:IResourceManager = ResourceManager.getInstance(); var _local7:IEventDispatcher = _local6.loadResourceModule(url); _local7.addEventListener(ResourceEvent.PROGRESS, itemProgressHandler); _local7.addEventListener(ResourceEvent.COMPLETE, itemCompleteHandler); _local7.addEventListener(ResourceEvent.ERROR, resourceErrorHandler); } } }//package mx.core
Section 129
//RSLItem (mx.core.RSLItem) package mx.core { import flash.display.*; import flash.events.*; import mx.events.*; import flash.system.*; import flash.net.*; public class RSLItem { protected var chainedSecurityErrorHandler:Function; public var total:uint;// = 0 public var loaded:uint;// = 0 private var completed:Boolean;// = false protected var chainedRSLErrorHandler:Function; protected var chainedIOErrorHandler:Function; protected var chainedCompleteHandler:Function; private var errorText:String; protected var chainedProgressHandler:Function; public var urlRequest:URLRequest; protected var url:String; mx_internal static const VERSION:String = "3.0.0.0"; public function RSLItem(_arg1:String){ this.url = _arg1; } public function itemProgressHandler(_arg1:ProgressEvent):void{ loaded = _arg1.bytesLoaded; total = _arg1.bytesTotal; if (chainedProgressHandler != null){ chainedProgressHandler(_arg1); }; } public function itemErrorHandler(_arg1:ErrorEvent):void{ errorText = decodeURI(_arg1.text); completed = true; loaded = 0; total = 0; trace(errorText); if ((((_arg1.type == IOErrorEvent.IO_ERROR)) && (!((chainedIOErrorHandler == null))))){ chainedIOErrorHandler(_arg1); } else { if ((((_arg1.type == SecurityErrorEvent.SECURITY_ERROR)) && (!((chainedSecurityErrorHandler == null))))){ chainedSecurityErrorHandler(_arg1); } else { if ((((_arg1.type == RSLEvent.RSL_ERROR)) && (!((chainedRSLErrorHandler == null))))){ chainedRSLErrorHandler(_arg1); }; }; }; } public function load(_arg1:Function, _arg2:Function, _arg3:Function, _arg4:Function, _arg5:Function):void{ chainedProgressHandler = _arg1; chainedCompleteHandler = _arg2; chainedIOErrorHandler = _arg3; chainedSecurityErrorHandler = _arg4; chainedRSLErrorHandler = _arg5; var _local6:Loader = new Loader(); var _local7:LoaderContext = new LoaderContext(); urlRequest = new URLRequest(url); _local6.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, itemProgressHandler); _local6.contentLoaderInfo.addEventListener(Event.COMPLETE, itemCompleteHandler); _local6.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, itemErrorHandler); _local6.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, itemErrorHandler); _local7.applicationDomain = ApplicationDomain.currentDomain; _local6.load(urlRequest, _local7); } public function itemCompleteHandler(_arg1:Event):void{ completed = true; if (chainedCompleteHandler != null){ chainedCompleteHandler(_arg1); }; } } }//package mx.core
Section 130
//RSLListLoader (mx.core.RSLListLoader) package mx.core { import flash.events.*; public class RSLListLoader { private var chainedSecurityErrorHandler:Function; private var chainedIOErrorHandler:Function; private var rslList:Array; private var chainedRSLErrorHandler:Function; private var chainedCompleteHandler:Function; private var currentIndex:int;// = 0 private var chainedProgressHandler:Function; mx_internal static const VERSION:String = "3.0.0.0"; public function RSLListLoader(_arg1:Array){ rslList = []; super(); this.rslList = _arg1; } private function loadNext():void{ if (!isDone()){ currentIndex++; if (currentIndex < rslList.length){ rslList[currentIndex].load(chainedProgressHandler, listCompleteHandler, listIOErrorHandler, listSecurityErrorHandler, chainedRSLErrorHandler); }; }; } public function getIndex():int{ return (currentIndex); } public function load(_arg1:Function, _arg2:Function, _arg3:Function, _arg4:Function, _arg5:Function):void{ chainedProgressHandler = _arg1; chainedCompleteHandler = _arg2; chainedIOErrorHandler = _arg3; chainedSecurityErrorHandler = _arg4; chainedRSLErrorHandler = _arg5; currentIndex = -1; loadNext(); } private function listCompleteHandler(_arg1:Event):void{ if (chainedCompleteHandler != null){ chainedCompleteHandler(_arg1); }; loadNext(); } public function isDone():Boolean{ return ((currentIndex >= rslList.length)); } private function listSecurityErrorHandler(_arg1:Event):void{ if (chainedSecurityErrorHandler != null){ chainedSecurityErrorHandler(_arg1); }; } public function getItemCount():int{ return (rslList.length); } public function getItem(_arg1:int):RSLItem{ if ((((_arg1 < 0)) || ((_arg1 >= rslList.length)))){ return (null); }; return (rslList[_arg1]); } private function listIOErrorHandler(_arg1:Event):void{ if (chainedIOErrorHandler != null){ chainedIOErrorHandler(_arg1); }; } } }//package mx.core
Section 131
//ScrollControlBase (mx.core.ScrollControlBase) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.*; import mx.controls.scrollClasses.*; public class ScrollControlBase extends UIComponent { private var numberOfRows:Number;// = 0 private var _scrollTipFunction:Function; private var scrollTip:ToolTip; public var showScrollTips:Boolean;// = false private var numberOfCols:Number;// = 0 protected var maskShape:Shape; private var oldTTMEnabled:Boolean; mx_internal var _maxHorizontalScrollPosition:Number; protected var border:IFlexDisplayObject; private var _viewMetrics:EdgeMetrics; mx_internal var _maxVerticalScrollPosition:Number; protected var verticalScrollBar:ScrollBar; mx_internal var _horizontalScrollPosition:Number;// = 0 private var propsInited:Boolean; protected var horizontalScrollBar:ScrollBar; mx_internal var _horizontalScrollPolicy:String;// = "off" mx_internal var _verticalScrollPosition:Number;// = 0 private var scrollThumbMidPoint:Number; mx_internal var _verticalScrollPolicy:String;// = "auto" protected var scrollAreaChanged:Boolean; private var viewableColumns:Number; public var liveScrolling:Boolean;// = true private var viewableRows:Number; private var invLayout:Boolean; mx_internal static const VERSION:String = "3.0.0.0"; public function ScrollControlBase(){ _viewMetrics = EdgeMetrics.EMPTY; addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; if (horizontalScrollBar){ horizontalScrollBar.enabled = _arg1; }; if (verticalScrollBar){ verticalScrollBar.enabled = _arg1; }; } public function get scrollTipFunction():Function{ return (_scrollTipFunction); } public function set scrollTipFunction(_arg1:Function):void{ _scrollTipFunction = _arg1; dispatchEvent(new Event("scrollTipFunctionChanged")); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); layoutChrome(_arg1, _arg2); var _local3:Number = _arg1; var _local4:Number = _arg2; invLayout = false; var _local5:EdgeMetrics = (_viewMetrics = viewMetrics); if (((horizontalScrollBar) && (horizontalScrollBar.visible))){ horizontalScrollBar.setActualSize(((_local3 - _local5.left) - _local5.right), horizontalScrollBar.minHeight); horizontalScrollBar.move(_local5.left, (_local4 - _local5.bottom)); horizontalScrollBar.enabled = enabled; }; if (((verticalScrollBar) && (verticalScrollBar.visible))){ verticalScrollBar.setActualSize(verticalScrollBar.minWidth, ((_local4 - _local5.top) - _local5.bottom)); verticalScrollBar.move((_local3 - _local5.right), _local5.top); verticalScrollBar.enabled = enabled; }; var _local6:DisplayObject = maskShape; var _local7:Number = ((_local3 - _local5.left) - _local5.right); var _local8:Number = ((_local4 - _local5.top) - _local5.bottom); _local6.width = ((_local7 < 0)) ? 0 : _local7; _local6.height = ((_local8 < 0)) ? 0 : _local8; _local6.x = _local5.left; _local6.y = _local5.top; } protected function setScrollBarProperties(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{ var _local7:Boolean; var _local5:String = this.horizontalScrollPolicy; var _local6:String = this.verticalScrollPolicy; scrollAreaChanged = false; if ((((_local5 == ScrollPolicy.ON)) || ((((((_arg2 < _arg1)) && ((_arg1 > 0)))) && ((_local5 == ScrollPolicy.AUTO)))))){ if (!horizontalScrollBar){ createHScrollBar(false); horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollHandler); horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollTipHandler); horizontalScrollBar.scrollPosition = _horizontalScrollPosition; }; _local7 = roomForScrollBar(horizontalScrollBar, unscaledWidth, unscaledHeight); if (_local7 != horizontalScrollBar.visible){ horizontalScrollBar.visible = _local7; scrollAreaChanged = true; }; if (((((horizontalScrollBar) && (horizontalScrollBar.visible))) && (((((!((numberOfCols == _arg1))) || (!((viewableColumns == _arg2))))) || (scrollAreaChanged))))){ horizontalScrollBar.setScrollProperties(_arg2, 0, (_arg1 - _arg2)); if (horizontalScrollBar.scrollPosition != _horizontalScrollPosition){ horizontalScrollBar.scrollPosition = _horizontalScrollPosition; }; viewableColumns = _arg2; numberOfCols = _arg1; }; } else { if ((((((((_local5 == ScrollPolicy.AUTO)) || ((_local5 == ScrollPolicy.OFF)))) && (horizontalScrollBar))) && (horizontalScrollBar.visible))){ horizontalScrollPosition = 0; horizontalScrollBar.setScrollProperties(_arg2, 0, 0); horizontalScrollBar.visible = false; viewableColumns = NaN; scrollAreaChanged = true; }; }; if ((((_local6 == ScrollPolicy.ON)) || ((((((_arg4 < _arg3)) && ((_arg3 > 0)))) && ((_local6 == ScrollPolicy.AUTO)))))){ if (!verticalScrollBar){ createVScrollBar(false); verticalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollHandler); verticalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollTipHandler); verticalScrollBar.scrollPosition = _verticalScrollPosition; }; _local7 = roomForScrollBar(verticalScrollBar, unscaledWidth, unscaledHeight); if (_local7 != verticalScrollBar.visible){ verticalScrollBar.visible = _local7; scrollAreaChanged = true; }; if (((((verticalScrollBar) && (verticalScrollBar.visible))) && (((((!((numberOfRows == _arg3))) || (!((viewableRows == _arg4))))) || (scrollAreaChanged))))){ verticalScrollBar.setScrollProperties(_arg4, 0, (_arg3 - _arg4)); if (verticalScrollBar.scrollPosition != _verticalScrollPosition){ verticalScrollBar.scrollPosition = _verticalScrollPosition; }; viewableRows = _arg4; numberOfRows = _arg3; }; } else { if ((((((((_local6 == ScrollPolicy.AUTO)) || ((_local6 == ScrollPolicy.OFF)))) && (verticalScrollBar))) && (verticalScrollBar.visible))){ verticalScrollPosition = 0; verticalScrollBar.setScrollProperties(_arg4, 0, 0); verticalScrollBar.visible = false; viewableRows = NaN; scrollAreaChanged = true; }; }; if (scrollAreaChanged){ updateDisplayList(unscaledWidth, unscaledHeight); }; } private function createHScrollBar(_arg1:Boolean):ScrollBar{ horizontalScrollBar = new HScrollBar(); horizontalScrollBar.visible = _arg1; horizontalScrollBar.enabled = enabled; var _local2:String = getStyle("horizontalScrollBarStyleName"); horizontalScrollBar.styleName = _local2; addChild(horizontalScrollBar); horizontalScrollBar.validateNow(); return (horizontalScrollBar); } public function get horizontalScrollPolicy():String{ return (_horizontalScrollPolicy); } public function get maxVerticalScrollPosition():Number{ if (!isNaN(_maxVerticalScrollPosition)){ return (_maxVerticalScrollPosition); }; var _local1:Number = (verticalScrollBar) ? verticalScrollBar.maxScrollPosition : 0; return (_local1); } public function set horizontalScrollPosition(_arg1:Number):void{ _horizontalScrollPosition = _arg1; if (horizontalScrollBar){ horizontalScrollBar.scrollPosition = _arg1; }; dispatchEvent(new Event("viewChanged")); } protected function roomForScrollBar(_arg1:ScrollBar, _arg2:Number, _arg3:Number):Boolean{ var _local4:EdgeMetrics = borderMetrics; return ((((_arg2 >= ((_arg1.minWidth + _local4.left) + _local4.right))) && ((_arg3 >= ((_arg1.minHeight + _local4.top) + _local4.bottom))))); } public function set maxHorizontalScrollPosition(_arg1:Number):void{ _maxHorizontalScrollPosition = _arg1; dispatchEvent(new Event("maxHorizontalScrollPositionChanged")); } public function get verticalScrollPosition():Number{ return (_verticalScrollPosition); } public function set horizontalScrollPolicy(_arg1:String):void{ var _local2:String = _arg1.toLowerCase(); if (_horizontalScrollPolicy != _local2){ _horizontalScrollPolicy = _local2; invalidateDisplayList(); dispatchEvent(new Event("horizontalScrollPolicyChanged")); }; } override protected function createChildren():void{ var _local1:Graphics; super.createChildren(); createBorder(); if (!maskShape){ maskShape = new FlexShape(); maskShape.name = "mask"; _local1 = maskShape.graphics; _local1.beginFill(0xFFFFFF); _local1.drawRect(0, 0, 10, 10); _local1.endFill(); addChild(maskShape); }; maskShape.visible = false; } override public function styleChanged(_arg1:String):void{ var _local3:String; var _local4:String; var _local2:Boolean = (((_arg1 == null)) || ((_arg1 == "styleName"))); super.styleChanged(_arg1); if (((_local2) || ((_arg1 == "horizontalScrollBarStyleName")))){ if (horizontalScrollBar){ _local3 = getStyle("horizontalScrollBarStyleName"); horizontalScrollBar.styleName = _local3; }; }; if (((_local2) || ((_arg1 == "verticalScrollBarStyleName")))){ if (verticalScrollBar){ _local4 = getStyle("verticalScrollBarStyleName"); verticalScrollBar.styleName = _local4; }; }; if (((_local2) || ((_arg1 == "borderSkin")))){ if (border){ removeChild(DisplayObject(border)); border = null; createBorder(); }; }; } private function createVScrollBar(_arg1:Boolean):ScrollBar{ verticalScrollBar = new VScrollBar(); verticalScrollBar.visible = _arg1; verticalScrollBar.enabled = enabled; var _local2:String = getStyle("verticalScrollBarStyleName"); verticalScrollBar.styleName = _local2; addChild(verticalScrollBar); return (verticalScrollBar); } mx_internal function get scroll_verticalScrollBar():ScrollBar{ return (verticalScrollBar); } protected function createBorder():void{ var _local1:Class; if (((!(border)) && (isBorderNeeded()))){ _local1 = getStyle("borderSkin"); if (_local1 != null){ border = new (_local1); if ((border is IUIComponent)){ IUIComponent(border).enabled = enabled; }; if ((border is ISimpleStyleClient)){ ISimpleStyleClient(border).styleName = this; }; addChildAt(DisplayObject(border), 0); invalidateDisplayList(); }; }; } mx_internal function get scroll_horizontalScrollBar():ScrollBar{ return (horizontalScrollBar); } protected function layoutChrome(_arg1:Number, _arg2:Number):void{ if (border){ border.move(0, 0); border.setActualSize(_arg1, _arg2); }; } protected function scrollHandler(_arg1:Event):void{ var _local2:ScrollBar; var _local3:Number; var _local4:QName; if ((_arg1 is ScrollEvent)){ _local2 = ScrollBar(_arg1.target); _local3 = _local2.scrollPosition; if (_local2 == verticalScrollBar){ _local4 = new QName(mx_internal, "_verticalScrollPosition"); } else { if (_local2 == horizontalScrollBar){ _local4 = new QName(mx_internal, "_horizontalScrollPosition"); }; }; dispatchEvent(_arg1); if (_local4){ this[_local4] = _local3; }; }; } protected function mouseWheelHandler(_arg1:MouseEvent):void{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:ScrollEvent; if (((verticalScrollBar) && (verticalScrollBar.visible))){ _arg1.stopPropagation(); _local2 = ((_arg1.delta <= 0)) ? 1 : -1; _local3 = Math.max(Math.abs(_arg1.delta), verticalScrollBar.lineScrollSize); _local4 = verticalScrollPosition; verticalScrollPosition = (verticalScrollPosition + ((3 * _local3) * _local2)); _local5 = new ScrollEvent(ScrollEvent.SCROLL); _local5.direction = ScrollEventDirection.VERTICAL; _local5.position = verticalScrollPosition; _local5.delta = (verticalScrollPosition - _local4); dispatchEvent(_local5); }; } private function scrollTipHandler(_arg1:Event):void{ var _local2:ScrollBar; var _local3:Boolean; var _local4:String; var _local5:Number; var _local6:String; var _local7:Point; if ((_arg1 is ScrollEvent)){ if (!showScrollTips){ return; }; if (ScrollEvent(_arg1).detail == ScrollEventDetail.THUMB_POSITION){ if (scrollTip){ systemManager.toolTipChildren.removeChild(scrollTip); scrollTip = null; ToolTipManager.enabled = oldTTMEnabled; }; } else { if (ScrollEvent(_arg1).detail == ScrollEventDetail.THUMB_TRACK){ _local2 = ScrollBar(_arg1.target); _local3 = (_local2 == verticalScrollBar); _local4 = (_local3) ? "vertical" : "horizontal"; _local5 = _local2.scrollPosition; if (!scrollTip){ scrollTip = new ToolTip(); systemManager.toolTipChildren.addChild(scrollTip); scrollThumbMidPoint = (_local2.scrollThumb.height / 2); oldTTMEnabled = ToolTipManager.enabled; ToolTipManager.enabled = false; }; _local6 = _local5.toString(); if (_scrollTipFunction != null){ _local6 = _scrollTipFunction(_local4, _local5); }; if (_local6 == ""){ scrollTip.visible = false; } else { scrollTip.text = _local6; ToolTipManager.sizeTip(scrollTip); _local7 = new Point(); if (_local3){ _local7.x = (-3 - scrollTip.width); _local7.y = ((_local2.scrollThumb.y + scrollThumbMidPoint) - (scrollTip.height / 2)); } else { _local7.x = (-3 - scrollTip.height); _local7.y = ((_local2.scrollThumb.y + scrollThumbMidPoint) - (scrollTip.width / 2)); }; _local7 = _local2.localToGlobal(_local7); scrollTip.move(_local7.x, _local7.y); scrollTip.visible = true; }; }; }; }; } public function set verticalScrollPosition(_arg1:Number):void{ _verticalScrollPosition = _arg1; if (verticalScrollBar){ verticalScrollBar.scrollPosition = _arg1; }; dispatchEvent(new Event("viewChanged")); } public function get horizontalScrollPosition():Number{ return (_horizontalScrollPosition); } private function isBorderNeeded():Boolean{ var _local1:Object = getStyle("borderStyle"); if (_local1){ if (((!((_local1 == "none"))) || ((((_local1 == "none")) && (getStyle("mouseShield")))))){ return (true); }; }; _local1 = getStyle("backgroundColor"); if (((!((_local1 === null))) && (!((_local1 === ""))))){ return (true); }; _local1 = getStyle("backgroundImage"); return (((!((_local1 == null))) && (!((_local1 == ""))))); } public function get maxHorizontalScrollPosition():Number{ if (!isNaN(_maxHorizontalScrollPosition)){ return (_maxHorizontalScrollPosition); }; var _local1:Number = (horizontalScrollBar) ? horizontalScrollBar.maxScrollPosition : 0; return (_local1); } public function set maxVerticalScrollPosition(_arg1:Number):void{ _maxVerticalScrollPosition = _arg1; dispatchEvent(new Event("maxVerticalScrollPositionChanged")); } public function set verticalScrollPolicy(_arg1:String):void{ var _local2:String = _arg1.toLowerCase(); if (_verticalScrollPolicy != _local2){ _verticalScrollPolicy = _local2; invalidateDisplayList(); dispatchEvent(new Event("verticalScrollPolicyChanged")); }; } public function get viewMetrics():EdgeMetrics{ _viewMetrics = borderMetrics.clone(); if (((!(horizontalScrollBar)) && ((horizontalScrollPolicy == ScrollPolicy.ON)))){ createHScrollBar(true); horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollHandler); horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollTipHandler); horizontalScrollBar.scrollPosition = _horizontalScrollPosition; invalidateDisplayList(); }; if (((!(verticalScrollBar)) && ((verticalScrollPolicy == ScrollPolicy.ON)))){ createVScrollBar(true); verticalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollHandler); verticalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollTipHandler); verticalScrollBar.scrollPosition = _verticalScrollPosition; invalidateDisplayList(); }; if (((verticalScrollBar) && (verticalScrollBar.visible))){ _viewMetrics.right = (_viewMetrics.right + verticalScrollBar.minWidth); }; if (((horizontalScrollBar) && (horizontalScrollBar.visible))){ _viewMetrics.bottom = (_viewMetrics.bottom + horizontalScrollBar.minHeight); }; return (_viewMetrics); } public function get verticalScrollPolicy():String{ return (_verticalScrollPolicy); } public function get borderMetrics():EdgeMetrics{ return ((((border) && ((border is IRectangularBorder)))) ? IRectangularBorder(border).borderMetrics : EdgeMetrics.EMPTY); } } }//package mx.core
Section 132
//ScrollPolicy (mx.core.ScrollPolicy) package mx.core { public final class ScrollPolicy { public static const AUTO:String = "auto"; public static const ON:String = "on"; mx_internal static const VERSION:String = "3.0.0.0"; public static const OFF:String = "off"; } }//package mx.core
Section 133
//Singleton (mx.core.Singleton) package mx.core { public class Singleton { mx_internal static const VERSION:String = "3.0.0.0"; private static var classMap:Object = {}; public static function registerClass(_arg1:String, _arg2:Class):void{ var _local3:Class = classMap[_arg1]; if (!_local3){ classMap[_arg1] = _arg2; }; } public static function getClass(_arg1:String):Class{ return (classMap[_arg1]); } public static function getInstance(_arg1:String):Object{ var _local2:Class = classMap[_arg1]; if (!_local2){ throw (new Error((("No class registered for interface '" + _arg1) + "'."))); }; return (_local2["getInstance"]()); } } }//package mx.core
Section 134
//SpriteAsset (mx.core.SpriteAsset) package mx.core { public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function SpriteAsset(){ _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 135
//TextFieldFactory (mx.core.TextFieldFactory) package mx.core { import flash.text.*; import flash.utils.*; public class TextFieldFactory implements ITextFieldFactory { private var textFields:Dictionary; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:ITextFieldFactory; public function TextFieldFactory(){ textFields = new Dictionary(true); super(); } public function createTextField(_arg1:IFlexModuleFactory):TextField{ var _local4:Object; var _local2:TextField; var _local3:Dictionary = textFields[_arg1]; if (_local3){ for (_local4 in _local3) { _local2 = TextField(_local4); break; }; }; if (!_local2){ if (_arg1){ _local2 = TextField(_arg1.create("flash.text.TextField")); } else { _local2 = new TextField(); }; if (!_local3){ _local3 = new Dictionary(true); }; _local3[_local2] = 1; textFields[_arg1] = _local3; }; return (_local2); } public static function getInstance():ITextFieldFactory{ if (!instance){ instance = new (TextFieldFactory); }; return (instance); } } }//package mx.core
Section 136
//UIComponent (mx.core.UIComponent) package mx.core { import flash.display.*; import flash.geom.*; import flash.text.*; import mx.managers.*; import mx.automation.*; import flash.events.*; import mx.events.*; import mx.resources.*; import mx.styles.*; import mx.controls.*; import mx.states.*; import mx.effects.*; import mx.graphics.*; import mx.binding.*; import flash.utils.*; import flash.system.*; import mx.utils.*; import mx.validators.*; import mx.modules.*; public class UIComponent extends FlexSprite implements IAutomationObject, IChildList, IDeferredInstantiationUIComponent, IFlexDisplayObject, IFlexModule, IInvalidating, ILayoutManagerClient, IPropertyChangeNotifier, IRepeaterClient, ISimpleStyleClient, IStyleClient, IToolTipManagerClient, IUIComponent, IValidatorListener, IStateClient, IConstraintClient { private var cachedEmbeddedFont:EmbeddedFont;// = null private var errorStringChanged:Boolean;// = false mx_internal var overlay:UIComponent; mx_internal var automaticRadioButtonGroups:Object; private var _currentState:String; private var _isPopUp:Boolean; private var _repeaters:Array; private var _systemManager:ISystemManager; private var _measuredWidth:Number;// = 0 private var methodQueue:Array; mx_internal var _width:Number; private var _tweeningProperties:Array; private var _validationSubField:String; private var _endingEffectInstances:Array; mx_internal var saveBorderColor:Boolean;// = true mx_internal var overlayColor:uint; mx_internal var overlayReferenceCount:int;// = 0 private var hasFontContextBeenSaved:Boolean;// = false private var _repeaterIndices:Array; private var oldExplicitWidth:Number; mx_internal var _descriptor:UIComponentDescriptor; private var _initialized:Boolean;// = false private var _focusEnabled:Boolean;// = true private var cacheAsBitmapCount:int;// = 0 private var requestedCurrentState:String; private var listeningForRender:Boolean;// = false mx_internal var invalidateDisplayListFlag:Boolean;// = false private var oldScaleX:Number;// = 1 private var oldScaleY:Number;// = 1 mx_internal var _explicitMaxHeight:Number; mx_internal var invalidatePropertiesFlag:Boolean;// = false private var hasFocusRect:Boolean;// = false mx_internal var invalidateSizeFlag:Boolean;// = false private var _scaleX:Number;// = 1 private var _scaleY:Number;// = 1 private var _styleDeclaration:CSSStyleDeclaration; private var _resourceManager:IResourceManager; mx_internal var _affectedProperties:Object; mx_internal var _documentDescriptor:UIComponentDescriptor; private var _processedDescriptors:Boolean;// = false mx_internal var origBorderColor:Number; private var _focusManager:IFocusManager; private var _cachePolicy:String;// = "auto" private var _measuredHeight:Number;// = 0 private var _id:String; private var _owner:DisplayObjectContainer; public var transitions:Array; mx_internal var _parent:DisplayObjectContainer; private var _measuredMinWidth:Number;// = 0 private var oldMinWidth:Number; private var _explicitWidth:Number; private var _enabled:Boolean;// = false public var states:Array; private var _mouseFocusEnabled:Boolean;// = true private var oldHeight:Number;// = 0 private var _currentStateChanged:Boolean; private var cachedTextFormat:UITextFormat; mx_internal var _height:Number; private var _automationDelegate:IAutomationObject; private var _percentWidth:Number; private var _automationName:String;// = null private var _isEffectStarted:Boolean;// = false private var _styleName:Object; private var lastUnscaledWidth:Number; mx_internal var _document:Object; mx_internal var _errorString:String;// = "" private var oldExplicitHeight:Number; private var _nestLevel:int;// = 0 private var _systemManagerDirty:Boolean;// = false private var _explicitHeight:Number; mx_internal var _toolTip:String; private var _filters:Array; private var _focusPane:Sprite; private var playStateTransition:Boolean;// = true private var _nonInheritingStyles:Object; private var _showInAutomationHierarchy:Boolean;// = true private var _moduleFactory:IFlexModuleFactory; private var preventDrawFocus:Boolean;// = false private var oldX:Number;// = 0 private var oldY:Number;// = 0 private var _instanceIndices:Array; private var _visible:Boolean;// = true private var _inheritingStyles:Object; private var _includeInLayout:Boolean;// = true mx_internal var _effectsStarted:Array; mx_internal var _explicitMinWidth:Number; private var lastUnscaledHeight:Number; mx_internal var _explicitMaxWidth:Number; private var _measuredMinHeight:Number;// = 0 private var _uid:String; private var _currentTransitionEffect:IEffect; private var _updateCompletePendingFlag:Boolean;// = false private var oldMinHeight:Number; private var _flexContextMenu:IFlexContextMenu; mx_internal var _explicitMinHeight:Number; private var _percentHeight:Number; private var oldEmbeddedFontContext:IFlexModuleFactory;// = null private var oldWidth:Number;// = 0 public static const DEFAULT_MEASURED_WIDTH:Number = 160; public static const DEFAULT_MAX_WIDTH:Number = 10000; public static const DEFAULT_MEASURED_MIN_HEIGHT:Number = 22; public static const DEFAULT_MAX_HEIGHT:Number = 10000; public static const DEFAULT_MEASURED_HEIGHT:Number = 22; mx_internal static const VERSION:String = "3.0.0.0"; public static const DEFAULT_MEASURED_MIN_WIDTH:Number = 40; mx_internal static var dispatchEventHook:Function; private static var fakeMouseY:QName = new QName(mx_internal, "_mouseY"); mx_internal static var createAccessibilityImplementation:Function; mx_internal static var STYLE_UNINITIALIZED:Object = {}; private static var fakeMouseX:QName = new QName(mx_internal, "_mouseX"); private static var _embeddedFontRegistry:IEmbeddedFontRegistry; public function UIComponent(){ methodQueue = []; _resourceManager = ResourceManager.getInstance(); _inheritingStyles = UIComponent.STYLE_UNINITIALIZED; _nonInheritingStyles = UIComponent.STYLE_UNINITIALIZED; states = []; transitions = []; _effectsStarted = []; _affectedProperties = {}; _endingEffectInstances = []; super(); focusRect = false; tabEnabled = (this is IFocusManagerComponent); tabChildren = false; enabled = true; $visible = false; addEventListener(Event.ADDED, addedHandler); addEventListener(Event.REMOVED, removedHandler); if ((this is IFocusManagerComponent)){ addEventListener(FocusEvent.FOCUS_IN, focusInHandler); addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler); addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); }; resourcesChanged(); resourceManager.addEventListener(Event.CHANGE, resourceManager_changeHandler, false, 0, true); _width = super.width; _height = super.height; } override public function get filters():Array{ return ((_filters) ? _filters : super.filters); } public function get toolTip():String{ return (_toolTip); } private function transition_effectEndHandler(_arg1:EffectEvent):void{ _currentTransitionEffect = null; } public function get nestLevel():int{ return (_nestLevel); } protected function adjustFocusRect(_arg1:DisplayObject=null):void{ var _local4:Number; var _local5:Number; var _local6:Point; var _local7:Number; if (!_arg1){ _arg1 = this; }; if (((isNaN(_arg1.width)) || (isNaN(_arg1.height)))){ return; }; var _local2:IFocusManager = focusManager; if (!_local2){ return; }; var _local3:IFlexDisplayObject = IFlexDisplayObject(getFocusObject()); if (_local3){ if (((errorString) && (!((errorString == ""))))){ _local4 = getStyle("errorColor"); } else { _local4 = getStyle("themeColor"); }; _local5 = getStyle("focusThickness"); if ((_local3 is IStyleClient)){ IStyleClient(_local3).setStyle("focusColor", _local4); }; _local3.setActualSize((_arg1.width + (2 * _local5)), (_arg1.height + (2 * _local5))); if (rotation){ _local7 = ((rotation * Math.PI) / 180); _local6 = new Point((_arg1.x - (_local5 * (Math.cos(_local7) - Math.sin(_local7)))), (_arg1.y - (_local5 * (Math.cos(_local7) + Math.sin(_local7))))); DisplayObject(_local3).rotation = rotation; } else { _local6 = new Point((_arg1.x - _local5), (_arg1.y - _local5)); }; if (_arg1.parent == this){ _local6.x = (_local6.x + x); _local6.y = (_local6.y + y); }; _local6 = parent.localToGlobal(_local6); _local6 = parent.globalToLocal(_local6); _local3.move(_local6.x, _local6.y); if ((_local3 is IInvalidating)){ IInvalidating(_local3).validateNow(); } else { if ((_local3 is IProgrammaticSkin)){ IProgrammaticSkin(_local3).validateNow(); }; }; }; } mx_internal function setUnscaledWidth(_arg1:Number):void{ var _local2:Number = (_arg1 * Math.abs(oldScaleX)); if (_explicitWidth == _local2){ return; }; if (!isNaN(_local2)){ _percentWidth = NaN; }; _explicitWidth = _local2; invalidateSize(); var _local3:IInvalidating = (parent as IInvalidating); if (((_local3) && (includeInLayout))){ _local3.invalidateSize(); _local3.invalidateDisplayList(); }; } public function set nestLevel(_arg1:int):void{ var _local2:IChildList; var _local3:int; var _local4:int; var _local5:ILayoutManagerClient; var _local6:IUITextField; if ((((_arg1 > 1)) && (!((_nestLevel == _arg1))))){ _nestLevel = _arg1; updateCallbacks(); _local2 = ((this is IRawChildrenContainer)) ? IRawChildrenContainer(this).rawChildren : IChildList(this); _local3 = _local2.numChildren; _local4 = 0; while (_local4 < _local3) { _local5 = (_local2.getChildAt(_local4) as ILayoutManagerClient); if (_local5){ _local5.nestLevel = (_arg1 + 1); } else { _local6 = (_local2.getChildAt(_local4) as IUITextField); if (_local6){ _local6.nestLevel = (_arg1 + 1); }; }; _local4++; }; }; } public function getExplicitOrMeasuredHeight():Number{ return ((isNaN(explicitHeight)) ? measuredHeight : explicitHeight); } private function callLaterDispatcher(_arg1:Event):void{ var callLaterErrorEvent:DynamicEvent; var event = _arg1; UIComponentGlobals.callLaterDispatcherCount++; if (!UIComponentGlobals.catchCallLaterExceptions){ callLaterDispatcher2(event); } else { try { callLaterDispatcher2(event); } catch(e:Error) { callLaterErrorEvent = new DynamicEvent("callLaterError"); callLaterErrorEvent.error = e; systemManager.dispatchEvent(callLaterErrorEvent); }; }; UIComponentGlobals.callLaterDispatcherCount--; } public function getStyle(_arg1:String){ return ((StyleManager.inheritingStyles[_arg1]) ? _inheritingStyles[_arg1] : _nonInheritingStyles[_arg1]); } final mx_internal function get $width():Number{ return (super.width); } public function get className():String{ var _local1:String = getQualifiedClassName(this); var _local2:int = _local1.indexOf("::"); if (_local2 != -1){ _local1 = _local1.substr((_local2 + 2)); }; return (_local1); } public function verticalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{ UIComponentGlobals.tempMatrix.createGradientBox(_arg3, _arg4, (Math.PI / 2), _arg1, _arg2); return (UIComponentGlobals.tempMatrix); } public function setCurrentState(_arg1:String, _arg2:Boolean=true):void{ if (((!((_arg1 == currentState))) && (!(((isBaseState(_arg1)) && (isBaseState(currentState))))))){ requestedCurrentState = _arg1; playStateTransition = _arg2; if (initialized){ commitCurrentState(); } else { _currentStateChanged = true; addEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler); }; }; } private function getBaseStates(_arg1:State):Array{ var _local2:Array = []; while (((_arg1) && (_arg1.basedOn))) { _local2.push(_arg1.basedOn); _arg1 = getState(_arg1.basedOn); }; return (_local2); } public function set minHeight(_arg1:Number):void{ if (explicitMinHeight == _arg1){ return; }; explicitMinHeight = _arg1; } protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((_arg1 == this)); } public function get errorString():String{ return (_errorString); } mx_internal function setUnscaledHeight(_arg1:Number):void{ var _local2:Number = (_arg1 * Math.abs(oldScaleY)); if (_explicitHeight == _local2){ return; }; if (!isNaN(_local2)){ _percentHeight = NaN; }; _explicitHeight = _local2; invalidateSize(); var _local3:IInvalidating = (parent as IInvalidating); if (((_local3) && (includeInLayout))){ _local3.invalidateSize(); _local3.invalidateDisplayList(); }; } public function get automationName():String{ if (_automationName){ return (_automationName); }; if (automationDelegate){ return (automationDelegate.automationName); }; return (""); } final mx_internal function set $width(_arg1:Number):void{ super.width = _arg1; } public function invalidateDisplayList():void{ if (!invalidateDisplayListFlag){ invalidateDisplayListFlag = true; if (((parent) && (UIComponentGlobals.layoutManager))){ UIComponentGlobals.layoutManager.invalidateDisplayList(this); }; }; } mx_internal function initThemeColor():Boolean{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Array; var _local7:int; var _local8:CSSStyleDeclaration; var _local1:Object = _styleName; if (_styleDeclaration){ _local2 = _styleDeclaration.getStyle("themeColor"); _local3 = _styleDeclaration.getStyle("rollOverColor"); _local4 = _styleDeclaration.getStyle("selectionColor"); }; if ((((((_local2 === null)) || (!(StyleManager.isValidStyleValue(_local2))))) && (((_local1) && (!((_local1 is ISimpleStyleClient))))))){ _local5 = ((_local1 is String)) ? StyleManager.getStyleDeclaration(("." + _local1)) : _local1; if (_local5){ _local2 = _local5.getStyle("themeColor"); _local3 = _local5.getStyle("rollOverColor"); _local4 = _local5.getStyle("selectionColor"); }; }; if ((((_local2 === null)) || (!(StyleManager.isValidStyleValue(_local2))))){ _local6 = getClassStyleDeclarations(); _local7 = 0; while (_local7 < _local6.length) { _local8 = _local6[_local7]; if (_local8){ _local2 = _local8.getStyle("themeColor"); _local3 = _local8.getStyle("rollOverColor"); _local4 = _local8.getStyle("selectionColor"); }; if (((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))){ break; }; _local7++; }; }; if (((((((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))) && (isNaN(_local3)))) && (isNaN(_local4)))){ setThemeColor(_local2); return (true); }; return (((((((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))) && (!(isNaN(_local3))))) && (!(isNaN(_local4))))); } override public function get scaleX():Number{ return (_scaleX); } public function get uid():String{ if (!_uid){ _uid = toString(); }; return (_uid); } override public function get mouseX():Number{ if (((((!(root)) || ((root is Stage)))) || ((root[fakeMouseX] === undefined)))){ return (super.mouseX); }; return (globalToLocal(new Point(root[fakeMouseX], 0)).x); } override public function stopDrag():void{ super.stopDrag(); invalidateProperties(); dispatchEvent(new Event("xChanged")); dispatchEvent(new Event("yChanged")); } public function get focusPane():Sprite{ return (_focusPane); } public function set tweeningProperties(_arg1:Array):void{ _tweeningProperties = _arg1; } public function horizontalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{ UIComponentGlobals.tempMatrix.createGradientBox(_arg3, _arg4, 0, _arg1, _arg2); return (UIComponentGlobals.tempMatrix); } public function get isDocument():Boolean{ return ((document == this)); } public function set validationSubField(_arg1:String):void{ _validationSubField = _arg1; } override public function get scaleY():Number{ return (_scaleY); } protected function keyDownHandler(_arg1:KeyboardEvent):void{ } protected function createInFontContext(_arg1:Class):Object{ hasFontContextBeenSaved = true; var _local2:String = StringUtil.trimArrayElements(getStyle("fontFamily"), ","); var _local3:String = getStyle("fontWeight"); var _local4:String = getStyle("fontStyle"); var _local5 = (_local3 == "bold"); var _local6 = (_local4 == "italic"); oldEmbeddedFontContext = getFontContext(_local2, _local5, _local6); var _local7:Object = createInModuleContext((oldEmbeddedFontContext) ? oldEmbeddedFontContext : moduleFactory, getQualifiedClassName(_arg1)); if (_local7 == null){ _local7 = new (_arg1); }; return (_local7); } public function get screen():Rectangle{ var _local1:ISystemManager = systemManager; return ((_local1) ? _local1.screen : null); } protected function focusInHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; if (isOurFocus(DisplayObject(_arg1.target))){ _local2 = focusManager; if (((_local2) && (_local2.showFocusIndicator))){ drawFocus(true); }; ContainerGlobals.checkFocus(_arg1.relatedObject, this); }; } public function hasFontContextChanged():Boolean{ if (!hasFontContextBeenSaved){ return (false); }; var _local1:String = StringUtil.trimArrayElements(getStyle("fontFamily"), ","); var _local2:String = getStyle("fontWeight"); var _local3:String = getStyle("fontStyle"); var _local4 = (_local2 == "bold"); var _local5 = (_local3 == "italic"); var _local6:EmbeddedFont = getEmbeddedFont(_local1, _local4, _local5); var _local7:IFlexModuleFactory = embeddedFontRegistry.getAssociatedModuleFactory(_local6, moduleFactory); return (!((_local7 == oldEmbeddedFontContext))); } public function get explicitHeight():Number{ return (_explicitHeight); } override public function get x():Number{ return (super.x); } override public function get y():Number{ return (super.y); } override public function get visible():Boolean{ return (_visible); } mx_internal function addOverlay(_arg1:uint, _arg2:RoundedRectangle=null):void{ if (!overlay){ overlayColor = _arg1; overlay = new UIComponent(); overlay.name = "overlay"; overlay.$visible = true; fillOverlay(overlay, _arg1, _arg2); attachOverlay(); if (!_arg2){ addEventListener(ResizeEvent.RESIZE, overlay_resizeHandler); }; overlay.x = 0; overlay.y = 0; invalidateDisplayList(); overlayReferenceCount = 1; } else { overlayReferenceCount++; }; dispatchEvent(new ChildExistenceChangedEvent(ChildExistenceChangedEvent.OVERLAY_CREATED, true, false, overlay)); } public function get percentWidth():Number{ return (_percentWidth); } public function set explicitMinHeight(_arg1:Number):void{ if (_explicitMinHeight == _arg1){ return; }; _explicitMinHeight = _arg1; invalidateSize(); var _local2:IInvalidating = (parent as IInvalidating); if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; dispatchEvent(new Event("explicitMinHeightChanged")); } public function set automationName(_arg1:String):void{ _automationName = _arg1; } public function get mouseFocusEnabled():Boolean{ return (_mouseFocusEnabled); } mx_internal function getEmbeddedFont(_arg1:String, _arg2:Boolean, _arg3:Boolean):EmbeddedFont{ if (cachedEmbeddedFont){ if ((((cachedEmbeddedFont.fontName == _arg1)) && ((cachedEmbeddedFont.fontStyle == EmbeddedFontRegistry.getFontStyle(_arg2, _arg3))))){ return (cachedEmbeddedFont); }; }; cachedEmbeddedFont = new EmbeddedFont(_arg1, _arg2, _arg3); return (cachedEmbeddedFont); } public function stylesInitialized():void{ } public function set errorString(_arg1:String):void{ var _local2:String = _errorString; _errorString = _arg1; ToolTipManager.registerErrorString(this, _local2, _arg1); errorStringChanged = true; invalidateProperties(); dispatchEvent(new Event("errorStringChanged")); } public function getExplicitOrMeasuredWidth():Number{ return ((isNaN(explicitWidth)) ? measuredWidth : explicitWidth); } final mx_internal function set $height(_arg1:Number):void{ super.height = _arg1; } protected function keyUpHandler(_arg1:KeyboardEvent):void{ } final mx_internal function $removeChild(_arg1:DisplayObject):DisplayObject{ return (super.removeChild(_arg1)); } override public function set scaleX(_arg1:Number):void{ if (_scaleX == _arg1){ return; }; _scaleX = _arg1; invalidateProperties(); invalidateSize(); dispatchEvent(new Event("scaleXChanged")); } override public function set scaleY(_arg1:Number):void{ if (_scaleY == _arg1){ return; }; _scaleY = _arg1; invalidateProperties(); invalidateSize(); dispatchEvent(new Event("scaleYChanged")); } public function set uid(_arg1:String):void{ this._uid = _arg1; } public function createAutomationIDPart(_arg1:IAutomationObject):Object{ if (automationDelegate){ return (automationDelegate.createAutomationIDPart(_arg1)); }; return (null); } public function getAutomationChildAt(_arg1:int):IAutomationObject{ if (automationDelegate){ return (automationDelegate.getAutomationChildAt(_arg1)); }; return (null); } mx_internal function get isEffectStarted():Boolean{ return (_isEffectStarted); } override public function get parent():DisplayObjectContainer{ return ((_parent) ? _parent : super.parent); } override public function get mouseY():Number{ if (((((!(root)) || ((root is Stage)))) || ((root[fakeMouseY] === undefined)))){ return (super.mouseY); }; return (globalToLocal(new Point(0, root[fakeMouseY])).y); } public function setActualSize(_arg1:Number, _arg2:Number):void{ var _local3:Boolean; if (_width != _arg1){ _width = _arg1; dispatchEvent(new Event("widthChanged")); _local3 = true; }; if (_height != _arg2){ _height = _arg2; dispatchEvent(new Event("heightChanged")); _local3 = true; }; if (_local3){ invalidateDisplayList(); dispatchResizeEvent(); }; } private function focusObj_resizeHandler(_arg1:ResizeEvent):void{ adjustFocusRect(); } mx_internal function adjustSizesForScaleChanges():void{ var _local3:Number; var _local1:Number = scaleX; var _local2:Number = scaleY; if (_local1 != oldScaleX){ _local3 = Math.abs((_local1 / oldScaleX)); if (explicitMinWidth){ explicitMinWidth = (explicitMinWidth * _local3); }; if (!isNaN(explicitWidth)){ explicitWidth = (explicitWidth * _local3); }; if (explicitMaxWidth){ explicitMaxWidth = (explicitMaxWidth * _local3); }; oldScaleX = _local1; }; if (_local2 != oldScaleY){ _local3 = Math.abs((_local2 / oldScaleY)); if (explicitMinHeight){ explicitMinHeight = (explicitMinHeight * _local3); }; if (explicitHeight){ explicitHeight = (explicitHeight * _local3); }; if (explicitMaxHeight){ explicitMaxHeight = (explicitMaxHeight * _local3); }; oldScaleY = _local2; }; } public function set focusPane(_arg1:Sprite):void{ if (_arg1){ addChild(_arg1); _arg1.x = 0; _arg1.y = 0; _arg1.scrollRect = null; _focusPane = _arg1; } else { removeChild(_focusPane); _focusPane = null; }; } public function determineTextFormatFromStyles():UITextFormat{ var _local2:String; var _local1:UITextFormat = cachedTextFormat; if (!_local1){ _local2 = StringUtil.trimArrayElements(_inheritingStyles.fontFamily, ","); _local1 = new UITextFormat(getNonNullSystemManager(), _local2); _local1.moduleFactory = moduleFactory; _local1.align = _inheritingStyles.textAlign; _local1.bold = (_inheritingStyles.fontWeight == "bold"); _local1.color = (enabled) ? _inheritingStyles.color : _inheritingStyles.disabledColor; _local1.font = _local2; _local1.indent = _inheritingStyles.textIndent; _local1.italic = (_inheritingStyles.fontStyle == "italic"); _local1.kerning = _inheritingStyles.kerning; _local1.leading = _nonInheritingStyles.leading; _local1.leftMargin = _nonInheritingStyles.paddingLeft; _local1.letterSpacing = _inheritingStyles.letterSpacing; _local1.rightMargin = _nonInheritingStyles.paddingRight; _local1.size = _inheritingStyles.fontSize; _local1.underline = (_nonInheritingStyles.textDecoration == "underline"); _local1.antiAliasType = _inheritingStyles.fontAntiAliasType; _local1.gridFitType = _inheritingStyles.fontGridFitType; _local1.sharpness = _inheritingStyles.fontSharpness; _local1.thickness = _inheritingStyles.fontThickness; cachedTextFormat = _local1; }; return (_local1); } public function validationResultHandler(_arg1:ValidationResultEvent):void{ var _local2:String; var _local3:ValidationResult; var _local4:int; if (_arg1.type == ValidationResultEvent.VALID){ if (errorString != ""){ errorString = ""; dispatchEvent(new FlexEvent(FlexEvent.VALID)); }; } else { if (((((!((validationSubField == null))) && (!((validationSubField == ""))))) && (_arg1.results))){ _local4 = 0; while (_local4 < _arg1.results.length) { _local3 = _arg1.results[_local4]; if (_local3.subField == validationSubField){ if (_local3.isError){ _local2 = _local3.errorMessage; } else { if (errorString != ""){ errorString = ""; dispatchEvent(new FlexEvent(FlexEvent.VALID)); }; }; break; }; _local4++; }; } else { if (((_arg1.results) && ((_arg1.results.length > 0)))){ _local2 = _arg1.results[0].errorMessage; }; }; if (((_local2) && (!((errorString == _local2))))){ errorString = _local2; dispatchEvent(new FlexEvent(FlexEvent.INVALID)); }; }; } public function invalidateProperties():void{ if (!invalidatePropertiesFlag){ invalidatePropertiesFlag = true; if (((parent) && (UIComponentGlobals.layoutManager))){ UIComponentGlobals.layoutManager.invalidateProperties(this); }; }; } public function get inheritingStyles():Object{ return (_inheritingStyles); } private function focusObj_scrollHandler(_arg1:Event):void{ adjustFocusRect(); } final mx_internal function get $x():Number{ return (super.x); } final mx_internal function get $y():Number{ return (super.y); } public function setConstraintValue(_arg1:String, _arg2):void{ setStyle(_arg1, _arg2); } protected function resourcesChanged():void{ } public function registerEffects(_arg1:Array):void{ var _local4:String; var _local2:int = _arg1.length; var _local3:int; while (_local3 < _local2) { _local4 = EffectManager.getEventForEffectTrigger(_arg1[_local3]); if (((!((_local4 == null))) && (!((_local4 == ""))))){ addEventListener(_local4, EffectManager.eventHandler, false, EventPriority.EFFECT); }; _local3++; }; } public function get explicitMinWidth():Number{ return (_explicitMinWidth); } private function filterChangeHandler(_arg1:Event):void{ super.filters = _filters; } override public function set visible(_arg1:Boolean):void{ setVisible(_arg1); } public function set explicitHeight(_arg1:Number):void{ if (_explicitHeight == _arg1){ return; }; if (!isNaN(_arg1)){ _percentHeight = NaN; }; _explicitHeight = _arg1; invalidateSize(); var _local2:IInvalidating = (parent as IInvalidating); if (((_local2) && (includeInLayout))){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; dispatchEvent(new Event("explicitHeightChanged")); } override public function set x(_arg1:Number):void{ if (super.x == _arg1){ return; }; super.x = _arg1; invalidateProperties(); dispatchEvent(new Event("xChanged")); } public function set showInAutomationHierarchy(_arg1:Boolean):void{ _showInAutomationHierarchy = _arg1; } override public function set y(_arg1:Number):void{ if (super.y == _arg1){ return; }; super.y = _arg1; invalidateProperties(); dispatchEvent(new Event("yChanged")); } private function resourceManager_changeHandler(_arg1:Event):void{ resourcesChanged(); } public function set systemManager(_arg1:ISystemManager):void{ _systemManager = _arg1; _systemManagerDirty = false; } mx_internal function getFocusObject():DisplayObject{ var _local1:IFocusManager = focusManager; if (((!(_local1)) || (!(_local1.focusPane)))){ return (null); }; return (((_local1.focusPane.numChildren == 0)) ? null : _local1.focusPane.getChildAt(0)); } public function set percentWidth(_arg1:Number):void{ if (_percentWidth == _arg1){ return; }; if (!isNaN(_arg1)){ _explicitWidth = NaN; }; _percentWidth = _arg1; var _local2:IInvalidating = (parent as IInvalidating); if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; } public function get moduleFactory():IFlexModuleFactory{ return (_moduleFactory); } override public function addChild(_arg1:DisplayObject):DisplayObject{ var _local2:DisplayObjectContainer = _arg1.parent; if (((_local2) && (!((_local2 is Loader))))){ _local2.removeChild(_arg1); }; var _local3:int = (((overlayReferenceCount) && (!((_arg1 == overlay))))) ? Math.max(0, (super.numChildren - 1)) : super.numChildren; addingChild(_arg1); $addChildAt(_arg1, _local3); childAdded(_arg1); return (_arg1); } public function get document():Object{ return (_document); } public function set mouseFocusEnabled(_arg1:Boolean):void{ _mouseFocusEnabled = _arg1; } final mx_internal function $addChild(_arg1:DisplayObject):DisplayObject{ return (super.addChild(_arg1)); } mx_internal function setThemeColor(_arg1:Object):void{ var _local2:Number; if ((_local2 is String)){ _local2 = parseInt(String(_arg1)); } else { _local2 = Number(_arg1); }; if (isNaN(_local2)){ _local2 = StyleManager.getColorName(_arg1); }; var _local3:Number = ColorUtil.adjustBrightness2(_local2, 50); var _local4:Number = ColorUtil.adjustBrightness2(_local2, 70); setStyle("selectionColor", _local3); setStyle("rollOverColor", _local4); } public function get explicitMaxWidth():Number{ return (_explicitMaxWidth); } public function get id():String{ return (_id); } override public function get height():Number{ return (_height); } public function set minWidth(_arg1:Number):void{ if (explicitMinWidth == _arg1){ return; }; explicitMinWidth = _arg1; } public function set currentState(_arg1:String):void{ setCurrentState(_arg1, true); } public function getRepeaterItem(_arg1:int=-1):Object{ var _local2:Array = repeaters; if (_arg1 == -1){ _arg1 = (_local2.length - 1); }; return (_local2[_arg1].getItemAt(repeaterIndices[_arg1])); } public function executeBindings(_arg1:Boolean=false):void{ var _local2:Object = (((descriptor) && (descriptor.document))) ? descriptor.document : parentDocument; BindingManager.executeBindings(_local2, id, this); } public function replayAutomatableEvent(_arg1:Event):Boolean{ if (automationDelegate){ return (automationDelegate.replayAutomatableEvent(_arg1)); }; return (false); } mx_internal function getFontContext(_arg1:String, _arg2:Boolean, _arg3:Boolean):IFlexModuleFactory{ return (embeddedFontRegistry.getAssociatedModuleFactory(getEmbeddedFont(_arg1, _arg2, _arg3), moduleFactory)); } public function get instanceIndex():int{ return ((_instanceIndices) ? _instanceIndices[(_instanceIndices.length - 1)] : -1); } public function set measuredWidth(_arg1:Number):void{ _measuredWidth = _arg1; } public function effectFinished(_arg1:IEffectInstance):void{ _endingEffectInstances.push(_arg1); invalidateProperties(); UIComponentGlobals.layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE, updateCompleteHandler, false, 0, true); } mx_internal function set isEffectStarted(_arg1:Boolean):void{ _isEffectStarted = _arg1; } mx_internal function fillOverlay(_arg1:UIComponent, _arg2:uint, _arg3:RoundedRectangle=null):void{ if (!_arg3){ _arg3 = new RoundedRectangle(0, 0, unscaledWidth, unscaledHeight, 0); }; var _local4:Graphics = _arg1.graphics; _local4.clear(); _local4.beginFill(_arg2); _local4.drawRoundRect(_arg3.x, _arg3.y, _arg3.width, _arg3.height, (_arg3.cornerRadius * 2), (_arg3.cornerRadius * 2)); _local4.endFill(); } public function get instanceIndices():Array{ return ((_instanceIndices) ? _instanceIndices.slice(0) : null); } mx_internal function childAdded(_arg1:DisplayObject):void{ if ((_arg1 is UIComponent)){ if (!UIComponent(_arg1).initialized){ UIComponent(_arg1).initialize(); }; } else { if ((_arg1 is IUIComponent)){ IUIComponent(_arg1).initialize(); }; }; } public function globalToContent(_arg1:Point):Point{ return (globalToLocal(_arg1)); } mx_internal function removingChild(_arg1:DisplayObject):void{ } mx_internal function getEffectsForProperty(_arg1:String):Array{ return (((_affectedProperties[_arg1])!=undefined) ? _affectedProperties[_arg1] : []); } override public function removeChildAt(_arg1:int):DisplayObject{ var _local2:DisplayObject = getChildAt(_arg1); removingChild(_local2); $removeChild(_local2); childRemoved(_local2); return (_local2); } protected function measure():void{ measuredMinWidth = 0; measuredMinHeight = 0; measuredWidth = 0; measuredHeight = 0; } public function set owner(_arg1:DisplayObjectContainer):void{ _owner = _arg1; } mx_internal function getNonNullSystemManager():ISystemManager{ var _local1:ISystemManager = systemManager; if (!_local1){ _local1 = ISystemManager(SystemManager.getSWFRoot(this)); }; if (!_local1){ return (SystemManagerGlobals.topLevelSystemManagers[0]); }; return (_local1); } protected function get unscaledWidth():Number{ return ((width / Math.abs(scaleX))); } public function set processedDescriptors(_arg1:Boolean):void{ _processedDescriptors = _arg1; if (_arg1){ dispatchEvent(new FlexEvent(FlexEvent.INITIALIZE)); }; } private function processEffectFinished(_arg1:Array):void{ var _local3:int; var _local4:IEffectInstance; var _local5:IEffectInstance; var _local6:Array; var _local7:int; var _local8:String; var _local9:int; var _local2:int = (_effectsStarted.length - 1); while (_local2 >= 0) { _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1[_local3]; if (_local4 == _effectsStarted[_local2]){ _local5 = _effectsStarted[_local2]; _effectsStarted.splice(_local2, 1); _local6 = _local5.effect.getAffectedProperties(); _local7 = 0; while (_local7 < _local6.length) { _local8 = _local6[_local7]; if (_affectedProperties[_local8] != undefined){ _local9 = 0; while (_local9 < _affectedProperties[_local8].length) { if (_affectedProperties[_local8][_local9] == _local4){ _affectedProperties[_local8].splice(_local9, 1); break; }; _local9++; }; if (_affectedProperties[_local8].length == 0){ delete _affectedProperties[_local8]; }; }; _local7++; }; break; }; _local3++; }; _local2--; }; isEffectStarted = ((_effectsStarted.length > 0)) ? true : false; if (((_local4) && (_local4.hideFocusRing))){ preventDrawFocus = false; }; } private function commitCurrentState():void{ var _local3:StateChangeEvent; var _local1:IEffect = (playStateTransition) ? getTransition(_currentState, requestedCurrentState) : null; var _local2:String = findCommonBaseState(_currentState, requestedCurrentState); var _local4:String = (_currentState) ? _currentState : ""; var _local5:State = getState(requestedCurrentState); if (_currentTransitionEffect){ _currentTransitionEffect.end(); }; initializeState(requestedCurrentState); if (_local1){ _local1.captureStartValues(); }; _local3 = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGING); _local3.oldState = _local4; _local3.newState = (requestedCurrentState) ? requestedCurrentState : ""; dispatchEvent(_local3); if (isBaseState(_currentState)){ dispatchEvent(new FlexEvent(FlexEvent.EXIT_STATE)); }; removeState(_currentState, _local2); _currentState = requestedCurrentState; if (isBaseState(currentState)){ dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE)); } else { applyState(_currentState, _local2); }; _local3 = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGE); _local3.oldState = _local4; _local3.newState = (_currentState) ? _currentState : ""; dispatchEvent(_local3); if (_local1){ UIComponentGlobals.layoutManager.validateNow(); _currentTransitionEffect = _local1; _local1.addEventListener(EffectEvent.EFFECT_END, transition_effectEndHandler); _local1.play(); }; } public function get includeInLayout():Boolean{ return (_includeInLayout); } private function dispatchResizeEvent():void{ var _local1:ResizeEvent = new ResizeEvent(ResizeEvent.RESIZE); _local1.oldWidth = oldWidth; _local1.oldHeight = oldHeight; dispatchEvent(_local1); oldWidth = width; oldHeight = height; } public function set maxWidth(_arg1:Number):void{ if (explicitMaxWidth == _arg1){ return; }; explicitMaxWidth = _arg1; } public function validateDisplayList():void{ var _local1:ISystemManager; var _local2:Number; var _local3:Number; if (invalidateDisplayListFlag){ _local1 = (parent as ISystemManager); if (_local1){ if ((((_local1 == systemManager.topLevelSystemManager)) && (!((_local1.document == this))))){ setActualSize(getExplicitOrMeasuredWidth(), getExplicitOrMeasuredHeight()); }; }; _local2 = ((scaleX == 0)) ? 0 : (width / scaleX); _local3 = ((scaleY == 0)) ? 0 : (height / scaleY); if (Math.abs((_local2 - lastUnscaledWidth)) < 1E-5){ _local2 = lastUnscaledWidth; }; if (Math.abs((_local3 - lastUnscaledHeight)) < 1E-5){ _local3 = lastUnscaledHeight; }; updateDisplayList(_local2, _local3); lastUnscaledWidth = _local2; lastUnscaledHeight = _local3; invalidateDisplayListFlag = false; }; } public function contentToGlobal(_arg1:Point):Point{ return (localToGlobal(_arg1)); } public function resolveAutomationIDPart(_arg1:Object):Array{ if (automationDelegate){ return (automationDelegate.resolveAutomationIDPart(_arg1)); }; return ([]); } public function set inheritingStyles(_arg1:Object):void{ _inheritingStyles = _arg1; } public function setFocus():void{ var _local1:ISystemManager = systemManager; if (((_local1) && (_local1.stage))){ if (UIComponentGlobals.callLaterDispatcherCount == 0){ _local1.stage.focus = this; UIComponentGlobals.nextFocusObject = null; } else { UIComponentGlobals.nextFocusObject = this; _local1.stage.addEventListener(Event.ENTER_FRAME, setFocusLater); }; } else { UIComponentGlobals.nextFocusObject = this; callLater(setFocusLater); }; } private function getTransition(_arg1:String, _arg2:String):IEffect{ var _local6:Transition; var _local3:IEffect; var _local4:int; if (!transitions){ return (null); }; if (!_arg1){ _arg1 = ""; }; if (!_arg2){ _arg2 = ""; }; var _local5:int; while (_local5 < transitions.length) { _local6 = transitions[_local5]; if ((((((_local6.fromState == "*")) && ((_local6.toState == "*")))) && ((_local4 < 1)))){ _local3 = _local6.effect; _local4 = 1; } else { if ((((((_local6.fromState == _arg1)) && ((_local6.toState == "*")))) && ((_local4 < 2)))){ _local3 = _local6.effect; _local4 = 2; } else { if ((((((_local6.fromState == "*")) && ((_local6.toState == _arg2)))) && ((_local4 < 3)))){ _local3 = _local6.effect; _local4 = 3; } else { if ((((((_local6.fromState == _arg1)) && ((_local6.toState == _arg2)))) && ((_local4 < 4)))){ _local3 = _local6.effect; _local4 = 4; break; }; }; }; }; _local5++; }; return (_local3); } public function set initialized(_arg1:Boolean):void{ _initialized = _arg1; if (_arg1){ setVisible(_visible, true); dispatchEvent(new FlexEvent(FlexEvent.CREATION_COMPLETE)); }; } final mx_internal function set $y(_arg1:Number):void{ super.y = _arg1; } public function owns(_arg1:DisplayObject):Boolean{ var _local2:IChildList = ((this is IRawChildrenContainer)) ? IRawChildrenContainer(this).rawChildren : IChildList(this); if (_local2.contains(_arg1)){ return (true); }; while (((_arg1) && (!((_arg1 == this))))) { if ((_arg1 is IUIComponent)){ _arg1 = IUIComponent(_arg1).owner; } else { _arg1 = _arg1.parent; }; }; return ((_arg1 == this)); } public function setVisible(_arg1:Boolean, _arg2:Boolean=false):void{ _visible = _arg1; if (!initialized){ return; }; if ($visible == _arg1){ return; }; $visible = _arg1; if (!_arg2){ dispatchEvent(new FlexEvent((_arg1) ? FlexEvent.SHOW : FlexEvent.HIDE)); }; } final mx_internal function $addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ return (super.addChildAt(_arg1, _arg2)); } public function deleteReferenceOnParentDocument(_arg1:IFlexDisplayObject):void{ var _local2:Array; var _local3:Object; var _local4:Array; var _local5:int; var _local6:int; var _local7:int; var _local8:Object; var _local9:PropertyChangeEvent; if (((id) && (!((id == ""))))){ _local2 = _instanceIndices; if (!_local2){ _arg1[id] = null; } else { _local3 = _arg1[id]; if (!_local3){ return; }; _local4 = []; _local4.push(_local3); _local5 = _local2.length; _local6 = 0; while (_local6 < (_local5 - 1)) { _local8 = _local3[_local2[_local6]]; if (!_local8){ return; }; _local3 = _local8; _local4.push(_local3); _local6++; }; _local3.splice(_local2[(_local5 - 1)], 1); _local7 = (_local4.length - 1); while (_local7 > 0) { if (_local4[_local7].length == 0){ _local4[(_local7 - 1)].splice(_local2[_local7], 1); }; _local7--; }; if ((((_local4.length > 0)) && ((_local4[0].length == 0)))){ _arg1[id] = null; } else { _local9 = PropertyChangeEvent.createUpdateEvent(_arg1, id, _arg1[id], _arg1[id]); _arg1.dispatchEvent(_local9); }; }; }; } public function get nonInheritingStyles():Object{ return (_nonInheritingStyles); } public function effectStarted(_arg1:IEffectInstance):void{ var _local4:String; _effectsStarted.push(_arg1); var _local2:Array = _arg1.effect.getAffectedProperties(); var _local3:int; while (_local3 < _local2.length) { _local4 = _local2[_local3]; if (_affectedProperties[_local4] == undefined){ _affectedProperties[_local4] = []; }; _affectedProperties[_local4].push(_arg1); _local3++; }; isEffectStarted = true; if (_arg1.hideFocusRing){ preventDrawFocus = true; drawFocus(false); }; } final mx_internal function set $x(_arg1:Number):void{ super.x = _arg1; } private function applyState(_arg1:String, _arg2:String):void{ var _local4:Array; var _local5:int; var _local3:State = getState(_arg1); if (_arg1 == _arg2){ return; }; if (_local3){ if (_local3.basedOn != _arg2){ applyState(_local3.basedOn, _arg2); }; _local4 = _local3.overrides; _local5 = 0; while (_local5 < _local4.length) { _local4[_local5].apply(this); _local5++; }; _local3.dispatchEnterState(); }; } protected function commitProperties():void{ var _local1:Number; var _local2:Number; if (_scaleX != oldScaleX){ _local1 = Math.abs((_scaleX / oldScaleX)); if (!isNaN(explicitMinWidth)){ explicitMinWidth = (explicitMinWidth * _local1); }; if (!isNaN(explicitWidth)){ explicitWidth = (explicitWidth * _local1); }; if (!isNaN(explicitMaxWidth)){ explicitMaxWidth = (explicitMaxWidth * _local1); }; _width = (_width * _local1); super.scaleX = (oldScaleX = _scaleX); }; if (_scaleY != oldScaleY){ _local2 = Math.abs((_scaleY / oldScaleY)); if (!isNaN(explicitMinHeight)){ explicitMinHeight = (explicitMinHeight * _local2); }; if (!isNaN(explicitHeight)){ explicitHeight = (explicitHeight * _local2); }; if (!isNaN(explicitMaxHeight)){ explicitMaxHeight = (explicitMaxHeight * _local2); }; _height = (_height * _local2); super.scaleY = (oldScaleY = _scaleY); }; if (((!((x == oldX))) || (!((y == oldY))))){ dispatchMoveEvent(); }; if (((!((width == oldWidth))) || (!((height == oldHeight))))){ dispatchResizeEvent(); }; if (errorStringChanged){ errorStringChanged = false; setBorderColorForErrorString(); }; } public function get percentHeight():Number{ return (_percentHeight); } override public function get width():Number{ return (_width); } final mx_internal function get $parent():DisplayObjectContainer{ return (super.parent); } public function set explicitMinWidth(_arg1:Number):void{ if (_explicitMinWidth == _arg1){ return; }; _explicitMinWidth = _arg1; invalidateSize(); var _local2:IInvalidating = (parent as IInvalidating); if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; dispatchEvent(new Event("explicitMinWidthChanged")); } public function get isPopUp():Boolean{ return (_isPopUp); } private function measureSizes():Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local1:Boolean; if (!invalidateSizeFlag){ return (_local1); }; if (((isNaN(explicitWidth)) || (isNaN(explicitHeight)))){ _local4 = Math.abs(scaleX); _local5 = Math.abs(scaleY); if (_local4 != 1){ _measuredMinWidth = (_measuredMinWidth / _local4); _measuredWidth = (_measuredWidth / _local4); }; if (_local5 != 1){ _measuredMinHeight = (_measuredMinHeight / _local5); _measuredHeight = (_measuredHeight / _local5); }; measure(); invalidateSizeFlag = false; if (((!(isNaN(explicitMinWidth))) && ((measuredWidth < explicitMinWidth)))){ measuredWidth = explicitMinWidth; }; if (((!(isNaN(explicitMaxWidth))) && ((measuredWidth > explicitMaxWidth)))){ measuredWidth = explicitMaxWidth; }; if (((!(isNaN(explicitMinHeight))) && ((measuredHeight < explicitMinHeight)))){ measuredHeight = explicitMinHeight; }; if (((!(isNaN(explicitMaxHeight))) && ((measuredHeight > explicitMaxHeight)))){ measuredHeight = explicitMaxHeight; }; if (_local4 != 1){ _measuredMinWidth = (_measuredMinWidth * _local4); _measuredWidth = (_measuredWidth * _local4); }; if (_local5 != 1){ _measuredMinHeight = (_measuredMinHeight * _local5); _measuredHeight = (_measuredHeight * _local5); }; } else { invalidateSizeFlag = false; _measuredMinWidth = 0; _measuredMinHeight = 0; }; adjustSizesForScaleChanges(); if (isNaN(oldMinWidth)){ oldMinWidth = (isNaN(explicitMinWidth)) ? measuredMinWidth : explicitMinWidth; oldMinHeight = (isNaN(explicitMinHeight)) ? measuredMinHeight : explicitMinHeight; oldExplicitWidth = (isNaN(explicitWidth)) ? measuredWidth : explicitWidth; oldExplicitHeight = (isNaN(explicitHeight)) ? measuredHeight : explicitHeight; _local1 = true; } else { _local3 = (isNaN(explicitMinWidth)) ? measuredMinWidth : explicitMinWidth; if (_local3 != oldMinWidth){ oldMinWidth = _local3; _local1 = true; }; _local3 = (isNaN(explicitMinHeight)) ? measuredMinHeight : explicitMinHeight; if (_local3 != oldMinHeight){ oldMinHeight = _local3; _local1 = true; }; _local3 = (isNaN(explicitWidth)) ? measuredWidth : explicitWidth; if (_local3 != oldExplicitWidth){ oldExplicitWidth = _local3; _local1 = true; }; _local3 = (isNaN(explicitHeight)) ? measuredHeight : explicitHeight; if (_local3 != oldExplicitHeight){ oldExplicitHeight = _local3; _local1 = true; }; }; return (_local1); } public function get automationTabularData():Object{ if (automationDelegate){ return (automationDelegate.automationTabularData); }; return (null); } public function validateNow():void{ UIComponentGlobals.layoutManager.validateClient(this); } public function finishPrint(_arg1:Object, _arg2:IFlexDisplayObject):void{ } public function get repeaters():Array{ return ((_repeaters) ? _repeaters.slice(0) : []); } private function dispatchMoveEvent():void{ var _local1:MoveEvent = new MoveEvent(MoveEvent.MOVE); _local1.oldX = oldX; _local1.oldY = oldY; dispatchEvent(_local1); oldX = x; oldY = y; } public function drawFocus(_arg1:Boolean):void{ var _local4:DisplayObjectContainer; var _local5:Class; if (!parent){ return; }; var _local2:DisplayObject = getFocusObject(); var _local3:Sprite = (focusManager) ? focusManager.focusPane : null; if (((_arg1) && (!(preventDrawFocus)))){ _local4 = _local3.parent; if (_local4 != parent){ if (_local4){ if ((_local4 is ISystemManager)){ ISystemManager(_local4).focusPane = null; } else { IUIComponent(_local4).focusPane = null; }; }; if ((parent is ISystemManager)){ ISystemManager(parent).focusPane = _local3; } else { IUIComponent(parent).focusPane = _local3; }; }; _local5 = getStyle("focusSkin"); if (((_local2) && (!((_local2 is _local5))))){ _local3.removeChild(_local2); _local2 = null; }; if (!_local2){ _local2 = new (_local5); _local2.name = "focus"; _local3.addChild(_local2); }; if ((_local2 is ILayoutManagerClient)){ ILayoutManagerClient(_local2).nestLevel = nestLevel; }; if ((_local2 is ISimpleStyleClient)){ ISimpleStyleClient(_local2).styleName = this; }; addEventListener(MoveEvent.MOVE, focusObj_moveHandler, true); addEventListener(MoveEvent.MOVE, focusObj_moveHandler); addEventListener(ResizeEvent.RESIZE, focusObj_resizeHandler, true); addEventListener(ResizeEvent.RESIZE, focusObj_resizeHandler); addEventListener(Event.REMOVED, focusObj_removedHandler, true); _local2.visible = true; hasFocusRect = true; adjustFocusRect(); } else { if (hasFocusRect){ hasFocusRect = false; if (_local2){ _local2.visible = false; }; removeEventListener(MoveEvent.MOVE, focusObj_moveHandler); removeEventListener(MoveEvent.MOVE, focusObj_moveHandler, true); removeEventListener(ResizeEvent.RESIZE, focusObj_resizeHandler, true); removeEventListener(ResizeEvent.RESIZE, focusObj_resizeHandler); removeEventListener(Event.REMOVED, focusObj_removedHandler, true); }; }; } public function get flexContextMenu():IFlexContextMenu{ return (_flexContextMenu); } private function get indexedID():String{ var _local1:String = id; var _local2:Array = instanceIndices; if (_local2){ _local1 = (_local1 + (("[" + _local2.join("][")) + "]")); }; return (_local1); } public function get measuredMinHeight():Number{ return (_measuredMinHeight); } mx_internal function addingChild(_arg1:DisplayObject):void{ if ((((_arg1 is IUIComponent)) && (!(IUIComponent(_arg1).document)))){ IUIComponent(_arg1).document = (document) ? document : ApplicationGlobals.application; }; if ((((_arg1 is UIComponent)) && ((UIComponent(_arg1).moduleFactory == null)))){ if (moduleFactory != null){ UIComponent(_arg1).moduleFactory = moduleFactory; } else { if ((((document is IFlexModule)) && (!((document.moduleFactory == null))))){ UIComponent(_arg1).moduleFactory = document.moduleFactory; } else { if ((((parent is UIComponent)) && (!((UIComponent(parent).moduleFactory == null))))){ UIComponent(_arg1).moduleFactory = UIComponent(parent).moduleFactory; }; }; }; }; if ((((((_arg1 is IFontContextComponent)) && ((!(_arg1) is UIComponent)))) && ((IFontContextComponent(_arg1).fontContext == null)))){ IFontContextComponent(_arg1).fontContext = moduleFactory; }; if ((_arg1 is IUIComponent)){ IUIComponent(_arg1).parentChanged(this); }; if ((_arg1 is ILayoutManagerClient)){ ILayoutManagerClient(_arg1).nestLevel = (nestLevel + 1); } else { if ((_arg1 is IUITextField)){ IUITextField(_arg1).nestLevel = (nestLevel + 1); }; }; if ((_arg1 is InteractiveObject)){ if (doubleClickEnabled){ InteractiveObject(_arg1).doubleClickEnabled = true; }; }; if ((_arg1 is IStyleClient)){ IStyleClient(_arg1).regenerateStyleCache(true); } else { if ((((_arg1 is IUITextField)) && (IUITextField(_arg1).inheritingStyles))){ StyleProtoChain.initTextField(IUITextField(_arg1)); }; }; if ((_arg1 is ISimpleStyleClient)){ ISimpleStyleClient(_arg1).styleChanged(null); }; if ((_arg1 is IStyleClient)){ IStyleClient(_arg1).notifyStyleChangeInChildren(null, true); }; if ((_arg1 is UIComponent)){ UIComponent(_arg1).initThemeColor(); }; if ((_arg1 is UIComponent)){ UIComponent(_arg1).stylesInitialized(); }; } public function set repeaterIndices(_arg1:Array):void{ _repeaterIndices = _arg1; } protected function initializationComplete():void{ processedDescriptors = true; } public function set moduleFactory(_arg1:IFlexModuleFactory):void{ var _local4:UIComponent; var _local2:int = numChildren; var _local3:int; while (_local3 < _local2) { _local4 = (getChildAt(_local3) as UIComponent); if (!_local4){ } else { if ((((_local4.moduleFactory == null)) || ((_local4.moduleFactory == _moduleFactory)))){ _local4.moduleFactory = _arg1; }; }; _local3++; }; _moduleFactory = _arg1; } private function focusObj_removedHandler(_arg1:Event):void{ if (_arg1.target != this){ return; }; var _local2:DisplayObject = getFocusObject(); if (_local2){ _local2.visible = false; }; } mx_internal function updateCallbacks():void{ if (invalidateDisplayListFlag){ UIComponentGlobals.layoutManager.invalidateDisplayList(this); }; if (invalidateSizeFlag){ UIComponentGlobals.layoutManager.invalidateSize(this); }; if (invalidatePropertiesFlag){ UIComponentGlobals.layoutManager.invalidateProperties(this); }; if (systemManager){ if ((((methodQueue.length > 0)) && (!(listeningForRender)))){ _systemManager.stage.addEventListener(Event.RENDER, callLaterDispatcher); _systemManager.stage.addEventListener(Event.ENTER_FRAME, callLaterDispatcher); listeningForRender = true; }; _systemManager.stage.invalidate(); }; } public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{ _styleDeclaration = _arg1; } override public function set doubleClickEnabled(_arg1:Boolean):void{ var _local2:IChildList; var _local4:InteractiveObject; super.doubleClickEnabled = _arg1; if ((this is IRawChildrenContainer)){ _local2 = IRawChildrenContainer(this).rawChildren; } else { _local2 = IChildList(this); }; var _local3:int; while (_local3 < _local2.numChildren) { _local4 = (_local2.getChildAt(_local3) as InteractiveObject); if (_local4){ _local4.doubleClickEnabled = _arg1; }; _local3++; }; } public function prepareToPrint(_arg1:IFlexDisplayObject):Object{ return (null); } public function get minHeight():Number{ if (!isNaN(explicitMinHeight)){ return (explicitMinHeight); }; return (measuredMinHeight); } public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{ var _local5:ISimpleStyleClient; cachedTextFormat = null; var _local3:int = numChildren; var _local4:int; while (_local4 < _local3) { _local5 = (getChildAt(_local4) as ISimpleStyleClient); if (_local5){ _local5.styleChanged(_arg1); if ((_local5 is IStyleClient)){ IStyleClient(_local5).notifyStyleChangeInChildren(_arg1, _arg2); }; }; _local4++; }; } public function get contentMouseX():Number{ return (mouseX); } public function get contentMouseY():Number{ return (mouseY); } public function get tweeningProperties():Array{ return (_tweeningProperties); } public function set explicitMaxWidth(_arg1:Number):void{ if (_explicitMaxWidth == _arg1){ return; }; _explicitMaxWidth = _arg1; invalidateSize(); var _local2:IInvalidating = (parent as IInvalidating); if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; dispatchEvent(new Event("explicitMaxWidthChanged")); } public function set document(_arg1:Object):void{ var _local4:IUIComponent; var _local2:int = numChildren; var _local3:int; while (_local3 < _local2) { _local4 = (getChildAt(_local3) as IUIComponent); if (!_local4){ } else { if ((((_local4.document == _document)) || ((_local4.document == ApplicationGlobals.application)))){ _local4.document = _arg1; }; }; _local3++; }; _document = _arg1; } public function validateSize(_arg1:Boolean=false):void{ var _local2:int; var _local3:DisplayObject; var _local4:Boolean; var _local5:IInvalidating; if (_arg1){ _local2 = 0; while (_local2 < numChildren) { _local3 = getChildAt(_local2); if ((_local3 is ILayoutManagerClient)){ (_local3 as ILayoutManagerClient).validateSize(true); }; _local2++; }; }; if (invalidateSizeFlag){ _local4 = measureSizes(); if (((_local4) && (includeInLayout))){ invalidateDisplayList(); _local5 = (parent as IInvalidating); if (_local5){ _local5.invalidateSize(); _local5.invalidateDisplayList(); }; }; }; } public function get validationSubField():String{ return (_validationSubField); } override public function dispatchEvent(_arg1:Event):Boolean{ if (dispatchEventHook != null){ dispatchEventHook(_arg1, this); }; return (super.dispatchEvent(_arg1)); } public function set id(_arg1:String):void{ _id = _arg1; } private function overlay_resizeHandler(_arg1:Event):void{ fillOverlay(overlay, overlayColor, null); } public function set updateCompletePendingFlag(_arg1:Boolean):void{ _updateCompletePendingFlag = _arg1; } final mx_internal function get $height():Number{ return (super.height); } protected function attachOverlay():void{ addChild(overlay); } public function get explicitMinHeight():Number{ return (_explicitMinHeight); } override public function set height(_arg1:Number):void{ var _local2:IInvalidating; if (explicitHeight != _arg1){ explicitHeight = _arg1; invalidateSize(); }; if (_height != _arg1){ invalidateProperties(); invalidateDisplayList(); _local2 = (parent as IInvalidating); if (((_local2) && (includeInLayout))){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; _height = _arg1; dispatchEvent(new Event("heightChanged")); }; } public function get numAutomationChildren():int{ if (automationDelegate){ return (automationDelegate.numAutomationChildren); }; return (0); } public function get parentApplication():Object{ var _local2:UIComponent; var _local1:Object = systemManager.document; if (_local1 == this){ _local2 = (_local1.systemManager.parent as UIComponent); _local1 = (_local2) ? _local2.systemManager.document : null; }; return (_local1); } public function localToContent(_arg1:Point):Point{ return (_arg1); } public function get repeaterIndex():int{ return ((_repeaterIndices) ? _repeaterIndices[(_repeaterIndices.length - 1)] : -1); } private function removeState(_arg1:String, _arg2:String):void{ var _local4:Array; var _local5:int; var _local3:State = getState(_arg1); if (_arg1 == _arg2){ return; }; if (_local3){ _local3.dispatchExitState(); _local4 = _local3.overrides; _local5 = _local4.length; while (_local5) { _local4[(_local5 - 1)].remove(this); _local5--; }; if (_local3.basedOn != _arg2){ removeState(_local3.basedOn, _arg2); }; }; } public function setStyle(_arg1:String, _arg2):void{ if (_arg1 == "styleName"){ styleName = _arg2; return; }; if (EffectManager.getEventForEffectTrigger(_arg1) != ""){ EffectManager.setStyle(_arg1, this); }; var _local3:Boolean = StyleManager.isInheritingStyle(_arg1); var _local4 = !((inheritingStyles == UIComponent.STYLE_UNINITIALIZED)); var _local5 = !((getStyle(_arg1) == _arg2)); if (!_styleDeclaration){ _styleDeclaration = new CSSStyleDeclaration(); _styleDeclaration.setStyle(_arg1, _arg2); if (_local4){ regenerateStyleCache(_local3); }; } else { _styleDeclaration.setStyle(_arg1, _arg2); }; if (((_local4) && (_local5))){ styleChanged(_arg1); notifyStyleChangeInChildren(_arg1, _local3); }; } public function get showInAutomationHierarchy():Boolean{ return (_showInAutomationHierarchy); } public function get systemManager():ISystemManager{ var _local1:DisplayObject; var _local2:DisplayObjectContainer; var _local3:IUIComponent; if (((!(_systemManager)) || (_systemManagerDirty))){ _local1 = root; if (((_local1) && (!((_local1 is Stage))))){ _systemManager = (_local1 as ISystemManager); } else { if (_local1){ _systemManager = (Stage(_local1).getChildAt(0) as ISystemManager); } else { _local2 = parent; while (_local2) { _local3 = (_local2 as IUIComponent); if (_local3){ _systemManager = _local3.systemManager; break; }; _local2 = _local2.parent; }; }; }; _systemManagerDirty = false; }; return (_systemManager); } private function isBaseState(_arg1:String):Boolean{ return (((!(_arg1)) || ((_arg1 == "")))); } public function set enabled(_arg1:Boolean):void{ _enabled = _arg1; cachedTextFormat = null; invalidateDisplayList(); dispatchEvent(new Event("enabledChanged")); } public function set focusEnabled(_arg1:Boolean):void{ _focusEnabled = _arg1; } public function get minWidth():Number{ if (!isNaN(explicitMinWidth)){ return (explicitMinWidth); }; return (measuredMinWidth); } private function setFocusLater(_arg1:Event=null):void{ var _local2:ISystemManager = systemManager; if (((_local2) && (_local2.stage))){ _local2.stage.removeEventListener(Event.ENTER_FRAME, setFocusLater); if (UIComponentGlobals.nextFocusObject){ _local2.stage.focus = UIComponentGlobals.nextFocusObject; }; UIComponentGlobals.nextFocusObject = null; }; } public function get currentState():String{ return ((_currentStateChanged) ? requestedCurrentState : _currentState); } public function initializeRepeaterArrays(_arg1:IRepeaterClient):void{ if (((((((_arg1) && (_arg1.instanceIndices))) && (!(_instanceIndices)))) && (!(_arg1.isDocument)))){ _instanceIndices = _arg1.instanceIndices; _repeaters = _arg1.repeaters; _repeaterIndices = _arg1.repeaterIndices; }; } public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (NaN); }; if (!validateBaselinePosition()){ return (NaN); }; var _local1:TextLineMetrics = measureText("Wj"); if (height < ((2 + _local1.ascent) + 2)){ return (int((height + ((_local1.ascent - height) / 2)))); }; return ((2 + _local1.ascent)); } public function get measuredWidth():Number{ return (_measuredWidth); } public function set instanceIndices(_arg1:Array):void{ _instanceIndices = _arg1; } public function set cachePolicy(_arg1:String):void{ if (_cachePolicy != _arg1){ _cachePolicy = _arg1; if (_arg1 == UIComponentCachePolicy.OFF){ cacheAsBitmap = false; } else { if (_arg1 == UIComponentCachePolicy.ON){ cacheAsBitmap = true; } else { cacheAsBitmap = (cacheAsBitmapCount > 0); }; }; }; } public function get automationValue():Array{ if (automationDelegate){ return (automationDelegate.automationValue); }; return ([]); } private function addedHandler(_arg1:Event):void{ if (_arg1.eventPhase != EventPhase.AT_TARGET){ return; }; if ((((parent is IContainer)) && (IContainer(parent).creatingContentPane))){ _arg1.stopImmediatePropagation(); return; }; } public function parentChanged(_arg1:DisplayObjectContainer):void{ if (!_arg1){ _parent = null; _nestLevel = 0; } else { if ((_arg1 is IStyleClient)){ _parent = _arg1; } else { if ((_arg1 is ISystemManager)){ _parent = _arg1; } else { _parent = _arg1.parent; }; }; }; } public function get owner():DisplayObjectContainer{ return ((_owner) ? _owner : parent); } public function get processedDescriptors():Boolean{ return (_processedDescriptors); } override public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ var _local3:DisplayObjectContainer = _arg1.parent; if (((_local3) && (!((_local3 is Loader))))){ _local3.removeChild(_arg1); }; if (((overlayReferenceCount) && (!((_arg1 == overlay))))){ _arg2 = Math.min(_arg2, Math.max(0, (super.numChildren - 1))); }; addingChild(_arg1); $addChildAt(_arg1, _arg2); childAdded(_arg1); return (_arg1); } public function get maxWidth():Number{ return ((isNaN(explicitMaxWidth)) ? DEFAULT_MAX_WIDTH : explicitMaxWidth); } override public function set alpha(_arg1:Number):void{ super.alpha = _arg1; dispatchEvent(new Event("alphaChanged")); } private function removedHandler(_arg1:Event):void{ if (_arg1.eventPhase != EventPhase.AT_TARGET){ return; }; if ((((parent is IContainer)) && (IContainer(parent).creatingContentPane))){ _arg1.stopImmediatePropagation(); return; }; _systemManagerDirty = true; } public function callLater(_arg1:Function, _arg2:Array=null):void{ methodQueue.push(new MethodQueueElement(_arg1, _arg2)); var _local3:ISystemManager = systemManager; if (((_local3) && (_local3.stage))){ if (!listeningForRender){ _local3.stage.addEventListener(Event.RENDER, callLaterDispatcher); _local3.stage.addEventListener(Event.ENTER_FRAME, callLaterDispatcher); listeningForRender = true; }; _local3.stage.invalidate(); }; } public function get initialized():Boolean{ return (_initialized); } private function callLaterDispatcher2(_arg1:Event):void{ var _local6:MethodQueueElement; if (UIComponentGlobals.callLaterSuspendCount > 0){ return; }; var _local2:ISystemManager = systemManager; if (((((_local2) && (_local2.stage))) && (listeningForRender))){ _local2.stage.removeEventListener(Event.RENDER, callLaterDispatcher); _local2.stage.removeEventListener(Event.ENTER_FRAME, callLaterDispatcher); listeningForRender = false; }; var _local3:Array = methodQueue; methodQueue = []; var _local4:int = _local3.length; var _local5:int; while (_local5 < _local4) { _local6 = MethodQueueElement(_local3[_local5]); _local6.method.apply(null, _local6.args); _local5++; }; } public function measureHTMLText(_arg1:String):TextLineMetrics{ return (determineTextFormatFromStyles().measureHTMLText(_arg1)); } public function set descriptor(_arg1:UIComponentDescriptor):void{ _descriptor = _arg1; } private function getState(_arg1:String):State{ if (((!(states)) || (isBaseState(_arg1)))){ return (null); }; var _local2:int; while (_local2 < states.length) { if (states[_local2].name == _arg1){ return (states[_local2]); }; _local2++; }; var _local3:String = resourceManager.getString("core", "stateUndefined", [_arg1]); throw (new ArgumentError(_local3)); } public function validateProperties():void{ if (invalidatePropertiesFlag){ commitProperties(); invalidatePropertiesFlag = false; }; } mx_internal function get documentDescriptor():UIComponentDescriptor{ return (_documentDescriptor); } public function set includeInLayout(_arg1:Boolean):void{ var _local2:IInvalidating; if (_includeInLayout != _arg1){ _includeInLayout = _arg1; _local2 = (parent as IInvalidating); if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; dispatchEvent(new Event("includeInLayoutChanged")); }; } public function getClassStyleDeclarations():Array{ var myApplicationDomain:ApplicationDomain; var cache:Array; var myRoot:DisplayObject; var s:CSSStyleDeclaration; var factory:IFlexModuleFactory = ModuleManager.getAssociatedFactory(this); if (factory != null){ myApplicationDomain = ApplicationDomain(factory.info()["currentDomain"]); } else { myRoot = SystemManager.getSWFRoot(this); if (!myRoot){ return ([]); }; myApplicationDomain = myRoot.loaderInfo.applicationDomain; }; var className:String = getQualifiedClassName(this); className = className.replace("::", "."); cache = StyleManager.typeSelectorCache[className]; if (cache){ return (cache); }; var decls:Array = []; var classNames:Array = []; var caches:Array = []; var declcache:Array = []; while (((((!((className == null))) && (!((className == "mx.core.UIComponent"))))) && (!((className == "mx.core.UITextField"))))) { cache = StyleManager.typeSelectorCache[className]; if (cache){ decls = decls.concat(cache); break; }; s = StyleManager.getStyleDeclaration(className); if (s){ decls.unshift(s); classNames.push(className); caches.push(classNames); declcache.push(decls); decls = []; classNames = []; } else { classNames.push(className); }; try { className = getQualifiedSuperclassName(myApplicationDomain.getDefinition(className)); className = className.replace("::", "."); } catch(e:ReferenceError) { className = null; }; }; caches.push(classNames); declcache.push(decls); decls = []; while (caches.length) { classNames = caches.pop(); decls = decls.concat(declcache.pop()); while (classNames.length) { StyleManager.typeSelectorCache[classNames.pop()] = decls; }; }; return (decls); } public function set measuredMinWidth(_arg1:Number):void{ _measuredMinWidth = _arg1; } private function initializeState(_arg1:String):void{ var _local2:State = getState(_arg1); while (_local2) { _local2.initialize(); _local2 = getState(_local2.basedOn); }; } mx_internal function initProtoChain():void{ var _local1:CSSStyleDeclaration; var _local7:Object; var _local8:CSSStyleDeclaration; if (styleName){ if ((styleName is CSSStyleDeclaration)){ _local1 = CSSStyleDeclaration(styleName); } else { if ((((styleName is IFlexDisplayObject)) || ((styleName is IStyleClient)))){ StyleProtoChain.initProtoChainForUIComponentStyleName(this); return; }; if ((styleName is String)){ _local1 = StyleManager.getStyleDeclaration(("." + styleName)); }; }; }; var _local2:Object = StyleManager.stylesRoot; if (((_local2) && (_local2.effects))){ registerEffects(_local2.effects); }; var _local3:IStyleClient = (parent as IStyleClient); if (_local3){ _local7 = _local3.inheritingStyles; if (_local7 == UIComponent.STYLE_UNINITIALIZED){ _local7 = _local2; }; } else { if (isPopUp){ if ((((((FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)) && (_owner))) && ((_owner is IStyleClient)))){ _local7 = IStyleClient(_owner).inheritingStyles; } else { _local7 = ApplicationGlobals.application.inheritingStyles; }; } else { _local7 = StyleManager.stylesRoot; }; }; var _local4:Array = getClassStyleDeclarations(); var _local5:int = _local4.length; var _local6:int; while (_local6 < _local5) { _local8 = _local4[_local6]; _local7 = _local8.addStyleToProtoChain(_local7, this); _local2 = _local8.addStyleToProtoChain(_local2, this); if (_local8.effects){ registerEffects(_local8.effects); }; _local6++; }; if (_local1){ _local7 = _local1.addStyleToProtoChain(_local7, this); _local2 = _local1.addStyleToProtoChain(_local2, this); if (_local1.effects){ registerEffects(_local1.effects); }; }; inheritingStyles = (_styleDeclaration) ? _styleDeclaration.addStyleToProtoChain(_local7, this) : _local7; nonInheritingStyles = (_styleDeclaration) ? _styleDeclaration.addStyleToProtoChain(_local2, this) : _local2; } public function get repeaterIndices():Array{ return ((_repeaterIndices) ? _repeaterIndices.slice() : []); } override public function removeChild(_arg1:DisplayObject):DisplayObject{ removingChild(_arg1); $removeChild(_arg1); childRemoved(_arg1); return (_arg1); } private function focusObj_moveHandler(_arg1:MoveEvent):void{ adjustFocusRect(); } public function get styleDeclaration():CSSStyleDeclaration{ return (_styleDeclaration); } override public function get doubleClickEnabled():Boolean{ return (super.doubleClickEnabled); } public function contentToLocal(_arg1:Point):Point{ return (_arg1); } private function creationCompleteHandler(_arg1:FlexEvent):void{ if (_currentStateChanged){ _currentStateChanged = false; commitCurrentState(); validateNow(); }; removeEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler); } public function set measuredHeight(_arg1:Number):void{ _measuredHeight = _arg1; } protected function createChildren():void{ } public function get activeEffects():Array{ return (_effectsStarted); } override public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ if (((overlayReferenceCount) && (!((_arg1 == overlay))))){ _arg2 = Math.min(_arg2, Math.max(0, (super.numChildren - 2))); }; super.setChildIndex(_arg1, _arg2); } public function regenerateStyleCache(_arg1:Boolean):void{ var _local5:DisplayObject; initProtoChain(); var _local2:IChildList = ((this is IRawChildrenContainer)) ? IRawChildrenContainer(this).rawChildren : IChildList(this); var _local3:int = _local2.numChildren; var _local4:int; while (_local4 < _local3) { _local5 = _local2.getChildAt(_local4); if ((_local5 is IStyleClient)){ if (IStyleClient(_local5).inheritingStyles != UIComponent.STYLE_UNINITIALIZED){ IStyleClient(_local5).regenerateStyleCache(_arg1); }; } else { if ((_local5 is IUITextField)){ if (IUITextField(_local5).inheritingStyles){ StyleProtoChain.initTextField(IUITextField(_local5)); }; }; }; _local4++; }; } public function get updateCompletePendingFlag():Boolean{ return (_updateCompletePendingFlag); } protected function focusOutHandler(_arg1:FocusEvent):void{ if (isOurFocus(DisplayObject(_arg1.target))){ drawFocus(false); }; } public function getFocus():InteractiveObject{ var _local1:ISystemManager = systemManager; if (!_local1){ return (null); }; if (UIComponentGlobals.nextFocusObject){ return (UIComponentGlobals.nextFocusObject); }; return (_local1.stage.focus); } public function endEffectsStarted():void{ var _local1:int = _effectsStarted.length; var _local2:int; while (_local2 < _local1) { _effectsStarted[_local2].end(); _local2++; }; } protected function get unscaledHeight():Number{ return ((height / Math.abs(scaleY))); } public function get enabled():Boolean{ return (_enabled); } public function get focusEnabled():Boolean{ return (_focusEnabled); } override public function set cacheAsBitmap(_arg1:Boolean):void{ super.cacheAsBitmap = _arg1; cacheAsBitmapCount = (_arg1) ? 1 : 0; } mx_internal function removeOverlay():void{ if ((((((overlayReferenceCount > 0)) && ((--overlayReferenceCount == 0)))) && (overlay))){ removeEventListener("resize", overlay_resizeHandler); if (super.getChildByName("overlay")){ $removeChild(overlay); }; overlay = null; }; } public function set cacheHeuristic(_arg1:Boolean):void{ if (_cachePolicy == UIComponentCachePolicy.AUTO){ if (_arg1){ cacheAsBitmapCount++; } else { if (cacheAsBitmapCount != 0){ cacheAsBitmapCount--; }; }; super.cacheAsBitmap = !((cacheAsBitmapCount == 0)); }; } public function get cachePolicy():String{ return (_cachePolicy); } public function set maxHeight(_arg1:Number):void{ if (explicitMaxHeight == _arg1){ return; }; explicitMaxHeight = _arg1; } public function getConstraintValue(_arg1:String){ return (getStyle(_arg1)); } public function set focusManager(_arg1:IFocusManager):void{ _focusManager = _arg1; } public function clearStyle(_arg1:String):void{ setStyle(_arg1, undefined); } public function get descriptor():UIComponentDescriptor{ return (_descriptor); } public function set nonInheritingStyles(_arg1:Object):void{ _nonInheritingStyles = _arg1; } public function get cursorManager():ICursorManager{ var _local2:ICursorManager; var _local1:DisplayObject = parent; while (_local1) { if ((((_local1 is IUIComponent)) && (("cursorManager" in _local1)))){ _local2 = _local1["cursorManager"]; return (_local2); }; _local1 = _local1.parent; }; return (CursorManager.getInstance()); } public function set automationDelegate(_arg1:Object):void{ _automationDelegate = (_arg1 as IAutomationObject); } public function get measuredMinWidth():Number{ return (_measuredMinWidth); } public function createReferenceOnParentDocument(_arg1:IFlexDisplayObject):void{ var _local2:Array; var _local3:Object; var _local4:int; var _local5:int; var _local6:PropertyChangeEvent; var _local7:Object; if (((id) && (!((id == ""))))){ _local2 = _instanceIndices; if (!_local2){ _arg1[id] = this; } else { _local3 = _arg1[id]; if (!(_local3 is Array)){ _local3 = (_arg1[id] = []); }; _local4 = _local2.length; _local5 = 0; while (_local5 < (_local4 - 1)) { _local7 = _local3[_local2[_local5]]; if (!(_local7 is Array)){ _local7 = (_local3[_local2[_local5]] = []); }; _local3 = _local7; _local5++; }; _local3[_local2[(_local4 - 1)]] = this; _local6 = PropertyChangeEvent.createUpdateEvent(_arg1, id, _arg1[id], _arg1[id]); _arg1.dispatchEvent(_local6); }; }; } public function get repeater():IRepeater{ return ((_repeaters) ? _repeaters[(_repeaters.length - 1)] : null); } public function set isPopUp(_arg1:Boolean):void{ _isPopUp = _arg1; } public function get measuredHeight():Number{ return (_measuredHeight); } public function initialize():void{ if (initialized){ return; }; dispatchEvent(new FlexEvent(FlexEvent.PREINITIALIZE)); createChildren(); childrenCreated(); initializeAccessibility(); initializationComplete(); } override public function set width(_arg1:Number):void{ var _local2:IInvalidating; if (explicitWidth != _arg1){ explicitWidth = _arg1; invalidateSize(); }; if (_width != _arg1){ invalidateProperties(); invalidateDisplayList(); _local2 = (parent as IInvalidating); if (((_local2) && (includeInLayout))){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; _width = _arg1; dispatchEvent(new Event("widthChanged")); }; } public function set percentHeight(_arg1:Number):void{ if (_percentHeight == _arg1){ return; }; if (!isNaN(_arg1)){ _explicitHeight = NaN; }; _percentHeight = _arg1; var _local2:IInvalidating = (parent as IInvalidating); if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; } final mx_internal function set $visible(_arg1:Boolean):void{ super.visible = _arg1; } private function findCommonBaseState(_arg1:String, _arg2:String):String{ var _local3:State = getState(_arg1); var _local4:State = getState(_arg2); if (((!(_local3)) || (!(_local4)))){ return (""); }; if (((isBaseState(_local3.basedOn)) && (isBaseState(_local4.basedOn)))){ return (""); }; var _local5:Array = getBaseStates(_local3); var _local6:Array = getBaseStates(_local4); var _local7 = ""; while (_local5[(_local5.length - 1)] == _local6[(_local6.length - 1)]) { _local7 = _local5.pop(); _local6.pop(); if (((!(_local5.length)) || (!(_local6.length)))){ break; }; }; if (((_local5.length) && ((_local5[(_local5.length - 1)] == _local4.name)))){ _local7 = _local4.name; } else { if (((_local6.length) && ((_local6[(_local6.length - 1)] == _local3.name)))){ _local7 = _local3.name; }; }; return (_local7); } mx_internal function childRemoved(_arg1:DisplayObject):void{ if ((_arg1 is IUIComponent)){ if (IUIComponent(_arg1).document != _arg1){ IUIComponent(_arg1).document = null; }; IUIComponent(_arg1).parentChanged(null); }; } final mx_internal function $removeChildAt(_arg1:int):DisplayObject{ return (super.removeChildAt(_arg1)); } public function get maxHeight():Number{ return ((isNaN(explicitMaxHeight)) ? DEFAULT_MAX_HEIGHT : explicitMaxHeight); } protected function initializeAccessibility():void{ if (UIComponent.createAccessibilityImplementation != null){ UIComponent.createAccessibilityImplementation(this); }; } public function set explicitMaxHeight(_arg1:Number):void{ if (_explicitMaxHeight == _arg1){ return; }; _explicitMaxHeight = _arg1; invalidateSize(); var _local2:IInvalidating = (parent as IInvalidating); if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; dispatchEvent(new Event("explicitMaxHeightChanged")); } public function get focusManager():IFocusManager{ if (_focusManager){ return (_focusManager); }; var _local1:DisplayObject = parent; while (_local1) { if ((_local1 is IFocusManagerContainer)){ return (IFocusManagerContainer(_local1).focusManager); }; _local1 = _local1.parent; }; return (null); } public function set styleName(_arg1:Object):void{ if (_styleName === _arg1){ return; }; _styleName = _arg1; if (inheritingStyles == UIComponent.STYLE_UNINITIALIZED){ return; }; regenerateStyleCache(true); initThemeColor(); styleChanged("styleName"); notifyStyleChangeInChildren("styleName", true); } public function get automationDelegate():Object{ return (_automationDelegate); } protected function get resourceManager():IResourceManager{ return (_resourceManager); } mx_internal function validateBaselinePosition():Boolean{ var _local1:Number; var _local2:Number; if (!parent){ return (false); }; if ((((width == 0)) && ((height == 0)))){ validateNow(); _local1 = getExplicitOrMeasuredWidth(); _local2 = getExplicitOrMeasuredHeight(); setActualSize(_local1, _local2); }; validateNow(); return (true); } mx_internal function cancelAllCallLaters():void{ var _local1:ISystemManager = systemManager; if (((_local1) && (_local1.stage))){ if (listeningForRender){ _local1.stage.removeEventListener(Event.RENDER, callLaterDispatcher); _local1.stage.removeEventListener(Event.ENTER_FRAME, callLaterDispatcher); listeningForRender = false; }; }; methodQueue.splice(0); } private function updateCompleteHandler(_arg1:FlexEvent):void{ UIComponentGlobals.layoutManager.removeEventListener(FlexEvent.UPDATE_COMPLETE, updateCompleteHandler); processEffectFinished(_endingEffectInstances); _endingEffectInstances = []; } public function styleChanged(_arg1:String):void{ if ((((this is IFontContextComponent)) && (hasFontContextChanged()))){ invalidateProperties(); }; if (((((!(_arg1)) || ((_arg1 == "styleName")))) || (StyleManager.isSizeInvalidatingStyle(_arg1)))){ invalidateSize(); }; if (((((!(_arg1)) || ((_arg1 == "styleName")))) || ((_arg1 == "themeColor")))){ initThemeColor(); }; invalidateDisplayList(); if ((parent is IInvalidating)){ if (StyleManager.isParentSizeInvalidatingStyle(_arg1)){ IInvalidating(parent).invalidateSize(); }; if (StyleManager.isParentDisplayListInvalidatingStyle(_arg1)){ IInvalidating(parent).invalidateDisplayList(); }; }; } final mx_internal function get $visible():Boolean{ return (super.visible); } public function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:Object=null, _arg9:String=null, _arg10:Array=null, _arg11:Object=null):void{ var _local13:Number; var _local14:Array; var _local15:Matrix; var _local16:Object; var _local12:Graphics = graphics; if (((!(_arg3)) || (!(_arg4)))){ return; }; if (_arg6 !== null){ if ((_arg6 is Array)){ if ((_arg7 is Array)){ _local14 = (_arg7 as Array); } else { _local14 = [_arg7, _arg7]; }; if (!_arg10){ _arg10 = [0, 0xFF]; }; _local15 = null; if (_arg8){ if ((_arg8 is Matrix)){ _local15 = Matrix(_arg8); } else { _local15 = new Matrix(); if ((_arg8 is Number)){ _local15.createGradientBox(_arg3, _arg4, ((Number(_arg8) * Math.PI) / 180), _arg1, _arg2); } else { _local15.createGradientBox(_arg8.w, _arg8.h, _arg8.r, _arg8.x, _arg8.y); }; }; }; if (_arg9 == GradientType.RADIAL){ _local12.beginGradientFill(GradientType.RADIAL, (_arg6 as Array), _local14, _arg10, _local15); } else { _local12.beginGradientFill(GradientType.LINEAR, (_arg6 as Array), _local14, _arg10, _local15); }; } else { _local12.beginFill(Number(_arg6), Number(_arg7)); }; }; if (!_arg5){ _local12.drawRect(_arg1, _arg2, _arg3, _arg4); } else { if ((_arg5 is Number)){ _local13 = (Number(_arg5) * 2); _local12.drawRoundRect(_arg1, _arg2, _arg3, _arg4, _local13, _local13); } else { GraphicsUtil.drawRoundRectComplex(_local12, _arg1, _arg2, _arg3, _arg4, _arg5.tl, _arg5.tr, _arg5.bl, _arg5.br); }; }; if (_arg11){ _local16 = _arg11.r; if ((_local16 is Number)){ _local13 = (Number(_local16) * 2); _local12.drawRoundRect(_arg11.x, _arg11.y, _arg11.w, _arg11.h, _local13, _local13); } else { GraphicsUtil.drawRoundRectComplex(_local12, _arg11.x, _arg11.y, _arg11.w, _arg11.h, _local16.tl, _local16.tr, _local16.bl, _local16.br); }; }; if (_arg6 !== null){ _local12.endFill(); }; } public function move(_arg1:Number, _arg2:Number):void{ var _local3:Boolean; if (_arg1 != super.x){ super.x = _arg1; dispatchEvent(new Event("xChanged")); _local3 = true; }; if (_arg2 != super.y){ super.y = _arg2; dispatchEvent(new Event("yChanged")); _local3 = true; }; if (_local3){ dispatchMoveEvent(); }; } public function set toolTip(_arg1:String):void{ var _local2:String = _toolTip; _toolTip = _arg1; ToolTipManager.registerToolTip(this, _local2, _arg1); dispatchEvent(new Event("toolTipChanged")); } public function set repeaters(_arg1:Array):void{ _repeaters = _arg1; } public function get explicitMaxHeight():Number{ return (_explicitMaxHeight); } public function measureText(_arg1:String):TextLineMetrics{ return (determineTextFormatFromStyles().measureText(_arg1)); } public function get styleName():Object{ return (_styleName); } protected function createInModuleContext(_arg1:IFlexModuleFactory, _arg2:String):Object{ var _local3:Object; if (_arg1){ _local3 = _arg1.create(_arg2); }; return (_local3); } public function get parentDocument():Object{ var _local1:IUIComponent; var _local2:ISystemManager; if (document == this){ _local1 = (parent as IUIComponent); if (_local1){ return (_local1.document); }; _local2 = (parent as ISystemManager); if (_local2){ return (_local2.document); }; return (null); //unresolved jump }; return (document); } protected function childrenCreated():void{ invalidateProperties(); invalidateSize(); invalidateDisplayList(); } public function set flexContextMenu(_arg1:IFlexContextMenu):void{ if (_flexContextMenu){ _flexContextMenu.unsetContextMenu(this); }; _flexContextMenu = _arg1; if (_arg1 != null){ _flexContextMenu.setContextMenu(this); }; } public function set explicitWidth(_arg1:Number):void{ if (_explicitWidth == _arg1){ return; }; if (!isNaN(_arg1)){ _percentWidth = NaN; }; _explicitWidth = _arg1; invalidateSize(); var _local2:IInvalidating = (parent as IInvalidating); if (((_local2) && (includeInLayout))){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; dispatchEvent(new Event("explicitWidthChanged")); } private function setBorderColorForErrorString():void{ if (((!(_errorString)) || ((_errorString.length == 0)))){ if (!isNaN(origBorderColor)){ setStyle("borderColor", origBorderColor); saveBorderColor = true; }; } else { if (saveBorderColor){ saveBorderColor = false; origBorderColor = getStyle("borderColor"); }; setStyle("borderColor", getStyle("errorColor")); }; styleChanged("themeColor"); var _local1:IFocusManager = focusManager; var _local2:DisplayObject = (_local1) ? DisplayObject(_local1.getFocus()) : null; if (((((_local1) && (_local1.showFocusIndicator))) && ((_local2 == this)))){ drawFocus(true); }; } public function get explicitWidth():Number{ return (_explicitWidth); } public function invalidateSize():void{ if (!invalidateSizeFlag){ invalidateSizeFlag = true; if (((parent) && (UIComponentGlobals.layoutManager))){ UIComponentGlobals.layoutManager.invalidateSize(this); }; }; } public function set measuredMinHeight(_arg1:Number):void{ _measuredMinHeight = _arg1; } protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ } override public function set filters(_arg1:Array):void{ var _local2:int; var _local3:int; var _local4:IEventDispatcher; if (_filters){ _local2 = _filters.length; _local3 = 0; while (_local3 < _local2) { _local4 = (_filters[_local3] as IEventDispatcher); if (_local4){ _local4.removeEventListener("change", filterChangeHandler); }; _local3++; }; }; _filters = _arg1; if (_filters){ _local2 = _filters.length; _local3 = 0; while (_local3 < _local2) { _local4 = (_filters[_local3] as IEventDispatcher); if (_local4){ _local4.addEventListener("change", filterChangeHandler); }; _local3++; }; }; super.filters = _filters; } private static function get embeddedFontRegistry():IEmbeddedFontRegistry{ if (!_embeddedFontRegistry){ _embeddedFontRegistry = IEmbeddedFontRegistry(Singleton.getInstance("mx.core::IEmbeddedFontRegistry")); }; return (_embeddedFontRegistry); } public static function resumeBackgroundProcessing():void{ var _local1:ISystemManager; if (UIComponentGlobals.callLaterSuspendCount > 0){ UIComponentGlobals.callLaterSuspendCount--; if (UIComponentGlobals.callLaterSuspendCount == 0){ _local1 = SystemManagerGlobals.topLevelSystemManagers[0]; if (((_local1) && (_local1.stage))){ _local1.stage.invalidate(); }; }; }; } public static function suspendBackgroundProcessing():void{ UIComponentGlobals.callLaterSuspendCount++; } } }//package mx.core class MethodQueueElement { public var method:Function; public var args:Array; private function MethodQueueElement(_arg1:Function, _arg2:Array=null){ this.method = _arg1; this.args = _arg2; } }
Section 137
//UIComponentCachePolicy (mx.core.UIComponentCachePolicy) package mx.core { public final class UIComponentCachePolicy { public static const AUTO:String = "auto"; public static const ON:String = "on"; mx_internal static const VERSION:String = "3.0.0.0"; public static const OFF:String = "off"; } }//package mx.core
Section 138
//UIComponentDescriptor (mx.core.UIComponentDescriptor) package mx.core { public class UIComponentDescriptor extends ComponentDescriptor { mx_internal var instanceIndices:Array; public var stylesFactory:Function; public var effects:Array; mx_internal var repeaters:Array; mx_internal var repeaterIndices:Array; mx_internal static const VERSION:String = "3.0.0.0"; public function UIComponentDescriptor(_arg1:Object){ super(_arg1); } override public function toString():String{ return (("UIComponentDescriptor_" + id)); } } }//package mx.core
Section 139
//UIComponentGlobals (mx.core.UIComponentGlobals) package mx.core { import flash.display.*; import flash.geom.*; import mx.managers.*; public class UIComponentGlobals { mx_internal static var callLaterSuspendCount:int = 0; mx_internal static var layoutManager:ILayoutManager; mx_internal static var nextFocusObject:InteractiveObject; mx_internal static var designTime:Boolean = false; mx_internal static var tempMatrix:Matrix = new Matrix(); mx_internal static var callLaterDispatcherCount:int = 0; private static var _catchCallLaterExceptions:Boolean = false; public static function set catchCallLaterExceptions(_arg1:Boolean):void{ _catchCallLaterExceptions = _arg1; } public static function get designMode():Boolean{ return (designTime); } public static function set designMode(_arg1:Boolean):void{ designTime = _arg1; } public static function get catchCallLaterExceptions():Boolean{ return (_catchCallLaterExceptions); } } }//package mx.core
Section 140
//UITextField (mx.core.UITextField) package mx.core { import flash.display.*; import flash.text.*; import mx.managers.*; import mx.automation.*; import flash.events.*; import mx.resources.*; import mx.styles.*; import flash.utils.*; import mx.utils.*; public class UITextField extends FlexTextField implements IAutomationObject, IIMESupport, IFlexModule, IInvalidating, ISimpleStyleClient, IToolTipManagerClient, IUITextField { private var _enabled:Boolean;// = true private var untruncatedText:String; private var cachedEmbeddedFont:EmbeddedFont;// = null private var cachedTextFormat:TextFormat; private var _automationDelegate:IAutomationObject; private var _automationName:String; private var _styleName:Object; private var _document:Object; mx_internal var _toolTip:String; private var _nestLevel:int;// = 0 private var _explicitHeight:Number; private var _moduleFactory:IFlexModuleFactory; private var _initialized:Boolean;// = false private var _nonInheritingStyles:Object; private var _inheritingStyles:Object; private var _includeInLayout:Boolean;// = true private var invalidateDisplayListFlag:Boolean;// = true mx_internal var explicitColor:uint;// = 4294967295 private var _processedDescriptors:Boolean;// = true private var _updateCompletePendingFlag:Boolean;// = false private var explicitHTMLText:String;// = null mx_internal var _parent:DisplayObjectContainer; private var _imeMode:String;// = null private var resourceManager:IResourceManager; mx_internal var styleChangedFlag:Boolean;// = true private var _ignorePadding:Boolean;// = true private var _owner:DisplayObjectContainer; private var _explicitWidth:Number; mx_internal static const TEXT_WIDTH_PADDING:int = 5; mx_internal static const TEXT_HEIGHT_PADDING:int = 4; mx_internal static const VERSION:String = "3.0.0.0"; private static var truncationIndicatorResource:String; private static var _embeddedFontRegistry:IEmbeddedFontRegistry; mx_internal static var debuggingBorders:Boolean = false; public function UITextField(){ resourceManager = ResourceManager.getInstance(); _inheritingStyles = UIComponent.STYLE_UNINITIALIZED; _nonInheritingStyles = UIComponent.STYLE_UNINITIALIZED; super(); super.text = ""; focusRect = false; selectable = false; tabEnabled = false; if (debuggingBorders){ border = true; }; if (!truncationIndicatorResource){ truncationIndicatorResource = resourceManager.getString("core", "truncationIndicator"); }; addEventListener(Event.CHANGE, changeHandler); addEventListener("textFieldStyleChange", textFieldStyleChangeHandler); resourceManager.addEventListener(Event.CHANGE, resourceManager_changeHandler, false, 0, true); } public function set imeMode(_arg1:String):void{ _imeMode = _arg1; } public function get nestLevel():int{ return (_nestLevel); } private function textFieldStyleChangeHandler(_arg1:Event):void{ if (explicitHTMLText != null){ super.htmlText = explicitHTMLText; }; } public function truncateToFit(_arg1:String=null):Boolean{ var _local4:String; if (!_arg1){ _arg1 = truncationIndicatorResource; }; validateNow(); var _local2:String = super.text; untruncatedText = _local2; var _local3:Number = width; if (((!((_local2 == ""))) && (((textWidth + TEXT_WIDTH_PADDING) > (_local3 + 1E-14))))){ var _local5 = _local2; super.text = _local5; _local4 = _local5; _local2.slice(0, Math.floor(((_local3 / (textWidth + TEXT_WIDTH_PADDING)) * _local2.length))); while ((((_local4.length > 1)) && (((textWidth + TEXT_WIDTH_PADDING) > _local3)))) { _local4 = _local4.slice(0, -1); super.text = (_local4 + _arg1); }; return (true); }; return (false); } public function set nestLevel(_arg1:int):void{ if ((((_arg1 > 1)) && (!((_nestLevel == _arg1))))){ _nestLevel = _arg1; StyleProtoChain.initTextField(this); styleChangedFlag = true; validateNow(); }; } public function get minHeight():Number{ return (0); } public function getExplicitOrMeasuredHeight():Number{ return ((isNaN(explicitHeight)) ? measuredHeight : explicitHeight); } public function getStyle(_arg1:String){ if (StyleManager.inheritingStyles[_arg1]){ return ((inheritingStyles) ? inheritingStyles[_arg1] : IStyleClient(parent).getStyle(_arg1)); //unresolved jump }; return ((nonInheritingStyles) ? nonInheritingStyles[_arg1] : IStyleClient(parent).getStyle(_arg1)); } public function get className():String{ var _local1:String = getQualifiedClassName(this); var _local2:int = _local1.indexOf("::"); if (_local2 != -1){ _local1 = _local1.substr((_local2 + 2)); }; return (_local1); } public function setColor(_arg1:uint):void{ explicitColor = _arg1; styleChangedFlag = true; invalidateDisplayListFlag = true; validateNow(); } override public function replaceText(_arg1:int, _arg2:int, _arg3:String):void{ super.replaceText(_arg1, _arg2, _arg3); dispatchEvent(new Event("textReplace")); } private function creatingSystemManager():ISystemManager{ return ((((!((moduleFactory == null))) && ((moduleFactory is ISystemManager)))) ? ISystemManager(moduleFactory) : systemManager); } public function set document(_arg1:Object):void{ _document = _arg1; } public function get automationName():String{ if (_automationName){ return (_automationName); }; if (automationDelegate){ return (automationDelegate.automationName); }; return (""); } public function get explicitMinHeight():Number{ return (NaN); } public function get focusPane():Sprite{ return (null); } public function getTextStyles():TextFormat{ var _local1:TextFormat = new TextFormat(); _local1.align = getStyle("textAlign"); _local1.bold = (getStyle("fontWeight") == "bold"); if (enabled){ if (explicitColor == StyleManager.NOT_A_COLOR){ _local1.color = getStyle("color"); } else { _local1.color = explicitColor; }; } else { _local1.color = getStyle("disabledColor"); }; _local1.font = StringUtil.trimArrayElements(getStyle("fontFamily"), ","); _local1.indent = getStyle("textIndent"); _local1.italic = (getStyle("fontStyle") == "italic"); _local1.kerning = getStyle("kerning"); _local1.leading = getStyle("leading"); _local1.leftMargin = (ignorePadding) ? 0 : getStyle("paddingLeft"); _local1.letterSpacing = getStyle("letterSpacing"); _local1.rightMargin = (ignorePadding) ? 0 : getStyle("paddingRight"); _local1.size = getStyle("fontSize"); _local1.underline = (getStyle("textDecoration") == "underline"); cachedTextFormat = _local1; return (_local1); } override public function set text(_arg1:String):void{ if (!_arg1){ _arg1 = ""; }; if (((!(isHTML)) && ((super.text == _arg1)))){ return; }; super.text = _arg1; explicitHTMLText = null; if (invalidateDisplayListFlag){ validateNow(); }; } public function getExplicitOrMeasuredWidth():Number{ return ((isNaN(explicitWidth)) ? measuredWidth : explicitWidth); } public function get showInAutomationHierarchy():Boolean{ return (true); } public function set automationName(_arg1:String):void{ _automationName = _arg1; } public function get systemManager():ISystemManager{ var _local2:IUIComponent; var _local1:DisplayObject = parent; while (_local1) { _local2 = (_local1 as IUIComponent); if (_local2){ return (_local2.systemManager); }; _local1 = _local1.parent; }; return (null); } public function setStyle(_arg1:String, _arg2):void{ } public function get percentWidth():Number{ return (NaN); } public function get explicitHeight():Number{ return (_explicitHeight); } public function get baselinePosition():Number{ var _local1:TextLineMetrics; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local1 = getLineMetrics(0); return (((height - 4) - _local1.descent)); }; if (!parent){ return (NaN); }; var _local2 = (text == ""); if (_local2){ super.text = "Wj"; }; _local1 = getLineMetrics(0); if (_local2){ super.text = ""; }; return ((2 + _local1.ascent)); } public function set enabled(_arg1:Boolean):void{ mouseEnabled = _arg1; _enabled = _arg1; styleChanged("color"); } public function get minWidth():Number{ return (0); } public function get automationValue():Array{ if (automationDelegate){ return (automationDelegate.automationValue); }; return ([""]); } public function get tweeningProperties():Array{ return (null); } public function get measuredWidth():Number{ validateNow(); if (!stage){ return ((textWidth + TEXT_WIDTH_PADDING)); }; return (((textWidth * transform.concatenatedMatrix.d) + TEXT_WIDTH_PADDING)); } public function set tweeningProperties(_arg1:Array):void{ } public function createAutomationIDPart(_arg1:IAutomationObject):Object{ return (null); } override public function get parent():DisplayObjectContainer{ return ((_parent) ? _parent : super.parent); } public function set updateCompletePendingFlag(_arg1:Boolean):void{ _updateCompletePendingFlag = _arg1; } public function setActualSize(_arg1:Number, _arg2:Number):void{ if (width != _arg1){ width = _arg1; }; if (height != _arg2){ height = _arg2; }; } public function get numAutomationChildren():int{ return (0); } public function set focusPane(_arg1:Sprite):void{ } public function getAutomationChildAt(_arg1:int):IAutomationObject{ return (null); } public function get inheritingStyles():Object{ return (_inheritingStyles); } public function get owner():DisplayObjectContainer{ return ((_owner) ? _owner : parent); } public function parentChanged(_arg1:DisplayObjectContainer):void{ if (!_arg1){ _parent = null; _nestLevel = 0; } else { if ((_arg1 is IStyleClient)){ _parent = _arg1; } else { if ((_arg1 is SystemManager)){ _parent = _arg1; } else { _parent = _arg1.parent; }; }; }; } public function get processedDescriptors():Boolean{ return (_processedDescriptors); } public function get maxWidth():Number{ return (UIComponent.DEFAULT_MAX_WIDTH); } private function getEmbeddedFont(_arg1:String, _arg2:Boolean, _arg3:Boolean):EmbeddedFont{ if (cachedEmbeddedFont){ if ((((cachedEmbeddedFont.fontName == _arg1)) && ((cachedEmbeddedFont.fontStyle == EmbeddedFontRegistry.getFontStyle(_arg2, _arg3))))){ return (cachedEmbeddedFont); }; }; cachedEmbeddedFont = new EmbeddedFont(_arg1, _arg2, _arg3); return (cachedEmbeddedFont); } public function get initialized():Boolean{ return (_initialized); } public function invalidateDisplayList():void{ invalidateDisplayListFlag = true; } public function invalidateProperties():void{ } override public function insertXMLText(_arg1:int, _arg2:int, _arg3:String, _arg4:Boolean=false):void{ super.insertXMLText(_arg1, _arg2, _arg3, _arg4); dispatchEvent(new Event("textInsert")); } public function set includeInLayout(_arg1:Boolean):void{ var _local2:IInvalidating; if (_includeInLayout != _arg1){ _includeInLayout = _arg1; _local2 = (parent as IInvalidating); if (_local2){ _local2.invalidateSize(); _local2.invalidateDisplayList(); }; }; } override public function set htmlText(_arg1:String):void{ if (!_arg1){ _arg1 = ""; }; if (((isHTML) && ((super.htmlText == _arg1)))){ return; }; if (((cachedTextFormat) && ((styleSheet == null)))){ defaultTextFormat = cachedTextFormat; }; super.htmlText = _arg1; explicitHTMLText = _arg1; if (invalidateDisplayListFlag){ validateNow(); }; } public function set showInAutomationHierarchy(_arg1:Boolean):void{ } private function resourceManager_changeHandler(_arg1:Event):void{ truncationIndicatorResource = resourceManager.getString("core", "truncationIndicator"); if (untruncatedText != null){ super.text = untruncatedText; truncateToFit(); }; } public function set measuredMinWidth(_arg1:Number):void{ } public function set explicitHeight(_arg1:Number):void{ _explicitHeight = _arg1; } public function get explicitMinWidth():Number{ return (NaN); } public function set percentWidth(_arg1:Number):void{ } public function get imeMode():String{ return (_imeMode); } public function get moduleFactory():IFlexModuleFactory{ return (_moduleFactory); } public function set systemManager(_arg1:ISystemManager):void{ } public function get explicitMaxWidth():Number{ return (NaN); } public function get document():Object{ return (_document); } public function get updateCompletePendingFlag():Boolean{ return (_updateCompletePendingFlag); } public function replayAutomatableEvent(_arg1:Event):Boolean{ if (automationDelegate){ return (automationDelegate.replayAutomatableEvent(_arg1)); }; return (false); } public function get enabled():Boolean{ return (_enabled); } public function set owner(_arg1:DisplayObjectContainer):void{ _owner = _arg1; } public function get automationTabularData():Object{ return (null); } public function set nonInheritingStyles(_arg1:Object):void{ _nonInheritingStyles = _arg1; } public function get includeInLayout():Boolean{ return (_includeInLayout); } public function get measuredMinWidth():Number{ return (0); } public function set isPopUp(_arg1:Boolean):void{ } public function set automationDelegate(_arg1:Object):void{ _automationDelegate = (_arg1 as IAutomationObject); } public function get measuredHeight():Number{ validateNow(); if (!stage){ return ((textHeight + TEXT_HEIGHT_PADDING)); }; return (((textHeight * transform.concatenatedMatrix.a) + TEXT_HEIGHT_PADDING)); } public function set processedDescriptors(_arg1:Boolean):void{ _processedDescriptors = _arg1; } public function setFocus():void{ systemManager.stage.focus = this; } public function initialize():void{ } public function set percentHeight(_arg1:Number):void{ } public function resolveAutomationIDPart(_arg1:Object):Array{ return ([]); } public function set inheritingStyles(_arg1:Object):void{ _inheritingStyles = _arg1; } public function getUITextFormat():UITextFormat{ validateNow(); var _local1:UITextFormat = new UITextFormat(creatingSystemManager()); _local1.moduleFactory = moduleFactory; _local1.copyFrom(getTextFormat()); _local1.antiAliasType = antiAliasType; _local1.gridFitType = gridFitType; _local1.sharpness = sharpness; _local1.thickness = thickness; return (_local1); } private function changeHandler(_arg1:Event):void{ explicitHTMLText = null; } public function set initialized(_arg1:Boolean):void{ _initialized = _arg1; } public function get nonZeroTextHeight():Number{ var _local1:Number; if (super.text == ""){ super.text = "Wj"; _local1 = textHeight; super.text = ""; return (_local1); }; return (textHeight); } public function owns(_arg1:DisplayObject):Boolean{ return ((_arg1 == this)); } override public function setTextFormat(_arg1:TextFormat, _arg2:int=-1, _arg3:int=-1):void{ if (styleSheet){ return; }; super.setTextFormat(_arg1, _arg2, _arg3); dispatchEvent(new Event("textFormatChange")); } public function get nonInheritingStyles():Object{ return (_nonInheritingStyles); } public function setVisible(_arg1:Boolean, _arg2:Boolean=false):void{ this.visible = _arg1; } public function get maxHeight():Number{ return (UIComponent.DEFAULT_MAX_HEIGHT); } public function get automationDelegate():Object{ return (_automationDelegate); } public function get isPopUp():Boolean{ return (false); } public function set ignorePadding(_arg1:Boolean):void{ _ignorePadding = _arg1; styleChanged(null); } public function set styleName(_arg1:Object):void{ if (_styleName === _arg1){ return; }; _styleName = _arg1; if (parent){ StyleProtoChain.initTextField(this); styleChanged("styleName"); }; } public function styleChanged(_arg1:String):void{ styleChangedFlag = true; if (!invalidateDisplayListFlag){ invalidateDisplayListFlag = true; if (("callLater" in parent)){ Object(parent).callLater(validateNow); }; }; } public function get percentHeight():Number{ return (NaN); } private function get isHTML():Boolean{ return (!((explicitHTMLText == null))); } public function get explicitMaxHeight():Number{ return (NaN); } public function get styleName():Object{ return (_styleName); } public function set explicitWidth(_arg1:Number):void{ _explicitWidth = _arg1; } public function validateNow():void{ var _local1:TextFormat; var _local2:EmbeddedFont; var _local3:IFlexModuleFactory; var _local4:ISystemManager; if (!parent){ return; }; if (((!(isNaN(explicitWidth))) && (!((super.width == explicitWidth))))){ super.width = ((explicitWidth)>4) ? explicitWidth : 4; }; if (((!(isNaN(explicitHeight))) && (!((super.height == explicitHeight))))){ super.height = explicitHeight; }; if (styleChangedFlag){ _local1 = getTextStyles(); if (_local1.font){ _local2 = getEmbeddedFont(_local1.font, _local1.bold, _local1.italic); _local3 = embeddedFontRegistry.getAssociatedModuleFactory(_local2, moduleFactory); if (_local3 != null){ embedFonts = true; } else { _local4 = creatingSystemManager(); embedFonts = ((!((_local4 == null))) && (_local4.isFontFaceEmbedded(_local1))); }; } else { embedFonts = getStyle("embedFonts"); }; if (getStyle("fontAntiAliasType") != undefined){ antiAliasType = getStyle("fontAntiAliasType"); gridFitType = getStyle("fontGridFitType"); sharpness = getStyle("fontSharpness"); thickness = getStyle("fontThickness"); }; if (!styleSheet){ super.setTextFormat(_local1); defaultTextFormat = _local1; }; dispatchEvent(new Event("textFieldStyleChange")); }; styleChangedFlag = false; invalidateDisplayListFlag = false; } public function set toolTip(_arg1:String):void{ var _local2:String = _toolTip; _toolTip = _arg1; ToolTipManager.registerToolTip(this, _local2, _arg1); } public function move(_arg1:Number, _arg2:Number):void{ if (this.x != _arg1){ this.x = _arg1; }; if (this.y != _arg2){ this.y = _arg2; }; } public function get toolTip():String{ return (_toolTip); } public function get ignorePadding():Boolean{ return (_ignorePadding); } public function get explicitWidth():Number{ return (_explicitWidth); } public function invalidateSize():void{ invalidateDisplayListFlag = true; } public function set measuredMinHeight(_arg1:Number):void{ } public function get measuredMinHeight():Number{ return (0); } public function set moduleFactory(_arg1:IFlexModuleFactory):void{ _moduleFactory = _arg1; } private static function get embeddedFontRegistry():IEmbeddedFontRegistry{ if (!_embeddedFontRegistry){ _embeddedFontRegistry = IEmbeddedFontRegistry(Singleton.getInstance("mx.core::IEmbeddedFontRegistry")); }; return (_embeddedFontRegistry); } } }//package mx.core
Section 141
//UITextFormat (mx.core.UITextFormat) package mx.core { import flash.text.*; import mx.managers.*; public class UITextFormat extends TextFormat { private var systemManager:ISystemManager; public var sharpness:Number; public var gridFitType:String; public var antiAliasType:String; public var thickness:Number; private var cachedEmbeddedFont:EmbeddedFont;// = null private var _moduleFactory:IFlexModuleFactory; mx_internal static const VERSION:String = "3.0.0.0"; private static var _embeddedFontRegistry:IEmbeddedFontRegistry; private static var _textFieldFactory:ITextFieldFactory; public function UITextFormat(_arg1:ISystemManager, _arg2:String=null, _arg3:Object=null, _arg4:Object=null, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:String=null, _arg9:String=null, _arg10:String=null, _arg11:Object=null, _arg12:Object=null, _arg13:Object=null, _arg14:Object=null){ this.systemManager = _arg1; super(_arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12, _arg13, _arg14); } public function set moduleFactory(_arg1:IFlexModuleFactory):void{ _moduleFactory = _arg1; } mx_internal function copyFrom(_arg1:TextFormat):void{ font = _arg1.font; size = _arg1.size; color = _arg1.color; bold = _arg1.bold; italic = _arg1.italic; underline = _arg1.underline; url = _arg1.url; target = _arg1.target; align = _arg1.align; leftMargin = _arg1.leftMargin; rightMargin = _arg1.rightMargin; indent = _arg1.indent; leading = _arg1.leading; } private function getEmbeddedFont(_arg1:String, _arg2:Boolean, _arg3:Boolean):EmbeddedFont{ if (cachedEmbeddedFont){ if ((((cachedEmbeddedFont.fontName == _arg1)) && ((cachedEmbeddedFont.fontStyle == EmbeddedFontRegistry.getFontStyle(_arg2, _arg3))))){ return (cachedEmbeddedFont); }; }; cachedEmbeddedFont = new EmbeddedFont(_arg1, _arg2, _arg3); return (cachedEmbeddedFont); } public function measureText(_arg1:String, _arg2:Boolean=true):TextLineMetrics{ return (measure(_arg1, false, _arg2)); } private function measure(_arg1:String, _arg2:Boolean, _arg3:Boolean):TextLineMetrics{ if (!_arg1){ _arg1 = ""; }; var _local4:Boolean; var _local5:IFlexModuleFactory = embeddedFontRegistry.getAssociatedModuleFactory(getEmbeddedFont(font, bold, italic), moduleFactory); _local4 = !((_local5 == null)); if (_local5 == null){ _local5 = systemManager; }; var _local6:TextField; _local6 = TextField(textFieldFactory.createTextField(_local5)); if (_arg2){ _local6.htmlText = ""; } else { _local6.text = ""; }; _local6.defaultTextFormat = this; if (font){ _local6.embedFonts = ((_local4) || (((!((systemManager == null))) && (systemManager.isFontFaceEmbedded(this))))); } else { _local6.embedFonts = false; }; _local6.antiAliasType = antiAliasType; _local6.gridFitType = gridFitType; _local6.sharpness = sharpness; _local6.thickness = thickness; if (_arg2){ _local6.htmlText = _arg1; } else { _local6.text = _arg1; }; var _local7:TextLineMetrics = _local6.getLineMetrics(0); if (_arg3){ _local7.width = Math.ceil(_local7.width); _local7.height = Math.ceil(_local7.height); }; return (_local7); } public function measureHTMLText(_arg1:String, _arg2:Boolean=true):TextLineMetrics{ return (measure(_arg1, true, _arg2)); } public function get moduleFactory():IFlexModuleFactory{ return (_moduleFactory); } private static function get embeddedFontRegistry():IEmbeddedFontRegistry{ if (!_embeddedFontRegistry){ _embeddedFontRegistry = IEmbeddedFontRegistry(Singleton.getInstance("mx.core::IEmbeddedFontRegistry")); }; return (_embeddedFontRegistry); } private static function get textFieldFactory():ITextFieldFactory{ if (!_textFieldFactory){ _textFieldFactory = ITextFieldFactory(Singleton.getInstance("mx.core::ITextFieldFactory")); }; return (_textFieldFactory); } } }//package mx.core
Section 142
//AddRemoveEffectTargetFilter (mx.effects.effectClasses.AddRemoveEffectTargetFilter) package mx.effects.effectClasses { import mx.effects.*; public class AddRemoveEffectTargetFilter extends EffectTargetFilter { public var add:Boolean;// = true mx_internal static const VERSION:String = "3.0.0.0"; public function AddRemoveEffectTargetFilter(){ filterProperties = ["parent"]; } override protected function defaultFilterFunction(_arg1:Array, _arg2:Object):Boolean{ var _local5:PropertyChanges; var _local3:int = _arg1.length; var _local4:int; while (_local4 < _local3) { _local5 = _arg1[_local4]; if (_local5.target == _arg2){ if (add){ return ((((_local5.start["parent"] == null)) && (!((_local5.end["parent"] == null))))); }; return (((!((_local5.start["parent"] == null))) && ((_local5.end["parent"] == null)))); }; _local4++; }; return (false); } } }//package mx.effects.effectClasses
Section 143
//BlurInstance (mx.effects.effectClasses.BlurInstance) package mx.effects.effectClasses { import flash.events.*; import flash.filters.*; public class BlurInstance extends TweenEffectInstance { public var blurXTo:Number; public var blurYTo:Number; public var blurXFrom:Number; public var blurYFrom:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function BlurInstance(_arg1:Object){ super(_arg1); } override public function initEffect(_arg1:Event):void{ super.initEffect(_arg1); } override public function onTweenEnd(_arg1:Object):void{ setBlurFilter(_arg1[0], _arg1[1]); super.onTweenEnd(_arg1); } private function setBlurFilter(_arg1:Number, _arg2:Number):void{ var _local3:Array = target.filters; var _local4:int = _local3.length; var _local5:int; while (_local5 < _local4) { if ((_local3[_local5] is BlurFilter)){ _local3.splice(_local5, 1); }; _local5++; }; if (((_arg1) || (_arg2))){ _local3.push(new BlurFilter(_arg1, _arg2)); }; target.filters = _local3; } override public function play():void{ super.play(); if (isNaN(blurXFrom)){ blurXFrom = 4; }; if (isNaN(blurXTo)){ blurXTo = 0; }; if (isNaN(blurYFrom)){ blurYFrom = 4; }; if (isNaN(blurYTo)){ blurYTo = 0; }; tween = createTween(this, [blurXFrom, blurYFrom], [blurXTo, blurYTo], duration); } override public function onTweenUpdate(_arg1:Object):void{ setBlurFilter(_arg1[0], _arg1[1]); } } }//package mx.effects.effectClasses
Section 144
//FadeInstance (mx.effects.effectClasses.FadeInstance) package mx.effects.effectClasses { import mx.core.*; import flash.events.*; import mx.events.*; public class FadeInstance extends TweenEffectInstance { public var alphaFrom:Number; private var restoreAlpha:Boolean; public var alphaTo:Number; private var origAlpha:Number;// = NAN mx_internal static const VERSION:String = "3.0.0.0"; public function FadeInstance(_arg1:Object){ super(_arg1); } override public function initEffect(_arg1:Event):void{ super.initEffect(_arg1); switch (_arg1.type){ case "childrenCreationComplete": case FlexEvent.CREATION_COMPLETE: case FlexEvent.SHOW: case Event.ADDED: case "resizeEnd": if (isNaN(alphaFrom)){ alphaFrom = 0; }; if (isNaN(alphaTo)){ alphaTo = target.alpha; }; break; case FlexEvent.HIDE: case Event.REMOVED: case "resizeStart": restoreAlpha = true; if (isNaN(alphaFrom)){ alphaFrom = target.alpha; }; if (isNaN(alphaTo)){ alphaTo = 0; }; break; }; } override public function onTweenEnd(_arg1:Object):void{ super.onTweenEnd(_arg1); if (((mx_internal::hideOnEffectEnd) || (restoreAlpha))){ target.alpha = origAlpha; }; } override public function play():void{ super.play(); origAlpha = target.alpha; var _local1:PropertyChanges = propertyChanges; if (((isNaN(alphaFrom)) && (isNaN(alphaTo)))){ if (((_local1) && (!((_local1.end["alpha"] === undefined))))){ alphaFrom = origAlpha; alphaTo = _local1.end["alpha"]; } else { if (((_local1) && (!((_local1.end["visible"] === undefined))))){ alphaFrom = (_local1.start["visible"]) ? origAlpha : 0; alphaTo = (_local1.end["visible"]) ? origAlpha : 0; } else { alphaFrom = 0; alphaTo = origAlpha; }; }; } else { if (isNaN(alphaFrom)){ alphaFrom = ((alphaTo)==0) ? origAlpha : 0; } else { if (isNaN(alphaTo)){ if (((_local1) && (!((_local1.end["alpha"] === undefined))))){ alphaTo = _local1.end["alpha"]; } else { alphaTo = ((alphaFrom)==0) ? origAlpha : 0; }; }; }; }; tween = createTween(this, alphaFrom, alphaTo, duration); target.alpha = tween.mx_internal::getCurrentValue(0); } override public function onTweenUpdate(_arg1:Object):void{ target.alpha = _arg1; } } }//package mx.effects.effectClasses
Section 145
//HideShowEffectTargetFilter (mx.effects.effectClasses.HideShowEffectTargetFilter) package mx.effects.effectClasses { import mx.effects.*; public class HideShowEffectTargetFilter extends EffectTargetFilter { public var show:Boolean;// = true mx_internal static const VERSION:String = "3.0.0.0"; public function HideShowEffectTargetFilter(){ filterProperties = ["visible"]; } override protected function defaultFilterFunction(_arg1:Array, _arg2:Object):Boolean{ var _local5:PropertyChanges; var _local3:int = _arg1.length; var _local4:int; while (_local4 < _local3) { _local5 = _arg1[_local4]; if (_local5.target == _arg2){ return ((_local5.end["visible"] == show)); }; _local4++; }; return (false); } } }//package mx.effects.effectClasses
Section 146
//MoveInstance (mx.effects.effectClasses.MoveInstance) package mx.effects.effectClasses { import mx.core.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.effects.*; public class MoveInstance extends TweenEffectInstance { public var xFrom:Number; public var yFrom:Number; private var left; private var forceClipping:Boolean;// = false public var xTo:Number; private var top; private var horizontalCenter; public var yTo:Number; private var oldWidth:Number; private var right; private var bottom; private var oldHeight:Number; public var xBy:Number; public var yBy:Number; private var checkClipping:Boolean;// = true private var verticalCenter; mx_internal static const VERSION:String = "3.0.0.0"; public function MoveInstance(_arg1:Object){ super(_arg1); } override public function initEffect(_arg1:Event):void{ super.initEffect(_arg1); if ((((_arg1 is MoveEvent)) && ((_arg1.type == MoveEvent.MOVE)))){ if (((((((((((isNaN(xFrom)) && (isNaN(xTo)))) && (isNaN(xBy)))) && (isNaN(yFrom)))) && (isNaN(yTo)))) && (isNaN(yBy)))){ xFrom = MoveEvent(_arg1).oldX; xTo = target.x; yFrom = MoveEvent(_arg1).oldY; yTo = target.y; }; }; } override public function play():void{ var _local2:EdgeMetrics; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; super.play(); var _local9 = EffectManager; _local9.mx_internal::startBitmapEffect(IUIComponent(target)); if (isNaN(xFrom)){ xFrom = (((!(isNaN(xTo))) && (!(isNaN(xBy))))) ? (xTo - xBy) : target.x; }; if (isNaN(xTo)){ if (((((isNaN(xBy)) && (propertyChanges))) && (!((propertyChanges.end["x"] === undefined))))){ xTo = propertyChanges.end["x"]; } else { xTo = (isNaN(xBy)) ? target.x : (xFrom + xBy); }; }; if (isNaN(yFrom)){ yFrom = (((!(isNaN(yTo))) && (!(isNaN(yBy))))) ? (yTo - yBy) : target.y; }; if (isNaN(yTo)){ if (((((isNaN(yBy)) && (propertyChanges))) && (!((propertyChanges.end["y"] === undefined))))){ yTo = propertyChanges.end["y"]; } else { yTo = (isNaN(yBy)) ? target.y : (yFrom + yBy); }; }; tween = createTween(this, [xFrom, yFrom], [xTo, yTo], duration); var _local1:Container = (target.parent as Container); if (_local1){ _local2 = _local1.viewMetrics; _local3 = _local2.left; _local4 = (_local1.width - _local2.right); _local5 = _local2.top; _local6 = (_local1.height - _local2.bottom); if ((((((((((((((((xFrom < _local3)) || ((xTo < _local3)))) || (((xFrom + target.width) > _local4)))) || (((xTo + target.width) > _local4)))) || ((yFrom < _local5)))) || ((yTo < _local5)))) || (((yFrom + target.height) > _local6)))) || (((yTo + target.height) > _local6)))){ forceClipping = true; _local1.mx_internal::forceClipping = true; }; }; mx_internal::applyTweenStartValues(); if ((target is IStyleClient)){ left = target.getStyle("left"); if (left != undefined){ target.setStyle("left", undefined); }; right = target.getStyle("right"); if (right != undefined){ target.setStyle("right", undefined); }; top = target.getStyle("top"); if (top != undefined){ target.setStyle("top", undefined); }; bottom = target.getStyle("bottom"); if (bottom != undefined){ target.setStyle("bottom", undefined); }; horizontalCenter = target.getStyle("horizontalCenter"); if (horizontalCenter != undefined){ target.setStyle("horizontalCenter", undefined); }; verticalCenter = target.getStyle("verticalCenter"); if (verticalCenter != undefined){ target.setStyle("verticalCenter", undefined); }; if (((!((left == undefined))) && (!((right == undefined))))){ _local7 = target.width; oldWidth = target.explicitWidth; target.width = _local7; }; if (((!((top == undefined))) && (!((bottom == undefined))))){ _local8 = target.height; oldHeight = target.explicitHeight; target.height = _local8; }; }; } override public function onTweenUpdate(_arg1:Object):void{ var _local2:Container; var _local3:EdgeMetrics; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; EffectManager.suspendEventHandling(); if (((!(forceClipping)) && (checkClipping))){ _local2 = (target.parent as Container); if (_local2){ _local3 = _local2.viewMetrics; _local4 = _local3.left; _local5 = (_local2.width - _local3.right); _local6 = _local3.top; _local7 = (_local2.height - _local3.bottom); if ((((((((_arg1[0] < _local4)) || (((_arg1[0] + target.width) > _local5)))) || ((_arg1[1] < _local6)))) || (((_arg1[1] + target.height) > _local7)))){ forceClipping = true; _local2.mx_internal::forceClipping = true; }; }; }; target.move(_arg1[0], _arg1[1]); EffectManager.resumeEventHandling(); } override public function onTweenEnd(_arg1:Object):void{ var _local2:Container; var _local3 = EffectManager; _local3.mx_internal::endBitmapEffect(IUIComponent(target)); if (left != undefined){ target.setStyle("left", left); }; if (right != undefined){ target.setStyle("right", right); }; if (top != undefined){ target.setStyle("top", top); }; if (bottom != undefined){ target.setStyle("bottom", bottom); }; if (horizontalCenter != undefined){ target.setStyle("horizontalCenter", horizontalCenter); }; if (verticalCenter != undefined){ target.setStyle("verticalCenter", verticalCenter); }; if (((!((left == undefined))) && (!((right == undefined))))){ target.explicitWidth = oldWidth; }; if (((!((top == undefined))) && (!((bottom == undefined))))){ target.explicitHeight = oldHeight; }; if (forceClipping){ _local2 = (target.parent as Container); if (_local2){ forceClipping = false; _local2.mx_internal::forceClipping = false; }; }; checkClipping = false; super.onTweenEnd(_arg1); } } }//package mx.effects.effectClasses
Section 147
//PropertyChanges (mx.effects.effectClasses.PropertyChanges) package mx.effects.effectClasses { public class PropertyChanges { public var target:Object; public var start:Object; public var end:Object; mx_internal static const VERSION:String = "3.0.0.0"; public function PropertyChanges(_arg1:Object){ end = {}; start = {}; super(); this.target = _arg1; } } }//package mx.effects.effectClasses
Section 148
//TweenEffectInstance (mx.effects.effectClasses.TweenEffectInstance) package mx.effects.effectClasses { import mx.core.*; import mx.events.*; import mx.effects.*; public class TweenEffectInstance extends EffectInstance { private var _seekTime:Number;// = 0 public var easingFunction:Function; public var tween:Tween; mx_internal var needToLayout:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; public function TweenEffectInstance(_arg1:Object){ super(_arg1); } override public function stop():void{ super.stop(); if (tween){ tween.stop(); }; } mx_internal function applyTweenStartValues():void{ if (duration > 0){ onTweenUpdate(tween.getCurrentValue(0)); }; } override public function get playheadTime():Number{ if (tween){ return ((tween.playheadTime + super.playheadTime)); }; return (0); } protected function createTween(_arg1:Object, _arg2:Object, _arg3:Object, _arg4:Number=-1, _arg5:Number=-1):Tween{ var _local6:Tween = new Tween(_arg1, _arg2, _arg3, _arg4, _arg5); _local6.addEventListener(TweenEvent.TWEEN_START, tweenEventHandler); _local6.addEventListener(TweenEvent.TWEEN_UPDATE, tweenEventHandler); _local6.addEventListener(TweenEvent.TWEEN_END, tweenEventHandler); if (easingFunction != null){ _local6.easingFunction = easingFunction; }; if (_seekTime > 0){ _local6.seek(_seekTime); }; _local6.playReversed = playReversed; return (_local6); } private function tweenEventHandler(_arg1:TweenEvent):void{ dispatchEvent(_arg1); } override public function end():void{ stopRepeat = true; if (delayTimer){ delayTimer.reset(); }; if (tween){ tween.endTween(); tween = null; }; } override public function reverse():void{ super.reverse(); if (tween){ tween.reverse(); }; super.playReversed = !(playReversed); } override mx_internal function set playReversed(_arg1:Boolean):void{ super.playReversed = _arg1; if (tween){ tween.playReversed = _arg1; }; } override public function resume():void{ super.resume(); if (tween){ tween.resume(); }; } public function onTweenEnd(_arg1:Object):void{ onTweenUpdate(_arg1); tween = null; if (needToLayout){ UIComponentGlobals.layoutManager.validateNow(); }; finishRepeat(); } public function onTweenUpdate(_arg1:Object):void{ } override public function pause():void{ super.pause(); if (tween){ tween.pause(); }; } public function seek(_arg1:Number):void{ if (tween){ tween.seek(_arg1); } else { _seekTime = _arg1; }; } } }//package mx.effects.effectClasses
Section 149
//ZoomInstance (mx.effects.effectClasses.ZoomInstance) package mx.effects.effectClasses { import mx.core.*; import flash.events.*; import mx.events.*; import mx.effects.*; public class ZoomInstance extends TweenEffectInstance { private var newY:Number; public var originY:Number; private var origX:Number; private var origY:Number; public var originX:Number; private var origPercentHeight:Number; public var zoomWidthFrom:Number; public var zoomWidthTo:Number; private var newX:Number; public var captureRollEvents:Boolean; private var origPercentWidth:Number; public var zoomHeightFrom:Number; private var origScaleX:Number; public var zoomHeightTo:Number; private var origScaleY:Number; private var scaledOriginX:Number; private var scaledOriginY:Number; private var show:Boolean;// = true private var _mouseHasMoved:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; public function ZoomInstance(_arg1:Object){ super(_arg1); } override public function finishEffect():void{ if (captureRollEvents){ target.removeEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false); target.removeEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false); target.removeEventListener(MouseEvent.MOUSE_MOVE, mouseEventHandler, false); }; super.finishEffect(); } private function getScaleFromWidth(_arg1:Number):Number{ return ((_arg1 / (target.width / Math.abs(target.scaleX)))); } override public function initEffect(_arg1:Event):void{ super.initEffect(_arg1); if ((((_arg1.type == FlexEvent.HIDE)) || ((_arg1.type == Event.REMOVED)))){ show = false; }; } private function getScaleFromHeight(_arg1:Number):Number{ return ((_arg1 / (target.height / Math.abs(target.scaleY)))); } private function applyPropertyChanges():void{ var _local2:Boolean; var _local3:Boolean; var _local1:PropertyChanges = propertyChanges; if (_local1){ _local2 = false; _local3 = false; if (_local1.end["scaleX"] !== undefined){ zoomWidthFrom = (isNaN(zoomWidthFrom)) ? target.scaleX : zoomWidthFrom; zoomWidthTo = (isNaN(zoomWidthTo)) ? _local1.end["scaleX"] : zoomWidthTo; _local3 = true; }; if (_local1.end["scaleY"] !== undefined){ zoomHeightFrom = (isNaN(zoomHeightFrom)) ? target.scaleY : zoomHeightFrom; zoomHeightTo = (isNaN(zoomHeightTo)) ? _local1.end["scaleY"] : zoomHeightTo; _local3 = true; }; if (_local3){ return; }; if (_local1.end["width"] !== undefined){ zoomWidthFrom = (isNaN(zoomWidthFrom)) ? getScaleFromWidth(target.width) : zoomWidthFrom; zoomWidthTo = (isNaN(zoomWidthTo)) ? getScaleFromWidth(_local1.end["width"]) : zoomWidthTo; _local2 = true; }; if (_local1.end["height"] !== undefined){ zoomHeightFrom = (isNaN(zoomHeightFrom)) ? getScaleFromHeight(target.height) : zoomHeightFrom; zoomHeightTo = (isNaN(zoomHeightTo)) ? getScaleFromHeight(_local1.end["height"]) : zoomHeightTo; _local2 = true; }; if (_local2){ return; }; if (_local1.end["visible"] !== undefined){ show = _local1.end["visible"]; }; }; } private function mouseEventHandler(_arg1:MouseEvent):void{ if (_arg1.type == MouseEvent.MOUSE_MOVE){ _mouseHasMoved = true; } else { if ((((_arg1.type == MouseEvent.ROLL_OUT)) || ((_arg1.type == MouseEvent.ROLL_OVER)))){ if (!_mouseHasMoved){ _arg1.stopImmediatePropagation(); }; _mouseHasMoved = false; }; }; } override public function play():void{ super.play(); applyPropertyChanges(); if (((((((isNaN(zoomWidthFrom)) && (isNaN(zoomWidthTo)))) && (isNaN(zoomHeightFrom)))) && (isNaN(zoomHeightTo)))){ if (show){ zoomWidthFrom = (zoomHeightFrom = 0); zoomWidthTo = target.scaleX; zoomHeightTo = target.scaleY; } else { zoomWidthFrom = target.scaleX; zoomHeightFrom = target.scaleY; zoomWidthTo = (zoomHeightTo = 0); }; } else { if (((isNaN(zoomWidthFrom)) && (isNaN(zoomWidthTo)))){ zoomWidthFrom = (zoomWidthTo = target.scaleX); } else { if (((isNaN(zoomHeightFrom)) && (isNaN(zoomHeightTo)))){ zoomHeightFrom = (zoomHeightTo = target.scaleY); }; }; if (isNaN(zoomWidthFrom)){ zoomWidthFrom = target.scaleX; } else { if (isNaN(zoomWidthTo)){ zoomWidthTo = ((zoomWidthFrom)==1) ? 0 : 1; }; }; if (isNaN(zoomHeightFrom)){ zoomHeightFrom = target.scaleY; } else { if (isNaN(zoomHeightTo)){ zoomHeightTo = ((zoomHeightFrom)==1) ? 0 : 1; }; }; }; if (zoomWidthFrom < 0.01){ zoomWidthFrom = 0.01; }; if (zoomWidthTo < 0.01){ zoomWidthTo = 0.01; }; if (zoomHeightFrom < 0.01){ zoomHeightFrom = 0.01; }; if (zoomHeightTo < 0.01){ zoomHeightTo = 0.01; }; origScaleX = target.scaleX; origScaleY = target.scaleY; newX = (origX = target.x); newY = (origY = target.y); if (isNaN(originX)){ scaledOriginX = (target.width / 2); } else { scaledOriginX = (originX * origScaleX); }; if (isNaN(originY)){ scaledOriginY = (target.height / 2); } else { scaledOriginY = (originY * origScaleY); }; scaledOriginX = Number(scaledOriginX.toFixed(1)); scaledOriginY = Number(scaledOriginY.toFixed(1)); origPercentWidth = target.percentWidth; if (!isNaN(origPercentWidth)){ target.width = target.width; }; origPercentHeight = target.percentHeight; if (!isNaN(origPercentHeight)){ target.height = target.height; }; tween = createTween(this, [zoomWidthFrom, zoomHeightFrom], [zoomWidthTo, zoomHeightTo], duration); if (captureRollEvents){ target.addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false); target.addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false); target.addEventListener(MouseEvent.MOUSE_MOVE, mouseEventHandler, false); }; } override public function onTweenEnd(_arg1:Object):void{ var _local2:Number; var _local3:Number; if (!isNaN(origPercentWidth)){ _local2 = target.width; target.percentWidth = origPercentWidth; if (((target.parent) && ((target.parent.autoLayout == false)))){ target.mx_internal::_width = _local2; }; }; if (!isNaN(origPercentHeight)){ _local3 = target.height; target.percentHeight = origPercentHeight; if (((target.parent) && ((target.parent.autoLayout == false)))){ target.mx_internal::_height = _local3; }; }; super.onTweenEnd(_arg1); if (mx_internal::hideOnEffectEnd){ EffectManager.suspendEventHandling(); target.scaleX = origScaleX; target.scaleY = origScaleY; target.move(origX, origY); EffectManager.resumeEventHandling(); }; } override public function onTweenUpdate(_arg1:Object):void{ EffectManager.suspendEventHandling(); if (Math.abs((newX - target.x)) > 0.1){ origX = (origX + (Number(target.x.toFixed(1)) - newX)); }; if (Math.abs((newY - target.y)) > 0.1){ origY = (origY + (Number(target.y.toFixed(1)) - newY)); }; target.scaleX = _arg1[0]; target.scaleY = _arg1[1]; var _local2:Number = (_arg1[0] / origScaleX); var _local3:Number = (_arg1[1] / origScaleY); var _local4:Number = (scaledOriginX * _local2); var _local5:Number = (scaledOriginY * _local3); newX = ((scaledOriginX - _local4) + origX); newY = ((scaledOriginY - _local5) + origY); newX = Number(newX.toFixed(1)); newY = Number(newY.toFixed(1)); target.move(newX, newY); tween.mx_internal::needToLayout = true; EffectManager.resumeEventHandling(); } } }//package mx.effects.effectClasses
Section 150
//Blur (mx.effects.Blur) package mx.effects { import mx.effects.effectClasses.*; public class Blur extends TweenEffect { public var blurXTo:Number; public var blurXFrom:Number; public var blurYFrom:Number; public var blurYTo:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var AFFECTED_PROPERTIES:Array = ["filters"]; public function Blur(_arg1:Object=null){ super(_arg1); instanceClass = BlurInstance; } override public function getAffectedProperties():Array{ return (AFFECTED_PROPERTIES); } override protected function initInstance(_arg1:IEffectInstance):void{ var _local2:BlurInstance; super.initInstance(_arg1); _local2 = BlurInstance(_arg1); _local2.blurXFrom = blurXFrom; _local2.blurXTo = blurXTo; _local2.blurYFrom = blurYFrom; _local2.blurYTo = blurYTo; } } }//package mx.effects
Section 151
//Effect (mx.effects.Effect) package mx.effects { import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.effects.effectClasses.*; import flash.utils.*; public class Effect extends EventDispatcher implements IEffect { private var _perElementOffset:Number;// = 0 private var _hideFocusRing:Boolean;// = false private var _customFilter:EffectTargetFilter; public var repeatCount:int;// = 1 public var suspendBackgroundProcessing:Boolean;// = false public var startDelay:int;// = 0 private var _relevantProperties:Array; private var _callValidateNow:Boolean;// = false mx_internal var applyActualDimensions:Boolean;// = true private var _filter:String; private var _triggerEvent:Event; private var _effectTargetHost:IEffectTargetHost; mx_internal var durationExplicitlySet:Boolean;// = false public var repeatDelay:int;// = 0 private var _targets:Array; mx_internal var propertyChangesArray:Array; mx_internal var filterObject:EffectTargetFilter; protected var endValuesCaptured:Boolean;// = false public var instanceClass:Class; private var _duration:Number;// = 500 private var isPaused:Boolean;// = false private var _relevantStyles:Array; private var _instances:Array; mx_internal static const VERSION:String = "3.0.0.0"; public function Effect(_arg1:Object=null){ _instances = []; instanceClass = IEffectInstance; _relevantStyles = []; _targets = []; super(); this.target = _arg1; } public function get targets():Array{ return (_targets); } public function set targets(_arg1:Array):void{ var _local2:int = _arg1.length; var _local3:int = (_local2 - 1); while (_local3 > 0) { if (_arg1[_local3] == null){ _arg1.splice(_local3, 1); }; _local3--; }; _targets = _arg1; } public function set hideFocusRing(_arg1:Boolean):void{ _hideFocusRing = _arg1; } public function get hideFocusRing():Boolean{ return (_hideFocusRing); } public function stop():void{ var _local3:IEffectInstance; var _local1:int = _instances.length; var _local2:int = _local1; while (_local2 >= 0) { _local3 = IEffectInstance(_instances[_local2]); if (_local3){ _local3.stop(); }; _local2--; }; } public function captureStartValues():void{ var _local1:int; var _local2:int; if (targets.length > 0){ propertyChangesArray = []; _callValidateNow = true; _local1 = targets.length; _local2 = 0; while (_local2 < _local1) { propertyChangesArray.push(new PropertyChanges(targets[_local2])); _local2++; }; propertyChangesArray = captureValues(propertyChangesArray, true); }; endValuesCaptured = false; } mx_internal function captureValues(_arg1:Array, _arg2:Boolean):Array{ var _local4:Object; var _local5:Object; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local3:Array = (filterObject) ? mergeArrays(relevantProperties, filterObject.filterProperties) : relevantProperties; if (((_local3) && ((_local3.length > 0)))){ _local6 = _arg1.length; _local7 = 0; while (_local7 < _local6) { _local5 = _arg1[_local7].target; _local4 = (_arg2) ? _arg1[_local7].start : _arg1[_local7].end; _local8 = _local3.length; _local9 = 0; while (_local9 < _local8) { _local4[_local3[_local9]] = getValueFromTarget(_local5, _local3[_local9]); _local9++; }; _local7++; }; }; var _local10:Array = (filterObject) ? mergeArrays(relevantStyles, filterObject.filterStyles) : relevantStyles; if (((_local10) && ((_local10.length > 0)))){ _local6 = _arg1.length; _local7 = 0; while (_local7 < _local6) { _local5 = _arg1[_local7].target; _local4 = (_arg2) ? _arg1[_local7].start : _arg1[_local7].end; _local8 = _local10.length; _local9 = 0; while (_local9 < _local8) { _local4[_local10[_local9]] = _local5.getStyle(_local10[_local9]); _local9++; }; _local7++; }; }; return (_arg1); } protected function getValueFromTarget(_arg1:Object, _arg2:String){ if ((_arg2 in _arg1)){ return (_arg1[_arg2]); }; return (undefined); } public function set target(_arg1:Object):void{ _targets.splice(0); if (_arg1){ _targets[0] = _arg1; }; } public function get className():String{ var _local1:String = getQualifiedClassName(this); var _local2:int = _local1.indexOf("::"); if (_local2 != -1){ _local1 = _local1.substr((_local2 + 2)); }; return (_local1); } public function set perElementOffset(_arg1:Number):void{ _perElementOffset = _arg1; } public function resume():void{ var _local1:int; var _local2:int; if (((isPlaying) && (isPaused))){ isPaused = false; _local1 = _instances.length; _local2 = 0; while (_local2 < _local1) { IEffectInstance(_instances[_local2]).resume(); _local2++; }; }; } public function set duration(_arg1:Number):void{ durationExplicitlySet = true; _duration = _arg1; } public function play(_arg1:Array=null, _arg2:Boolean=false):Array{ var _local6:IEffectInstance; if ((((_arg1 == null)) && (!((propertyChangesArray == null))))){ if (_callValidateNow){ LayoutManager.getInstance().validateNow(); }; if (!endValuesCaptured){ propertyChangesArray = captureValues(propertyChangesArray, false); }; propertyChangesArray = stripUnchangedValues(propertyChangesArray); applyStartValues(propertyChangesArray, this.targets); }; var _local3:Array = createInstances(_arg1); var _local4:int = _local3.length; var _local5:int; while (_local5 < _local4) { _local6 = IEffectInstance(_local3[_local5]); Object(_local6).playReversed = _arg2; _local6.startEffect(); _local5++; }; return (_local3); } public function captureEndValues():void{ propertyChangesArray = captureValues(propertyChangesArray, false); endValuesCaptured = true; } protected function filterInstance(_arg1:Array, _arg2:Object):Boolean{ if (filterObject){ return (filterObject.filterInstance(_arg1, effectTargetHost, _arg2)); }; return (true); } public function get customFilter():EffectTargetFilter{ return (_customFilter); } public function get effectTargetHost():IEffectTargetHost{ return (_effectTargetHost); } public function set relevantProperties(_arg1:Array):void{ _relevantProperties = _arg1; } public function captureMoreStartValues(_arg1:Array):void{ var _local2:Array; var _local3:int; if (_arg1.length > 0){ _local2 = []; _local3 = 0; while (_local3 < _arg1.length) { _local2.push(new PropertyChanges(_arg1[_local3])); _local3++; }; _local2 = captureValues(_local2, true); propertyChangesArray = propertyChangesArray.concat(_local2); }; } public function deleteInstance(_arg1:IEffectInstance):void{ EventDispatcher(_arg1).removeEventListener(EffectEvent.EFFECT_START, effectStartHandler); EventDispatcher(_arg1).removeEventListener(EffectEvent.EFFECT_END, effectEndHandler); var _local2:int = _instances.length; var _local3:int; while (_local3 < _local2) { if (_instances[_local3] === _arg1){ _instances.splice(_local3, 1); }; _local3++; }; } public function get filter():String{ return (_filter); } public function set triggerEvent(_arg1:Event):void{ _triggerEvent = _arg1; } public function get target():Object{ if (_targets.length > 0){ return (_targets[0]); }; return (null); } public function get duration():Number{ return (_duration); } public function set customFilter(_arg1:EffectTargetFilter):void{ _customFilter = _arg1; filterObject = _arg1; } public function get perElementOffset():Number{ return (_perElementOffset); } public function set effectTargetHost(_arg1:IEffectTargetHost):void{ _effectTargetHost = _arg1; } public function get isPlaying():Boolean{ return (((_instances) && ((_instances.length > 0)))); } protected function effectEndHandler(_arg1:EffectEvent):void{ var _local2:IEffectInstance = IEffectInstance(_arg1.effectInstance); deleteInstance(_local2); dispatchEvent(_arg1); } public function get relevantProperties():Array{ if (_relevantProperties){ return (_relevantProperties); }; return (getAffectedProperties()); } public function createInstance(_arg1:Object=null):IEffectInstance{ var _local6:int; var _local7:int; if (!_arg1){ _arg1 = this.target; }; var _local2:IEffectInstance; var _local3:PropertyChanges; var _local4:Boolean; var _local5:Boolean; if (propertyChangesArray){ _local5 = true; _local4 = filterInstance(propertyChangesArray, _arg1); }; if (_local4){ _local2 = IEffectInstance(new instanceClass(_arg1)); initInstance(_local2); if (_local5){ _local6 = propertyChangesArray.length; _local7 = 0; while (_local7 < _local6) { if (propertyChangesArray[_local7].target == _arg1){ _local2.propertyChanges = propertyChangesArray[_local7]; }; _local7++; }; }; EventDispatcher(_local2).addEventListener(EffectEvent.EFFECT_START, effectStartHandler); EventDispatcher(_local2).addEventListener(EffectEvent.EFFECT_END, effectEndHandler); _instances.push(_local2); if (triggerEvent){ _local2.initEffect(triggerEvent); }; }; return (_local2); } protected function effectStartHandler(_arg1:EffectEvent):void{ dispatchEvent(_arg1); } public function getAffectedProperties():Array{ return ([]); } public function set relevantStyles(_arg1:Array):void{ _relevantStyles = _arg1; } public function get triggerEvent():Event{ return (_triggerEvent); } protected function applyValueToTarget(_arg1:Object, _arg2:String, _arg3, _arg4:Object):void{ var target = _arg1; var property = _arg2; var value = _arg3; var props = _arg4; if ((property in target)){ try { if (((((applyActualDimensions) && ((target is IFlexDisplayObject)))) && ((property == "height")))){ target.setActualSize(target.width, value); } else { if (((((applyActualDimensions) && ((target is IFlexDisplayObject)))) && ((property == "width")))){ target.setActualSize(value, target.height); } else { target[property] = value; }; }; } catch(e:Error) { }; }; } protected function initInstance(_arg1:IEffectInstance):void{ _arg1.duration = duration; Object(_arg1).durationExplicitlySet = durationExplicitlySet; _arg1.effect = this; _arg1.effectTargetHost = effectTargetHost; _arg1.hideFocusRing = hideFocusRing; _arg1.repeatCount = repeatCount; _arg1.repeatDelay = repeatDelay; _arg1.startDelay = startDelay; _arg1.suspendBackgroundProcessing = suspendBackgroundProcessing; } mx_internal function applyStartValues(_arg1:Array, _arg2:Array):void{ var _local6:int; var _local7:int; var _local8:Object; var _local9:Boolean; var _local3:Array = relevantProperties; var _local4:int = _arg1.length; var _local5:int; while (_local5 < _local4) { _local8 = _arg1[_local5].target; _local9 = false; _local6 = _arg2.length; _local7 = 0; while (_local7 < _local6) { if (_arg2[_local7] == _local8){ _local9 = filterInstance(_arg1, _local8); break; }; _local7++; }; if (_local9){ _local6 = _local3.length; _local7 = 0; while (_local7 < _local6) { if ((((_local3[_local7] in _arg1[_local5].start)) && ((_local3[_local7] in _local8)))){ applyValueToTarget(_local8, _local3[_local7], _arg1[_local5].start[_local3[_local7]], _arg1[_local5].start); }; _local7++; }; _local6 = relevantStyles.length; _local7 = 0; while (_local7 < _local6) { if ((relevantStyles[_local7] in _arg1[_local5].start)){ _local8.setStyle(relevantStyles[_local7], _arg1[_local5].start[relevantStyles[_local7]]); }; _local7++; }; }; _local5++; }; } public function end(_arg1:IEffectInstance=null):void{ var _local2:int; var _local3:int; var _local4:IEffectInstance; if (_arg1){ _arg1.end(); } else { _local2 = _instances.length; _local3 = _local2; while (_local3 >= 0) { _local4 = IEffectInstance(_instances[_local3]); if (_local4){ _local4.end(); }; _local3--; }; }; } public function get relevantStyles():Array{ return (_relevantStyles); } public function createInstances(_arg1:Array=null):Array{ var _local6:IEffectInstance; if (!_arg1){ _arg1 = this.targets; }; var _local2:Array = []; var _local3:int = _arg1.length; var _local4:Number = 0; var _local5:int; while (_local5 < _local3) { _local6 = createInstance(_arg1[_local5]); if (_local6){ _local6.startDelay = (_local6.startDelay + _local4); _local4 = (_local4 + perElementOffset); _local2.push(_local6); }; _local5++; }; triggerEvent = null; return (_local2); } public function pause():void{ var _local1:int; var _local2:int; if (((isPlaying) && (!(isPaused)))){ isPaused = true; _local1 = _instances.length; _local2 = 0; while (_local2 < _local1) { IEffectInstance(_instances[_local2]).pause(); _local2++; }; }; } public function set filter(_arg1:String):void{ if (!customFilter){ _filter = _arg1; switch (_arg1){ case "add": case "remove": filterObject = new AddRemoveEffectTargetFilter(); AddRemoveEffectTargetFilter(filterObject).add = (_arg1 == "add"); break; case "hide": case "show": filterObject = new HideShowEffectTargetFilter(); HideShowEffectTargetFilter(filterObject).show = (_arg1 == "show"); break; case "move": filterObject = new EffectTargetFilter(); filterObject.filterProperties = ["x", "y"]; break; case "resize": filterObject = new EffectTargetFilter(); filterObject.filterProperties = ["width", "height"]; break; case "addItem": filterObject = new EffectTargetFilter(); filterObject.requiredSemantics = {added:true}; break; case "removeItem": filterObject = new EffectTargetFilter(); filterObject.requiredSemantics = {removed:true}; break; case "replacedItem": filterObject = new EffectTargetFilter(); filterObject.requiredSemantics = {replaced:true}; break; case "replacementItem": filterObject = new EffectTargetFilter(); filterObject.requiredSemantics = {replacement:true}; break; default: filterObject = null; break; }; }; } public function reverse():void{ var _local1:int; var _local2:int; if (isPlaying){ _local1 = _instances.length; _local2 = 0; while (_local2 < _local1) { IEffectInstance(_instances[_local2]).reverse(); _local2++; }; }; } private static function mergeArrays(_arg1:Array, _arg2:Array):Array{ var _local3:int; var _local4:Boolean; var _local5:int; if (_arg2){ _local3 = 0; while (_local3 < _arg2.length) { _local4 = true; _local5 = 0; while (_local5 < _arg1.length) { if (_arg1[_local5] == _arg2[_local3]){ _local4 = false; break; }; _local5++; }; if (_local4){ _arg1.push(_arg2[_local3]); }; _local3++; }; }; return (_arg1); } private static function stripUnchangedValues(_arg1:Array):Array{ var _local3:Object; var _local2:int; while (_local2 < _arg1.length) { for (_local3 in _arg1[_local2].start) { if ((((_arg1[_local2].start[_local3] == _arg1[_local2].end[_local3])) || ((((((((typeof(_arg1[_local2].start[_local3]) == "number")) && ((typeof(_arg1[_local2].end[_local3]) == "number")))) && (isNaN(_arg1[_local2].start[_local3])))) && (isNaN(_arg1[_local2].end[_local3])))))){ delete _arg1[_local2].start[_local3]; delete _arg1[_local2].end[_local3]; }; }; _local2++; }; return (_arg1); } } }//package mx.effects
Section 152
//EffectInstance (mx.effects.EffectInstance) package mx.effects { import mx.core.*; import flash.events.*; import mx.events.*; import mx.effects.effectClasses.*; import flash.utils.*; public class EffectInstance extends EventDispatcher implements IEffectInstance { private var _hideFocusRing:Boolean; private var delayStartTime:Number;// = 0 mx_internal var stopRepeat:Boolean;// = false private var playCount:int;// = 0 private var _repeatCount:int;// = 0 private var _suspendBackgroundProcessing:Boolean;// = false mx_internal var delayTimer:Timer; private var _triggerEvent:Event; private var _effectTargetHost:IEffectTargetHost; mx_internal var parentCompositeEffectInstance:EffectInstance; mx_internal var durationExplicitlySet:Boolean;// = false private var _effect:IEffect; private var _target:Object; mx_internal var hideOnEffectEnd:Boolean;// = false private var _startDelay:int;// = 0 private var delayElapsedTime:Number;// = 0 private var _repeatDelay:int;// = 0 private var _propertyChanges:PropertyChanges; private var _duration:Number;// = 500 private var _playReversed:Boolean; mx_internal static const VERSION:String = "3.0.0.0"; public function EffectInstance(_arg1:Object){ this.target = _arg1; } public function get playheadTime():Number{ return ((((Math.max((playCount - 1), 0) * duration) + (Math.max((playCount - 2), 0) * repeatDelay)) + (playReversed) ? 0 : startDelay)); } public function get hideFocusRing():Boolean{ return (_hideFocusRing); } public function stop():void{ if (delayTimer){ delayTimer.reset(); }; stopRepeat = true; finishEffect(); } public function finishEffect():void{ playCount = 0; dispatchEvent(new EffectEvent(EffectEvent.EFFECT_END, false, false, this)); if (target){ target.dispatchEvent(new EffectEvent(EffectEvent.EFFECT_END, false, false, this)); }; if ((target is UIComponent)){ UIComponent(target).effectFinished(this); }; EffectManager.effectFinished(this); } public function set hideFocusRing(_arg1:Boolean):void{ _hideFocusRing = _arg1; } public function finishRepeat():void{ if (((((!(stopRepeat)) && (!((playCount == 0))))) && ((((playCount < repeatCount)) || ((repeatCount == 0)))))){ if (repeatDelay > 0){ delayTimer = new Timer(repeatDelay, 1); delayStartTime = getTimer(); delayTimer.addEventListener(TimerEvent.TIMER, delayTimerHandler); delayTimer.start(); } else { play(); }; } else { finishEffect(); }; } mx_internal function get playReversed():Boolean{ return (_playReversed); } public function set effect(_arg1:IEffect):void{ _effect = _arg1; } public function get className():String{ var _local1:String = getQualifiedClassName(this); var _local2:int = _local1.indexOf("::"); if (_local2 != -1){ _local1 = _local1.substr((_local2 + 2)); }; return (_local1); } public function set duration(_arg1:Number):void{ durationExplicitlySet = true; _duration = _arg1; } mx_internal function set playReversed(_arg1:Boolean):void{ _playReversed = _arg1; } public function resume():void{ if (((((delayTimer) && (!(delayTimer.running)))) && (!(isNaN(delayElapsedTime))))){ delayTimer.delay = (playReversed) ? delayElapsedTime : (delayTimer.delay - delayElapsedTime); delayTimer.start(); }; } public function get propertyChanges():PropertyChanges{ return (_propertyChanges); } public function set target(_arg1:Object):void{ _target = _arg1; } public function get repeatCount():int{ return (_repeatCount); } mx_internal function playWithNoDuration():void{ duration = 0; repeatCount = 1; repeatDelay = 0; startDelay = 0; startEffect(); } public function get startDelay():int{ return (_startDelay); } mx_internal function get actualDuration():Number{ var _local1:Number = NaN; if (repeatCount > 0){ _local1 = (((duration * repeatCount) + ((repeatDelay * repeatCount) - 1)) + startDelay); }; return (_local1); } public function play():void{ playCount++; dispatchEvent(new EffectEvent(EffectEvent.EFFECT_START, false, false, this)); if (target){ target.dispatchEvent(new EffectEvent(EffectEvent.EFFECT_START, false, false, this)); }; } public function get suspendBackgroundProcessing():Boolean{ return (_suspendBackgroundProcessing); } public function get effectTargetHost():IEffectTargetHost{ return (_effectTargetHost); } public function set repeatDelay(_arg1:int):void{ _repeatDelay = _arg1; } public function set propertyChanges(_arg1:PropertyChanges):void{ _propertyChanges = _arg1; } mx_internal function eventHandler(_arg1:Event):void{ if ((((_arg1.type == FlexEvent.SHOW)) && ((hideOnEffectEnd == true)))){ hideOnEffectEnd = false; _arg1.target.removeEventListener(FlexEvent.SHOW, eventHandler); }; } public function set repeatCount(_arg1:int):void{ _repeatCount = _arg1; } private function delayTimerHandler(_arg1:TimerEvent):void{ delayTimer.reset(); delayStartTime = NaN; delayElapsedTime = NaN; play(); } public function set suspendBackgroundProcessing(_arg1:Boolean):void{ _suspendBackgroundProcessing = _arg1; } public function set triggerEvent(_arg1:Event):void{ _triggerEvent = _arg1; } public function set startDelay(_arg1:int):void{ _startDelay = _arg1; } public function get effect():IEffect{ return (_effect); } public function set effectTargetHost(_arg1:IEffectTargetHost):void{ _effectTargetHost = _arg1; } public function get target():Object{ return (_target); } public function startEffect():void{ EffectManager.effectStarted(this); if ((target is UIComponent)){ UIComponent(target).effectStarted(this); }; if ((((startDelay > 0)) && (!(playReversed)))){ delayTimer = new Timer(startDelay, 1); delayStartTime = getTimer(); delayTimer.addEventListener(TimerEvent.TIMER, delayTimerHandler); delayTimer.start(); } else { play(); }; } public function get repeatDelay():int{ return (_repeatDelay); } public function get duration():Number{ if (((!(durationExplicitlySet)) && (parentCompositeEffectInstance))){ return (parentCompositeEffectInstance.duration); }; return (_duration); } public function initEffect(_arg1:Event):void{ triggerEvent = _arg1; switch (_arg1.type){ case "resizeStart": case "resizeEnd": if (!durationExplicitlySet){ duration = 250; }; break; case FlexEvent.HIDE: target.setVisible(true, true); hideOnEffectEnd = true; target.addEventListener(FlexEvent.SHOW, eventHandler); break; }; } public function get triggerEvent():Event{ return (_triggerEvent); } public function end():void{ if (delayTimer){ delayTimer.reset(); }; stopRepeat = true; finishEffect(); } public function reverse():void{ if (repeatCount > 0){ playCount = ((repeatCount - playCount) + 1); }; } public function pause():void{ if (((((delayTimer) && (delayTimer.running))) && (!(isNaN(delayStartTime))))){ delayTimer.stop(); delayElapsedTime = (getTimer() - delayStartTime); }; } } }//package mx.effects
Section 153
//EffectManager (mx.effects.EffectManager) package mx.effects { import flash.display.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.resources.*; import flash.utils.*; public class EffectManager extends EventDispatcher { mx_internal static const VERSION:String = "3.0.0.0"; private static var _resourceManager:IResourceManager; private static var effects:Dictionary = new Dictionary(true); mx_internal static var effectsPlaying:Array = []; private static var targetsInfo:Array = []; private static var effectTriggersForEvent:Object = {}; mx_internal static var lastEffectCreated:Effect; private static var eventHandlingSuspendCount:Number = 0; private static var eventsForEffectTriggers:Object = {}; public static function suspendEventHandling():void{ eventHandlingSuspendCount++; } mx_internal static function registerEffectTrigger(_arg1:String, _arg2:String):void{ var _local3:Number; if (_arg1 != ""){ if (_arg2 == ""){ _local3 = _arg1.length; if ((((_local3 > 6)) && ((_arg1.substring((_local3 - 6)) == "Effect")))){ _arg2 = _arg1.substring(0, (_local3 - 6)); }; }; if (_arg2 != ""){ effectTriggersForEvent[_arg2] = _arg1; eventsForEffectTriggers[_arg1] = _arg2; }; }; } private static function removedEffectHandler(_arg1:DisplayObject, _arg2:DisplayObjectContainer, _arg3:int, _arg4:Event):void{ suspendEventHandling(); _arg2.addChildAt(_arg1, _arg3); resumeEventHandling(); createAndPlayEffect(_arg4, _arg1); } private static function createAndPlayEffect(_arg1:Event, _arg2:Object):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local9:String; var _local10:String; var _local11:Array; var _local12:Array; var _local13:Array; var _local14:Array; var _local15:EffectInstance; var _local3:Effect = createEffectForType(_arg2, _arg1.type); if (!_local3){ return; }; if ((((_local3 is Zoom)) && ((_arg1.type == MoveEvent.MOVE)))){ _local9 = resourceManager.getString("effects", "incorrectTrigger"); throw (new Error(_local9)); }; if (_arg2.initialized == false){ _local10 = _arg1.type; if ((((((((((_local10 == MoveEvent.MOVE)) || ((_local10 == ResizeEvent.RESIZE)))) || ((_local10 == FlexEvent.SHOW)))) || ((_local10 == FlexEvent.HIDE)))) || ((_local10 == Event.CHANGE)))){ _local3 = null; return; }; }; if ((_local3.target is IUIComponent)){ _local11 = IUIComponent(_local3.target).tweeningProperties; if (((_local11) && ((_local11.length > 0)))){ _local12 = _local3.getAffectedProperties(); _local4 = _local11.length; _local6 = _local12.length; _local5 = 0; while (_local5 < _local4) { _local7 = 0; while (_local7 < _local6) { if (_local11[_local5] == _local12[_local7]){ _local3 = null; return; }; _local7++; }; _local5++; }; }; }; if ((((_local3.target is UIComponent)) && (UIComponent(_local3.target).isEffectStarted))){ _local13 = _local3.getAffectedProperties(); _local5 = 0; while (_local5 < _local13.length) { _local14 = _local3.target.getEffectsForProperty(_local13[_local5]); if (_local14.length > 0){ if (_arg1.type == ResizeEvent.RESIZE){ return; }; _local7 = 0; while (_local7 < _local14.length) { _local15 = _local14[_local7]; if ((((_arg1.type == FlexEvent.SHOW)) && (_local15.hideOnEffectEnd))){ _local15.target.removeEventListener(FlexEvent.SHOW, _local15.eventHandler); _local15.hideOnEffectEnd = false; }; _local15.end(); _local7++; }; }; _local5++; }; }; _local3.triggerEvent = _arg1; _local3.addEventListener(EffectEvent.EFFECT_END, EffectManager.effectEndHandler); lastEffectCreated = _local3; var _local8:Array = _local3.play(); _local4 = _local8.length; _local5 = 0; while (_local5 < _local4) { effectsPlaying.push(new EffectNode(_local3, _local8[_local5])); _local5++; }; if (_local3.suspendBackgroundProcessing){ UIComponent.suspendBackgroundProcessing(); }; } public static function endEffectsForTarget(_arg1:IUIComponent):void{ var _local4:EffectInstance; var _local2:int = effectsPlaying.length; var _local3:int = (_local2 - 1); while (_local3 >= 0) { _local4 = effectsPlaying[_local3].instance; if (_local4.target == _arg1){ _local4.end(); }; _local3--; }; } private static function cacheOrUncacheTargetAsBitmap(_arg1:IUIComponent, _arg2:Boolean=true, _arg3:Boolean=true):void{ var _local4:int; var _local5:int; var _local6:Object; _local4 = targetsInfo.length; _local5 = 0; while (_local5 < _local4) { if (targetsInfo[_local5].target == _arg1){ _local6 = targetsInfo[_local5]; break; }; _local5++; }; if (!_local6){ _local6 = {target:_arg1, bitmapEffectsCount:0, vectorEffectsCount:0}; targetsInfo.push(_local6); }; if (_arg2){ if (_arg3){ _local6.bitmapEffectsCount++; if ((((_local6.vectorEffectsCount == 0)) && ((_arg1 is IDeferredInstantiationUIComponent)))){ IDeferredInstantiationUIComponent(_arg1).cacheHeuristic = true; }; } else { if ((((((_local6.vectorEffectsCount++ == 0)) && ((_arg1 is IDeferredInstantiationUIComponent)))) && ((IDeferredInstantiationUIComponent(_arg1).cachePolicy == UIComponentCachePolicy.AUTO)))){ _arg1.cacheAsBitmap = false; }; }; } else { if (_arg3){ if (_local6.bitmapEffectsCount != 0){ _local6.bitmapEffectsCount--; }; if ((_arg1 is IDeferredInstantiationUIComponent)){ IDeferredInstantiationUIComponent(_arg1).cacheHeuristic = false; }; } else { if (_local6.vectorEffectsCount != 0){ if ((((--_local6.vectorEffectsCount == 0)) && (!((_local6.bitmapEffectsCount == 0))))){ _local4 = _local6.bitmapEffectsCount; _local5 = 0; while (_local5 < _local4) { if ((_arg1 is IDeferredInstantiationUIComponent)){ IDeferredInstantiationUIComponent(_arg1).cacheHeuristic = true; }; _local5++; }; }; }; }; if ((((_local6.bitmapEffectsCount == 0)) && ((_local6.vectorEffectsCount == 0)))){ _local4 = targetsInfo.length; _local5 = 0; while (_local5 < _local4) { if (targetsInfo[_local5].target == _arg1){ targetsInfo.splice(_local5, 1); break; }; _local5++; }; }; }; } mx_internal static function eventHandler(_arg1:Event):void{ var _local2:FocusEvent; var _local3:DisplayObject; var _local4:int; var _local5:DisplayObjectContainer; var _local6:int; if (!(_arg1.currentTarget is IFlexDisplayObject)){ return; }; if (eventHandlingSuspendCount > 0){ return; }; if ((((_arg1 is FocusEvent)) && ((((_arg1.type == FocusEvent.FOCUS_OUT)) || ((_arg1.type == FocusEvent.FOCUS_IN)))))){ _local2 = FocusEvent(_arg1); if (((_local2.relatedObject) && (((_local2.currentTarget.contains(_local2.relatedObject)) || ((_local2.currentTarget == _local2.relatedObject)))))){ return; }; }; if ((((((_arg1.type == Event.ADDED)) || ((_arg1.type == Event.REMOVED)))) && (!((_arg1.target == _arg1.currentTarget))))){ return; }; if (_arg1.type == Event.REMOVED){ if ((_arg1.target is UIComponent)){ if (UIComponent(_arg1.target).initialized == false){ return; }; if (UIComponent(_arg1.target).isEffectStarted){ _local4 = 0; while (_local4 < UIComponent(_arg1.target)._effectsStarted.length) { if (UIComponent(_arg1.target)._effectsStarted[_local4].triggerEvent.type == Event.REMOVED){ return; }; _local4++; }; }; }; _local3 = (_arg1.target as DisplayObject); if (_local3 != null){ _local5 = (_local3.parent as DisplayObjectContainer); if (_local5 != null){ _local6 = _local5.getChildIndex(_local3); if (_local6 >= 0){ if ((_local3 is UIComponent)){ UIComponent(_local3).callLater(removedEffectHandler, [_local3, _local5, _local6, _arg1]); }; }; }; }; } else { createAndPlayEffect(_arg1, _arg1.currentTarget); }; } mx_internal static function endBitmapEffect(_arg1:IUIComponent):void{ cacheOrUncacheTargetAsBitmap(_arg1, false, true); } private static function animateSameProperty(_arg1:Effect, _arg2:Effect, _arg3:EffectInstance):Boolean{ var _local4:Array; var _local5:Array; var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (_arg1.target == _arg3.target){ _local4 = _arg1.getAffectedProperties(); _local5 = _arg2.getAffectedProperties(); _local6 = _local4.length; _local7 = _local5.length; _local8 = 0; while (_local8 < _local6) { _local9 = 0; while (_local9 < _local7) { if (_local4[_local8] == _local5[_local9]){ return (true); }; _local9++; }; _local8++; }; }; return (false); } mx_internal static function effectFinished(_arg1:EffectInstance):void{ delete effects[_arg1]; } mx_internal static function effectsInEffect():Boolean{ var _local1:*; for (_local1 in effects) { return (true); }; return (false); } mx_internal static function effectEndHandler(_arg1:EffectEvent):void{ var _local5:DisplayObject; var _local6:DisplayObjectContainer; var _local2:IEffectInstance = _arg1.effectInstance; var _local3:int = effectsPlaying.length; var _local4:int = (_local3 - 1); while (_local4 >= 0) { if (effectsPlaying[_local4].instance == _local2){ effectsPlaying.splice(_local4, 1); break; }; _local4--; }; if (Object(_local2).hideOnEffectEnd == true){ _local2.target.removeEventListener(FlexEvent.SHOW, Object(_local2).eventHandler); _local2.target.setVisible(false, true); }; if (((_local2.triggerEvent) && ((_local2.triggerEvent.type == Event.REMOVED)))){ _local5 = (_local2.target as DisplayObject); if (_local5 != null){ _local6 = (_local5.parent as DisplayObjectContainer); if (_local6 != null){ suspendEventHandling(); _local6.removeChild(_local5); resumeEventHandling(); }; }; }; if (_local2.suspendBackgroundProcessing){ UIComponent.resumeBackgroundProcessing(); }; } mx_internal static function startBitmapEffect(_arg1:IUIComponent):void{ cacheOrUncacheTargetAsBitmap(_arg1, true, true); } mx_internal static function setStyle(_arg1:String, _arg2):void{ var _local3:String = eventsForEffectTriggers[_arg1]; if (((!((_local3 == null))) && (!((_local3 == ""))))){ _arg2.addEventListener(_local3, EffectManager.eventHandler, false, EventPriority.EFFECT); }; } mx_internal static function getEventForEffectTrigger(_arg1:String):String{ var effectTrigger = _arg1; if (eventsForEffectTriggers){ try { return (eventsForEffectTriggers[effectTrigger]); } catch(e:Error) { return (""); }; }; return (""); } mx_internal static function createEffectForType(_arg1:Object, _arg2:String):Effect{ var cls:Class; var effectObj:Effect; var doc:Object; var target = _arg1; var type = _arg2; var trigger:String = effectTriggersForEvent[type]; if (trigger == ""){ trigger = (type + "Effect"); }; var value:Object = target.getStyle(trigger); if (!value){ return (null); }; if ((value is Class)){ cls = Class(value); return (new cls(target)); }; try { if ((value is String)){ doc = target.parentDocument; if (!doc){ doc = ApplicationGlobals.application; }; effectObj = doc[value]; } else { if ((value is Effect)){ effectObj = Effect(value); }; }; if (effectObj){ effectObj.target = target; return (effectObj); }; } catch(e:Error) { }; var effectClass:Class = Class(target.systemManager.getDefinitionByName(("mx.effects." + value))); if (effectClass){ return (new effectClass(target)); }; return (null); } mx_internal static function effectStarted(_arg1:EffectInstance):void{ effects[_arg1] = 1; } public static function resumeEventHandling():void{ eventHandlingSuspendCount--; } mx_internal static function startVectorEffect(_arg1:IUIComponent):void{ cacheOrUncacheTargetAsBitmap(_arg1, true, false); } mx_internal static function endVectorEffect(_arg1:IUIComponent):void{ cacheOrUncacheTargetAsBitmap(_arg1, false, false); } private static function get resourceManager():IResourceManager{ if (!_resourceManager){ _resourceManager = ResourceManager.getInstance(); }; return (_resourceManager); } } }//package mx.effects class EffectNode { public var factory:Effect; public var instance:EffectInstance; private function EffectNode(_arg1:Effect, _arg2:EffectInstance){ this.factory = _arg1; this.instance = _arg2; } }
Section 154
//EffectTargetFilter (mx.effects.EffectTargetFilter) package mx.effects { import mx.effects.effectClasses.*; public class EffectTargetFilter { public var filterFunction:Function; public var filterStyles:Array; public var filterProperties:Array; public var requiredSemantics:Object;// = null mx_internal static const VERSION:String = "3.0.0.0"; public function EffectTargetFilter(){ filterFunction = defaultFilterFunctionEx; filterProperties = []; filterStyles = []; super(); } protected function defaultFilterFunctionEx(_arg1:Array, _arg2:IEffectTargetHost, _arg3:Object):Boolean{ var _local4:String; if (requiredSemantics){ for (_local4 in requiredSemantics) { if (!_arg2){ return (false); }; if (_arg2.getRendererSemanticValue(_arg3, _local4) != requiredSemantics[_local4]){ return (false); }; }; return (true); }; return (defaultFilterFunction(_arg1, _arg3)); } protected function defaultFilterFunction(_arg1:Array, _arg2:Object):Boolean{ var _local5:PropertyChanges; var _local6:Array; var _local7:int; var _local8:int; var _local3:int = _arg1.length; var _local4:int; while (_local4 < _local3) { _local5 = _arg1[_local4]; if (_local5.target == _arg2){ _local6 = filterProperties.concat(filterStyles); _local7 = _local6.length; _local8 = 0; while (_local8 < _local7) { if (((!((_local5.start[_local6[_local8]] === undefined))) && (!((_local5.end[_local6[_local8]] == _local5.start[_local6[_local8]]))))){ return (true); }; _local8++; }; }; _local4++; }; return (false); } public function filterInstance(_arg1:Array, _arg2:IEffectTargetHost, _arg3:Object):Boolean{ if (filterFunction.length == 2){ return (filterFunction(_arg1, _arg3)); }; return (filterFunction(_arg1, _arg2, _arg3)); } } }//package mx.effects
Section 155
//Fade (mx.effects.Fade) package mx.effects { import mx.effects.effectClasses.*; public class Fade extends TweenEffect { public var alphaFrom:Number; public var alphaTo:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var AFFECTED_PROPERTIES:Array = ["alpha", "visible"]; public function Fade(_arg1:Object=null){ super(_arg1); instanceClass = FadeInstance; } override protected function initInstance(_arg1:IEffectInstance):void{ super.initInstance(_arg1); var _local2:FadeInstance = FadeInstance(_arg1); _local2.alphaFrom = alphaFrom; _local2.alphaTo = alphaTo; } override public function getAffectedProperties():Array{ return (AFFECTED_PROPERTIES); } } }//package mx.effects
Section 156
//IAbstractEffect (mx.effects.IAbstractEffect) package mx.effects { import flash.events.*; public interface IAbstractEffect extends IEventDispatcher { } }//package mx.effects
Section 157
//IEffect (mx.effects.IEffect) package mx.effects { import flash.events.*; public interface IEffect extends IAbstractEffect { function captureMoreStartValues(_arg1:Array):void; function get triggerEvent():Event; function set targets(_arg1:Array):void; function captureStartValues():void; function get hideFocusRing():Boolean; function get customFilter():EffectTargetFilter; function get effectTargetHost():IEffectTargetHost; function set triggerEvent(_arg1:Event):void; function set hideFocusRing(_arg1:Boolean):void; function captureEndValues():void; function get target():Object; function set customFilter(_arg1:EffectTargetFilter):void; function get duration():Number; function get perElementOffset():Number; function get targets():Array; function set effectTargetHost(_arg1:IEffectTargetHost):void; function get relevantStyles():Array; function set relevantProperties(_arg1:Array):void; function set target(_arg1:Object):void; function get className():String; function get isPlaying():Boolean; function deleteInstance(_arg1:IEffectInstance):void; function set duration(_arg1:Number):void; function createInstances(_arg1:Array=null):Array; function end(_arg1:IEffectInstance=null):void; function set perElementOffset(_arg1:Number):void; function resume():void; function stop():void; function set filter(_arg1:String):void; function createInstance(_arg1:Object=null):IEffectInstance; function play(_arg1:Array=null, _arg2:Boolean=false):Array; function pause():void; function get relevantProperties():Array; function get filter():String; function reverse():void; function getAffectedProperties():Array; function set relevantStyles(_arg1:Array):void; } }//package mx.effects
Section 158
//IEffectInstance (mx.effects.IEffectInstance) package mx.effects { import flash.events.*; import mx.effects.effectClasses.*; public interface IEffectInstance { function get playheadTime():Number; function get triggerEvent():Event; function set triggerEvent(_arg1:Event):void; function get hideFocusRing():Boolean; function initEffect(_arg1:Event):void; function set startDelay(_arg1:int):void; function get effectTargetHost():IEffectTargetHost; function finishEffect():void; function set hideFocusRing(_arg1:Boolean):void; function finishRepeat():void; function set repeatDelay(_arg1:int):void; function get effect():IEffect; function startEffect():void; function get duration():Number; function get target():Object; function get startDelay():int; function stop():void; function set effectTargetHost(_arg1:IEffectTargetHost):void; function set propertyChanges(_arg1:PropertyChanges):void; function set effect(_arg1:IEffect):void; function get className():String; function set duration(_arg1:Number):void; function set target(_arg1:Object):void; function end():void; function resume():void; function get propertyChanges():PropertyChanges; function set repeatCount(_arg1:int):void; function reverse():void; function get repeatCount():int; function pause():void; function get repeatDelay():int; function set suspendBackgroundProcessing(_arg1:Boolean):void; function play():void; function get suspendBackgroundProcessing():Boolean; } }//package mx.effects
Section 159
//IEffectTargetHost (mx.effects.IEffectTargetHost) package mx.effects { public interface IEffectTargetHost { function unconstrainRenderer(_arg1:Object):void; function removeDataEffectItem(_arg1:Object):void; function getRendererSemanticValue(_arg1:Object, _arg2:String):Object; function addDataEffectItem(_arg1:Object):void; } }//package mx.effects
Section 160
//Move (mx.effects.Move) package mx.effects { import mx.effects.effectClasses.*; public class Move extends TweenEffect { public var xFrom:Number; public var yFrom:Number; public var xBy:Number; public var yBy:Number; public var yTo:Number; public var xTo:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var AFFECTED_PROPERTIES:Array = ["x", "y"]; public function Move(_arg1:Object=null){ super(_arg1); instanceClass = MoveInstance; } override protected function initInstance(_arg1:IEffectInstance):void{ var _local2:MoveInstance; super.initInstance(_arg1); _local2 = MoveInstance(_arg1); _local2.xFrom = xFrom; _local2.xTo = xTo; _local2.xBy = xBy; _local2.yFrom = yFrom; _local2.yTo = yTo; _local2.yBy = yBy; } override public function getAffectedProperties():Array{ return (AFFECTED_PROPERTIES); } } }//package mx.effects
Section 161
//Tween (mx.effects.Tween) package mx.effects { import mx.core.*; import flash.events.*; import mx.events.*; import flash.utils.*; public class Tween extends EventDispatcher { private var started:Boolean;// = false private var previousUpdateTime:Number; public var duration:Number;// = 3000 private var id:int; private var arrayMode:Boolean; private var _isPlaying:Boolean;// = true private var startValue:Object; public var listener:Object; private var userEquation:Function; mx_internal var needToLayout:Boolean;// = false private var updateFunction:Function; private var _doSeek:Boolean;// = false mx_internal var startTime:Number; private var endFunction:Function; private var endValue:Object; private var _doReverse:Boolean;// = false private var _playheadTime:Number;// = 0 private var _invertValues:Boolean;// = false private var maxDelay:Number;// = 87.5 mx_internal static const VERSION:String = "3.0.0.0"; private static var timer:Timer = null; private static var interval:Number = 10; mx_internal static var activeTweens:Array = []; mx_internal static var intervalTime:Number = NAN; public function Tween(_arg1:Object, _arg2:Object, _arg3:Object, _arg4:Number=-1, _arg5:Number=-1, _arg6:Function=null, _arg7:Function=null){ userEquation = defaultEasingFunction; super(); if (!_arg1){ return; }; if ((_arg2 is Array)){ arrayMode = true; }; this.listener = _arg1; this.startValue = _arg2; this.endValue = _arg3; if (((!(isNaN(_arg4))) && (!((_arg4 == -1))))){ this.duration = _arg4; }; if (((!(isNaN(_arg5))) && (!((_arg5 == -1))))){ maxDelay = (1000 / _arg5); }; this.updateFunction = _arg6; this.endFunction = _arg7; if (_arg4 == 0){ id = -1; endTween(); } else { Tween.addTween(this); }; } mx_internal function get playheadTime():Number{ return (_playheadTime); } public function stop():void{ if (id >= 0){ Tween.removeTweenAt(id); }; } mx_internal function get playReversed():Boolean{ return (_invertValues); } mx_internal function set playReversed(_arg1:Boolean):void{ _invertValues = _arg1; } public function resume():void{ _isPlaying = true; startTime = (intervalTime - _playheadTime); if (_doReverse){ reverse(); _doReverse = false; }; } public function setTweenHandlers(_arg1:Function, _arg2:Function):void{ this.updateFunction = _arg1; this.endFunction = _arg2; } private function defaultEasingFunction(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 / 2) * (Math.sin((Math.PI * ((_arg1 / _arg4) - 0.5))) + 1)) + _arg2)); } public function set easingFunction(_arg1:Function):void{ userEquation = _arg1; } public function endTween():void{ var _local1:TweenEvent = new TweenEvent(TweenEvent.TWEEN_END); var _local2:Object = getCurrentValue(duration); _local1.value = _local2; dispatchEvent(_local1); if (endFunction != null){ endFunction(_local2); } else { listener.onTweenEnd(_local2); }; if (id >= 0){ Tween.removeTweenAt(id); }; } public function reverse():void{ if (_isPlaying){ _doReverse = false; seek((duration - _playheadTime)); _invertValues = !(_invertValues); } else { _doReverse = !(_doReverse); }; } mx_internal function getCurrentValue(_arg1:Number):Object{ var _local2:Array; var _local3:int; var _local4:int; if (duration == 0){ return (endValue); }; if (_invertValues){ _arg1 = (duration - _arg1); }; if (arrayMode){ _local2 = []; _local3 = startValue.length; _local4 = 0; while (_local4 < _local3) { _local2[_local4] = userEquation(_arg1, startValue[_local4], (endValue[_local4] - startValue[_local4]), duration); _local4++; }; return (_local2); //unresolved jump }; return (userEquation(_arg1, startValue, (Number(endValue) - Number(startValue)), duration)); } mx_internal function doInterval():Boolean{ var _local2:Number; var _local3:Object; var _local4:TweenEvent; var _local5:TweenEvent; var _local1:Boolean; previousUpdateTime = intervalTime; if (((_isPlaying) || (_doSeek))){ _local2 = (intervalTime - startTime); _playheadTime = _local2; _local3 = getCurrentValue(_local2); if ((((_local2 >= duration)) && (!(_doSeek)))){ endTween(); _local1 = true; } else { if (!started){ _local5 = new TweenEvent(TweenEvent.TWEEN_START); dispatchEvent(_local5); started = true; }; _local4 = new TweenEvent(TweenEvent.TWEEN_UPDATE); _local4.value = _local3; dispatchEvent(_local4); if (updateFunction != null){ updateFunction(_local3); } else { listener.onTweenUpdate(_local3); }; }; _doSeek = false; }; return (_local1); } public function pause():void{ _isPlaying = false; } public function seek(_arg1:Number):void{ var _local2:Number = intervalTime; previousUpdateTime = _local2; startTime = (_local2 - _arg1); _doSeek = true; } mx_internal static function removeTween(_arg1:Tween):void{ removeTweenAt(_arg1.id); } private static function addTween(_arg1:Tween):void{ _arg1.id = activeTweens.length; activeTweens.push(_arg1); if (!timer){ timer = new Timer(interval); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.start(); } else { timer.start(); }; if (isNaN(intervalTime)){ intervalTime = getTimer(); }; _arg1.startTime = (_arg1.previousUpdateTime = intervalTime); } private static function timerHandler(_arg1:TimerEvent):void{ var _local6:Tween; var _local2:Boolean; var _local3:Number = intervalTime; intervalTime = getTimer(); var _local4:int = activeTweens.length; var _local5:int = _local4; while (_local5 >= 0) { _local6 = Tween(activeTweens[_local5]); if (_local6){ _local6.needToLayout = false; _local6.doInterval(); if (_local6.needToLayout){ _local2 = true; }; }; _local5--; }; if (_local2){ UIComponentGlobals.layoutManager.validateNow(); }; _arg1.updateAfterEvent(); } private static function removeTweenAt(_arg1:int):void{ var _local4:Tween; if ((((_arg1 >= activeTweens.length)) || ((_arg1 < 0)))){ return; }; activeTweens.splice(_arg1, 1); var _local2:int = activeTweens.length; var _local3:int = _arg1; while (_local3 < _local2) { _local4 = Tween(activeTweens[_local3]); _local4.id--; _local3++; }; if (_local2 == 0){ intervalTime = NaN; timer.reset(); }; } } }//package mx.effects
Section 162
//TweenEffect (mx.effects.TweenEffect) package mx.effects { import flash.events.*; import mx.events.*; import mx.effects.effectClasses.*; public class TweenEffect extends Effect { public var easingFunction:Function;// = null mx_internal static const VERSION:String = "3.0.0.0"; public function TweenEffect(_arg1:Object=null){ super(_arg1); instanceClass = TweenEffectInstance; } protected function tweenEventHandler(_arg1:TweenEvent):void{ dispatchEvent(_arg1); } override protected function initInstance(_arg1:IEffectInstance):void{ super.initInstance(_arg1); TweenEffectInstance(_arg1).easingFunction = easingFunction; EventDispatcher(_arg1).addEventListener(TweenEvent.TWEEN_START, tweenEventHandler); EventDispatcher(_arg1).addEventListener(TweenEvent.TWEEN_UPDATE, tweenEventHandler); EventDispatcher(_arg1).addEventListener(TweenEvent.TWEEN_END, tweenEventHandler); } } }//package mx.effects
Section 163
//Zoom (mx.effects.Zoom) package mx.effects { import mx.effects.effectClasses.*; public class Zoom extends TweenEffect { public var zoomHeightFrom:Number; public var zoomWidthTo:Number; public var originX:Number; public var zoomHeightTo:Number; public var originY:Number; public var captureRollEvents:Boolean; public var zoomWidthFrom:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var AFFECTED_PROPERTIES:Array = ["scaleX", "scaleY", "x", "y", "width", "height"]; public function Zoom(_arg1:Object=null){ super(_arg1); instanceClass = ZoomInstance; applyActualDimensions = false; relevantProperties = ["scaleX", "scaleY", "width", "height", "visible"]; } override protected function initInstance(_arg1:IEffectInstance):void{ var _local2:ZoomInstance; super.initInstance(_arg1); _local2 = ZoomInstance(_arg1); _local2.zoomWidthFrom = zoomWidthFrom; _local2.zoomWidthTo = zoomWidthTo; _local2.zoomHeightFrom = zoomHeightFrom; _local2.zoomHeightTo = zoomHeightTo; _local2.originX = originX; _local2.originY = originY; _local2.captureRollEvents = captureRollEvents; } override public function getAffectedProperties():Array{ return (AFFECTED_PROPERTIES); } } }//package mx.effects
Section 164
//BrowserChangeEvent (mx.events.BrowserChangeEvent) package mx.events { import flash.events.*; public class BrowserChangeEvent extends Event { public var lastURL:String; public var url:String; public static const BROWSER_URL_CHANGE:String = "browserURLChange"; mx_internal static const VERSION:String = "3.0.0.0"; public static const URL_CHANGE:String = "urlChange"; public static const APPLICATION_URL_CHANGE:String = "applicationURLChange"; public function BrowserChangeEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null, _arg5:String=null){ super(_arg1, _arg2, _arg3); this.url = _arg4; this.lastURL = _arg5; } override public function clone():Event{ return (new BrowserChangeEvent(type, bubbles, cancelable, url, lastURL)); } } }//package mx.events
Section 165
//ChildExistenceChangedEvent (mx.events.ChildExistenceChangedEvent) package mx.events { import flash.display.*; import flash.events.*; public class ChildExistenceChangedEvent extends Event { public var relatedObject:DisplayObject; public static const CHILD_REMOVE:String = "childRemove"; mx_internal static const VERSION:String = "3.0.0.0"; public static const OVERLAY_CREATED:String = "overlayCreated"; public static const CHILD_ADD:String = "childAdd"; public function ChildExistenceChangedEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:DisplayObject=null){ super(_arg1, _arg2, _arg3); this.relatedObject = _arg4; } override public function clone():Event{ return (new ChildExistenceChangedEvent(type, bubbles, cancelable, relatedObject)); } } }//package mx.events
Section 166
//CloseEvent (mx.events.CloseEvent) package mx.events { import flash.events.*; public class CloseEvent extends Event { public var detail:int; mx_internal static const VERSION:String = "3.0.0.0"; public static const CLOSE:String = "close"; public function CloseEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:int=-1){ super(_arg1, _arg2, _arg3); this.detail = _arg4; } override public function clone():Event{ return (new CloseEvent(type, bubbles, cancelable, detail)); } } }//package mx.events
Section 167
//CollectionEvent (mx.events.CollectionEvent) package mx.events { import flash.events.*; public class CollectionEvent extends Event { public var kind:String; public var location:int; public var items:Array; public var oldLocation:int; mx_internal static const VERSION:String = "3.0.0.0"; public static const COLLECTION_CHANGE:String = "collectionChange"; public function CollectionEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null, _arg5:int=-1, _arg6:int=-1, _arg7:Array=null){ super(_arg1, _arg2, _arg3); this.kind = _arg4; this.location = _arg5; this.oldLocation = _arg6; this.items = (_arg7) ? _arg7 : []; } override public function toString():String{ return (formatToString("CollectionEvent", "kind", "location", "oldLocation", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new CollectionEvent(type, bubbles, cancelable, kind, location, oldLocation, items)); } } }//package mx.events
Section 168
//CollectionEventKind (mx.events.CollectionEventKind) package mx.events { public final class CollectionEventKind { public static const ADD:String = "add"; public static const REMOVE:String = "remove"; public static const UPDATE:String = "update"; public static const MOVE:String = "move"; mx_internal static const EXPAND:String = "expand"; public static const REPLACE:String = "replace"; mx_internal static const VERSION:String = "3.0.0.0"; public static const REFRESH:String = "refresh"; public static const RESET:String = "reset"; } }//package mx.events
Section 169
//DragEvent (mx.events.DragEvent) package mx.events { import mx.core.*; import flash.events.*; public class DragEvent extends MouseEvent { public var draggedItem:Object; public var action:String; public var dragInitiator:IUIComponent; public var dragSource:DragSource; public static const DRAG_DROP:String = "dragDrop"; public static const DRAG_COMPLETE:String = "dragComplete"; public static const DRAG_EXIT:String = "dragExit"; public static const DRAG_ENTER:String = "dragEnter"; public static const DRAG_START:String = "dragStart"; mx_internal static const VERSION:String = "3.0.0.0"; public static const DRAG_OVER:String = "dragOver"; public function DragEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=true, _arg4:IUIComponent=null, _arg5:DragSource=null, _arg6:String=null, _arg7:Boolean=false, _arg8:Boolean=false, _arg9:Boolean=false){ super(_arg1, _arg2, _arg3); this.dragInitiator = _arg4; this.dragSource = _arg5; this.action = _arg6; this.ctrlKey = _arg7; this.altKey = _arg8; this.shiftKey = _arg9; } override public function clone():Event{ var _local1:DragEvent = new DragEvent(type, bubbles, cancelable, dragInitiator, dragSource, action, ctrlKey, altKey, shiftKey); _local1.relatedObject = this.relatedObject; _local1.localX = this.localX; _local1.localY = this.localY; return (_local1); } } }//package mx.events
Section 170
//DropdownEvent (mx.events.DropdownEvent) package mx.events { import flash.events.*; public class DropdownEvent extends Event { public var triggerEvent:Event; mx_internal static const VERSION:String = "3.0.0.0"; public static const OPEN:String = "open"; public static const CLOSE:String = "close"; public function DropdownEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Event=null){ super(_arg1, _arg2, _arg3); this.triggerEvent = _arg4; } override public function clone():Event{ return (new DropdownEvent(type, bubbles, cancelable, triggerEvent)); } } }//package mx.events
Section 171
//DynamicEvent (mx.events.DynamicEvent) package mx.events { import flash.events.*; public dynamic class DynamicEvent extends Event { mx_internal static const VERSION:String = "3.0.0.0"; public function DynamicEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ var _local2:String; var _local1:DynamicEvent = new DynamicEvent(type, bubbles, cancelable); for (_local2 in this) { _local1[_local2] = this[_local2]; }; return (_local1); } } }//package mx.events
Section 172
//EffectEvent (mx.events.EffectEvent) package mx.events { import flash.events.*; import mx.effects.*; public class EffectEvent extends Event { public var effectInstance:IEffectInstance; public static const EFFECT_START:String = "effectStart"; mx_internal static const VERSION:String = "3.0.0.0"; public static const EFFECT_END:String = "effectEnd"; public function EffectEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:IEffectInstance=null){ super(_arg1, _arg2, _arg3); this.effectInstance = _arg4; } override public function clone():Event{ return (new EffectEvent(type, bubbles, cancelable, effectInstance)); } } }//package mx.events
Section 173
//FlexEvent (mx.events.FlexEvent) package mx.events { import mx.core.*; import flash.events.*; public class FlexEvent extends Event { public static const ADD:String = "add"; public static const TRANSFORM_CHANGE:String = "transformChange"; public static const INIT_COMPLETE:String = "initComplete"; public static const REMOVE:String = "remove"; public static const BUTTON_DOWN:String = "buttonDown"; public static const EXIT_STATE:String = "exitState"; public static const CREATION_COMPLETE:String = "creationComplete"; public static const REPEAT:String = "repeat"; public static const LOADING:String = "loading"; public static const REPEAT_START:String = "repeatStart"; public static const INITIALIZE:String = "initialize"; public static const ENTER_STATE:String = "enterState"; public static const URL_CHANGED:String = "urlChanged"; public static const REPEAT_END:String = "repeatEnd"; mx_internal static const VERSION:String = "3.0.0.0"; public static const HIDE:String = "hide"; public static const ENTER:String = "enter"; public static const PRELOADER_DONE:String = "preloaderDone"; public static const CURSOR_UPDATE:String = "cursorUpdate"; public static const PREINITIALIZE:String = "preinitialize"; public static const INVALID:String = "invalid"; public static const IDLE:String = "idle"; public static const VALID:String = "valid"; public static const DATA_CHANGE:String = "dataChange"; public static const APPLICATION_COMPLETE:String = "applicationComplete"; public static const VALUE_COMMIT:String = "valueCommit"; public static const UPDATE_COMPLETE:String = "updateComplete"; public static const INIT_PROGRESS:String = "initProgress"; public static const SHOW:String = "show"; public function FlexEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new FlexEvent(type, bubbles, cancelable)); } } }//package mx.events
Section 174
//FlexMouseEvent (mx.events.FlexMouseEvent) package mx.events { import flash.display.*; import flash.events.*; public class FlexMouseEvent extends MouseEvent { public static const MOUSE_DOWN_OUTSIDE:String = "mouseDownOutside"; public static const MOUSE_WHEEL_OUTSIDE:String = "mouseWheelOutside"; mx_internal static const VERSION:String = "3.0.0.0"; public function FlexMouseEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Number=0, _arg5:Number=0, _arg6:InteractiveObject=null, _arg7:Boolean=false, _arg8:Boolean=false, _arg9:Boolean=false, _arg10:Boolean=false, _arg11:int=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11); } override public function clone():Event{ return (new FlexMouseEvent(type, bubbles, cancelable, localX, localY, relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta)); } } }//package mx.events
Section 175
//IndexChangedEvent (mx.events.IndexChangedEvent) package mx.events { import flash.display.*; import flash.events.*; public class IndexChangedEvent extends Event { public var newIndex:Number; public var triggerEvent:Event; public var relatedObject:DisplayObject; public var oldIndex:Number; public static const HEADER_SHIFT:String = "headerShift"; public static const CHANGE:String = "change"; mx_internal static const VERSION:String = "3.0.0.0"; public static const CHILD_INDEX_CHANGE:String = "childIndexChange"; public function IndexChangedEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:DisplayObject=null, _arg5:Number=-1, _arg6:Number=-1, _arg7:Event=null){ super(_arg1, _arg2, _arg3); this.relatedObject = _arg4; this.oldIndex = _arg5; this.newIndex = _arg6; this.triggerEvent = _arg7; } override public function clone():Event{ return (new IndexChangedEvent(type, bubbles, cancelable, relatedObject, oldIndex, newIndex, triggerEvent)); } } }//package mx.events
Section 176
//ListEvent (mx.events.ListEvent) package mx.events { import flash.events.*; import mx.controls.listClasses.*; public class ListEvent extends Event { public var reason:String; public var itemRenderer:IListItemRenderer; public var rowIndex:int; public var columnIndex:int; public static const ITEM_ROLL_OUT:String = "itemRollOut"; public static const ITEM_DOUBLE_CLICK:String = "itemDoubleClick"; public static const ITEM_EDIT_BEGIN:String = "itemEditBegin"; public static const ITEM_ROLL_OVER:String = "itemRollOver"; public static const ITEM_EDIT_END:String = "itemEditEnd"; public static const ITEM_EDIT_BEGINNING:String = "itemEditBeginning"; public static const CHANGE:String = "change"; mx_internal static const VERSION:String = "3.0.0.0"; public static const ITEM_FOCUS_OUT:String = "itemFocusOut"; public static const ITEM_CLICK:String = "itemClick"; public static const ITEM_FOCUS_IN:String = "itemFocusIn"; public function ListEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:int=-1, _arg5:int=-1, _arg6:String=null, _arg7:IListItemRenderer=null){ super(_arg1, _arg2, _arg3); this.columnIndex = _arg4; this.rowIndex = _arg5; this.reason = _arg6; this.itemRenderer = _arg7; } override public function clone():Event{ return (new ListEvent(type, bubbles, cancelable, columnIndex, rowIndex, reason, itemRenderer)); } } }//package mx.events
Section 177
//ListEventReason (mx.events.ListEventReason) package mx.events { public final class ListEventReason { public static const OTHER:String = "other"; public static const CANCELLED:String = "cancelled"; mx_internal static const VERSION:String = "3.0.0.0"; public static const NEW_ROW:String = "newRow"; } }//package mx.events
Section 178
//ModuleEvent (mx.events.ModuleEvent) package mx.events { import mx.core.*; import flash.events.*; import mx.modules.*; public class ModuleEvent extends ProgressEvent { public var errorText:String; private var _module:IModuleInfo; public static const READY:String = "ready"; public static const ERROR:String = "error"; public static const PROGRESS:String = "progress"; mx_internal static const VERSION:String = "3.0.0.0"; public static const SETUP:String = "setup"; public static const UNLOAD:String = "unload"; public function ModuleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null, _arg7:IModuleInfo=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.errorText = _arg6; this._module = _arg7; } public function get module():IModuleInfo{ if (_module){ return (_module); }; return ((target as IModuleInfo)); } override public function clone():Event{ return (new ModuleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText, module)); } } }//package mx.events
Section 179
//MoveEvent (mx.events.MoveEvent) package mx.events { import flash.events.*; public class MoveEvent extends Event { public var oldX:Number; public var oldY:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const MOVE:String = "move"; public function MoveEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Number=NaN, _arg5:Number=NaN){ super(_arg1, _arg2, _arg3); this.oldX = _arg4; this.oldY = _arg5; } override public function clone():Event{ return (new MoveEvent(type, bubbles, cancelable, oldX, oldY)); } } }//package mx.events
Section 180
//PropertyChangeEvent (mx.events.PropertyChangeEvent) package mx.events { import flash.events.*; public class PropertyChangeEvent extends Event { public var newValue:Object; public var kind:String; public var property:Object; public var oldValue:Object; public var source:Object; mx_internal static const VERSION:String = "3.0.0.0"; public static const PROPERTY_CHANGE:String = "propertyChange"; public function PropertyChangeEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:Object=null){ super(_arg1, _arg2, _arg3); this.kind = _arg4; this.property = _arg5; this.oldValue = _arg6; this.newValue = _arg7; this.source = _arg8; } override public function clone():Event{ return (new PropertyChangeEvent(type, bubbles, cancelable, kind, property, oldValue, newValue, source)); } public static function createUpdateEvent(_arg1:Object, _arg2:Object, _arg3:Object, _arg4:Object):PropertyChangeEvent{ var _local5:PropertyChangeEvent = new PropertyChangeEvent(PROPERTY_CHANGE); _local5.kind = PropertyChangeEventKind.UPDATE; _local5.oldValue = _arg3; _local5.newValue = _arg4; _local5.source = _arg1; _local5.property = _arg2; return (_local5); } } }//package mx.events
Section 181
//PropertyChangeEventKind (mx.events.PropertyChangeEventKind) package mx.events { public final class PropertyChangeEventKind { mx_internal static const VERSION:String = "3.0.0.0"; public static const UPDATE:String = "update"; public static const DELETE:String = "delete"; } }//package mx.events
Section 182
//ResizeEvent (mx.events.ResizeEvent) package mx.events { import flash.events.*; public class ResizeEvent extends Event { public var oldHeight:Number; public var oldWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const RESIZE:String = "resize"; public function ResizeEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Number=NaN, _arg5:Number=NaN){ super(_arg1, _arg2, _arg3); this.oldWidth = _arg4; this.oldHeight = _arg5; } override public function clone():Event{ return (new ResizeEvent(type, bubbles, cancelable, oldWidth, oldHeight)); } } }//package mx.events
Section 183
//ResourceEvent (mx.events.ResourceEvent) package mx.events { import mx.core.*; import flash.events.*; public class ResourceEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.0.0.0"; public static const COMPLETE:String = "complete"; public static const PROGRESS:String = "progress"; public static const ERROR:String = "error"; public function ResourceEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.errorText = _arg6; } override public function clone():Event{ return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText)); } } }//package mx.events
Section 184
//RSLEvent (mx.events.RSLEvent) package mx.events { import mx.core.*; import flash.events.*; import flash.net.*; public class RSLEvent extends ProgressEvent { public var errorText:String; public var rslIndex:int; public var rslTotal:int; public var url:URLRequest; public static const RSL_PROGRESS:String = "rslProgress"; public static const RSL_ERROR:String = "rslError"; mx_internal static const VERSION:String = "3.0.0.0"; public static const RSL_COMPLETE:String = "rslComplete"; public function RSLEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:int=-1, _arg5:int=-1, _arg6:int=-1, _arg7:int=-1, _arg8:URLRequest=null, _arg9:String=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.rslIndex = _arg6; this.rslTotal = _arg7; this.url = _arg8; this.errorText = _arg9; } override public function clone():Event{ return (new RSLEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, rslIndex, rslTotal, url, errorText)); } } }//package mx.events
Section 185
//ScrollEvent (mx.events.ScrollEvent) package mx.events { import flash.events.*; public class ScrollEvent extends Event { public var detail:String; public var delta:Number; public var position:Number; public var direction:String; mx_internal static const VERSION:String = "3.0.0.0"; public static const SCROLL:String = "scroll"; public function ScrollEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null, _arg5:Number=NaN, _arg6:String=null, _arg7:Number=NaN){ super(_arg1, _arg2, _arg3); this.detail = _arg4; this.position = _arg5; this.direction = _arg6; this.delta = _arg7; } override public function clone():Event{ return (new ScrollEvent(type, bubbles, cancelable, detail, position, direction, delta)); } } }//package mx.events
Section 186
//ScrollEventDetail (mx.events.ScrollEventDetail) package mx.events { public final class ScrollEventDetail { public static const LINE_UP:String = "lineUp"; public static const AT_RIGHT:String = "atRight"; public static const PAGE_UP:String = "pageUp"; public static const LINE_DOWN:String = "lineDown"; public static const PAGE_DOWN:String = "pageDown"; public static const AT_LEFT:String = "atLeft"; public static const PAGE_RIGHT:String = "pageRight"; public static const THUMB_POSITION:String = "thumbPosition"; public static const AT_TOP:String = "atTop"; public static const LINE_LEFT:String = "lineLeft"; public static const AT_BOTTOM:String = "atBottom"; public static const LINE_RIGHT:String = "lineRight"; public static const THUMB_TRACK:String = "thumbTrack"; public static const PAGE_LEFT:String = "pageLeft"; mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.events
Section 187
//ScrollEventDirection (mx.events.ScrollEventDirection) package mx.events { public final class ScrollEventDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.events
Section 188
//StateChangeEvent (mx.events.StateChangeEvent) package mx.events { import flash.events.*; public class StateChangeEvent extends Event { public var newState:String; public var oldState:String; public static const CURRENT_STATE_CHANGING:String = "currentStateChanging"; public static const CURRENT_STATE_CHANGE:String = "currentStateChange"; mx_internal static const VERSION:String = "3.0.0.0"; public function StateChangeEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null, _arg5:String=null){ super(_arg1, _arg2, _arg3); this.oldState = _arg4; this.newState = _arg5; } override public function clone():Event{ return (new StateChangeEvent(type, bubbles, cancelable, oldState, newState)); } } }//package mx.events
Section 189
//StyleEvent (mx.events.StyleEvent) package mx.events { import mx.core.*; import flash.events.*; public class StyleEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.0.0.0"; public static const COMPLETE:String = "complete"; public static const PROGRESS:String = "progress"; public static const ERROR:String = "error"; public function StyleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.errorText = _arg6; } override public function clone():Event{ return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText)); } } }//package mx.events
Section 190
//ToolTipEvent (mx.events.ToolTipEvent) package mx.events { import mx.core.*; import flash.events.*; public class ToolTipEvent extends Event { public var toolTip:IToolTip; public static const TOOL_TIP_SHOWN:String = "toolTipShown"; public static const TOOL_TIP_CREATE:String = "toolTipCreate"; public static const TOOL_TIP_SHOW:String = "toolTipShow"; public static const TOOL_TIP_HIDE:String = "toolTipHide"; public static const TOOL_TIP_END:String = "toolTipEnd"; mx_internal static const VERSION:String = "3.0.0.0"; public static const TOOL_TIP_START:String = "toolTipStart"; public function ToolTipEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:IToolTip=null){ super(_arg1, _arg2, _arg3); this.toolTip = _arg4; } override public function clone():Event{ return (new ToolTipEvent(type, bubbles, cancelable, toolTip)); } } }//package mx.events
Section 191
//TweenEvent (mx.events.TweenEvent) package mx.events { import flash.events.*; public class TweenEvent extends Event { public var value:Object; public static const TWEEN_END:String = "tweenEnd"; mx_internal static const VERSION:String = "3.0.0.0"; public static const TWEEN_UPDATE:String = "tweenUpdate"; public static const TWEEN_START:String = "tweenStart"; public function TweenEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){ super(_arg1, _arg2, _arg3); this.value = _arg4; } override public function clone():Event{ return (new TweenEvent(type, bubbles, cancelable, value)); } } }//package mx.events
Section 192
//ValidationResultEvent (mx.events.ValidationResultEvent) package mx.events { import flash.events.*; public class ValidationResultEvent extends Event { public var results:Array; public var field:String; public static const INVALID:String = "invalid"; mx_internal static const VERSION:String = "3.0.0.0"; public static const VALID:String = "valid"; public function ValidationResultEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null, _arg5:Array=null){ super(_arg1, _arg2, _arg3); this.field = _arg4; this.results = _arg5; } public function get message():String{ var _local1 = ""; var _local2:int = results.length; var _local3:int; while (_local3 < _local2) { if (results[_local3].isError){ _local1 = (_local1 + ((_local1 == "")) ? "" : "\n"); _local1 = (_local1 + results[_local3].errorMessage); }; _local3++; }; return (_local1); } override public function clone():Event{ return (new ValidationResultEvent(type, bubbles, cancelable, field, results)); } } }//package mx.events
Section 193
//RectangularDropShadow (mx.graphics.RectangularDropShadow) package mx.graphics { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.utils.*; import flash.filters.*; public class RectangularDropShadow { private var leftShadow:BitmapData; private var _tlRadius:Number;// = 0 private var _trRadius:Number;// = 0 private var _angle:Number;// = 45 private var topShadow:BitmapData; private var _distance:Number;// = 4 private var rightShadow:BitmapData; private var _alpha:Number;// = 0.4 private var shadow:BitmapData; private var _brRadius:Number;// = 0 private var _blRadius:Number;// = 0 private var _color:int;// = 0 private var bottomShadow:BitmapData; private var changed:Boolean;// = true mx_internal static const VERSION:String = "3.0.0.0"; public function get blRadius():Number{ return (_blRadius); } public function set brRadius(_arg1:Number):void{ if (_brRadius != _arg1){ _brRadius = _arg1; changed = true; }; } public function set color(_arg1:int):void{ if (_color != _arg1){ _color = _arg1; changed = true; }; } public function drawShadow(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; if (changed){ createShadowBitmaps(); changed = false; }; _arg4 = Math.ceil(_arg4); _arg5 = Math.ceil(_arg5); var _local6:int = (leftShadow) ? leftShadow.width : 0; var _local7:int = (rightShadow) ? rightShadow.width : 0; var _local8:int = (topShadow) ? topShadow.height : 0; var _local9:int = (bottomShadow) ? bottomShadow.height : 0; var _local10:int = (_local6 + _local7); var _local11:int = (_local8 + _local9); var _local12:Number = ((_arg5 + _local11) / 2); var _local13:Number = ((_arg4 + _local10) / 2); var _local14:Matrix = new Matrix(); if (((leftShadow) || (topShadow))){ _local15 = Math.min((tlRadius + _local10), _local13); _local16 = Math.min((tlRadius + _local11), _local12); _local14.tx = (_arg2 - _local6); _local14.ty = (_arg3 - _local8); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((_arg2 - _local6), (_arg3 - _local8), _local15, _local16); _arg1.endFill(); }; if (((rightShadow) || (topShadow))){ _local17 = Math.min((trRadius + _local10), _local13); _local18 = Math.min((trRadius + _local11), _local12); _local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width); _local14.ty = (_arg3 - _local8); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((((_arg2 + _arg4) + _local7) - _local17), (_arg3 - _local8), _local17, _local18); _arg1.endFill(); }; if (((leftShadow) || (bottomShadow))){ _local19 = Math.min((blRadius + _local10), _local13); _local20 = Math.min((blRadius + _local11), _local12); _local14.tx = (_arg2 - _local6); _local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((_arg2 - _local6), (((_arg3 + _arg5) + _local9) - _local20), _local19, _local20); _arg1.endFill(); }; if (((rightShadow) || (bottomShadow))){ _local21 = Math.min((brRadius + _local10), _local13); _local22 = Math.min((brRadius + _local11), _local12); _local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width); _local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((((_arg2 + _arg4) + _local7) - _local21), (((_arg3 + _arg5) + _local9) - _local22), _local21, _local22); _arg1.endFill(); }; if (leftShadow){ _local14.tx = (_arg2 - _local6); _local14.ty = 0; _arg1.beginBitmapFill(leftShadow, _local14); _arg1.drawRect((_arg2 - _local6), ((_arg3 - _local8) + _local16), _local6, ((((_arg5 + _local8) + _local9) - _local16) - _local20)); _arg1.endFill(); }; if (rightShadow){ _local14.tx = (_arg2 + _arg4); _local14.ty = 0; _arg1.beginBitmapFill(rightShadow, _local14); _arg1.drawRect((_arg2 + _arg4), ((_arg3 - _local8) + _local18), _local7, ((((_arg5 + _local8) + _local9) - _local18) - _local22)); _arg1.endFill(); }; if (topShadow){ _local14.tx = 0; _local14.ty = (_arg3 - _local8); _arg1.beginBitmapFill(topShadow, _local14); _arg1.drawRect(((_arg2 - _local6) + _local15), (_arg3 - _local8), ((((_arg4 + _local6) + _local7) - _local15) - _local17), _local8); _arg1.endFill(); }; if (bottomShadow){ _local14.tx = 0; _local14.ty = (_arg3 + _arg5); _arg1.beginBitmapFill(bottomShadow, _local14); _arg1.drawRect(((_arg2 - _local6) + _local19), (_arg3 + _arg5), ((((_arg4 + _local6) + _local7) - _local19) - _local21), _local9); _arg1.endFill(); }; } public function get brRadius():Number{ return (_brRadius); } public function get angle():Number{ return (_angle); } private function createShadowBitmaps():void{ var _local1:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius)); var _local2:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius)); if ((((_local1 < 0)) || ((_local2 < 0)))){ return; }; var _local3:Shape = new FlexShape(); var _local4:Graphics = _local3.graphics; _local4.beginFill(0xFFFFFF); GraphicsUtil.drawRoundRectComplex(_local4, 0, 0, _local1, _local2, tlRadius, trRadius, blRadius, brRadius); _local4.endFill(); var _local5:BitmapData = new BitmapData(_local1, _local2, true, 0); _local5.draw(_local3, new Matrix()); var _local6:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha); _local6.knockout = true; var _local7:Rectangle = new Rectangle(0, 0, _local1, _local2); var _local8:Rectangle = _local5.generateFilterRect(_local7, _local6); var _local9:Number = (_local7.left - _local8.left); var _local10:Number = (_local8.right - _local7.right); var _local11:Number = (_local7.top - _local8.top); var _local12:Number = (_local8.bottom - _local7.bottom); shadow = new BitmapData(_local8.width, _local8.height); shadow.applyFilter(_local5, _local7, new Point(_local9, _local11), _local6); var _local13:Point = new Point(0, 0); var _local14:Rectangle = new Rectangle(); if (_local9 > 0){ _local14.x = 0; _local14.y = ((tlRadius + _local11) + _local12); _local14.width = _local9; _local14.height = 1; leftShadow = new BitmapData(_local9, 1); leftShadow.copyPixels(shadow, _local14, _local13); } else { leftShadow = null; }; if (_local10 > 0){ _local14.x = (shadow.width - _local10); _local14.y = ((trRadius + _local11) + _local12); _local14.width = _local10; _local14.height = 1; rightShadow = new BitmapData(_local10, 1); rightShadow.copyPixels(shadow, _local14, _local13); } else { rightShadow = null; }; if (_local11 > 0){ _local14.x = ((tlRadius + _local9) + _local10); _local14.y = 0; _local14.width = 1; _local14.height = _local11; topShadow = new BitmapData(1, _local11); topShadow.copyPixels(shadow, _local14, _local13); } else { topShadow = null; }; if (_local12 > 0){ _local14.x = ((blRadius + _local9) + _local10); _local14.y = (shadow.height - _local12); _local14.width = 1; _local14.height = _local12; bottomShadow = new BitmapData(1, _local12); bottomShadow.copyPixels(shadow, _local14, _local13); } else { bottomShadow = null; }; } public function get alpha():Number{ return (_alpha); } public function get color():int{ return (_color); } public function set angle(_arg1:Number):void{ if (_angle != _arg1){ _angle = _arg1; changed = true; }; } public function set trRadius(_arg1:Number):void{ if (_trRadius != _arg1){ _trRadius = _arg1; changed = true; }; } public function set tlRadius(_arg1:Number):void{ if (_tlRadius != _arg1){ _tlRadius = _arg1; changed = true; }; } public function get trRadius():Number{ return (_trRadius); } public function set distance(_arg1:Number):void{ if (_distance != _arg1){ _distance = _arg1; changed = true; }; } public function get distance():Number{ return (_distance); } public function get tlRadius():Number{ return (_tlRadius); } public function set alpha(_arg1:Number):void{ if (_alpha != _arg1){ _alpha = _arg1; changed = true; }; } public function set blRadius(_arg1:Number):void{ if (_blRadius != _arg1){ _blRadius = _arg1; changed = true; }; } } }//package mx.graphics
Section 194
//RoundedRectangle (mx.graphics.RoundedRectangle) package mx.graphics { import flash.geom.*; import mx.core.*; public class RoundedRectangle extends Rectangle { public var cornerRadius:Number;// = 0 mx_internal static const VERSION:String = "3.0.0.0"; public function RoundedRectangle(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0){ super(_arg1, _arg2, _arg3, _arg4); this.cornerRadius = _arg5; } } }//package mx.graphics
Section 195
//InvalidCategoryError (mx.logging.errors.InvalidCategoryError) package mx.logging.errors { public class InvalidCategoryError extends Error { mx_internal static const VERSION:String = "3.0.0.0"; public function InvalidCategoryError(_arg1:String){ super(_arg1); } public function toString():String{ return (String(message)); } } }//package mx.logging.errors
Section 196
//ILogger (mx.logging.ILogger) package mx.logging { import flash.events.*; public interface ILogger extends IEventDispatcher { function debug(_arg1:String, ... _args):void; function fatal(_arg1:String, ... _args):void; function get category():String; function warn(_arg1:String, ... _args):void; function error(_arg1:String, ... _args):void; function log(_arg1:int, _arg2:String, ... _args):void; function info(_arg1:String, ... _args):void; } }//package mx.logging
Section 197
//ILoggingTarget (mx.logging.ILoggingTarget) package mx.logging { public interface ILoggingTarget { function addLogger(_arg1:ILogger):void; function removeLogger(_arg1:ILogger):void; function get level():int; function set filters(_arg1:Array):void; function set level(_arg1:int):void; function get filters():Array; } }//package mx.logging
Section 198
//Log (mx.logging.Log) package mx.logging { import mx.resources.*; import mx.logging.errors.*; public class Log { mx_internal static const VERSION:String = "3.0.0.0"; private static var _resourceManager:IResourceManager; private static var _targets:Array = []; private static var _loggers:Array; private static var NONE:int = 2147483647; private static var _targetLevel:int = NONE; private static function categoryMatchInFilterList(_arg1:String, _arg2:Array):Boolean{ var _local4:String; var _local3:Boolean; var _local5 = -1; var _local6:uint; while (_local6 < _arg2.length) { _local4 = _arg2[_local6]; _local5 = _local4.indexOf("*"); if (_local5 == 0){ return (true); }; _local5 = ((_local5 < 0)) ? _local5 = _arg1.length; _local5 : (_local5 - 1); if (_arg1.substring(0, _local5) == _local4.substring(0, _local5)){ return (true); }; _local6++; }; return (false); } public static function flush():void{ _loggers = []; _targets = []; _targetLevel = NONE; } public static function isDebug():Boolean{ return (((_targetLevel)<=LogEventLevel.DEBUG) ? true : false); } public static function getLogger(_arg1:String):ILogger{ var _local3:ILoggingTarget; checkCategory(_arg1); if (!_loggers){ _loggers = []; }; var _local2:ILogger = _loggers[_arg1]; if (_local2 == null){ _local2 = new LogLogger(_arg1); _loggers[_arg1] = _local2; }; var _local4:int; while (_local4 < _targets.length) { _local3 = ILoggingTarget(_targets[_local4]); if (categoryMatchInFilterList(_arg1, _local3.filters)){ _local3.addLogger(_local2); }; _local4++; }; return (_local2); } public static function isWarn():Boolean{ return (((_targetLevel)<=LogEventLevel.WARN) ? true : false); } public static function addTarget(_arg1:ILoggingTarget):void{ var _local2:Array; var _local3:ILogger; var _local4:String; var _local5:String; if (_arg1){ _local2 = _arg1.filters; for (_local4 in _loggers) { if (categoryMatchInFilterList(_local4, _local2)){ _arg1.addLogger(ILogger(_loggers[_local4])); }; }; _targets.push(_arg1); if (_targetLevel == NONE){ _targetLevel = _arg1.level; } else { if (_arg1.level < _targetLevel){ _targetLevel = _arg1.level; }; }; } else { _local5 = resourceManager.getString("logging", "invalidTarget"); throw (new ArgumentError(_local5)); }; } public static function hasIllegalCharacters(_arg1:String):Boolean{ return (!((_arg1.search(/[\[\]\~\$\^\&\\(\)\{\}\+\?\/=`!@#%,:;'"<>\s]/) == -1))); } private static function checkCategory(_arg1:String):void{ var _local2:String; if ((((_arg1 == null)) || ((_arg1.length == 0)))){ _local2 = resourceManager.getString("logging", "invalidLen"); throw (new InvalidCategoryError(_local2)); }; if (((hasIllegalCharacters(_arg1)) || (!((_arg1.indexOf("*") == -1))))){ _local2 = resourceManager.getString("logging", "invalidChars"); throw (new InvalidCategoryError(_local2)); }; } private static function resetTargetLevel():void{ var _local1:int = NONE; var _local2:int; while (_local2 < _targets.length) { if ((((_local1 == NONE)) || ((_targets[_local2].level < _local1)))){ _local1 = _targets[_local2].level; }; _local2++; }; _targetLevel = _local1; } public static function removeTarget(_arg1:ILoggingTarget):void{ var _local2:Array; var _local3:ILogger; var _local4:String; var _local5:int; var _local6:String; if (_arg1){ _local2 = _arg1.filters; for (_local4 in _loggers) { if (categoryMatchInFilterList(_local4, _local2)){ _arg1.removeLogger(ILogger(_loggers[_local4])); }; }; _local5 = 0; while (_local5 < _targets.length) { if (_arg1 == _targets[_local5]){ _targets.splice(_local5, 1); _local5--; }; _local5++; }; resetTargetLevel(); } else { _local6 = resourceManager.getString("logging", "invalidTarget"); throw (new ArgumentError(_local6)); }; } public static function isInfo():Boolean{ return (((_targetLevel)<=LogEventLevel.INFO) ? true : false); } public static function isFatal():Boolean{ return (((_targetLevel)<=LogEventLevel.FATAL) ? true : false); } public static function isError():Boolean{ return (((_targetLevel)<=LogEventLevel.ERROR) ? true : false); } private static function get resourceManager():IResourceManager{ if (!_resourceManager){ _resourceManager = ResourceManager.getInstance(); }; return (_resourceManager); } } }//package mx.logging
Section 199
//LogEvent (mx.logging.LogEvent) package mx.logging { import flash.events.*; public class LogEvent extends Event { public var level:int; public var message:String; mx_internal static const VERSION:String = "3.0.0.0"; public static const LOG:String = "log"; public function LogEvent(_arg1:String="", _arg2:int=0){ super(LogEvent.LOG, false, false); this.message = _arg1; this.level = _arg2; } override public function clone():Event{ return (new LogEvent(message, level)); } public static function getLevelString(_arg1:uint):String{ switch (_arg1){ case LogEventLevel.INFO: return ("INFO"); case LogEventLevel.DEBUG: return ("DEBUG"); case LogEventLevel.ERROR: return ("ERROR"); case LogEventLevel.WARN: return ("WARN"); case LogEventLevel.FATAL: return ("FATAL"); case LogEventLevel.ALL: return ("ALL"); }; return ("UNKNOWN"); } } }//package mx.logging
Section 200
//LogEventLevel (mx.logging.LogEventLevel) package mx.logging { public final class LogEventLevel { public static const ALL:int = 0; public static const FATAL:int = 1000; public static const WARN:int = 6; public static const INFO:int = 4; public static const ERROR:int = 8; public static const DEBUG:int = 2; mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.logging
Section 201
//LogLogger (mx.logging.LogLogger) package mx.logging { import flash.events.*; import mx.resources.*; public class LogLogger extends EventDispatcher implements ILogger { private var _category:String; private var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.0.0.0"; public function LogLogger(_arg1:String){ resourceManager = ResourceManager.getInstance(); super(); _category = _arg1; } public function log(_arg1:int, _arg2:String, ... _args):void{ var _local4:String; var _local5:int; if (_arg1 < LogEventLevel.DEBUG){ _local4 = resourceManager.getString("logging", "levelLimit"); throw (new ArgumentError(_local4)); }; if (hasEventListener(LogEvent.LOG)){ _local5 = 0; while (_local5 < _args.length) { _arg2 = _arg2.replace(new RegExp((("\\{" + _local5) + "\\}"), "g"), _args[_local5]); _local5++; }; dispatchEvent(new LogEvent(_arg2, _arg1)); }; } public function error(_arg1:String, ... _args):void{ var _local3:int; if (hasEventListener(LogEvent.LOG)){ _local3 = 0; while (_local3 < _args.length) { _arg1 = _arg1.replace(new RegExp((("\\{" + _local3) + "\\}"), "g"), _args[_local3]); _local3++; }; dispatchEvent(new LogEvent(_arg1, LogEventLevel.ERROR)); }; } public function warn(_arg1:String, ... _args):void{ var _local3:int; if (hasEventListener(LogEvent.LOG)){ _local3 = 0; while (_local3 < _args.length) { _arg1 = _arg1.replace(new RegExp((("\\{" + _local3) + "\\}"), "g"), _args[_local3]); _local3++; }; dispatchEvent(new LogEvent(_arg1, LogEventLevel.WARN)); }; } public function get category():String{ return (_category); } public function info(_arg1:String, ... _args):void{ var _local3:int; if (hasEventListener(LogEvent.LOG)){ _local3 = 0; while (_local3 < _args.length) { _arg1 = _arg1.replace(new RegExp((("\\{" + _local3) + "\\}"), "g"), _args[_local3]); _local3++; }; dispatchEvent(new LogEvent(_arg1, LogEventLevel.INFO)); }; } public function debug(_arg1:String, ... _args):void{ var _local3:int; if (hasEventListener(LogEvent.LOG)){ _local3 = 0; while (_local3 < _args.length) { _arg1 = _arg1.replace(new RegExp((("\\{" + _local3) + "\\}"), "g"), _args[_local3]); _local3++; }; dispatchEvent(new LogEvent(_arg1, LogEventLevel.DEBUG)); }; } public function fatal(_arg1:String, ... _args):void{ var _local3:int; if (hasEventListener(LogEvent.LOG)){ _local3 = 0; while (_local3 < _args.length) { _arg1 = _arg1.replace(new RegExp((("\\{" + _local3) + "\\}"), "g"), _args[_local3]); _local3++; }; dispatchEvent(new LogEvent(_arg1, LogEventLevel.FATAL)); }; } } }//package mx.logging
Section 202
//DragProxy (mx.managers.dragClasses.DragProxy) package mx.managers.dragClasses { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.effects.*; public class DragProxy extends UIComponent { public var allowMove:Boolean;// = true private var cursorClass:Class;// = null public var action:String; public var target:IUIComponent;// = null public var dragInitiator:IUIComponent; private var lastMouseEvent:MouseEvent; public var yOffset:Number; public var dragSource:DragSource; private var cursorID:int;// = 0 public var xOffset:Number; public var startX:Number; public var startY:Number; private var lastKeyEvent:KeyboardEvent; mx_internal static const VERSION:String = "3.0.0.0"; public function DragProxy(_arg1:IUIComponent, _arg2:DragSource){ this.dragInitiator = _arg1; this.dragSource = _arg2; var _local3:ISystemManager = _arg1.systemManager.topLevelSystemManager; _local3.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); _local3.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true); _local3.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _local3.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); } public function mouseUpHandler(_arg1:MouseEvent):void{ var _local2:DragEvent; var _local5:Point; var _local6:Move; var _local7:Zoom; var _local8:Move; var _local3:ISystemManager = dragInitiator.systemManager.topLevelSystemManager; _local3.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler); _local3.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true); _local3.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); stage.removeEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler); _local3.removeEventListener(KeyboardEvent.KEY_UP, keyUpHandler); var _local4:Object = automationDelegate; if (((target) && (!((action == DragManager.NONE))))){ _local2 = new DragEvent(DragEvent.DRAG_DROP); _local2.dragInitiator = dragInitiator; _local2.dragSource = dragSource; _local2.action = action; _local2.ctrlKey = _arg1.ctrlKey; _local2.altKey = _arg1.altKey; _local2.shiftKey = _arg1.shiftKey; _local5 = new Point(); _local5.x = lastMouseEvent.localX; _local5.y = lastMouseEvent.localY; _local5 = DisplayObject(lastMouseEvent.target).localToGlobal(_local5); _local5 = DisplayObject(target).globalToLocal(_local5); _local2.localX = _local5.x; _local2.localY = _local5.y; if (_local4){ _local4.recordAutomatableDragDrop(target, _local2); }; target.dispatchEvent(_local2); } else { action = DragManager.NONE; }; if (action == DragManager.NONE){ _local6 = new Move(this); _local6.addEventListener(EffectEvent.EFFECT_END, effectEndHandler); _local6.xFrom = x; _local6.yFrom = y; _local6.xTo = startX; _local6.yTo = startY; _local6.duration = 200; _local6.play(); } else { _local7 = new Zoom(this); new Zoom(this).zoomWidthFrom = (_local7.zoomHeightFrom = 1); _local7.zoomWidthTo = (_local7.zoomHeightTo = 0); _local7.duration = 200; _local7.play(); _local8 = new Move(this); _local8.addEventListener(EffectEvent.EFFECT_END, effectEndHandler); _local8.xFrom = x; _local8.yFrom = this.y; _local8.xTo = parent.mouseX; _local8.yTo = parent.mouseY; _local8.duration = 200; _local8.play(); }; _local2 = new DragEvent(DragEvent.DRAG_COMPLETE); _local2.dragInitiator = dragInitiator; _local2.dragSource = dragSource; _local2.relatedObject = InteractiveObject(target); _local2.action = action; _local2.ctrlKey = _arg1.ctrlKey; _local2.altKey = _arg1.altKey; _local2.shiftKey = _arg1.shiftKey; dragInitiator.dispatchEvent(_local2); if (((_local4) && ((action == DragManager.NONE)))){ _local4.recordAutomatableDragCancel(dragInitiator, _local2); }; cursorManager.removeCursor(cursorID); cursorID = CursorManager.NO_CURSOR; this.lastMouseEvent = null; } public function showFeedback():void{ var _local1:Class = cursorClass; var _local2:CSSStyleDeclaration = StyleManager.getStyleDeclaration("DragManager"); if (action == DragManager.COPY){ _local1 = _local2.getStyle("copyCursor"); } else { if (action == DragManager.LINK){ _local1 = _local2.getStyle("linkCursor"); } else { if (action == DragManager.NONE){ _local1 = _local2.getStyle("rejectCursor"); } else { _local1 = _local2.getStyle("moveCursor"); }; }; }; if (_local1 != cursorClass){ cursorClass = _local1; if (cursorID != CursorManager.NO_CURSOR){ cursorManager.removeCursor(cursorID); }; cursorID = cursorManager.setCursor(cursorClass, 2, 0, 0); }; } override public function initialize():void{ super.initialize(); stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler); stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler); if (!getFocus()){ setFocus(); }; } public function mouseMoveHandler(_arg1:MouseEvent):void{ var _local2:DragEvent; var _local3:DisplayObject; var _local4:int; var _local12:Boolean; var _local13:IUIComponent; lastMouseEvent = _arg1; var _local5:Point = new Point(); var _local6:Point = new Point(_arg1.localX, _arg1.localY); _local6 = DisplayObject(_arg1.target).localToGlobal(_local6); _local6 = DisplayObject(dragInitiator.systemManager.topLevelSystemManager).globalToLocal(_local6); var _local7:Number = _local6.x; var _local8:Number = _local6.y; x = (_local7 - xOffset); y = (_local8 - yOffset); if (!_arg1){ return; }; var _local9:Array = DisplayObjectContainer(dragInitiator.systemManager.topLevelSystemManager).getObjectsUnderPoint(new Point(_local7, _local8)); var _local10:DisplayObject; var _local11:int = (_local9.length - 1); while (_local11 >= 0) { _local10 = _local9[_local11]; if (((!((_local10 == this))) && (!(contains(_local10))))){ break; }; _local11--; }; if (target){ _local12 = false; _local13 = target; _local3 = _local10; while (_local3) { if (_local3 == target){ dispatchDragEvent(DragEvent.DRAG_OVER, _arg1, _local3); _local12 = true; break; } else { dispatchDragEvent(DragEvent.DRAG_ENTER, _arg1, _local3); if (target == _local3){ _local12 = false; break; }; }; _local3 = _local3.parent; }; if (!_local12){ dispatchDragEvent(DragEvent.DRAG_EXIT, _arg1, _local13); if (target == _local13){ target = null; }; }; }; if (!target){ action = DragManager.MOVE; _local3 = _local10; while (_local3) { if (_local3 != this){ dispatchDragEvent(DragEvent.DRAG_ENTER, _arg1, _local3); if (target){ break; }; }; _local3 = _local3.parent; }; if (!target){ action = DragManager.NONE; }; }; showFeedback(); } private function dispatchDragEvent(_arg1:String, _arg2:MouseEvent, _arg3:Object):void{ var _local4:DragEvent = new DragEvent(_arg1); var _local5:Point = new Point(); _local4.dragInitiator = dragInitiator; _local4.dragSource = dragSource; _local4.action = action; _local4.ctrlKey = _arg2.ctrlKey; _local4.altKey = _arg2.altKey; _local4.shiftKey = _arg2.shiftKey; _local5.x = lastMouseEvent.localX; _local5.y = lastMouseEvent.localY; _local5 = DisplayObject(lastMouseEvent.target).localToGlobal(_local5); _local5 = DisplayObject(_arg3).globalToLocal(_local5); _local4.localX = _local5.x; _local4.localY = _local5.y; _arg3.dispatchEvent(_local4); } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ checkKeyEvent(_arg1); } private function effectEndHandler(_arg1:EffectEvent):void{ var _local2 = DragManager; _local2.mx_internal::endDrag(); } public function checkKeyEvent(_arg1:KeyboardEvent):void{ var _local2:DragEvent; var _local3:Point; if (target){ if (((((lastKeyEvent) && ((_arg1.type == lastKeyEvent.type)))) && ((_arg1.keyCode == lastKeyEvent.keyCode)))){ return; }; lastKeyEvent = _arg1; _local2 = new DragEvent(DragEvent.DRAG_OVER); _local2.dragInitiator = dragInitiator; _local2.dragSource = dragSource; _local2.action = action; _local2.ctrlKey = _arg1.ctrlKey; _local2.altKey = _arg1.altKey; _local2.shiftKey = _arg1.shiftKey; _local3 = new Point(); _local3.x = lastMouseEvent.localX; _local3.y = lastMouseEvent.localY; _local3 = DisplayObject(lastMouseEvent.target).localToGlobal(_local3); _local3 = DisplayObject(target).globalToLocal(_local3); _local2.localX = _local3.x; _local2.localY = _local3.y; target.dispatchEvent(_local2); showFeedback(); }; } public function mouseLeaveHandler(_arg1:Event):void{ mouseUpHandler(lastMouseEvent); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ checkKeyEvent(_arg1); } public function stage_mouseMoveHandler(_arg1:MouseEvent):void{ if (_arg1.target != stage){ return; }; mouseMoveHandler(_arg1); } } }//package mx.managers.dragClasses
Section 203
//PriorityQueue (mx.managers.layoutClasses.PriorityQueue) package mx.managers.layoutClasses { import flash.display.*; import mx.core.*; import mx.managers.*; public class PriorityQueue { private var maxPriority:int;// = -1 private var arrayOfArrays:Array; private var minPriority:int;// = 0 mx_internal static const VERSION:String = "3.0.0.0"; public function PriorityQueue(){ arrayOfArrays = []; super(); } public function addObject(_arg1:Object, _arg2:int):void{ if (!arrayOfArrays[_arg2]){ arrayOfArrays[_arg2] = []; }; arrayOfArrays[_arg2].push(_arg1); if (maxPriority < minPriority){ minPriority = (maxPriority = _arg2); } else { if (_arg2 < minPriority){ minPriority = _arg2; }; if (_arg2 > maxPriority){ maxPriority = _arg2; }; }; } public function removeSmallest():Object{ var _local1:Object; if (minPriority <= maxPriority){ while (((!(arrayOfArrays[minPriority])) || ((arrayOfArrays[minPriority].length == 0)))) { minPriority++; if (minPriority > maxPriority){ return (null); }; }; _local1 = arrayOfArrays[minPriority].shift(); while (((!(arrayOfArrays[minPriority])) || ((arrayOfArrays[minPriority].length == 0)))) { minPriority++; if (minPriority > maxPriority){ break; }; }; }; return (_local1); } public function removeLargestChild(_arg1:ILayoutManagerClient):Object{ var _local5:int; var _local2:Object; var _local3:int = maxPriority; var _local4:int = _arg1.nestLevel; while (_local4 <= _local3) { if (((arrayOfArrays[_local3]) && ((arrayOfArrays[_local3].length > 0)))){ _local5 = 0; while (_local5 < arrayOfArrays[_local3].length) { if (contains(DisplayObject(_arg1), arrayOfArrays[_local3][_local5])){ _local2 = arrayOfArrays[_local3][_local5]; arrayOfArrays[_local3].splice(_local5, 1); return (_local2); }; _local5++; }; _local3--; } else { if (_local3 == maxPriority){ maxPriority--; }; _local3--; if (_local3 < _local4){ break; }; }; }; return (_local2); } public function isEmpty():Boolean{ return ((minPriority > maxPriority)); } public function removeLargest():Object{ var _local1:Object; if (minPriority <= maxPriority){ while (((!(arrayOfArrays[maxPriority])) || ((arrayOfArrays[maxPriority].length == 0)))) { maxPriority--; if (maxPriority < minPriority){ return (null); }; }; _local1 = arrayOfArrays[maxPriority].shift(); while (((!(arrayOfArrays[maxPriority])) || ((arrayOfArrays[maxPriority].length == 0)))) { maxPriority--; if (maxPriority < minPriority){ break; }; }; }; return (_local1); } public function removeSmallestChild(_arg1:ILayoutManagerClient):Object{ var _local4:int; var _local2:Object; var _local3:int = _arg1.nestLevel; while (_local3 <= maxPriority) { if (((arrayOfArrays[_local3]) && ((arrayOfArrays[_local3].length > 0)))){ _local4 = 0; while (_local4 < arrayOfArrays[_local3].length) { if (contains(DisplayObject(_arg1), arrayOfArrays[_local3][_local4])){ _local2 = arrayOfArrays[_local3][_local4]; arrayOfArrays[_local3].splice(_local4, 1); return (_local2); }; _local4++; }; _local3++; } else { if (_local3 == minPriority){ minPriority++; }; _local3++; if (_local3 > maxPriority){ break; }; }; }; return (_local2); } public function removeAll():void{ arrayOfArrays.splice(0); minPriority = 0; maxPriority = -1; } private function contains(_arg1:DisplayObject, _arg2:DisplayObject):Boolean{ var _local3:IChildList; if ((_arg1 is IRawChildrenContainer)){ _local3 = IRawChildrenContainer(_arg1).rawChildren; return (_local3.contains(_arg2)); }; if ((_arg1 is DisplayObjectContainer)){ return (DisplayObjectContainer(_arg1).contains(_arg2)); }; return ((_arg1 == _arg2)); } } }//package mx.managers.layoutClasses
Section 204
//BrowserManager (mx.managers.BrowserManager) package mx.managers { import mx.core.*; public class BrowserManager { mx_internal static const VERSION:String = "3.0.0.0"; private static var implClassDependency:BrowserManagerImpl; private static var instance:IBrowserManager; public static function getInstance():IBrowserManager{ if (!instance){ instance = IBrowserManager(Singleton.getInstance("mx.managers::IBrowserManager")); }; return (instance); } } }//package mx.managers
Section 205
//BrowserManagerImpl (mx.managers.BrowserManagerImpl) package mx.managers { import mx.core.*; import flash.events.*; import mx.events.*; import flash.external.*; public class BrowserManagerImpl extends EventDispatcher implements IBrowserManager { private var _defaultFragment:String;// = "" private var _title:String; private var browserMode:Boolean;// = true private var _fragment:String; private var _url:String; private var _base:String; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:IBrowserManager; public function BrowserManagerImpl(){ super(); try { ExternalInterface.addCallback("browserURLChange", browserURLChangeBrowser); ExternalInterface.addCallback("debugTrace", debugTrace); } catch(e:Error) { browserMode = false; }; } private function setup(_arg1:String, _arg2:String):void{ if (!browserMode){ return; }; _defaultFragment = _arg1; _url = ExternalInterface.call("BrowserHistory.getURL"); if (!_url){ browserMode = false; return; }; var _local3:int = _url.indexOf("#"); if ((((_local3 == -1)) || ((_local3 == (_url.length - 1))))){ _base = _url; _fragment = ""; _title = _arg2; ExternalInterface.call("BrowserHistory.setDefaultURL", _arg1); setTitle(_arg2); } else { _base = _url.substring(0, _local3); _fragment = _url.substring((_local3 + 1)); _title = ExternalInterface.call("BrowserHistory.getTitle"); ExternalInterface.call("BrowserHistory.setDefaultURL", _fragment); if (_fragment != _defaultFragment){ browserURLChange(_fragment, true); }; }; } private function browserURLChange(_arg1:String, _arg2:Boolean=false):void{ var _local3:String; if (((!((decodeURI(_fragment) == decodeURI(_arg1)))) || (_arg2))){ _fragment = _arg1; _local3 = url; _url = ((_base + "#") + _arg1); dispatchEvent(new BrowserChangeEvent(BrowserChangeEvent.BROWSER_URL_CHANGE, false, false, url, _local3)); dispatchEvent(new BrowserChangeEvent(BrowserChangeEvent.URL_CHANGE, false, false, url, _local3)); }; } public function get base():String{ return (_base); } public function setFragment(_arg1:String):void{ if (!browserMode){ return; }; var _local2:String = _url; var _local3:String = _fragment; _url = ((base + "#") + _arg1); _fragment = _arg1; if (dispatchEvent(new BrowserChangeEvent(BrowserChangeEvent.APPLICATION_URL_CHANGE, false, true, _url, _local2))){ ExternalInterface.call("BrowserHistory.setBrowserURL", _arg1, ExternalInterface.objectID); dispatchEvent(new BrowserChangeEvent(BrowserChangeEvent.URL_CHANGE, false, false, _url, _local2)); } else { _fragment = _local3; _url = _local2; }; } private function debugTrace(_arg1:String):void{ trace(_arg1); } public function get fragment():String{ if (((_fragment) && (_fragment.length))){ return (_fragment); }; return (_defaultFragment); } public function get title():String{ return (_title); } public function setTitle(_arg1:String):void{ if (!browserMode){ return; }; ExternalInterface.call("BrowserHistory.setTitle", _arg1); _title = ExternalInterface.call("BrowserHistory.getTitle"); } public function init(_arg1:String="", _arg2:String=""):void{ ApplicationGlobals.application.historyManagementEnabled = false; setup(_arg1, _arg2); } private function browserURLChangeBrowser(_arg1:String):void{ browserURLChange(_arg1, false); } public function initForHistoryManager():void{ setup("", ""); } public function get url():String{ return (_url); } public static function getInstance():IBrowserManager{ if (!instance){ instance = new (BrowserManagerImpl); }; return (instance); } } }//package mx.managers
Section 206
//CursorManager (mx.managers.CursorManager) package mx.managers { import mx.core.*; public class CursorManager { mx_internal static const VERSION:String = "3.0.0.0"; public static const NO_CURSOR:int = 0; private static var _impl:ICursorManager; private static var implClassDependency:CursorManagerImpl; public static function set currentCursorYOffset(_arg1:Number):void{ impl.currentCursorYOffset = _arg1; } mx_internal static function registerToUseBusyCursor(_arg1:Object):void{ impl.registerToUseBusyCursor(_arg1); } public static function get currentCursorID():int{ return (impl.currentCursorID); } public static function getInstance():ICursorManager{ return (impl); } public static function removeBusyCursor():void{ impl.removeBusyCursor(); } public static function setCursor(_arg1:Class, _arg2:int=2, _arg3:Number=0, _arg4:Number=0):int{ return (impl.setCursor(_arg1, _arg2, _arg3, _arg4)); } public static function set currentCursorID(_arg1:int):void{ impl.currentCursorID = _arg1; } mx_internal static function unRegisterToUseBusyCursor(_arg1:Object):void{ impl.unRegisterToUseBusyCursor(_arg1); } private static function get impl():ICursorManager{ if (!_impl){ _impl = ICursorManager(Singleton.getInstance("mx.managers::ICursorManager")); }; return (_impl); } public static function removeAllCursors():void{ impl.removeAllCursors(); } public static function setBusyCursor():void{ impl.setBusyCursor(); } public static function showCursor():void{ impl.showCursor(); } public static function hideCursor():void{ impl.hideCursor(); } public static function removeCursor(_arg1:int):void{ impl.removeCursor(_arg1); } public static function get currentCursorXOffset():Number{ return (impl.currentCursorXOffset); } public static function get currentCursorYOffset():Number{ return (impl.currentCursorYOffset); } public static function set currentCursorXOffset(_arg1:Number):void{ impl.currentCursorXOffset = _arg1; } } }//package mx.managers
Section 207
//CursorManagerImpl (mx.managers.CursorManagerImpl) package mx.managers { import flash.display.*; import flash.text.*; import mx.core.*; import flash.events.*; import mx.styles.*; import flash.ui.*; public class CursorManagerImpl implements ICursorManager { private var showSystemCursor:Boolean;// = false private var nextCursorID:int;// = 1 private var systemManager:ISystemManager;// = null private var cursorList:Array; private var _currentCursorYOffset:Number;// = 0 private var cursorHolder:Sprite; private var currentCursor:DisplayObject; private var _currentCursorID:int;// = 0 private var listenForContextMenu:Boolean;// = false private var showCustomCursor:Boolean;// = false private var initialized:Boolean;// = false private var overTextField:Boolean;// = false private var _currentCursorXOffset:Number;// = 0 private var busyCursorList:Array; private var overLink:Boolean;// = false private var sourceArray:Array; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:ICursorManager; public function CursorManagerImpl(_arg1:ISystemManager=null){ cursorList = []; busyCursorList = []; sourceArray = []; super(); if (((instance) && (!(_arg1)))){ throw (new Error("Instance already exists.")); }; if (_arg1){ this.systemManager = _arg1; } else { this.systemManager = ApplicationGlobals.application.systemManager; }; } public function set currentCursorYOffset(_arg1:Number):void{ _currentCursorYOffset = _arg1; } public function get currentCursorXOffset():Number{ return (_currentCursorXOffset); } public function removeCursor(_arg1:int):void{ var _local2:Object; var _local3:CursorQueueItem; for (_local2 in cursorList) { _local3 = cursorList[_local2]; if (_local3.cursorID == _arg1){ cursorList.splice(_local2, 1); showCurrentCursor(); break; }; }; } public function get currentCursorID():int{ return (_currentCursorID); } public function set currentCursorID(_arg1:int):void{ _currentCursorID = _arg1; } public function removeAllCursors():void{ cursorList.splice(0); showCurrentCursor(); } private function priorityCompare(_arg1:CursorQueueItem, _arg2:CursorQueueItem):int{ if (_arg1.priority < _arg2.priority){ return (-1); }; if (_arg1.priority == _arg2.priority){ return (0); }; return (1); } public function setBusyCursor():void{ var _local1:CSSStyleDeclaration = StyleManager.getStyleDeclaration("CursorManager"); var _local2:Class = _local1.getStyle("busyCursor"); busyCursorList.push(setCursor(_local2, CursorManagerPriority.LOW)); } public function showCursor():void{ if (cursorHolder){ cursorHolder.visible = true; }; } private function findSource(_arg1:Object):int{ var _local2:int = sourceArray.length; var _local3:int; while (_local3 < _local2) { if (sourceArray[_local3] === _arg1){ return (_local3); }; _local3++; }; return (-1); } private function showCurrentCursor():void{ var _local1:InteractiveObject; var _local2:InteractiveObject; var _local3:CursorQueueItem; var _local4:ISystemManager; if (cursorList.length > 0){ if (!initialized){ cursorHolder = new FlexSprite(); cursorHolder.name = "cursorHolder"; cursorHolder.mouseEnabled = false; initialized = true; }; _local3 = cursorList[0]; if (currentCursorID == CursorManager.NO_CURSOR){ Mouse.hide(); }; if (_local3.cursorID != currentCursorID){ if (cursorHolder.numChildren > 0){ cursorHolder.removeChildAt(0); }; currentCursor = new _local3.cursorClass(); if (currentCursor){ if ((currentCursor is InteractiveObject)){ InteractiveObject(currentCursor).mouseEnabled = false; }; _local4 = (_local3.systemManager) ? _local3.systemManager : ApplicationGlobals.application.systemManager; if (((systemManager) && (!((systemManager == _local4))))){ systemManager.cursorChildren.removeChild(cursorHolder); }; systemManager = _local4; if (!systemManager.cursorChildren.contains(cursorHolder)){ systemManager.cursorChildren.addChild(cursorHolder); }; cursorHolder.addChild(currentCursor); if (!listenForContextMenu){ _local1 = (systemManager.document as InteractiveObject); if (((_local1) && (_local1.contextMenu))){ _local1.contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelectHandler); listenForContextMenu = true; }; _local2 = (systemManager as InteractiveObject); if (((_local2) && (_local2.contextMenu))){ _local2.contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelectHandler); listenForContextMenu = true; }; }; if ((systemManager is SystemManager)){ cursorHolder.x = (SystemManager(systemManager).mouseX + _local3.x); cursorHolder.y = (SystemManager(systemManager).mouseY + _local3.y); } else { if ((systemManager is DisplayObject)){ cursorHolder.x = (DisplayObject(systemManager).mouseX + _local3.x); cursorHolder.y = (DisplayObject(systemManager).mouseY + _local3.y); } else { cursorHolder.x = _local3.x; cursorHolder.y = _local3.y; }; }; systemManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true, EventPriority.CURSOR_MANAGEMENT); }; currentCursorID = _local3.cursorID; currentCursorXOffset = _local3.x; currentCursorYOffset = _local3.y; }; } else { if (currentCursorID != CursorManager.NO_CURSOR){ currentCursorID = CursorManager.NO_CURSOR; currentCursorXOffset = 0; currentCursorYOffset = 0; systemManager.stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); cursorHolder.removeChild(currentCursor); if (listenForContextMenu){ _local1 = (systemManager.document as InteractiveObject); if (((_local1) && (_local1.contextMenu))){ _local1.contextMenu.removeEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelectHandler); }; _local2 = (systemManager as InteractiveObject); if (((_local2) && (_local2.contextMenu))){ _local2.contextMenu.removeEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelectHandler); }; listenForContextMenu = false; }; }; Mouse.show(); }; } public function get currentCursorYOffset():Number{ return (_currentCursorYOffset); } private function contextMenu_menuSelectHandler(_arg1:ContextMenuEvent):void{ showCustomCursor = true; systemManager.stage.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); } public function hideCursor():void{ if (cursorHolder){ cursorHolder.visible = false; }; } public function registerToUseBusyCursor(_arg1:Object):void{ if (((_arg1) && ((_arg1 is EventDispatcher)))){ _arg1.addEventListener(ProgressEvent.PROGRESS, progressHandler); _arg1.addEventListener(Event.COMPLETE, completeHandler); _arg1.addEventListener(IOErrorEvent.IO_ERROR, completeHandler); }; } private function completeHandler(_arg1:Event):void{ var _local2:int = findSource(_arg1.target); if (_local2 != -1){ sourceArray.splice(_local2, 1); removeBusyCursor(); }; } public function setCursor(_arg1:Class, _arg2:int=2, _arg3:Number=0, _arg4:Number=0):int{ var _local5:int = nextCursorID++; var _local6:CursorQueueItem = new CursorQueueItem(); _local6.cursorID = _local5; _local6.cursorClass = _arg1; _local6.priority = _arg2; _local6.x = _arg3; _local6.y = _arg4; if (systemManager){ _local6.systemManager = systemManager; } else { _local6.systemManager = ApplicationGlobals.application.systemManager; }; cursorList.push(_local6); cursorList.sort(priorityCompare); showCurrentCursor(); return (_local5); } private function progressHandler(_arg1:ProgressEvent):void{ var _local2:int = findSource(_arg1.target); if (_local2 == -1){ sourceArray.push(_arg1.target); setBusyCursor(); }; } public function removeBusyCursor():void{ if (busyCursorList.length > 0){ removeCursor(int(busyCursorList.pop())); }; } private function mouseMoveHandler(_arg1:MouseEvent):void{ if ((systemManager is SystemManager)){ cursorHolder.x = (SystemManager(systemManager).mouseX + currentCursorXOffset); cursorHolder.y = (SystemManager(systemManager).mouseY + currentCursorYOffset); } else { if ((systemManager is DisplayObject)){ cursorHolder.x = (DisplayObject(systemManager).mouseX + currentCursorXOffset); cursorHolder.y = (DisplayObject(systemManager).mouseY + currentCursorYOffset); } else { cursorHolder.x = currentCursorXOffset; cursorHolder.y = currentCursorYOffset; }; }; var _local2:Object = _arg1.target; if (((((!(overTextField)) && ((_local2 is TextField)))) && ((_local2.type == TextFieldType.INPUT)))){ overTextField = true; showSystemCursor = true; } else { if (((overTextField) && (!((((_local2 is TextField)) && ((_local2.type == TextFieldType.INPUT))))))){ overTextField = false; showCustomCursor = true; }; }; if (showSystemCursor){ showSystemCursor = false; cursorHolder.visible = false; Mouse.show(); }; if (showCustomCursor){ showCustomCursor = false; cursorHolder.visible = true; Mouse.hide(); }; } public function unRegisterToUseBusyCursor(_arg1:Object):void{ if (((_arg1) && ((_arg1 is EventDispatcher)))){ _arg1.removeEventListener(ProgressEvent.PROGRESS, progressHandler); _arg1.removeEventListener(Event.COMPLETE, completeHandler); _arg1.removeEventListener(IOErrorEvent.IO_ERROR, completeHandler); }; } private function mouseOverHandler(_arg1:MouseEvent):void{ systemManager.stage.removeEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); mouseMoveHandler(_arg1); } public function set currentCursorXOffset(_arg1:Number):void{ _currentCursorXOffset = _arg1; } public static function getInstance():ICursorManager{ if (!instance){ instance = new (CursorManagerImpl); }; return (instance); } } }//package mx.managers class CursorQueueItem { public var priority:int;// = 2 public var cursorClass:Class;// = null public var cursorID:int;// = 0 public var x:Number; public var y:Number; public var systemManager:ISystemManager; mx_internal static const VERSION:String = "3.0.0.0"; private function CursorQueueItem(){ } }
Section 208
//CursorManagerPriority (mx.managers.CursorManagerPriority) package mx.managers { public final class CursorManagerPriority { public static const HIGH:int = 1; public static const MEDIUM:int = 2; mx_internal static const VERSION:String = "3.0.0.0"; public static const LOW:int = 3; } }//package mx.managers
Section 209
//DragManager (mx.managers.DragManager) package mx.managers { import mx.core.*; import flash.events.*; import mx.managers.dragClasses.*; public class DragManager { public static const MOVE:String = "move"; public static const COPY:String = "copy"; mx_internal static const VERSION:String = "3.0.0.0"; public static const LINK:String = "link"; public static const NONE:String = "none"; private static var implClassDependency:DragManagerImpl; private static var _impl:IDragManager; private static function get impl():IDragManager{ if (!_impl){ _impl = IDragManager(Singleton.getInstance("mx.managers::IDragManager")); }; return (_impl); } mx_internal static function get dragProxy():DragProxy{ return (Object(impl).dragProxy); } public static function showFeedback(_arg1:String):void{ impl.showFeedback(_arg1); } public static function acceptDragDrop(_arg1:IUIComponent):void{ impl.acceptDragDrop(_arg1); } public static function doDrag(_arg1:IUIComponent, _arg2:DragSource, _arg3:MouseEvent, _arg4:IFlexDisplayObject=null, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0.5, _arg8:Boolean=true):void{ impl.doDrag(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } mx_internal static function endDrag():void{ impl.endDrag(); } public static function get isDragging():Boolean{ return (impl.isDragging); } public static function getFeedback():String{ return (impl.getFeedback()); } } }//package mx.managers
Section 210
//DragManagerImpl (mx.managers.DragManagerImpl) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.events.*; import mx.styles.*; import mx.managers.dragClasses.*; public class DragManagerImpl implements IDragManager { private var bDoingDrag:Boolean;// = false private var mouseIsDown:Boolean;// = false public var dragProxy:DragProxy; private var dragInitiator:IUIComponent; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:IDragManager; private static var sm:ISystemManager; public function DragManagerImpl(){ if (instance){ throw (new Error("Instance already exists.")); }; if (sm.isTopLevel()){ sm.addEventListener(MouseEvent.MOUSE_DOWN, sm_mouseDownHandler); sm.addEventListener(MouseEvent.MOUSE_UP, sm_mouseUpHandler); }; } public function showFeedback(_arg1:String):void{ if (dragProxy){ if ((((_arg1 == DragManager.MOVE)) && (!(dragProxy.allowMove)))){ _arg1 = DragManager.COPY; }; dragProxy.action = _arg1; }; } private function sm_mouseDownHandler(_arg1:MouseEvent):void{ mouseIsDown = true; } public function getFeedback():String{ return ((dragProxy) ? dragProxy.action : DragManager.NONE); } public function acceptDragDrop(_arg1:IUIComponent):void{ if (dragProxy){ dragProxy.target = _arg1; }; } public function get isDragging():Boolean{ return (bDoingDrag); } private function sm_mouseUpHandler(_arg1:MouseEvent):void{ mouseIsDown = false; } public function endDrag():void{ var _local1:ISystemManager; if (dragProxy){ _local1 = dragInitiator.systemManager; _local1.popUpChildren.removeChild(dragProxy); dragProxy.removeChildAt(0); dragProxy = null; }; dragInitiator = null; bDoingDrag = false; } public function doDrag(_arg1:IUIComponent, _arg2:DragSource, _arg3:MouseEvent, _arg4:IFlexDisplayObject=null, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0.5, _arg8:Boolean=true):void{ var _local9:Number; var _local10:Number; var _local17:CSSStyleDeclaration; var _local18:Class; if (bDoingDrag){ return; }; if (!(((((((_arg3.type == MouseEvent.MOUSE_DOWN)) || ((_arg3.type == MouseEvent.CLICK)))) || (mouseIsDown))) || (_arg3.buttonDown))){ return; }; bDoingDrag = true; this.dragInitiator = _arg1; dragProxy = new DragProxy(_arg1, _arg2); _arg1.systemManager.popUpChildren.addChild(dragProxy); if (!_arg4){ _local17 = StyleManager.getStyleDeclaration("DragManager"); _local18 = _local17.getStyle("defaultDragImageSkin"); _arg4 = new (_local18); dragProxy.addChild(DisplayObject(_arg4)); _local9 = _arg1.width; _local10 = _arg1.height; } else { dragProxy.addChild(DisplayObject(_arg4)); if ((_arg4 is ILayoutManagerClient)){ UIComponentGlobals.layoutManager.validateClient(ILayoutManagerClient(_arg4), true); }; if ((_arg4 is IUIComponent)){ _local9 = (_arg4 as IUIComponent).getExplicitOrMeasuredWidth(); _local10 = (_arg4 as IUIComponent).getExplicitOrMeasuredHeight(); } else { _local9 = _arg4.measuredWidth; _local10 = _arg4.measuredHeight; }; }; _arg4.setActualSize(_local9, _local10); dragProxy.setActualSize(_local9, _local10); dragProxy.alpha = _arg7; dragProxy.allowMove = _arg8; var _local11:Object = _arg3.target; if (_local11 == null){ _local11 = _arg1; }; var _local12:Point = new Point(_arg3.localX, _arg3.localY); _local12 = DisplayObject(_local11).localToGlobal(_local12); _local12 = DisplayObject(_arg1.systemManager.topLevelSystemManager).globalToLocal(_local12); var _local13:Number = _local12.x; var _local14:Number = _local12.y; var _local15:Point = DisplayObject(_local11).localToGlobal(new Point(_arg3.localX, _arg3.localY)); _local15 = DisplayObject(_arg1).globalToLocal(_local15); dragProxy.xOffset = (_local15.x + _arg5); dragProxy.yOffset = (_local15.y + _arg6); dragProxy.x = (_local13 - dragProxy.xOffset); dragProxy.y = (_local14 - dragProxy.yOffset); dragProxy.startX = dragProxy.x; dragProxy.startY = dragProxy.y; if ((_arg4 is DisplayObject)){ DisplayObject(_arg4).cacheAsBitmap = true; }; var _local16:Object = dragProxy.automationDelegate; if (_local16){ _local16.recordAutomatableDragStart(_arg1, _arg3); }; } public static function getInstance():IDragManager{ if (!instance){ sm = SystemManagerGlobals.topLevelSystemManagers[0]; instance = new (DragManagerImpl); }; return (instance); } } }//package mx.managers
Section 211
//FocusManager (mx.managers.FocusManager) package mx.managers { import flash.display.*; import flash.text.*; import mx.core.*; import flash.events.*; import mx.events.*; import flash.system.*; import flash.ui.*; public class FocusManager implements IFocusManager { private var focusableObjects:Array; private var _showFocusIndicator:Boolean;// = false private var defButton:IButton; private var _form:IFocusManagerContainer; private var focusableCandidates:Array; private var LARGE_TAB_INDEX:int;// = 99999 private var browserFocusComponent:InteractiveObject; private var activated:Boolean;// = false private var _defaultButton:IButton; private var calculateCandidates:Boolean;// = true private var _focusPane:Sprite; private var lastFocus:IFocusManagerComponent; private var _defaultButtonEnabled:Boolean;// = true public var browserMode:Boolean; private var lastAction:String; mx_internal static const VERSION:String = "3.0.0.0"; public function FocusManager(_arg1:IFocusManagerContainer, _arg2:Boolean=false){ browserMode = (((Capabilities.playerType == "ActiveX")) && (!(_arg2))); _arg1.focusManager = this; _form = _arg1; focusableObjects = []; focusPane = new FlexSprite(); focusPane.name = "focusPane"; addFocusables(DisplayObject(_arg1)); _arg1.addEventListener(Event.ADDED, addedHandler); _arg1.addEventListener(Event.REMOVED, removedHandler); _arg1.addEventListener(FlexEvent.SHOW, showHandler); _arg1.addEventListener(FlexEvent.HIDE, hideHandler); if ((_arg1.systemManager is SystemManager)){ if (_arg1 != SystemManager(_arg1.systemManager).application){ _arg1.addEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler); }; }; _arg1.systemManager.addFocusManager(_arg1); } public function deactivate():void{ form.systemManager.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler); form.systemManager.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.systemManager.stage.removeEventListener(Event.ACTIVATE, activateHandler); form.systemManager.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler); form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = false; } private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{ var _local7:DisplayObject; var _local8:IFocusManagerGroup; var _local9:int; var _local10:DisplayObject; var _local11:IFocusManagerGroup; var _local5:int = focusableCandidates.length; var _local6:int = _arg1; while (true) { if (_arg2){ _arg1--; } else { _arg1++; }; if (_arg3){ if (((_arg2) && ((_arg1 < 0)))){ break; }; if (((!(_arg2)) && ((_arg1 == _local5)))){ break; }; } else { _arg1 = ((_arg1 + _local5) % _local5); if (_local6 == _arg1){ break; }; }; if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){ _local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1])); if ((_local7 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local7); _local9 = 0; while (_local9 < focusableCandidates.length) { _local10 = focusableCandidates[_local9]; if ((_local10 is IFocusManagerGroup)){ _local11 = IFocusManagerGroup(_local10); if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){ if (((!((InteractiveObject(_local10).tabIndex == InteractiveObject(_local7).tabIndex))) && (!(_local8.selected)))){ return (getIndexOfNextObject(_arg1, _arg2, _arg3, _arg4)); }; _arg1 = _local9; break; }; }; _local9++; }; }; return (_arg1); }; }; return (_arg1); } private function mouseFocusChangeHandler(_arg1:FocusEvent):void{ var _local2:TextField; if ((_arg1.relatedObject is TextField)){ _local2 = (_arg1.relatedObject as TextField); if ((((_local2.type == "input")) || (_local2.selectable))){ return; }; }; _arg1.preventDefault(); } mx_internal function set form(_arg1:IFocusManagerContainer):void{ _form = _arg1; } private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{ var focusable:IFocusManagerComponent; var doc:DisplayObjectContainer; var i:int; var rawChildren:IChildList; var o = _arg1; var skipTopLevel = _arg2; if ((((o is IFocusManagerComponent)) && (!(skipTopLevel)))){ focusable = IFocusManagerComponent(o); if (focusable.focusEnabled){ if (((focusable.tabEnabled) && (isTabVisible(o)))){ focusableObjects.push(o); calculateCandidates = true; }; o.addEventListener("tabEnabledChange", tabEnabledChangeHandler); o.addEventListener("tabIndexChange", tabIndexChangeHandler); }; }; if ((o is DisplayObjectContainer)){ doc = DisplayObjectContainer(o); o.addEventListener("tabChildrenChange", tabChildrenChangeHandler); if (doc.tabChildren){ if ((o is IRawChildrenContainer)){ rawChildren = IRawChildrenContainer(o).rawChildren; i = 0; while (i < rawChildren.numChildren) { try { addFocusables(rawChildren.getChildAt(i)); } catch(error:SecurityError) { }; i = (i + 1); }; } else { i = 0; while (i < doc.numChildren) { try { addFocusables(doc.getChildAt(i)); } catch(error:SecurityError) { }; i = (i + 1); }; }; }; }; } private function getMaxTabIndex():int{ var _local4:Number; var _local1:Number = 0; var _local2:int = focusableObjects.length; var _local3:int; while (_local3 < _local2) { _local4 = focusableObjects[_local3].tabIndex; if (!isNaN(_local4)){ _local1 = Math.max(_local1, _local4); }; _local3++; }; return (_local1); } private function showHandler(_arg1:Event):void{ form.systemManager.activate(form); } public function toString():String{ return ((Object(form).toString() + ".focusManager")); } private function mouseDownHandler(_arg1:MouseEvent):void{ if (_arg1.isDefaultPrevented()){ return; }; var _local2:DisplayObject = getTopLevelFocusTarget(InteractiveObject(_arg1.target)); if (!_local2){ return; }; showFocusIndicator = false; if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){ setFocus(IFocusManagerComponent(_local2)); }; lastAction = "MOUSEDOWN"; } private function sortByDepth(_arg1:IFocusManagerComponent, _arg2:IFocusManagerComponent):Number{ var _local5:int; var _local6:String; var _local7:String; var _local3 = ""; var _local4 = ""; var _local8 = "0000"; var _local9:DisplayObject = DisplayObject(_arg1); var _local10:DisplayObject = DisplayObject(_arg2); while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) { _local5 = getChildIndex(_local9.parent, _local9); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local3 = (_local7 + _local3); _local9 = _local9.parent; }; while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) { _local5 = getChildIndex(_local10.parent, _local10); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local4 = (_local7 + _local4); _local10 = _local10.parent; }; return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0); } private function focusOutHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject = InteractiveObject(_arg1.target); } public function setFocus(_arg1:IFocusManagerComponent):void{ _arg1.setFocus(); } private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{ var parent = _arg1; var child = _arg2; try { return (parent.getChildIndex(child)); } catch(e:Error) { if ((parent is IRawChildrenContainer)){ return (IRawChildrenContainer(parent).rawChildren.getChildIndex(child)); }; throw (e); }; throw (new Error("FocusManager.getChildIndex failed")); } public function findFocusManagerComponent(_arg1:InteractiveObject):IFocusManagerComponent{ while (_arg1) { if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){ return (IFocusManagerComponent(_arg1)); }; _arg1 = _arg1.parent; }; return (null); } private function sortFocusableObjectsTabIndex():void{ var _local3:IFocusManagerComponent; focusableCandidates = []; var _local1:int = focusableObjects.length; var _local2:int; while (_local2 < _local1) { _local3 = focusableObjects[_local2]; if (((_local3.tabIndex) && (!(isNaN(Number(_local3.tabIndex)))))){ focusableCandidates.push(_local3); }; _local2++; }; focusableCandidates.sort(sortByTabIndex); } private function removeFocusables(_arg1:DisplayObject, _arg2:Boolean):void{ var _local3:int; if ((_arg1 is DisplayObjectContainer)){ if (!_arg2){ _arg1.removeEventListener("tabChildrenChange", tabChildrenChangeHandler); }; _local3 = 0; while (_local3 < focusableObjects.length) { if (isParent(DisplayObjectContainer(_arg1), focusableObjects[_local3])){ if (focusableObjects[_local3] == lastFocus){ lastFocus.drawFocus(false); lastFocus = null; }; focusableObjects[_local3].removeEventListener("tabEnabledChange", tabEnabledChangeHandler); focusableObjects[_local3].removeEventListener("tabIndexChange", tabIndexChangeHandler); focusableObjects.splice(_local3, 1); _local3--; calculateCandidates = true; }; _local3++; }; }; } private function setFocusToNextObject(_arg1:FocusEvent):void{ if (focusableObjects.length == 0){ return; }; var _local2:IFocusManagerComponent = getNextFocusManagerComponent(_arg1.shiftKey); if (_local2){ if ((_local2 is IFocusManagerComplexComponent)){ IFocusManagerComplexComponent(_local2).assignFocus((_arg1.shiftKey) ? "bottom" : "top"); } else { setFocus(_local2); }; }; } private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{ while (_arg1 != InteractiveObject(form)) { if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (((_arg1 is IUIComponent)) ? IUIComponent(_arg1).enabled : true))){ return (_arg1); }; _arg1 = _arg1.parent; if (_arg1 == null){ break; }; }; return (null); } public function set defaultButton(_arg1:IButton):void{ var _local2:IButton = (_arg1) ? IButton(_arg1) : null; if (_local2 != _defaultButton){ if (_defaultButton){ _defaultButton.emphasized = false; }; if (defButton){ defButton.emphasized = false; }; _defaultButton = _local2; defButton = _local2; if (_local2){ _local2.emphasized = true; }; }; } mx_internal function sendDefaultButtonEvent():void{ defButton.dispatchEvent(new MouseEvent("click")); } public function getFocus():IFocusManagerComponent{ var _local1:InteractiveObject = form.systemManager.stage.focus; return (findFocusManagerComponent(_local1)); } private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer = DisplayObject(form).parent; while (_arg1 != _local2) { if ((_arg1 is IUIComponent)){ if (!IUIComponent(_arg1).enabled){ return (false); }; }; if (!_arg1.visible){ return (false); }; _arg1 = _arg1.parent; }; return (true); } private function deactivateHandler(_arg1:Event):void{ var _local2:InteractiveObject = InteractiveObject(_arg1.target); } private function hideHandler(_arg1:Event):void{ form.systemManager.deactivate(form); } private function addedHandler(_arg1:Event):void{ var _local2:DisplayObject = DisplayObject(_arg1.target); if (_local2.stage){ addFocusables(DisplayObject(_arg1.target)); }; } public function hideFocus():void{ if (showFocusIndicator){ showFocusIndicator = false; if (lastFocus){ lastFocus.drawFocus(false); }; }; } private function tabChildrenChangeHandler(_arg1:Event):void{ if (_arg1.target != _arg1.currentTarget){ return; }; calculateCandidates = true; var _local2:DisplayObjectContainer = DisplayObjectContainer(_arg1.target); if (_local2.tabChildren){ addFocusables(_local2, true); } else { removeFocusables(_local2, true); }; } private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{ var _local3:IFocusManagerGroup; if (!isEnabledAndVisible(_arg1)){ return (false); }; if ((_arg1 is IFocusManagerGroup)){ _local3 = IFocusManagerGroup(_arg1); if (_arg2 == _local3.groupName){ return (false); }; }; return (true); } public function set focusPane(_arg1:Sprite):void{ _focusPane = _arg1; } private function keyFocusChangeHandler(_arg1:FocusEvent):void{ showFocusIndicator = true; if ((((_arg1.keyCode == Keyboard.TAB)) && (!(_arg1.isDefaultPrevented())))){ if (browserFocusComponent){ if (browserFocusComponent.tabIndex == LARGE_TAB_INDEX){ browserFocusComponent.tabIndex = -1; }; browserFocusComponent = null; return; }; setFocusToNextObject(_arg1); _arg1.preventDefault(); }; } private function getIndexOfFocusedObject(_arg1:DisplayObject):int{ var _local4:IUIComponent; if (!_arg1){ return (-1); }; var _local2:int = focusableCandidates.length; var _local3:int; _local3 = 0; while (_local3 < _local2) { if (focusableCandidates[_local3] == _arg1){ return (_local3); }; _local3++; }; _local3 = 0; while (_local3 < _local2) { _local4 = (focusableCandidates[_local3] as IUIComponent); if (((_local4) && (_local4.owns(_arg1)))){ return (_local3); }; _local3++; }; return (-1); } private function isParent(_arg1:DisplayObjectContainer, _arg2:DisplayObject):Boolean{ if ((_arg1 is IRawChildrenContainer)){ return (IRawChildrenContainer(_arg1).rawChildren.contains(_arg2)); }; return (_arg1.contains(_arg2)); } private function removedHandler(_arg1:Event):void{ var _local2:int; var _local3:DisplayObject = DisplayObject(_arg1.target); if ((_local3 is IFocusManagerComponent)){ _local2 = 0; while (_local2 < focusableObjects.length) { if (_local3 == focusableObjects[_local2]){ if (_local3 == lastFocus){ lastFocus.drawFocus(false); lastFocus = null; }; _local3.removeEventListener("tabEnabledChange", tabEnabledChangeHandler); _local3.removeEventListener("tabIndexChange", tabIndexChangeHandler); focusableObjects.splice(_local2, 1); calculateCandidates = true; break; }; _local2++; }; }; removeFocusables(_local3, false); } mx_internal function get form():IFocusManagerContainer{ return (_form); } private function tabIndexChangeHandler(_arg1:Event):void{ calculateCandidates = true; } private function sortFocusableObjects():void{ var _local3:InteractiveObject; focusableCandidates = []; var _local1:int = focusableObjects.length; var _local2:int; while (_local2 < _local1) { _local3 = focusableObjects[_local2]; if (((((_local3.tabIndex) && (!(isNaN(Number(_local3.tabIndex)))))) && ((_local3.tabIndex > 0)))){ sortFocusableObjectsTabIndex(); return; }; focusableCandidates.push(_local3); _local2++; }; focusableCandidates.sort(sortByDepth); } public function get nextTabIndex():int{ return ((getMaxTabIndex() + 1)); } public function get defaultButton():IButton{ return (_defaultButton); } public function showFocus():void{ if (!showFocusIndicator){ showFocusIndicator = true; if (lastFocus){ lastFocus.drawFocus(true); }; }; } private function activateHandler(_arg1:Event):void{ var _local2:InteractiveObject = InteractiveObject(_arg1.target); if (((lastFocus) && (!(browserMode)))){ lastFocus.setFocus(); }; lastAction = "ACTIVATE"; } public function getNextFocusManagerComponent(_arg1:Boolean=false):IFocusManagerComponent{ var _local8:IFocusManagerGroup; if (focusableObjects.length == 0){ return (null); }; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; var _local2:DisplayObject = form.systemManager.stage.focus; _local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2))); var _local3 = ""; if ((_local2 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local2); _local3 = _local8.groupName; }; var _local4:int = getIndexOfFocusedObject(_local2); var _local5:Boolean; var _local6:int = _local4; if (_local4 == -1){ if (_arg1){ _local4 = focusableCandidates.length; }; _local5 = true; }; var _local7:int = getIndexOfNextObject(_local4, _arg1, _local5, _local3); return (findFocusManagerComponent(focusableCandidates[_local7])); } public function get focusPane():Sprite{ return (_focusPane); } public function set defaultButtonEnabled(_arg1:Boolean):void{ _defaultButtonEnabled = _arg1; } private function keyDownHandler(_arg1:KeyboardEvent):void{ var _local3:DisplayObject; var _local4:String; var _local5:int; var _local6:int; var _local7:IFocusManagerGroup; var _local2:SystemManager = (form.systemManager as SystemManager); if (_local2){ _local2.idleCounter = 0; }; if (_arg1.keyCode == Keyboard.TAB){ lastAction = "KEY"; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; }; if (browserMode){ if ((((_arg1.keyCode == Keyboard.TAB)) && ((focusableCandidates.length > 0)))){ _local3 = form.systemManager.stage.focus; _local3 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local3))); _local4 = ""; if ((_local3 is IFocusManagerGroup)){ _local7 = IFocusManagerGroup(_local3); _local4 = _local7.groupName; }; _local5 = getIndexOfFocusedObject(_local3); _local6 = getIndexOfNextObject(_local5, _arg1.shiftKey, false, _local4); if (_arg1.shiftKey){ if (_local6 >= _local5){ browserFocusComponent = form.systemManager.stage.focus; if (browserFocusComponent.tabIndex == -1){ browserFocusComponent.tabIndex = 0; }; }; } else { if (_local6 <= _local5){ browserFocusComponent = form.systemManager.stage.focus; if (browserFocusComponent.tabIndex == -1){ browserFocusComponent.tabIndex = LARGE_TAB_INDEX; }; }; }; }; }; if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){ defButton.callLater(sendDefaultButtonEvent); }; } private function focusInHandler(_arg1:FocusEvent):void{ var _local3:IButton; var _local2:InteractiveObject = InteractiveObject(_arg1.target); if (isParent(DisplayObjectContainer(form), _local2)){ lastFocus = findFocusManagerComponent(InteractiveObject(_local2)); if ((lastFocus is IButton)){ _local3 = (lastFocus as IButton); if (defButton){ defButton.emphasized = false; defButton = _local3; _local3.emphasized = true; }; } else { if (((defButton) && (!((defButton == _defaultButton))))){ defButton.emphasized = false; defButton = _defaultButton; _defaultButton.emphasized = true; }; }; }; } public function set showFocusIndicator(_arg1:Boolean):void{ _showFocusIndicator = _arg1; } private function sortByTabIndex(_arg1:IFocusManagerComponent, _arg2:IFocusManagerComponent):int{ var _local3:int = _arg1.tabIndex; var _local4:int = _arg2.tabIndex; if (_local3 == -1){ _local3 = int.MAX_VALUE; }; if (_local4 == -1){ _local4 = int.MAX_VALUE; }; return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : sortByDepth(_arg1, _arg2)); } public function activate():void{ if (activated){ return; }; form.systemManager.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true); form.systemManager.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true); form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.systemManager.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true); form.systemManager.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true); form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = true; if (lastFocus){ setFocus(lastFocus); }; } public function get defaultButtonEnabled():Boolean{ return (_defaultButtonEnabled); } private function isTabVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObject = DisplayObject(form.systemManager); if (!_local2){ return (false); }; var _local3:DisplayObjectContainer = _arg1.parent; while (((_local3) && (!((_local3 == _local2))))) { if (!_local3.tabChildren){ return (false); }; _local3 = _local3.parent; }; return (true); } private function creationCompleteHandler(_arg1:FlexEvent):void{ if (((DisplayObject(form).visible) && (!(activated)))){ form.systemManager.activate(form); }; } public function get showFocusIndicator():Boolean{ return (_showFocusIndicator); } private function tabEnabledChangeHandler(_arg1:Event):void{ calculateCandidates = true; var _local2:InteractiveObject = InteractiveObject(_arg1.target); var _local3:int = focusableObjects.length; var _local4:int; while (_local4 < _local3) { if (focusableObjects[_local4] == _local2){ break; }; _local4++; }; if (_local2.tabEnabled){ if ((((_local4 == _local3)) && (isTabVisible(_local2)))){ focusableObjects.push(_local2); }; } else { if (_local4 < _local3){ focusableObjects.splice(_local4, 1); }; }; } } }//package mx.managers
Section 212
//IBrowserManager (mx.managers.IBrowserManager) package mx.managers { import flash.events.*; public interface IBrowserManager extends IEventDispatcher { function get fragment():String; function get base():String; function setFragment(_arg1:String):void; function setTitle(_arg1:String):void; function init(_arg1:String=null, _arg2:String=null):void; function get title():String; function initForHistoryManager():void; function get url():String; } }//package mx.managers
Section 213
//ICursorManager (mx.managers.ICursorManager) package mx.managers { public interface ICursorManager { function removeAllCursors():void; function set currentCursorYOffset(_arg1:Number):void; function removeBusyCursor():void; function unRegisterToUseBusyCursor(_arg1:Object):void; function hideCursor():void; function get currentCursorID():int; function registerToUseBusyCursor(_arg1:Object):void; function setBusyCursor():void; function showCursor():void; function set currentCursorID(_arg1:int):void; function setCursor(_arg1:Class, _arg2:int=2, _arg3:Number=0, _arg4:Number=0):int; function removeCursor(_arg1:int):void; function get currentCursorXOffset():Number; function get currentCursorYOffset():Number; function set currentCursorXOffset(_arg1:Number):void; } }//package mx.managers
Section 214
//IDragManager (mx.managers.IDragManager) package mx.managers { import mx.core.*; import flash.events.*; public interface IDragManager { function showFeedback(_arg1:String):void; function doDrag(_arg1:IUIComponent, _arg2:DragSource, _arg3:MouseEvent, _arg4:IFlexDisplayObject=null, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0.5, _arg8:Boolean=true):void; function get isDragging():Boolean; function getFeedback():String; function acceptDragDrop(_arg1:IUIComponent):void; function endDrag():void; } }//package mx.managers
Section 215
//IFocusManager (mx.managers.IFocusManager) package mx.managers { import flash.display.*; import mx.core.*; public interface IFocusManager { function get focusPane():Sprite; function getFocus():IFocusManagerComponent; function deactivate():void; function set defaultButton(_arg1:IButton):void; function set focusPane(_arg1:Sprite):void; function set showFocusIndicator(_arg1:Boolean):void; function get defaultButtonEnabled():Boolean; function findFocusManagerComponent(_arg1:InteractiveObject):IFocusManagerComponent; function get nextTabIndex():int; function get defaultButton():IButton; function get showFocusIndicator():Boolean; function setFocus(_arg1:IFocusManagerComponent):void; function activate():void; function showFocus():void; function set defaultButtonEnabled(_arg1:Boolean):void; function hideFocus():void; function getNextFocusManagerComponent(_arg1:Boolean=false):IFocusManagerComponent; } }//package mx.managers
Section 216
//IFocusManagerComplexComponent (mx.managers.IFocusManagerComplexComponent) package mx.managers { public interface IFocusManagerComplexComponent extends IFocusManagerComponent { function assignFocus(_arg1:String):void; function get hasFocusableContent():Boolean; } }//package mx.managers
Section 217
//IFocusManagerComponent (mx.managers.IFocusManagerComponent) package mx.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package mx.managers
Section 218
//IFocusManagerContainer (mx.managers.IFocusManagerContainer) package mx.managers { import flash.display.*; import flash.events.*; public interface IFocusManagerContainer extends IEventDispatcher { function set focusManager(_arg1:IFocusManager):void; function get focusManager():IFocusManager; function get systemManager():ISystemManager; function contains(_arg1:DisplayObject):Boolean; } }//package mx.managers
Section 219
//IFocusManagerGroup (mx.managers.IFocusManagerGroup) package mx.managers { public interface IFocusManagerGroup { function get groupName():String; function get selected():Boolean; function set groupName(_arg1:String):void; function set selected(_arg1:Boolean):void; } }//package mx.managers
Section 220
//ILayoutManager (mx.managers.ILayoutManager) package mx.managers { import flash.events.*; public interface ILayoutManager extends IEventDispatcher { function validateNow():void; function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void; function isInvalid():Boolean; function invalidateDisplayList(_arg1:ILayoutManagerClient):void; function set usePhasedInstantiation(_arg1:Boolean):void; function invalidateSize(_arg1:ILayoutManagerClient):void; function get usePhasedInstantiation():Boolean; function invalidateProperties(_arg1:ILayoutManagerClient):void; } }//package mx.managers
Section 221
//ILayoutManagerClient (mx.managers.ILayoutManagerClient) package mx.managers { import flash.events.*; public interface ILayoutManagerClient extends IEventDispatcher { function get updateCompletePendingFlag():Boolean; function set updateCompletePendingFlag(_arg1:Boolean):void; function set initialized(_arg1:Boolean):void; function validateProperties():void; function validateDisplayList():void; function get nestLevel():int; function get initialized():Boolean; function get processedDescriptors():Boolean; function validateSize(_arg1:Boolean=false):void; function set nestLevel(_arg1:int):void; function set processedDescriptors(_arg1:Boolean):void; } }//package mx.managers
Section 222
//IPopUpManager (mx.managers.IPopUpManager) package mx.managers { import flash.display.*; import mx.core.*; public interface IPopUpManager { function createPopUp(_arg1:DisplayObject, _arg2:Class, _arg3:Boolean=false, _arg4:String=null):IFlexDisplayObject; function centerPopUp(_arg1:IFlexDisplayObject):void; function removePopUp(_arg1:IFlexDisplayObject):void; function addPopUp(_arg1:IFlexDisplayObject, _arg2:DisplayObject, _arg3:Boolean=false, _arg4:String=null):void; function bringToFront(_arg1:IFlexDisplayObject):void; } }//package mx.managers
Section 223
//ISystemManager (mx.managers.ISystemManager) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.text.*; import flash.events.*; public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory { function get focusPane():Sprite; function get loaderInfo():LoaderInfo; function get toolTipChildren():IChildList; function set focusPane(_arg1:Sprite):void; function isTopLevel():Boolean; function get popUpChildren():IChildList; function get screen():Rectangle; function isFontFaceEmbedded(_arg1:TextFormat):Boolean; function get rawChildren():IChildList; function get topLevelSystemManager():ISystemManager; function getDefinitionByName(_arg1:String):Object; function activate(_arg1:IFocusManagerContainer):void; function deactivate(_arg1:IFocusManagerContainer):void; function get cursorChildren():IChildList; function set document(_arg1:Object):void; function get embeddedFontList():Object; function set numModalWindows(_arg1:int):void; function removeFocusManager(_arg1:IFocusManagerContainer):void; function get document():Object; function get numModalWindows():int; function addFocusManager(_arg1:IFocusManagerContainer):void; function get stage():Stage; } }//package mx.managers
Section 224
//IToolTipManager2 (mx.managers.IToolTipManager2) package mx.managers { import flash.display.*; import mx.core.*; import mx.effects.*; public interface IToolTipManager2 { function registerToolTip(_arg1:DisplayObject, _arg2:String, _arg3:String):void; function get enabled():Boolean; function set enabled(_arg1:Boolean):void; function get scrubDelay():Number; function set hideEffect(_arg1:IAbstractEffect):void; function createToolTip(_arg1:String, _arg2:Number, _arg3:Number, _arg4:String=null, _arg5:IUIComponent=null):IToolTip; function set scrubDelay(_arg1:Number):void; function set hideDelay(_arg1:Number):void; function get currentTarget():DisplayObject; function set showDelay(_arg1:Number):void; function get showDelay():Number; function get showEffect():IAbstractEffect; function get hideDelay():Number; function get currentToolTip():IToolTip; function get hideEffect():IAbstractEffect; function set currentToolTip(_arg1:IToolTip):void; function get toolTipClass():Class; function registerErrorString(_arg1:DisplayObject, _arg2:String, _arg3:String):void; function destroyToolTip(_arg1:IToolTip):void; function set toolTipClass(_arg1:Class):void; function sizeTip(_arg1:IToolTip):void; function set currentTarget(_arg1:DisplayObject):void; function set showEffect(_arg1:IAbstractEffect):void; } }//package mx.managers
Section 225
//IToolTipManagerClient (mx.managers.IToolTipManagerClient) package mx.managers { import mx.core.*; public interface IToolTipManagerClient extends IFlexDisplayObject { function get toolTip():String; function set toolTip(_arg1:String):void; } }//package mx.managers
Section 226
//LayoutManager (mx.managers.LayoutManager) package mx.managers { import flash.display.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.managers.layoutClasses.*; public class LayoutManager extends EventDispatcher implements ILayoutManager { private var invalidateClientPropertiesFlag:Boolean;// = false private var invalidateDisplayListQueue:PriorityQueue; private var updateCompleteQueue:PriorityQueue; private var invalidateDisplayListFlag:Boolean;// = false private var invalidateClientSizeFlag:Boolean;// = false private var invalidateSizeQueue:PriorityQueue; private var originalFrameRate:Number; private var invalidatePropertiesFlag:Boolean;// = false private var invalidatePropertiesQueue:PriorityQueue; private var invalidateSizeFlag:Boolean;// = false private var callLaterPending:Boolean;// = false private var _usePhasedInstantiation:Boolean;// = false private var callLaterObject:UIComponent; private var targetLevel:int;// = 2147483647 mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:LayoutManager; public function LayoutManager(){ updateCompleteQueue = new PriorityQueue(); invalidatePropertiesQueue = new PriorityQueue(); invalidateSizeQueue = new PriorityQueue(); invalidateDisplayListQueue = new PriorityQueue(); super(); } public function set usePhasedInstantiation(_arg1:Boolean):void{ var _local2:Stage; if (_usePhasedInstantiation != _arg1){ _usePhasedInstantiation = _arg1; _local2 = SystemManagerGlobals.topLevelSystemManagers[0].stage; if (_arg1){ originalFrameRate = _local2.frameRate; _local2.frameRate = 1000; } else { _local2.frameRate = originalFrameRate; }; }; } private function waitAFrame():void{ callLaterObject.callLater(doPhasedInstantiation); } public function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void{ var _local3:ILayoutManagerClient; var _local4:int; var _local5:Boolean; var _local6:int = targetLevel; if (targetLevel == int.MAX_VALUE){ targetLevel = _arg1.nestLevel; }; while (!(_local5)) { _local5 = true; _local3 = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(_arg1)); while (_local3) { _local3.validateProperties(); if (!_local3.updateCompletePendingFlag){ updateCompleteQueue.addObject(_local3, _local3.nestLevel); _local3.updateCompletePendingFlag = true; }; _local3 = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(_arg1)); }; if (invalidatePropertiesQueue.isEmpty()){ invalidatePropertiesFlag = false; invalidateClientPropertiesFlag = false; }; _local3 = ILayoutManagerClient(invalidateSizeQueue.removeLargestChild(_arg1)); while (_local3) { _local3.validateSize(); if (!_local3.updateCompletePendingFlag){ updateCompleteQueue.addObject(_local3, _local3.nestLevel); _local3.updateCompletePendingFlag = true; }; if (invalidateClientPropertiesFlag){ _local3 = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(_arg1)); if (_local3){ invalidatePropertiesQueue.addObject(_local3, _local3.nestLevel); _local5 = false; break; }; }; _local3 = ILayoutManagerClient(invalidateSizeQueue.removeLargestChild(_arg1)); }; if (invalidateSizeQueue.isEmpty()){ invalidateSizeFlag = false; invalidateClientSizeFlag = false; }; if (!_arg2){ _local3 = ILayoutManagerClient(invalidateDisplayListQueue.removeSmallestChild(_arg1)); while (_local3) { _local3.validateDisplayList(); if (!_local3.updateCompletePendingFlag){ updateCompleteQueue.addObject(_local3, _local3.nestLevel); _local3.updateCompletePendingFlag = true; }; if (invalidateClientPropertiesFlag){ _local3 = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(_arg1)); if (_local3){ invalidatePropertiesQueue.addObject(_local3, _local3.nestLevel); _local5 = false; break; }; }; if (invalidateClientSizeFlag){ _local3 = ILayoutManagerClient(invalidateSizeQueue.removeLargestChild(_arg1)); if (_local3){ invalidateSizeQueue.addObject(_local3, _local3.nestLevel); _local5 = false; break; }; }; _local3 = ILayoutManagerClient(invalidateDisplayListQueue.removeSmallestChild(_arg1)); }; if (invalidateDisplayListQueue.isEmpty()){ invalidateDisplayListFlag = false; }; }; }; if (_local6 == int.MAX_VALUE){ targetLevel = int.MAX_VALUE; if (!_arg2){ _local3 = ILayoutManagerClient(updateCompleteQueue.removeLargestChild(_arg1)); while (_local3) { if (!_local3.initialized){ _local3.initialized = true; }; _local3.dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE)); _local3.updateCompletePendingFlag = false; _local3 = ILayoutManagerClient(updateCompleteQueue.removeLargestChild(_arg1)); }; }; }; } private function validateProperties():void{ var _local1:ILayoutManagerClient = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallest()); while (_local1) { _local1.validateProperties(); if (!_local1.updateCompletePendingFlag){ updateCompleteQueue.addObject(_local1, _local1.nestLevel); _local1.updateCompletePendingFlag = true; }; _local1 = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallest()); }; if (invalidatePropertiesQueue.isEmpty()){ invalidatePropertiesFlag = false; }; } public function invalidateProperties(_arg1:ILayoutManagerClient):void{ if (((!(invalidatePropertiesFlag)) && (ApplicationGlobals.application.systemManager))){ invalidatePropertiesFlag = true; if (!callLaterPending){ if (!callLaterObject){ callLaterObject = new UIComponent(); callLaterObject.systemManager = ApplicationGlobals.application.systemManager; callLaterObject.callLater(waitAFrame); } else { callLaterObject.callLater(doPhasedInstantiation); }; callLaterPending = true; }; }; if (targetLevel <= _arg1.nestLevel){ invalidateClientPropertiesFlag = true; }; invalidatePropertiesQueue.addObject(_arg1, _arg1.nestLevel); } public function invalidateDisplayList(_arg1:ILayoutManagerClient):void{ if (((!(invalidateDisplayListFlag)) && (ApplicationGlobals.application.systemManager))){ invalidateDisplayListFlag = true; if (!callLaterPending){ if (!callLaterObject){ callLaterObject = new UIComponent(); callLaterObject.systemManager = ApplicationGlobals.application.systemManager; callLaterObject.callLater(waitAFrame); } else { callLaterObject.callLater(doPhasedInstantiation); }; callLaterPending = true; }; }; invalidateDisplayListQueue.addObject(_arg1, _arg1.nestLevel); } private function validateDisplayList():void{ var _local1:ILayoutManagerClient = ILayoutManagerClient(invalidateDisplayListQueue.removeSmallest()); while (_local1) { _local1.validateDisplayList(); if (!_local1.updateCompletePendingFlag){ updateCompleteQueue.addObject(_local1, _local1.nestLevel); _local1.updateCompletePendingFlag = true; }; _local1 = ILayoutManagerClient(invalidateDisplayListQueue.removeSmallest()); }; if (invalidateDisplayListQueue.isEmpty()){ invalidateDisplayListFlag = false; }; } public function validateNow():void{ var _local1:int; if (!usePhasedInstantiation){ _local1 = 0; while (((callLaterPending) && ((_local1 < 100)))) { doPhasedInstantiation(); }; }; } private function validateSize():void{ var _local1:ILayoutManagerClient = ILayoutManagerClient(invalidateSizeQueue.removeLargest()); while (_local1) { _local1.validateSize(); if (!_local1.updateCompletePendingFlag){ updateCompleteQueue.addObject(_local1, _local1.nestLevel); _local1.updateCompletePendingFlag = true; }; _local1 = ILayoutManagerClient(invalidateSizeQueue.removeLargest()); }; if (invalidateSizeQueue.isEmpty()){ invalidateSizeFlag = false; }; } private function doPhasedInstantiation():void{ var _local1:ILayoutManagerClient; if (usePhasedInstantiation){ if (invalidatePropertiesFlag){ validateProperties(); ApplicationGlobals.application.dispatchEvent(new Event("validatePropertiesComplete")); } else { if (invalidateSizeFlag){ validateSize(); ApplicationGlobals.application.dispatchEvent(new Event("validateSizeComplete")); } else { if (invalidateDisplayListFlag){ validateDisplayList(); ApplicationGlobals.application.dispatchEvent(new Event("validateDisplayListComplete")); }; }; }; } else { if (invalidatePropertiesFlag){ validateProperties(); }; if (invalidateSizeFlag){ validateSize(); }; if (invalidateDisplayListFlag){ validateDisplayList(); }; }; if (((((invalidatePropertiesFlag) || (invalidateSizeFlag))) || (invalidateDisplayListFlag))){ callLaterObject.callLater(doPhasedInstantiation); } else { usePhasedInstantiation = false; callLaterPending = false; _local1 = ILayoutManagerClient(updateCompleteQueue.removeLargest()); while (_local1) { if (((!(_local1.initialized)) && (_local1.processedDescriptors))){ _local1.initialized = true; }; _local1.dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE)); _local1.updateCompletePendingFlag = false; _local1 = ILayoutManagerClient(updateCompleteQueue.removeLargest()); }; dispatchEvent(new FlexEvent(FlexEvent.UPDATE_COMPLETE)); }; } public function isInvalid():Boolean{ return (((((invalidatePropertiesFlag) || (invalidateSizeFlag))) || (invalidateDisplayListFlag))); } public function get usePhasedInstantiation():Boolean{ return (_usePhasedInstantiation); } public function invalidateSize(_arg1:ILayoutManagerClient):void{ if (((!(invalidateSizeFlag)) && (ApplicationGlobals.application.systemManager))){ invalidateSizeFlag = true; if (!callLaterPending){ if (!callLaterObject){ callLaterObject = new UIComponent(); callLaterObject.systemManager = ApplicationGlobals.application.systemManager; callLaterObject.callLater(waitAFrame); } else { callLaterObject.callLater(doPhasedInstantiation); }; callLaterPending = true; }; }; if (targetLevel <= _arg1.nestLevel){ invalidateClientSizeFlag = true; }; invalidateSizeQueue.addObject(_arg1, _arg1.nestLevel); } public static function getInstance():LayoutManager{ if (!instance){ instance = new (LayoutManager); }; return (instance); } } }//package mx.managers
Section 227
//PopUpManager (mx.managers.PopUpManager) package mx.managers { import flash.display.*; import mx.core.*; public class PopUpManager { mx_internal static const VERSION:String = "3.0.0.0"; private static var implClassDependency:PopUpManagerImpl; private static var _impl:IPopUpManager; private static function get impl():IPopUpManager{ if (!_impl){ _impl = IPopUpManager(Singleton.getInstance("mx.managers::IPopUpManager")); }; return (_impl); } public static function removePopUp(_arg1:IFlexDisplayObject):void{ impl.removePopUp(_arg1); } public static function addPopUp(_arg1:IFlexDisplayObject, _arg2:DisplayObject, _arg3:Boolean=false, _arg4:String=null):void{ impl.addPopUp(_arg1, _arg2, _arg3, _arg4); } public static function centerPopUp(_arg1:IFlexDisplayObject):void{ impl.centerPopUp(_arg1); } public static function bringToFront(_arg1:IFlexDisplayObject):void{ impl.bringToFront(_arg1); } public static function createPopUp(_arg1:DisplayObject, _arg2:Class, _arg3:Boolean=false, _arg4:String=null):IFlexDisplayObject{ return (impl.createPopUp(_arg1, _arg2, _arg3, _arg4)); } } }//package mx.managers
Section 228
//PopUpManagerChildList (mx.managers.PopUpManagerChildList) package mx.managers { public final class PopUpManagerChildList { public static const PARENT:String = "parent"; public static const APPLICATION:String = "application"; mx_internal static const VERSION:String = "3.0.0.0"; public static const POPUP:String = "popup"; } }//package mx.managers
Section 229
//PopUpManagerImpl (mx.managers.PopUpManagerImpl) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.automation.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.effects.*; public class PopUpManagerImpl implements IPopUpManager { private var popupInfo:Array; mx_internal var modalWindowClass:Class; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:IPopUpManager; private function showModalWindow(_arg1:PopUpData):void{ var _local4:Fade; var _local5:Number; var _local6:Object; var _local7:Blur; var _local2:IStyleClient = (_arg1.owner as IStyleClient); var _local3:Number = 0; if (_local2){ _local3 = _local2.getStyle("modalTransparencyDuration"); }; endEffects(_arg1); if (_local3){ _local4 = new Fade(_arg1.modalWindow); _local4.alphaFrom = 0; _local4.alphaTo = _local2.getStyle("modalTransparency"); _local4.duration = _local3; _local4.addEventListener(EffectEvent.EFFECT_END, fadeInEffectEndHandler); _arg1.modalWindow.alpha = 0; _arg1.modalWindow.visible = true; _arg1.fade = _local4; IUIComponent(_arg1.owner).setVisible(false, true); _local4.play(); _local5 = _local2.getStyle("modalTransparencyBlur"); if (_local5){ _local6 = (("parentApplication" in _arg1.owner)) ? Object(_arg1.owner).parentApplication : null; _local7 = new Blur((_local6) ? _local6 : ApplicationGlobals.application); new Blur((_local6) ? _local6 : ApplicationGlobals.application).blurXFrom = (_local7.blurYFrom = 0); _local7.blurXTo = (_local7.blurYTo = _local5); _local7.duration = _local3; _local7.addEventListener(EffectEvent.EFFECT_END, effectEndHandler); _arg1.blur = _local7; _local7.play(); }; } else { IUIComponent(_arg1.owner).setVisible(true, true); _arg1.modalWindow.visible = true; }; } private function fadeInEffectEndHandler(_arg1:EffectEvent):void{ var _local4:PopUpData; effectEndHandler(_arg1); var _local2:int = popupInfo.length; var _local3:int; while (_local3 < _local2) { _local4 = popupInfo[_local3]; if (_local4.modalWindow == _arg1.effectInstance.target){ IUIComponent(_local4.owner).setVisible(true, true); break; }; _local3++; }; } public function bringToFront(_arg1:IFlexDisplayObject):void{ var _local2:PopUpData; var _local3:ISystemManager; if (((_arg1) && (_arg1.parent))){ _local2 = findPopupInfoByOwner(_arg1); if (_local2){ _local3 = ISystemManager(_arg1.parent); if (_local2.topMost){ _local3.popUpChildren.setChildIndex(DisplayObject(_arg1), (_local3.popUpChildren.numChildren - 1)); } else { _local3.setChildIndex(DisplayObject(_arg1), (_local3.numChildren - 1)); }; }; }; } private function popupShowHandler(_arg1:FlexEvent):void{ var _local2:PopUpData = findPopupInfoByOwner(_arg1.target); if (_local2){ showModalWindow(_local2); }; } private function fadeOutDestroyEffectEndHandler(_arg1:EffectEvent):void{ var _local3:ISystemManager; effectEndHandler(_arg1); var _local2:DisplayObject = DisplayObject(_arg1.effectInstance.target); if ((_local2.parent is ISystemManager)){ _local3 = ISystemManager(_local2.parent); if (_local3.popUpChildren.contains(_local2)){ _local3.popUpChildren.removeChild(_local2); } else { _local3.removeChild(_local2); }; } else { if (_local2.parent){ _local2.parent.removeChild(_local2); }; }; } private function popupRemovedHandler(_arg1:Event):void{ var _local4:PopUpData; var _local5:DisplayObject; var _local6:DisplayObject; var _local7:DisplayObject; var _local8:ISystemManager; var _local2:int = popupInfo.length; var _local3:int; while (_local3 < _local2) { _local4 = popupInfo[_local3]; _local5 = _local4.owner; if (_local5 == _arg1.target){ _local6 = _local4.parent; _local7 = _local4.modalWindow; _local8 = ((_local6 is ISystemManager)) ? ISystemManager(_local6) : IUIComponent(_local6).systemManager; if (!_local8.isTopLevel()){ _local8 = _local8.topLevelSystemManager; }; if ((_local5 is IUIComponent)){ IUIComponent(_local5).isPopUp = false; }; if ((_local5 is IFocusManagerContainer)){ _local8.removeFocusManager(IFocusManagerContainer(_local5)); }; _local5.removeEventListener(Event.REMOVED, popupRemovedHandler); if (_local7){ _local7.removeEventListener(MouseEvent.MOUSE_DOWN, _local4.mouseDownOutsideHandler); _local7.removeEventListener(MouseEvent.MOUSE_WHEEL, _local4.mouseWheelOutsideHandler, true); _local8.removeEventListener(Event.RESIZE, _local4.resizeHandler); _local5.removeEventListener(FlexEvent.SHOW, popupShowHandler); _local5.removeEventListener(FlexEvent.HIDE, popupHideHandler); hideModalWindow(_local4, true); _local8.numModalWindows--; } else { _local8.removeEventListener(MouseEvent.MOUSE_DOWN, _local4.mouseDownOutsideHandler); _local8.removeEventListener(MouseEvent.MOUSE_WHEEL, _local4.mouseWheelOutsideHandler, true); }; popupInfo.splice(_local3, 1); break; }; _local3++; }; } private function hideModalWindow(_arg1:PopUpData, _arg2:Boolean=false):void{ var _local5:Fade; var _local6:Number; var _local7:Object; var _local8:Blur; var _local3:IStyleClient = (_arg1.owner as IStyleClient); var _local4:Number = 0; if (_local3){ _local4 = _local3.getStyle("modalTransparencyDuration"); }; endEffects(_arg1); if (_local4){ _local5 = new Fade(_arg1.modalWindow); _local5.alphaFrom = _arg1.modalWindow.alpha; _local5.alphaTo = 0; _local5.duration = _local4; _local5.addEventListener(EffectEvent.EFFECT_END, (_arg2) ? fadeOutDestroyEffectEndHandler : fadeOutCloseEffectEndHandler); _arg1.modalWindow.visible = true; _arg1.fade = _local5; _local5.play(); _local6 = _local3.getStyle("modalTransparencyBlur"); if (_local6){ _local7 = (("parentApplication" in _arg1.owner)) ? Object(_arg1.owner).parentApplication : null; _local8 = new Blur((_local7) ? _local7 : ApplicationGlobals.application); new Blur((_local7) ? _local7 : ApplicationGlobals.application).blurXFrom = (_local8.blurYFrom = _local6); _local8.blurXTo = (_local8.blurYTo = 0); _local8.duration = _local4; _local8.addEventListener(EffectEvent.EFFECT_END, effectEndHandler); _arg1.blur = _local8; _local8.play(); }; } else { _arg1.modalWindow.visible = false; }; } private function popupHideHandler(_arg1:FlexEvent):void{ var _local2:PopUpData = findPopupInfoByOwner(_arg1.target); if (_local2){ hideModalWindow(_local2); }; } private function effectEndHandler(_arg1:EffectEvent):void{ var _local4:PopUpData; var _local5:IEffect; var _local2:int = popupInfo.length; var _local3:int; while (_local3 < _local2) { _local4 = popupInfo[_local3]; _local5 = _arg1.effectInstance.effect; if (_local5 == _local4.fade){ _local4.fade = null; } else { if (_local5 == _local4.blur){ _local4.blur = null; }; }; _local3++; }; } private function createModalWindow(_arg1:DisplayObject, _arg2:PopUpData, _arg3:IChildList, _arg4:Boolean):void{ var _local5:IFlexDisplayObject; var _local8:Sprite; _local5 = IFlexDisplayObject(_arg2.owner); var _local6:IStyleClient = (_local5 as IStyleClient); var _local7:Number = 0; if (modalWindowClass){ _local8 = new modalWindowClass(); } else { _local8 = new FlexSprite(); _local8.name = "modalWindow"; }; var _local9:ISystemManager = IUIComponent(_arg1).systemManager; _local9.numModalWindows++; _arg3.addChildAt(_local8, _arg3.getChildIndex(DisplayObject(_local5))); if ((_local5 is IAutomationObject)){ IAutomationObject(_local5).showInAutomationHierarchy = true; }; if (_local6){ _local8.alpha = _local6.getStyle("modalTransparency"); } else { _local8.alpha = 0; }; _local8.tabEnabled = false; var _local10:Rectangle = _local9.screen; var _local11:Graphics = _local8.graphics; var _local12:Number = 0xFFFFFF; if (_local6){ _local12 = _local6.getStyle("modalTransparencyColor"); }; _local11.clear(); _local11.beginFill(_local12, 100); _local11.drawRect(_local10.x, _local10.y, _local10.width, _local10.height); _local11.endFill(); _arg2.modalWindow = _local8; _arg2._mouseDownOutsideHandler = dispatchMouseDownOutsideEvent; _arg2._mouseWheelOutsideHandler = dispatchMouseWheelOutsideEvent; _local8.addEventListener(MouseEvent.MOUSE_DOWN, _arg2.mouseDownOutsideHandler); _local8.addEventListener(MouseEvent.MOUSE_WHEEL, _arg2.mouseWheelOutsideHandler, true); _local9.addEventListener(Event.RESIZE, _arg2.resizeHandler); _local5.addEventListener(FlexEvent.SHOW, popupShowHandler); _local5.addEventListener(FlexEvent.HIDE, popupHideHandler); if (_arg4){ showModalWindow(_arg2); } else { _local5.visible = _arg4; }; } private function findPopupInfoByOwner(_arg1:Object):PopUpData{ var _local4:PopUpData; var _local2:int = popupInfo.length; var _local3:int; while (_local3 < _local2) { _local4 = popupInfo[_local3]; if (_local4.owner == _arg1){ return (_local4); }; _local3++; }; return (null); } private function fadeOutCloseEffectEndHandler(_arg1:EffectEvent):void{ effectEndHandler(_arg1); DisplayObject(_arg1.effectInstance.target).visible = false; } private function endEffects(_arg1:PopUpData):void{ if (_arg1.fade){ _arg1.fade.end(); _arg1.fade = null; }; if (_arg1.blur){ _arg1.blur.end(); _arg1.blur = null; }; } public function removePopUp(_arg1:IFlexDisplayObject):void{ var _local2:PopUpData; var _local3:ISystemManager; var _local4:IUIComponent; if (((_arg1) && (_arg1.parent))){ _local2 = findPopupInfoByOwner(_arg1); if (_local2){ _local3 = (_arg1.parent as ISystemManager); if (!_local3){ _local4 = (_arg1 as IUIComponent); if (_local4){ _local3 = _local4.systemManager; } else { return; }; }; if (_local2.topMost){ _local3.popUpChildren.removeChild(DisplayObject(_arg1)); } else { _local3.removeChild(DisplayObject(_arg1)); }; }; }; } public function addPopUp(_arg1:IFlexDisplayObject, _arg2:DisplayObject, _arg3:Boolean=false, _arg4:String=null):void{ var _local7:ISystemManager; var _local8:IChildList; var _local9:Boolean; var _local5:Boolean = _arg1.visible; var _local6:DisplayObjectContainer = DisplayObjectContainer(_arg2.root); if (((((!(_local6)) || ((_local6 is Stage)))) && ((_arg2 is IUIComponent)))){ _local6 = DisplayObjectContainer(IUIComponent(_arg2).systemManager); }; if ((_local6 is ISystemManager)){ _local7 = ISystemManager(_local6); if (!_local7.isTopLevel()){ _local7 = _local7.topLevelSystemManager; }; } else { return; }; if ((_arg1 is IUIComponent)){ IUIComponent(_arg1).isPopUp = true; }; if (((!(_arg4)) || ((_arg4 == PopUpManagerChildList.PARENT)))){ _local9 = _local7.popUpChildren.contains(_arg2); } else { _local9 = (_arg4 == PopUpManagerChildList.POPUP); }; _local8 = (_local9) ? _local7.popUpChildren : _local7; _local8.addChild(DisplayObject(_arg1)); _arg1.visible = false; if (!popupInfo){ popupInfo = []; }; var _local10:PopUpData = new PopUpData(); _local10.owner = DisplayObject(_arg1); _local10.topMost = _local9; popupInfo.push(_local10); if ((_arg1 is IFocusManagerContainer)){ if (IFocusManagerContainer(_arg1).focusManager){ _local7.addFocusManager(IFocusManagerContainer(_arg1)); } else { IFocusManagerContainer(_arg1).focusManager = new FocusManager(IFocusManagerContainer(_arg1), true); }; }; if ((_arg1 is IAutomationObject)){ IAutomationObject(_arg1).showInAutomationHierarchy = true; }; if ((_arg1 is ILayoutManagerClient)){ UIComponentGlobals.layoutManager.validateClient(ILayoutManagerClient(_arg1), true); }; _local10.parent = _arg2; if ((_arg1 is IUIComponent)){ IUIComponent(_arg1).setActualSize(IUIComponent(_arg1).getExplicitOrMeasuredWidth(), IUIComponent(_arg1).getExplicitOrMeasuredHeight()); }; if (_arg3){ this.createModalWindow(_arg2, _local10, _local8, _local5); } else { _local10._mouseDownOutsideHandler = nonmodalMouseDownOutsideHandler; _local10._mouseWheelOutsideHandler = nonmodalMouseWheelOutsideHandler; _local7.addEventListener(MouseEvent.MOUSE_DOWN, _local10.mouseDownOutsideHandler); _local7.addEventListener(MouseEvent.MOUSE_WHEEL, _local10.mouseWheelOutsideHandler, true); _arg1.visible = _local5; }; _arg1.addEventListener(Event.REMOVED, popupRemovedHandler); if ((((_arg1 is IFocusManagerContainer)) && (_local5))){ _local7.activate(IFocusManagerContainer(_arg1)); }; } public function createPopUp(_arg1:DisplayObject, _arg2:Class, _arg3:Boolean=false, _arg4:String=null):IFlexDisplayObject{ var _local5:IUIComponent = new (_arg2); addPopUp(_local5, _arg1, _arg3, _arg4); return (_local5); } public function centerPopUp(_arg1:IFlexDisplayObject):void{ var _local3:Point; if ((_arg1 is IInvalidating)){ IInvalidating(_arg1).validateNow(); }; var _local2:PopUpData = findPopupInfoByOwner(_arg1); if (((_local2) && (_local2.parent))){ _local3 = new Point(0, 0); _local3 = _local2.parent.localToGlobal(_local3); _local3 = _arg1.parent.globalToLocal(_local3); _arg1.move((Math.round(((_local2.parent.width - _arg1.width) / 2)) + _local3.x), (Math.round(((_local2.parent.height - _arg1.height) / 2)) + _local3.y)); }; } private static function nonmodalMouseWheelOutsideHandler(_arg1:DisplayObject, _arg2:MouseEvent):void{ if (_arg1.hitTestPoint(_arg2.stageX, _arg2.stageY, true)){ } else { if ((_arg1 is IUIComponent)){ if (IUIComponent(_arg1).owns(DisplayObject(_arg2.target))){ return; }; }; dispatchMouseWheelOutsideEvent(_arg1, _arg2); }; } private static function dispatchMouseWheelOutsideEvent(_arg1:DisplayObject, _arg2:MouseEvent):void{ var _local3:MouseEvent = new FlexMouseEvent(FlexMouseEvent.MOUSE_WHEEL_OUTSIDE); var _local4:Point = _arg1.globalToLocal(new Point(_arg2.stageX, _arg2.stageY)); _local3.localX = _local4.x; _local3.localY = _local4.y; _local3.buttonDown = _arg2.buttonDown; _local3.shiftKey = _arg2.shiftKey; _local3.altKey = _arg2.altKey; _local3.ctrlKey = _arg2.ctrlKey; _local3.delta = _arg2.delta; _local3.relatedObject = InteractiveObject(_arg2.target); _arg1.dispatchEvent(_local3); } private static function dispatchMouseDownOutsideEvent(_arg1:DisplayObject, _arg2:MouseEvent):void{ var _local3:MouseEvent = new FlexMouseEvent(FlexMouseEvent.MOUSE_DOWN_OUTSIDE); var _local4:Point = _arg1.globalToLocal(new Point(_arg2.stageX, _arg2.stageY)); _local3.localX = _local4.x; _local3.localY = _local4.y; _local3.buttonDown = _arg2.buttonDown; _local3.shiftKey = _arg2.shiftKey; _local3.altKey = _arg2.altKey; _local3.ctrlKey = _arg2.ctrlKey; _local3.delta = _arg2.delta; _local3.relatedObject = InteractiveObject(_arg2.target); _arg1.dispatchEvent(_local3); } public static function getInstance():IPopUpManager{ if (!instance){ instance = new (PopUpManagerImpl); }; return (instance); } private static function nonmodalMouseDownOutsideHandler(_arg1:DisplayObject, _arg2:MouseEvent):void{ if (_arg1.hitTestPoint(_arg2.stageX, _arg2.stageY, true)){ } else { if ((_arg1 is IUIComponent)){ if (IUIComponent(_arg1).owns(DisplayObject(_arg2.target))){ return; }; }; dispatchMouseDownOutsideEvent(_arg1, _arg2); }; } } }//package mx.managers import flash.display.*; import flash.geom.*; import flash.events.*; import mx.effects.*; class PopUpData { public var _mouseWheelOutsideHandler:Function; public var owner:DisplayObject; public var blur:Effect; public var parent:DisplayObject; public var _mouseDownOutsideHandler:Function; public var topMost:Boolean; public var fade:Effect; public var modalWindow:DisplayObject; private function PopUpData(){ } public function mouseWheelOutsideHandler(_arg1:MouseEvent):void{ _mouseWheelOutsideHandler(owner, _arg1); } public function mouseDownOutsideHandler(_arg1:MouseEvent):void{ _mouseDownOutsideHandler(owner, _arg1); } public function resizeHandler(_arg1:Event):void{ var _local2:Rectangle = ISystemManager(_arg1.target).screen; if (((modalWindow) && ((owner.stage == DisplayObject(_arg1.target).stage)))){ modalWindow.width = _local2.width; modalWindow.height = _local2.height; modalWindow.x = _local2.x; modalWindow.y = _local2.y; }; } }
Section 230
//SystemChildrenList (mx.managers.SystemChildrenList) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; public class SystemChildrenList implements IChildList { private var lowerBoundReference:QName; private var upperBoundReference:QName; private var owner:SystemManager; mx_internal static const VERSION:String = "3.0.0.0"; public function SystemChildrenList(_arg1:SystemManager, _arg2:QName, _arg3:QName){ this.owner = _arg1; this.lowerBoundReference = _arg2; this.upperBoundReference = _arg3; } public function getChildAt(_arg1:int):DisplayObject{ var _local2:DisplayObject = owner.mx_internal::rawChildren_getChildAt((owner[lowerBoundReference] + _arg1)); return (_local2); } public function getChildByName(_arg1:String):DisplayObject{ return (owner.mx_internal::rawChildren_getChildByName(_arg1)); } public function removeChildAt(_arg1:int):DisplayObject{ var _local2:DisplayObject = owner.mx_internal::rawChildren_removeChildAt((_arg1 + owner[lowerBoundReference])); var _local3 = owner; var _local4 = upperBoundReference; var _local5 = (_local3[_local4] - 1); _local3[_local4] = _local5; return (_local2); } public function getChildIndex(_arg1:DisplayObject):int{ var _local2:int = owner.mx_internal::rawChildren_getChildIndex(_arg1); _local2 = (_local2 - owner[lowerBoundReference]); return (_local2); } public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ var _local3 = owner; _local3.mx_internal::rawChildren_addChildAt(_arg1, (owner[lowerBoundReference] + _arg2)); _local3 = owner; var _local4 = upperBoundReference; var _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; return (_arg1); } public function getObjectsUnderPoint(_arg1:Point):Array{ return (owner.mx_internal::rawChildren_getObjectsUnderPoint(_arg1)); } public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ var _local3 = owner; _local3.mx_internal::rawChildren_setChildIndex(_arg1, (owner[lowerBoundReference] + _arg2)); } public function get numChildren():int{ return ((owner[upperBoundReference] - owner[lowerBoundReference])); } public function contains(_arg1:DisplayObject):Boolean{ var _local2:int; if (owner.mx_internal::rawChildren_contains(_arg1)){ while (_arg1.parent != owner) { _arg1 = _arg1.parent; }; _local2 = owner.mx_internal::rawChildren_getChildIndex(_arg1); if ((((_local2 >= owner[lowerBoundReference])) && ((_local2 < owner[upperBoundReference])))){ return (true); }; }; return (false); } public function removeChild(_arg1:DisplayObject):DisplayObject{ var _local2:int = owner.mx_internal::rawChildren_getChildIndex(_arg1); if ((((owner[lowerBoundReference] <= _local2)) && ((_local2 < owner[upperBoundReference])))){ var _local3 = owner; _local3.mx_internal::rawChildren_removeChild(_arg1); _local3 = owner; var _local4 = upperBoundReference; var _local5 = (_local3[_local4] - 1); _local3[_local4] = _local5; }; return (_arg1); } public function addChild(_arg1:DisplayObject):DisplayObject{ var _local2 = owner; _local2.mx_internal::rawChildren_addChildAt(_arg1, owner[upperBoundReference]); _local2 = owner; var _local3 = upperBoundReference; var _local4 = (_local2[_local3] + 1); _local2[_local3] = _local4; return (_arg1); } } }//package mx.managers
Section 231
//SystemManager (mx.managers.SystemManager) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.text.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.resources.*; import flash.system.*; import mx.preloaders.*; import flash.utils.*; import mx.messaging.config.*; public class SystemManager extends MovieClip implements IChildList, IFlexDisplayObject, IFlexModuleFactory, ISystemManager { mx_internal var nestLevel:int;// = 0 private var forms:Array; private var mouseCatcher:Sprite; private var _height:Number; private var preloader:Preloader; private var _document:Object; private var _topLevelSystemManager:ISystemManager; private var _toolTipIndex:int;// = 0 private var _rawChildren:SystemRawChildrenList; private var _explicitHeight:Number; private var _toolTipChildren:SystemChildrenList; private var form:IFocusManagerContainer; private var _width:Number; private var initialized:Boolean;// = false private var _focusPane:Sprite; private var _fontList:Object;// = null private var isStageRoot:Boolean;// = true private var _popUpChildren:SystemChildrenList; private var rslSizes:Array;// = null private var _topMostIndex:int;// = 0 private var nextFrameTimer:Timer;// = null private var topLevel:Boolean;// = true private var _cursorIndex:int;// = 0 mx_internal var _mouseX; mx_internal var _mouseY; private var _numModalWindows:int;// = 0 private var _screen:Rectangle; mx_internal var idleCounter:int;// = 0 private var _cursorChildren:SystemChildrenList; private var initCallbackFunctions:Array; private var _noTopMostIndex:int;// = 0 private var _applicationIndex:int;// = 1 private var idleTimer:Timer; private var doneExecutingInitCallbacks:Boolean;// = false private var _explicitWidth:Number; mx_internal var topLevelWindow:IUIComponent; private static const IDLE_THRESHOLD:Number = 1000; private static const IDLE_INTERVAL:Number = 100; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var lastSystemManager:SystemManager; mx_internal static var allSystemManagers:Dictionary = new Dictionary(true); public function SystemManager(){ initCallbackFunctions = []; forms = []; super(); if (stage){ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; }; if ((((SystemManagerGlobals.topLevelSystemManagers.length > 0)) && (!(stage)))){ topLevel = false; }; if (!stage){ isStageRoot = false; }; if (topLevel){ SystemManagerGlobals.topLevelSystemManagers.push(this); }; lastSystemManager = this; var _local1:Array = info()["compiledLocales"]; ResourceBundle.locale = (((!((_local1 == null))) && ((_local1.length > 0)))) ? _local1[0] : "en_US"; executeCallbacks(); stop(); if (((topLevel) && (!((currentFrame == 1))))){ throw (new Error((("The SystemManager constructor was called when the currentFrame was at " + currentFrame) + " Please add this SWF to bug 129782."))); }; if (((root) && (root.loaderInfo))){ root.loaderInfo.addEventListener(Event.INIT, initHandler); }; } mx_internal function addingChild(_arg1:DisplayObject):void{ var _local4:DisplayObjectContainer; var _local2 = 1; if (!topLevel){ _local4 = parent.parent; while (_local4) { if ((_local4 is ILayoutManagerClient)){ _local2 = (ILayoutManagerClient(_local4).nestLevel + 1); break; }; _local4 = _local4.parent; }; }; nestLevel = _local2; if ((_arg1 is IUIComponent)){ IUIComponent(_arg1).systemManager = this; }; var _local3:Class = Class(getDefinitionByName("mx.core.UIComponent")); if ((((_arg1 is IUIComponent)) && (!(IUIComponent(_arg1).document)))){ IUIComponent(_arg1).document = document; }; if ((_arg1 is ILayoutManagerClient)){ ILayoutManagerClient(_arg1).nestLevel = (nestLevel + 1); }; if ((_arg1 is InteractiveObject)){ if (doubleClickEnabled){ InteractiveObject(_arg1).doubleClickEnabled = true; }; }; if ((_arg1 is IUIComponent)){ IUIComponent(_arg1).parentChanged(this); }; if ((_arg1 is IStyleClient)){ IStyleClient(_arg1).regenerateStyleCache(true); }; if ((_arg1 is ISimpleStyleClient)){ ISimpleStyleClient(_arg1).styleChanged(null); }; if ((_arg1 is IStyleClient)){ IStyleClient(_arg1).notifyStyleChangeInChildren(null, true); }; if (((_local3) && ((_arg1 is _local3)))){ _local3(_arg1).initThemeColor(); }; if (((_local3) && ((_arg1 is _local3)))){ _local3(_arg1).stylesInitialized(); }; } private function idleTimer_timerHandler(_arg1:TimerEvent):void{ idleCounter++; if ((idleCounter * IDLE_INTERVAL) > IDLE_THRESHOLD){ dispatchEvent(new FlexEvent(FlexEvent.IDLE)); }; } public function getExplicitOrMeasuredHeight():Number{ return ((isNaN(explicitHeight)) ? measuredHeight : explicitHeight); } mx_internal function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{ var _local6:IStyleClient; var _local3:Boolean; var _local4:int = rawChildren.numChildren; var _local5:int; while (_local5 < _local4) { _local6 = (rawChildren.getChildAt(_local5) as IStyleClient); if (_local6){ _local6.styleChanged(_arg1); _local6.notifyStyleChangeInChildren(_arg1, _arg2); }; if (isTopLevelWindow(DisplayObject(_local6))){ _local3 = true; }; _local4 = rawChildren.numChildren; _local5++; }; if (((!(_local3)) && ((topLevelWindow is IStyleClient)))){ IStyleClient(topLevelWindow).styleChanged(_arg1); IStyleClient(topLevelWindow).notifyStyleChangeInChildren(_arg1, _arg2); }; } mx_internal function rawChildren_getObjectsUnderPoint(_arg1:Point):Array{ return (super.getObjectsUnderPoint(_arg1)); } private function initHandler(_arg1:Event):void{ allSystemManagers[this] = this.loaderInfo.url; root.loaderInfo.removeEventListener(Event.INIT, initHandler); var _local2:int = ((totalFrames)==1) ? 0 : 1; addFrameScript(_local2, docFrameHandler); var _local3:int = (_local2 + 1); while (_local3 < totalFrames) { addFrameScript(_local3, extraFrameHandler); _local3++; }; initialize(); } override public function contains(_arg1:DisplayObject):Boolean{ var _local2:int; var _local3:int; var _local4:DisplayObject; if (super.contains(_arg1)){ if (_arg1.parent == this){ _local2 = super.getChildIndex(_arg1); if (_local2 < noTopMostIndex){ return (true); }; } else { _local3 = 0; while (_local3 < noTopMostIndex) { _local4 = super.getChildAt(_local3); if ((_local4 is IRawChildrenContainer)){ if (IRawChildrenContainer(_local4).rawChildren.contains(_arg1)){ return (true); }; }; if ((_local4 is DisplayObjectContainer)){ if (DisplayObjectContainer(_local4).contains(_arg1)){ return (true); }; }; _local3++; }; }; }; return (false); } public function getDefinitionByName(_arg1:String):Object{ var _local3:Object; var _local2:ApplicationDomain = (((!(topLevel)) && ((parent is Loader)))) ? Loader(parent).contentLoaderInfo.applicationDomain : (info()["currentDomain"] as ApplicationDomain); if (_local2.hasDefinition(_arg1)){ _local3 = _local2.getDefinition(_arg1); }; return (_local3); } public function get embeddedFontList():Object{ var _local1:Object; var _local2:String; var _local3:Object; if (_fontList == null){ _fontList = {}; _local1 = info()["fonts"]; for (_local2 in _local1) { _fontList[_local2] = _local1[_local2]; }; if (((!(topLevel)) && (_topLevelSystemManager))){ _local3 = _topLevelSystemManager.embeddedFontList; for (_local2 in _local3) { _fontList[_local2] = _local3[_local2]; }; }; }; return (_fontList); } mx_internal function set cursorIndex(_arg1:int):void{ var _local2:int = (_arg1 - _cursorIndex); _cursorIndex = _arg1; } public function set document(_arg1:Object):void{ _document = _arg1; } override public function getChildAt(_arg1:int):DisplayObject{ return (super.getChildAt((applicationIndex + _arg1))); } public function get rawChildren():IChildList{ if (!_rawChildren){ _rawChildren = new SystemRawChildrenList(this); }; return (_rawChildren); } override public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if ((((_arg1 == FlexEvent.IDLE)) && (!(idleTimer)))){ idleTimer = new Timer(IDLE_INTERVAL); idleTimer.addEventListener(TimerEvent.TIMER, idleTimer_timerHandler); idleTimer.start(); addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, true); addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true); }; super.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function removeFocusManager(_arg1:IFocusManagerContainer):void{ var _local2:int = forms.length; var _local3:int; while (_local3 < _local2) { if (forms[_local3] == _arg1){ if (form == _arg1){ deactivate(_arg1); }; forms.splice(_local3, 1); return; }; _local3++; }; } private function mouseMoveHandler(_arg1:MouseEvent):void{ idleCounter = 0; } public function get focusPane():Sprite{ return (_focusPane); } override public function get mouseX():Number{ if (_mouseX === undefined){ return (super.mouseX); }; return (_mouseX); } private function mouseDownHandler(_arg1:MouseEvent):void{ var _local2:int; var _local3:DisplayObject; var _local4:Boolean; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:IChildList; idleCounter = 0; if (numModalWindows == 0){ if (forms.length > 1){ _local2 = forms.length; _local3 = DisplayObject(_arg1.target); _local4 = document.rawChildren.contains(_local3); while (_local3) { _local5 = 0; while (_local5 < _local2) { if (forms[_local5] == _local3){ _local6 = 0; if (((!((_local3 == form))) && ((_local3 is IFocusManagerContainer)))){ activate(IFocusManagerContainer(_local3)); }; if (popUpChildren.contains(_local3)){ _local9 = popUpChildren; } else { _local9 = this; }; _local7 = _local9.getChildIndex(_local3); _local8 = _local7; _local2 = forms.length; _local6 = 0; while (_local6 < _local2) { if (_local9.contains(forms[_local6])){ if (_local9.getChildIndex(forms[_local6]) > _local7){ _local8 = Math.max(_local9.getChildIndex(forms[_local6]), _local8); }; }; _local6++; }; if ((((_local8 > _local7)) && (!(_local4)))){ _local9.setChildIndex(_local3, _local8); }; return; }; _local5++; }; _local3 = _local3.parent; }; }; }; } public function get screen():Rectangle{ if (!_screen){ Stage_resizeHandler(); }; return (_screen); } mx_internal function set topMostIndex(_arg1:int):void{ var _local2:int = (_arg1 - _topMostIndex); _topMostIndex = _arg1; toolTipIndex = (toolTipIndex + _local2); } mx_internal function docFrameHandler(_arg1:Event=null):void{ var _local2:TextFieldFactory; var _local4:int; var _local5:int; var _local6:Class; Singleton.registerClass("mx.managers::IBrowserManager", Class(getDefinitionByName("mx.managers::BrowserManagerImpl"))); Singleton.registerClass("mx.managers::ICursorManager", Class(getDefinitionByName("mx.managers::CursorManagerImpl"))); Singleton.registerClass("mx.managers::IHistoryManager", Class(getDefinitionByName("mx.managers::HistoryManagerImpl"))); Singleton.registerClass("mx.managers::ILayoutManager", Class(getDefinitionByName("mx.managers::LayoutManager"))); Singleton.registerClass("mx.managers::IPopUpManager", Class(getDefinitionByName("mx.managers::PopUpManagerImpl"))); Singleton.registerClass("mx.managers::IToolTipManager2", Class(getDefinitionByName("mx.managers::ToolTipManagerImpl"))); if (Capabilities.playerType == "Desktop"){ Singleton.registerClass("mx.managers::IDragManager", Class(getDefinitionByName("mx.managers::NativeDragManagerImpl"))); if (Singleton.getClass("mx.managers::IDragManager") == null){ Singleton.registerClass("mx.managers::IDragManager", Class(getDefinitionByName("mx.managers::DragManagerImpl"))); }; } else { Singleton.registerClass("mx.managers::IDragManager", Class(getDefinitionByName("mx.managers::DragManagerImpl"))); }; Singleton.registerClass("mx.core::ITextFieldFactory", Class(getDefinitionByName("mx.core::TextFieldFactory"))); executeCallbacks(); doneExecutingInitCallbacks = true; var _local3:Array = info()["mixins"]; if (((_local3) && ((_local3.length > 0)))){ _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local6 = Class(getDefinitionByName(_local3[_local5])); var _local7 = _local6; _local7["init"](this); _local5++; }; }; installCompiledResourceBundles(); initializeTopLevelWindow(null); deferredNextFrame(); } private function Stage_resizeHandler(_arg1:Event=null):void{ var _local2:Number = stage.stageWidth; var _local3:Number = stage.stageHeight; var _local4:Number = loaderInfo.width; var _local5:Number = loaderInfo.height; var _local6:Number = ((_local4 - _local2) / 2); var _local7:Number = ((_local5 - _local3) / 2); var _local8:String = stage.align; if (_local8 == StageAlign.TOP){ _local7 = 0; } else { if (_local8 == StageAlign.BOTTOM){ _local7 = (_local5 - _local3); } else { if (_local8 == StageAlign.LEFT){ _local6 = 0; } else { if (_local8 == StageAlign.RIGHT){ _local6 = (_local4 - _local2); } else { if ((((_local8 == StageAlign.TOP_LEFT)) || ((_local8 == "LT")))){ _local7 = 0; _local6 = 0; } else { if (_local8 == StageAlign.TOP_RIGHT){ _local7 = 0; _local6 = (_local4 - _local2); } else { if (_local8 == StageAlign.BOTTOM_LEFT){ _local7 = (_local5 - _local3); _local6 = 0; } else { if (_local8 == StageAlign.BOTTOM_RIGHT){ _local7 = (_local5 - _local3); _local6 = (_local4 - _local2); }; }; }; }; }; }; }; }; if (!_screen){ _screen = new Rectangle(); }; _screen.x = _local6; _screen.y = _local7; _screen.width = _local2; _screen.height = _local3; if (isStageRoot){ _width = stage.stageWidth; _height = stage.stageHeight; }; if (_arg1){ resizeMouseCatcher(); dispatchEvent(_arg1); }; } public function get explicitHeight():Number{ return (_explicitHeight); } public function get preloaderBackgroundSize():String{ return (info()["backgroundSize"]); } public function isTopLevel():Boolean{ return (topLevel); } override public function get mouseY():Number{ if (_mouseY === undefined){ return (super.mouseY); }; return (_mouseY); } public function getExplicitOrMeasuredWidth():Number{ return ((isNaN(explicitWidth)) ? measuredWidth : explicitWidth); } public function deactivate(_arg1:IFocusManagerContainer):void{ var _local2:IFocusManagerContainer; var _local3:int; var _local4:int; var _local5:IFocusManagerContainer; if (form){ if ((((form == _arg1)) && ((forms.length > 1)))){ form.focusManager.deactivate(); _local3 = forms.length; _local4 = 0; while (_local4 < _local3) { _local5 = forms[_local4]; if (_local5 == _arg1){ _local4 = (_local4 + 1); while (_local4 < _local3) { _local5 = forms[_local4]; if ((((Sprite(_local5).visible == true)) && (IUIComponent(_local5).enabled))){ _local2 = _local5; }; _local4++; }; form = _local2; break; } else { if (((Sprite(_local5).visible) && (IUIComponent(_local5).enabled))){ _local2 = _local5; }; }; _local4++; }; if (form){ form.focusManager.activate(); }; }; }; } override public function getChildByName(_arg1:String):DisplayObject{ return (super.getChildByName(_arg1)); } override public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ noTopMostIndex++; return (rawChildren_addChildAt(_arg1, (applicationIndex + _arg2))); } public function get measuredWidth():Number{ return ((topLevelWindow) ? topLevelWindow.getExplicitOrMeasuredWidth() : loaderInfo.width); } public function info():Object{ return ({}); } mx_internal function get toolTipIndex():int{ return (_toolTipIndex); } public function setActualSize(_arg1:Number, _arg2:Number):void{ if (isStageRoot){ return; }; _width = _arg1; _height = _arg2; if (mouseCatcher){ mouseCatcher.width = _arg1; mouseCatcher.height = _arg2; }; dispatchEvent(new Event(Event.RESIZE)); } public function set focusPane(_arg1:Sprite):void{ if (_arg1){ addChild(_arg1); _arg1.x = 0; _arg1.y = 0; _arg1.scrollRect = null; _focusPane = _arg1; } else { removeChild(_focusPane); _focusPane = null; }; } mx_internal function set applicationIndex(_arg1:int):void{ _applicationIndex = _arg1; } private function executeCallbacks():void{ var _local1:Function; if (!parent){ return; }; while (initCallbackFunctions.length > 0) { _local1 = initCallbackFunctions.shift(); _local1(this); }; } public function get popUpChildren():IChildList{ if (!topLevel){ return (_topLevelSystemManager.popUpChildren); }; if (!_popUpChildren){ _popUpChildren = new SystemChildrenList(this, new QName(mx_internal, "noTopMostIndex"), new QName(mx_internal, "topMostIndex")); }; return (_popUpChildren); } public function set explicitHeight(_arg1:Number):void{ _explicitHeight = _arg1; } override public function removeChild(_arg1:DisplayObject):DisplayObject{ noTopMostIndex--; return (rawChildren_removeChild(_arg1)); } override public function addChild(_arg1:DisplayObject):DisplayObject{ noTopMostIndex++; return (rawChildren_addChildAt(_arg1, (noTopMostIndex - 1))); } public function create(... _args):Object{ var _local4:String; var _local5:int; var _local6:int; var _local2:String = info()["mainClassName"]; if (_local2 == null){ _local4 = loaderInfo.loaderURL; _local5 = _local4.lastIndexOf("."); _local6 = _local4.lastIndexOf("/"); _local2 = _local4.substring((_local6 + 1), _local5); }; var _local3:Class = Class(getDefinitionByName(_local2)); return ((_local3) ? new (_local3) : null); } override public function get stage():Stage{ var _local1:Stage = super.stage; if (_local1){ return (_local1); }; if (((!(topLevel)) && (_topLevelSystemManager))){ return (_topLevelSystemManager.stage); }; return (null); } mx_internal function rawChildren_removeChild(_arg1:DisplayObject):DisplayObject{ removingChild(_arg1); super.removeChild(_arg1); childRemoved(_arg1); return (_arg1); } final mx_internal function get $numChildren():int{ return (super.numChildren); } public function get toolTipChildren():IChildList{ if (!topLevel){ return (_topLevelSystemManager.toolTipChildren); }; if (!_toolTipChildren){ _toolTipChildren = new SystemChildrenList(this, new QName(mx_internal, "topMostIndex"), new QName(mx_internal, "toolTipIndex")); }; return (_toolTipChildren); } override public function getChildIndex(_arg1:DisplayObject):int{ return ((super.getChildIndex(_arg1) - applicationIndex)); } private function mouseUpHandler(_arg1:MouseEvent):void{ idleCounter = 0; } mx_internal function rawChildren_getChildIndex(_arg1:DisplayObject):int{ return (super.getChildIndex(_arg1)); } public function activate(_arg1:IFocusManagerContainer):void{ var _local2:IFocusManagerContainer; if (form){ if (((!((form == _arg1))) && ((forms.length > 1)))){ _local2 = form; _local2.focusManager.deactivate(); }; }; form = _arg1; if (_arg1.focusManager){ _arg1.focusManager.activate(); }; } private function deferredNextFrame():void{ if ((currentFrame + 1) > totalFrames){ return; }; if ((currentFrame + 1) <= framesLoaded){ nextFrame(); } else { nextFrameTimer = new Timer(100); nextFrameTimer.addEventListener(TimerEvent.TIMER, nextFrameTimerHandler); nextFrameTimer.start(); }; } mx_internal function get cursorIndex():int{ return (_cursorIndex); } mx_internal function rawChildren_contains(_arg1:DisplayObject):Boolean{ return (super.contains(_arg1)); } override public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ super.setChildIndex(_arg1, (applicationIndex + _arg2)); } public function get document():Object{ return (_document); } private function resizeMouseCatcher():void{ var _local1:Graphics; if (mouseCatcher){ _local1 = mouseCatcher.graphics; _local1.clear(); _local1.beginFill(0, 0); _local1.drawRect(0, 0, stage.stageWidth, stage.stageHeight); _local1.endFill(); }; } override public function get height():Number{ return (_height); } mx_internal function rawChildren_getChildAt(_arg1:int):DisplayObject{ return (super.getChildAt(_arg1)); } mx_internal function set noTopMostIndex(_arg1:int):void{ var _local2:int = (_arg1 - _noTopMostIndex); _noTopMostIndex = _arg1; topMostIndex = (topMostIndex + _local2); } override public function getObjectsUnderPoint(_arg1:Point):Array{ var _local5:DisplayObject; var _local6:Array; var _local2:Array = []; var _local3:int = topMostIndex; var _local4:int; while (_local4 < _local3) { _local5 = super.getChildAt(_local4); if ((_local5 is DisplayObjectContainer)){ _local6 = DisplayObjectContainer(_local5).getObjectsUnderPoint(_arg1); if (_local6){ _local2 = _local2.concat(_local6); }; }; _local4++; }; return (_local2); } mx_internal function get topMostIndex():int{ return (_topMostIndex); } mx_internal function regenerateStyleCache(_arg1:Boolean):void{ var _local5:IStyleClient; var _local2:Boolean; var _local3:int = rawChildren.numChildren; var _local4:int; while (_local4 < _local3) { _local5 = (rawChildren.getChildAt(_local4) as IStyleClient); if (_local5){ _local5.regenerateStyleCache(_arg1); }; if (isTopLevelWindow(DisplayObject(_local5))){ _local2 = true; }; _local3 = rawChildren.numChildren; _local4++; }; if (((!(_local2)) && ((topLevelWindow is IStyleClient)))){ IStyleClient(topLevelWindow).regenerateStyleCache(_arg1); }; } public function addFocusManager(_arg1:IFocusManagerContainer):void{ forms.push(_arg1); } public function isFontFaceEmbedded(_arg1:TextFormat):Boolean{ var _local6:Font; var _local7:String; var _local2:String = _arg1.font; var _local3:Array = Font.enumerateFonts(); var _local4:int; while (_local4 < _local3.length) { _local6 = Font(_local3[_local4]); if (_local6.fontName == _local2){ _local7 = "regular"; if (((_arg1.bold) && (_arg1.italic))){ _local7 = "boldItalic"; } else { if (_arg1.bold){ _local7 = "bold"; } else { if (_arg1.italic){ _local7 = "italic"; }; }; }; if (_local6.fontStyle == _local7){ return (true); }; }; _local4++; }; if (((((!(_local2)) || (!(embeddedFontList)))) || (!(embeddedFontList[_local2])))){ return (false); }; var _local5:Object = embeddedFontList[_local2]; return (!(((((((_arg1.bold) && (!(_local5.bold)))) || (((_arg1.italic) && (!(_local5.italic)))))) || (((((!(_arg1.bold)) && (!(_arg1.italic)))) && (!(_local5.regular))))))); } mx_internal function rawChildren_setChildIndex(_arg1:DisplayObject, _arg2:int):void{ super.setChildIndex(_arg1, _arg2); } mx_internal function childAdded(_arg1:DisplayObject):void{ _arg1.dispatchEvent(new FlexEvent(FlexEvent.ADD)); if ((_arg1 is IUIComponent)){ IUIComponent(_arg1).initialize(); }; } override public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (_arg1 == FlexEvent.IDLE){ super.removeEventListener(_arg1, _arg2, _arg3); if (((!(hasEventListener(FlexEvent.IDLE))) && (idleTimer))){ idleTimer.stop(); idleTimer = null; removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); }; } else { super.removeEventListener(_arg1, _arg2, _arg3); }; } private function extraFrameHandler(_arg1:Event=null):void{ var _local3:Class; var _local2:Object = info()["frames"]; if (((_local2) && (_local2[currentLabel]))){ _local3 = Class(getDefinitionByName(_local2[currentLabel])); var _local4 = _local3; _local4["frame"](this); }; deferredNextFrame(); } public function get application():IUIComponent{ return (IUIComponent(_document)); } override public function removeChildAt(_arg1:int):DisplayObject{ noTopMostIndex--; return (rawChildren_removeChildAt((applicationIndex + _arg1))); } mx_internal function rawChildren_removeChildAt(_arg1:int):DisplayObject{ var _local2:DisplayObject = super.getChildAt(_arg1); removingChild(_local2); super.removeChildAt(_arg1); childRemoved(_local2); return (_local2); } private function installCompiledResourceBundles():void{ var _local1:Object = this.info(); var _local2:ApplicationDomain = (((!(topLevel)) && ((parent is Loader)))) ? Loader(parent).contentLoaderInfo.applicationDomain : _local1["currentDomain"]; var _local3:Array = _local1["compiledLocales"]; var _local4:Array = _local1["compiledResourceBundleNames"]; var _local5:IResourceManager = ResourceManager.getInstance(); _local5.installCompiledResourceBundles(_local2, _local3, _local4); if (!_local5.localeChain){ _local5.localeChain = _local3; }; } mx_internal function removingChild(_arg1:DisplayObject):void{ _arg1.dispatchEvent(new FlexEvent(FlexEvent.REMOVE)); } mx_internal function get applicationIndex():int{ return (_applicationIndex); } mx_internal function set toolTipIndex(_arg1:int):void{ var _local2:int = (_arg1 - _toolTipIndex); _toolTipIndex = _arg1; cursorIndex = (cursorIndex + _local2); } public function get cursorChildren():IChildList{ if (!topLevel){ return (_topLevelSystemManager.cursorChildren); }; if (!_cursorChildren){ _cursorChildren = new SystemChildrenList(this, new QName(mx_internal, "toolTipIndex"), new QName(mx_internal, "cursorIndex")); }; return (_cursorChildren); } public function get preloaderBackgroundImage():Object{ return (info()["backgroundImage"]); } public function set numModalWindows(_arg1:int):void{ _numModalWindows = _arg1; } public function get preloaderBackgroundAlpha():Number{ return (info()["backgroundAlpha"]); } mx_internal function rawChildren_getChildByName(_arg1:String):DisplayObject{ return (super.getChildByName(_arg1)); } private function preloader_preloaderDoneHandler(_arg1:Event):void{ var _local2:IUIComponent = topLevelWindow; preloader.removeEventListener(FlexEvent.PRELOADER_DONE, preloader_preloaderDoneHandler); _popUpChildren.removeChild(preloader); preloader = null; mouseCatcher = new FlexSprite(); mouseCatcher.name = "mouseCatcher"; noTopMostIndex++; super.addChildAt(mouseCatcher, 0); resizeMouseCatcher(); if (!topLevel){ mouseCatcher.visible = false; mask = mouseCatcher; }; noTopMostIndex++; super.addChildAt(DisplayObject(_local2), 1); _local2.dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_COMPLETE)); dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_COMPLETE)); } public function get preloaderBackgroundColor():uint{ var _local1:* = info()["backgroundColor"]; if (_local1 == undefined){ return (StyleManager.NOT_A_COLOR); }; return (StyleManager.getColorName(_local1)); } public function get topLevelSystemManager():ISystemManager{ if (topLevel){ return (this); }; return (_topLevelSystemManager); } mx_internal function initialize():void{ var _local6:int; var _local7:int; var _local9:EmbeddedFontRegistry; var _local13:Class; var _local14:Object; var _local15:RSLItem; if (isStageRoot){ _width = stage.stageWidth; _height = stage.stageHeight; } else { _width = loaderInfo.width; _height = loaderInfo.height; }; preloader = new Preloader(); preloader.addEventListener(FlexEvent.INIT_PROGRESS, preloader_initProgressHandler); preloader.addEventListener(FlexEvent.PRELOADER_DONE, preloader_preloaderDoneHandler); if (!_popUpChildren){ _popUpChildren = new SystemChildrenList(this, new QName(mx_internal, "noTopMostIndex"), new QName(mx_internal, "topMostIndex")); }; _popUpChildren.addChild(preloader); var _local1:Array = info()["rsls"]; var _local2:Array = info()["cdRsls"]; var _local3:Boolean; if (info()["usePreloader"] != undefined){ _local3 = info()["usePreloader"]; }; var _local4:Class = (info()["preloader"] as Class); if (((_local3) && (!(_local4)))){ _local4 = DownloadProgressBar; }; var _local5:Array = []; if (((_local2) && ((_local2.length > 0)))){ _local13 = Class(getDefinitionByName("mx.core::CrossDomainRSLItem")); _local6 = _local2.length; _local7 = 0; while (_local7 < _local6) { _local14 = new _local13(_local2[_local7]["rsls"], _local2[_local7]["policyFiles"], _local2[_local7]["digests"], _local2[_local7]["types"], _local2[_local7]["isSigned"]); _local5.push(_local14); _local7++; }; }; if (((!((_local1 == null))) && ((_local1.length > 0)))){ _local6 = _local1.length; _local7 = 0; while (_local7 < _local6) { _local15 = new RSLItem(_local1[_local7].url); _local5.push(_local15); _local7++; }; }; Singleton.registerClass("mx.resources::IResourceManager", Class(getDefinitionByName("mx.resources::ResourceManagerImpl"))); var _local8:IResourceManager = ResourceManager.getInstance(); Singleton.registerClass("mx.core::IEmbeddedFontRegistry", Class(getDefinitionByName("mx.core::EmbeddedFontRegistry"))); Singleton.registerClass("mx.styles::IStyleManager", Class(getDefinitionByName("mx.styles::StyleManagerImpl"))); Singleton.registerClass("mx.styles::IStyleManager2", Class(getDefinitionByName("mx.styles::StyleManagerImpl"))); var _local10:String = loaderInfo.parameters["localeChain"]; if (((!((_local10 == null))) && (!((_local10 == ""))))){ _local8.localeChain = _local10.split(","); }; var _local11:String = loaderInfo.parameters["resourceModuleURLs"]; var _local12:Array = (_local11) ? _local11.split(",") : null; preloader.initialize(_local3, _local4, preloaderBackgroundColor, preloaderBackgroundAlpha, preloaderBackgroundImage, preloaderBackgroundSize, (isStageRoot) ? stage.stageWidth : loaderInfo.width, (isStageRoot) ? stage.stageHeight : loaderInfo.height, null, null, _local5, _local12); } private function appCreationCompleteHandler(_arg1:FlexEvent):void{ var _local2:DisplayObjectContainer; if (((!(topLevel)) && (parent))){ _local2 = parent.parent; while (_local2) { if ((_local2 is IInvalidating)){ IInvalidating(_local2).invalidateSize(); IInvalidating(_local2).invalidateDisplayList(); return; }; _local2 = _local2.parent; }; }; } public function get measuredHeight():Number{ return ((topLevelWindow) ? topLevelWindow.getExplicitOrMeasuredHeight() : loaderInfo.height); } mx_internal function rawChildren_addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ addingChild(_arg1); super.addChildAt(_arg1, _arg2); childAdded(_arg1); return (_arg1); } private function nextFrameTimerHandler(_arg1:TimerEvent):void{ if ((currentFrame + 1) <= framesLoaded){ nextFrame(); nextFrameTimer.removeEventListener(TimerEvent.TIMER, nextFrameTimerHandler); nextFrameTimer.reset(); }; } mx_internal function childRemoved(_arg1:DisplayObject):void{ if ((_arg1 is IUIComponent)){ IUIComponent(_arg1).parentChanged(null); }; } mx_internal function get noTopMostIndex():int{ return (_noTopMostIndex); } override public function get numChildren():int{ return ((noTopMostIndex - applicationIndex)); } private function initializeTopLevelWindow(_arg1:Event):void{ var _local2:IUIComponent; var _local3:DisplayObjectContainer; initialized = true; if (!parent){ return; }; if (!topLevel){ _local3 = parent.parent; if (!_local3){ return; }; while (_local3) { if ((_local3 is IUIComponent)){ _topLevelSystemManager = IUIComponent(_local3).systemManager; break; }; _local3 = _local3.parent; }; }; addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, true); if (((topLevel) && (stage))){ stage.addEventListener(Event.RESIZE, Stage_resizeHandler, false, 0, true); }; _local2 = (topLevelWindow = IUIComponent(create())); document = _local2; if (document){ IEventDispatcher(_local2).addEventListener(FlexEvent.CREATION_COMPLETE, appCreationCompleteHandler); if (((topLevel) && (stage))){ LoaderConfig._url = loaderInfo.url; LoaderConfig._parameters = loaderInfo.parameters; _width = stage.stageWidth; _height = stage.stageHeight; IFlexDisplayObject(_local2).setActualSize(stage.stageWidth, stage.stageHeight); } else { IFlexDisplayObject(_local2).setActualSize(loaderInfo.width, loaderInfo.height); }; if (preloader){ preloader.registerApplication(_local2); }; addingChild(DisplayObject(_local2)); childAdded(DisplayObject(_local2)); } else { document = this; }; } public function get numModalWindows():int{ return (_numModalWindows); } public function isTopLevelWindow(_arg1:DisplayObject):Boolean{ return ((((_arg1 is IUIComponent)) && ((IUIComponent(_arg1) == topLevelWindow)))); } override public function get width():Number{ return (_width); } public function move(_arg1:Number, _arg2:Number):void{ } public function set explicitWidth(_arg1:Number):void{ _explicitWidth = _arg1; } private function preloader_initProgressHandler(_arg1:Event):void{ preloader.removeEventListener(FlexEvent.INIT_PROGRESS, preloader_initProgressHandler); deferredNextFrame(); } public function get explicitWidth():Number{ return (_explicitWidth); } mx_internal function rawChildren_addChild(_arg1:DisplayObject):DisplayObject{ addingChild(_arg1); super.addChild(_arg1); childAdded(_arg1); return (_arg1); } public static function getSWFRoot(_arg1:Object):DisplayObject{ var p:*; var sm:ISystemManager; var domain:ApplicationDomain; var cls:Class; var object = _arg1; var className:String = getQualifiedClassName(object); for (p in allSystemManagers) { sm = (p as ISystemManager); domain = sm.loaderInfo.applicationDomain; try { cls = Class(domain.getDefinition(className)); if ((object is cls)){ return ((sm as DisplayObject)); }; } catch(e:Error) { }; }; return (null); } mx_internal static function registerInitCallback(_arg1:Function):void{ if (((!(allSystemManagers)) || (!(lastSystemManager)))){ return; }; var _local2:SystemManager = lastSystemManager; if (_local2.doneExecutingInitCallbacks){ _arg1(_local2); } else { _local2.initCallbackFunctions.push(_arg1); }; } } }//package mx.managers
Section 232
//SystemManagerGlobals (mx.managers.SystemManagerGlobals) package mx.managers { public class SystemManagerGlobals { public static var topLevelSystemManagers:Array = []; public static var bootstrapLoaderInfoURL:String; } }//package mx.managers
Section 233
//SystemRawChildrenList (mx.managers.SystemRawChildrenList) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; public class SystemRawChildrenList implements IChildList { private var owner:SystemManager; mx_internal static const VERSION:String = "3.0.0.0"; public function SystemRawChildrenList(_arg1:SystemManager){ this.owner = _arg1; } public function getChildAt(_arg1:int):DisplayObject{ return (owner.mx_internal::rawChildren_getChildAt(_arg1)); } public function addChild(_arg1:DisplayObject):DisplayObject{ return (owner.mx_internal::rawChildren_addChild(_arg1)); } public function getChildIndex(_arg1:DisplayObject):int{ return (owner.mx_internal::rawChildren_getChildIndex(_arg1)); } public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ var _local3 = owner; _local3.mx_internal::rawChildren_setChildIndex(_arg1, _arg2); } public function getChildByName(_arg1:String):DisplayObject{ return (owner.mx_internal::rawChildren_getChildByName(_arg1)); } public function removeChildAt(_arg1:int):DisplayObject{ return (owner.mx_internal::rawChildren_removeChildAt(_arg1)); } public function get numChildren():int{ return (owner.mx_internal::$numChildren); } public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ return (owner.mx_internal::rawChildren_addChildAt(_arg1, _arg2)); } public function getObjectsUnderPoint(_arg1:Point):Array{ return (owner.mx_internal::rawChildren_getObjectsUnderPoint(_arg1)); } public function contains(_arg1:DisplayObject):Boolean{ return (owner.mx_internal::rawChildren_contains(_arg1)); } public function removeChild(_arg1:DisplayObject):DisplayObject{ return (owner.mx_internal::rawChildren_removeChild(_arg1)); } } }//package mx.managers
Section 234
//ToolTipManager (mx.managers.ToolTipManager) package mx.managers { import flash.display.*; import mx.core.*; import flash.events.*; import mx.effects.*; public class ToolTipManager extends EventDispatcher { mx_internal static const VERSION:String = "3.0.0.0"; private static var implClassDependency:ToolTipManagerImpl; private static var _impl:IToolTipManager2; mx_internal static function registerToolTip(_arg1:DisplayObject, _arg2:String, _arg3:String):void{ impl.registerToolTip(_arg1, _arg2, _arg3); } public static function get enabled():Boolean{ return (impl.enabled); } public static function set enabled(_arg1:Boolean):void{ impl.enabled = _arg1; } public static function createToolTip(_arg1:String, _arg2:Number, _arg3:Number, _arg4:String=null, _arg5:IUIComponent=null):IToolTip{ return (impl.createToolTip(_arg1, _arg2, _arg3, _arg4, _arg5)); } public static function set hideDelay(_arg1:Number):void{ impl.hideDelay = _arg1; } public static function set showDelay(_arg1:Number):void{ impl.showDelay = _arg1; } public static function get showDelay():Number{ return (impl.showDelay); } public static function destroyToolTip(_arg1:IToolTip):void{ return (impl.destroyToolTip(_arg1)); } public static function get scrubDelay():Number{ return (impl.scrubDelay); } public static function get toolTipClass():Class{ return (impl.toolTipClass); } mx_internal static function registerErrorString(_arg1:DisplayObject, _arg2:String, _arg3:String):void{ impl.registerErrorString(_arg1, _arg2, _arg3); } mx_internal static function sizeTip(_arg1:IToolTip):void{ impl.sizeTip(_arg1); } public static function set currentTarget(_arg1:DisplayObject):void{ impl.currentTarget = _arg1; } public static function set showEffect(_arg1:IAbstractEffect):void{ impl.showEffect = _arg1; } private static function get impl():IToolTipManager2{ if (!_impl){ _impl = IToolTipManager2(Singleton.getInstance("mx.managers::IToolTipManager2")); }; return (_impl); } public static function get hideDelay():Number{ return (impl.hideDelay); } public static function set hideEffect(_arg1:IAbstractEffect):void{ impl.hideEffect = _arg1; } public static function set scrubDelay(_arg1:Number):void{ impl.scrubDelay = _arg1; } public static function get currentToolTip():IToolTip{ return (impl.currentToolTip); } public static function set currentToolTip(_arg1:IToolTip):void{ impl.currentToolTip = _arg1; } public static function get showEffect():IAbstractEffect{ return (impl.showEffect); } public static function get currentTarget():DisplayObject{ return (impl.currentTarget); } public static function get hideEffect():IAbstractEffect{ return (impl.hideEffect); } public static function set toolTipClass(_arg1:Class):void{ impl.toolTipClass = _arg1; } } }//package mx.managers
Section 235
//ToolTipManagerImpl (mx.managers.ToolTipManagerImpl) package mx.managers { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.*; import mx.effects.*; import flash.utils.*; import mx.validators.*; public class ToolTipManagerImpl extends EventDispatcher implements IToolTipManager2 { private var _enabled:Boolean;// = true mx_internal var isError:Boolean; private var _showDelay:Number;// = 500 private var _hideEffect:IAbstractEffect; mx_internal var hideTimer:Timer; private var _scrubDelay:Number;// = 100 private var _toolTipClass:Class; mx_internal var currentText:String; mx_internal var showTimer:Timer; private var _currentToolTip:IToolTip; mx_internal var scrubTimer:Timer; mx_internal var previousTarget:DisplayObject; private var _currentTarget:DisplayObject; private var _showEffect:IAbstractEffect; mx_internal var initialized:Boolean;// = false private var _hideDelay:Number;// = 10000 mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:IToolTipManager2; public function ToolTipManagerImpl(){ _toolTipClass = ToolTip; super(); if (instance){ throw (new Error("Instance already exists.")); }; } mx_internal function systemManager_mouseDownHandler(_arg1:MouseEvent):void{ reset(); } public function set showDelay(_arg1:Number):void{ _showDelay = _arg1; } mx_internal function hideEffectEnded():void{ var _local1:ToolTipEvent; reset(); if (previousTarget){ _local1 = new ToolTipEvent(ToolTipEvent.TOOL_TIP_END); _local1.toolTip = currentToolTip; previousTarget.dispatchEvent(_local1); }; } public function set scrubDelay(_arg1:Number):void{ _scrubDelay = _arg1; } public function get currentToolTip():IToolTip{ return (_currentToolTip); } private function mouseIsOver(_arg1:DisplayObject):Boolean{ if (((!(_arg1)) || (!(_arg1.stage)))){ return (false); }; if ((((_arg1.stage.mouseX == 0)) && ((_arg1.stage.mouseY == 0)))){ return (false); }; return (_arg1.hitTestPoint(_arg1.stage.mouseX, _arg1.stage.mouseY, true)); } mx_internal function toolTipMouseOutHandler(_arg1:MouseEvent):void{ checkIfTargetChanged(_arg1.relatedObject); } public function get enabled():Boolean{ return (_enabled); } public function createToolTip(_arg1:String, _arg2:Number, _arg3:Number, _arg4:String=null, _arg5:IUIComponent=null):IToolTip{ var _local6:ToolTip = new ToolTip(); var _local7:ISystemManager = (_arg5) ? _arg5.systemManager : ApplicationGlobals.application.systemManager; _local7.toolTipChildren.addChild(_local6); if (_arg4){ _local6.setStyle("styleName", "errorTip"); _local6.setStyle("borderStyle", _arg4); }; _local6.text = _arg1; sizeTip(_local6); _local6.move(_arg2, _arg3); return ((_local6 as IToolTip)); } mx_internal function reset():void{ var _local1:ISystemManager; showTimer.reset(); hideTimer.reset(); if (currentToolTip){ if (((showEffect) || (hideEffect))){ currentToolTip.removeEventListener(EffectEvent.EFFECT_END, effectEndHandler); }; EffectManager.endEffectsForTarget(currentToolTip); _local1 = currentToolTip.systemManager; _local1.toolTipChildren.removeChild(DisplayObject(currentToolTip)); currentToolTip = null; scrubTimer.delay = scrubDelay; scrubTimer.reset(); if (scrubDelay > 0){ scrubTimer.delay = scrubDelay; scrubTimer.start(); }; }; } public function get toolTipClass():Class{ return (_toolTipClass); } public function set currentToolTip(_arg1:IToolTip):void{ _currentToolTip = _arg1; } private function hideImmediately(_arg1:DisplayObject):void{ checkIfTargetChanged(null); } mx_internal function showTip():void{ var _local2:ISystemManager; var _local1:ToolTipEvent = new ToolTipEvent(ToolTipEvent.TOOL_TIP_SHOW); _local1.toolTip = currentToolTip; currentTarget.dispatchEvent(_local1); if (isError){ currentTarget.addEventListener("change", changeHandler); } else { _local2 = getSystemManager(currentTarget); _local2.addEventListener(MouseEvent.MOUSE_DOWN, systemManager_mouseDownHandler); }; currentToolTip.visible = true; if (!showEffect){ showEffectEnded(); }; } mx_internal function effectEndHandler(_arg1:EffectEvent):void{ if (_arg1.effectInstance.effect == showEffect){ showEffectEnded(); } else { if (_arg1.effectInstance.effect == hideEffect){ hideEffectEnded(); }; }; } public function get hideDelay():Number{ return (_hideDelay); } public function get currentTarget():DisplayObject{ return (_currentTarget); } mx_internal function showEffectEnded():void{ var _local1:ToolTipEvent; if (hideDelay == 0){ hideTip(); } else { if (hideDelay < Infinity){ hideTimer.delay = hideDelay; hideTimer.start(); }; }; if (currentTarget){ _local1 = new ToolTipEvent(ToolTipEvent.TOOL_TIP_SHOWN); _local1.toolTip = currentToolTip; currentTarget.dispatchEvent(_local1); }; } public function get hideEffect():IAbstractEffect{ return (_hideEffect); } mx_internal function changeHandler(_arg1:Event):void{ reset(); } public function set enabled(_arg1:Boolean):void{ _enabled = _arg1; } mx_internal function errorTipMouseOverHandler(_arg1:MouseEvent):void{ checkIfTargetChanged(DisplayObject(_arg1.target)); } public function get showDelay():Number{ return (_showDelay); } public function registerErrorString(_arg1:DisplayObject, _arg2:String, _arg3:String):void{ if (((!(_arg2)) && (_arg3))){ _arg1.addEventListener(MouseEvent.MOUSE_OVER, errorTipMouseOverHandler); _arg1.addEventListener(MouseEvent.MOUSE_OUT, errorTipMouseOutHandler); if (mouseIsOver(_arg1)){ showImmediately(_arg1); }; } else { if (((_arg2) && (!(_arg3)))){ _arg1.removeEventListener(MouseEvent.MOUSE_OVER, errorTipMouseOverHandler); _arg1.removeEventListener(MouseEvent.MOUSE_OUT, errorTipMouseOutHandler); if (mouseIsOver(_arg1)){ hideImmediately(_arg1); }; }; }; } mx_internal function initialize():void{ if (!showTimer){ showTimer = new Timer(0, 1); showTimer.addEventListener(TimerEvent.TIMER, showTimer_timerHandler); }; if (!hideTimer){ hideTimer = new Timer(0, 1); hideTimer.addEventListener(TimerEvent.TIMER, hideTimer_timerHandler); }; if (!scrubTimer){ scrubTimer = new Timer(0, 1); }; initialized = true; } public function destroyToolTip(_arg1:IToolTip):void{ var _local2:ISystemManager = _arg1.systemManager; _local2.toolTipChildren.removeChild(DisplayObject(_arg1)); } public function get scrubDelay():Number{ return (_scrubDelay); } mx_internal function checkIfTargetChanged(_arg1:DisplayObject):void{ if (!enabled){ return; }; findTarget(_arg1); if (currentTarget != previousTarget){ targetChanged(); previousTarget = currentTarget; }; } public function set toolTipClass(_arg1:Class):void{ _toolTipClass = _arg1; } private function getGlobalBounds(_arg1:DisplayObject):Rectangle{ var _local2:Point = new Point(0, 0); _local2 = _arg1.localToGlobal(_local2); return (new Rectangle(_local2.x, _local2.y, _arg1.width, _arg1.height)); } mx_internal function positionTip():void{ var _local1:Number; var _local2:Number; var _local5:Rectangle; var _local6:Point; var _local7:IToolTip; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local3:Number = currentToolTip.screen.width; var _local4:Number = currentToolTip.screen.height; if (isError){ _local5 = getGlobalBounds(currentTarget); _local1 = (_local5.right + 4); _local2 = (_local5.top - 1); if ((_local1 + currentToolTip.width) > _local3){ _local8 = NaN; _local9 = NaN; _local1 = (_local5.left - 2); if (((_local1 + currentToolTip.width) + 4) > _local3){ _local8 = ((_local3 - _local1) - 4); _local9 = Object(toolTipClass).maxWidth; Object(toolTipClass).maxWidth = _local8; if ((currentToolTip is IStyleClient)){ IStyleClient(currentToolTip).setStyle("borderStyle", "errorTipAbove"); }; currentToolTip["text"] = currentToolTip["text"]; Object(toolTipClass).maxWidth = _local9; } else { if ((currentToolTip is IStyleClient)){ IStyleClient(currentToolTip).setStyle("borderStyle", "errorTipAbove"); }; currentToolTip["text"] = currentToolTip["text"]; }; if ((currentToolTip.height + 2) < _local5.top){ _local2 = (_local5.top - (currentToolTip.height + 2)); } else { _local2 = (_local5.bottom + 2); if (!isNaN(_local8)){ Object(toolTipClass).maxWidth = _local8; }; if ((currentToolTip is IStyleClient)){ IStyleClient(currentToolTip).setStyle("borderStyle", "errorTipBelow"); }; currentToolTip["text"] = currentToolTip["text"]; if (!isNaN(_local9)){ Object(toolTipClass).maxWidth = _local9; }; }; }; sizeTip(currentToolTip); _local6 = new Point(_local1, _local2); _local7 = currentToolTip; _local6 = DisplayObject(_local7).root.globalToLocal(_local6); _local1 = _local6.x; _local2 = _local6.y; } else { _local1 = (ApplicationGlobals.application.mouseX + 11); _local2 = (ApplicationGlobals.application.mouseY + 22); _local10 = currentToolTip.width; if ((_local1 + _local10) > _local3){ _local1 = (_local3 - _local10); }; _local11 = currentToolTip.height; if ((_local2 + _local11) > _local4){ _local2 = (_local4 - _local11); }; }; currentToolTip.move(_local1, _local2); } mx_internal function errorTipMouseOutHandler(_arg1:MouseEvent):void{ checkIfTargetChanged(_arg1.relatedObject); } mx_internal function findTarget(_arg1:DisplayObject):void{ while (_arg1) { if ((_arg1 is IValidatorListener)){ currentText = IValidatorListener(_arg1).errorString; if (((!((currentText == null))) && (!((currentText == ""))))){ currentTarget = _arg1; isError = true; return; }; }; if ((_arg1 is IToolTipManagerClient)){ currentText = IToolTipManagerClient(_arg1).toolTip; if (currentText != null){ currentTarget = _arg1; isError = false; return; }; }; _arg1 = _arg1.parent; }; currentText = null; currentTarget = null; } public function registerToolTip(_arg1:DisplayObject, _arg2:String, _arg3:String):void{ if (((!(_arg2)) && (_arg3))){ _arg1.addEventListener(MouseEvent.MOUSE_OVER, toolTipMouseOverHandler); _arg1.addEventListener(MouseEvent.MOUSE_OUT, toolTipMouseOutHandler); if (mouseIsOver(_arg1)){ showImmediately(_arg1); }; } else { if (((_arg2) && (!(_arg3)))){ _arg1.removeEventListener(MouseEvent.MOUSE_OVER, toolTipMouseOverHandler); _arg1.removeEventListener(MouseEvent.MOUSE_OUT, toolTipMouseOutHandler); if (mouseIsOver(_arg1)){ hideImmediately(_arg1); }; }; }; } private function showImmediately(_arg1:DisplayObject):void{ var _local2:Number = ToolTipManager.showDelay; ToolTipManager.showDelay = 0; checkIfTargetChanged(_arg1); ToolTipManager.showDelay = _local2; } public function set hideDelay(_arg1:Number):void{ _hideDelay = _arg1; } private function getSystemManager(_arg1:DisplayObject):ISystemManager{ return (((_arg1 is IUIComponent)) ? IUIComponent(_arg1).systemManager : null); } public function set currentTarget(_arg1:DisplayObject):void{ _currentTarget = _arg1; } public function sizeTip(_arg1:IToolTip):void{ if ((_arg1 is IInvalidating)){ IInvalidating(_arg1).validateNow(); }; _arg1.setActualSize(_arg1.getExplicitOrMeasuredWidth(), _arg1.getExplicitOrMeasuredHeight()); } mx_internal function showTimer_timerHandler(_arg1:TimerEvent):void{ if (currentTarget){ createTip(); initializeTip(); positionTip(); showTip(); }; } mx_internal function hideTimer_timerHandler(_arg1:TimerEvent):void{ hideTip(); } public function set showEffect(_arg1:IAbstractEffect):void{ _showEffect = (_arg1 as IAbstractEffect); } public function set hideEffect(_arg1:IAbstractEffect):void{ _hideEffect = (_arg1 as IAbstractEffect); } mx_internal function targetChanged():void{ var _local1:ToolTipEvent; if (!initialized){ initialize(); }; if (((previousTarget) && (currentToolTip))){ _local1 = new ToolTipEvent(ToolTipEvent.TOOL_TIP_HIDE); _local1.toolTip = currentToolTip; previousTarget.dispatchEvent(_local1); }; reset(); if (currentTarget){ if (currentText == ""){ return; }; _local1 = new ToolTipEvent(ToolTipEvent.TOOL_TIP_START); currentTarget.dispatchEvent(_local1); if ((((showDelay == 0)) || (scrubTimer.running))){ createTip(); initializeTip(); positionTip(); showTip(); } else { showTimer.delay = showDelay; showTimer.start(); }; }; } mx_internal function initializeTip():void{ if ((currentToolTip is ToolTip)){ ToolTip(currentToolTip).text = currentText; }; if (((isError) && ((currentToolTip is IStyleClient)))){ IStyleClient(currentToolTip).setStyle("styleName", "errorTip"); }; sizeTip(currentToolTip); if ((currentToolTip is IStyleClient)){ if (showEffect){ IStyleClient(currentToolTip).setStyle("showEffect", showEffect); }; if (hideEffect){ IStyleClient(currentToolTip).setStyle("hideEffect", hideEffect); }; }; if (((showEffect) || (hideEffect))){ currentToolTip.addEventListener(EffectEvent.EFFECT_END, effectEndHandler); }; } public function get showEffect():IAbstractEffect{ return (_showEffect); } mx_internal function toolTipMouseOverHandler(_arg1:MouseEvent):void{ checkIfTargetChanged(DisplayObject(_arg1.target)); } mx_internal function hideTip():void{ var _local1:ToolTipEvent; var _local2:ISystemManager; if (previousTarget){ _local1 = new ToolTipEvent(ToolTipEvent.TOOL_TIP_HIDE); _local1.toolTip = currentToolTip; previousTarget.dispatchEvent(_local1); }; if (currentToolTip){ currentToolTip.visible = false; }; if (isError){ if (currentTarget){ currentTarget.removeEventListener("change", changeHandler); }; } else { if (previousTarget){ _local2 = getSystemManager(previousTarget); _local2.removeEventListener(MouseEvent.MOUSE_DOWN, systemManager_mouseDownHandler); }; }; if (!hideEffect){ hideEffectEnded(); }; } mx_internal function createTip():void{ var _local1:ToolTipEvent = new ToolTipEvent(ToolTipEvent.TOOL_TIP_CREATE); currentTarget.dispatchEvent(_local1); if (_local1.toolTip){ currentToolTip = _local1.toolTip; } else { currentToolTip = new toolTipClass(); }; currentToolTip.visible = false; var _local2:ISystemManager = getSystemManager(currentTarget); _local2.toolTipChildren.addChild(DisplayObject(currentToolTip)); } public static function getInstance():IToolTipManager2{ if (!instance){ instance = new (ToolTipManagerImpl); }; return (instance); } } }//package mx.managers
Section 236
//DirectHTTPChannel (mx.messaging.channels.DirectHTTPChannel) package mx.messaging.channels { import flash.events.*; import mx.resources.*; import mx.messaging.messages.*; import mx.messaging.*; import flash.net.*; import mx.messaging.errors.*; public class DirectHTTPChannel extends Channel { mx_internal var clientId:String; private var resourceManager:IResourceManager; private static var clientCounter:uint; public function DirectHTTPChannel(_arg1:String, _arg2:String=""){ var _local3:String; resourceManager = ResourceManager.getInstance(); super(_arg1, _arg2); if (_arg2.length > 0){ _local3 = resourceManager.getString("messaging", "noURIAllowed"); throw (new InvalidChannelError(_local3)); }; clientId = ("DirectHTTPChannel" + clientCounter++); } override public function setCredentials(_arg1:String, _arg2:MessageAgent=null, _arg3:String=null):void{ var _local4:String = resourceManager.getString("messaging", "authenticationNotSupported"); throw (new ChannelError(_local4)); } override protected function internalSend(_arg1:MessageResponder):void{ var httpMsgResp:DirectHTTPMessageResponder; var urlRequest:URLRequest; var msgResp = _arg1; httpMsgResp = DirectHTTPMessageResponder(msgResp); try { urlRequest = createURLRequest(httpMsgResp.message); } catch(e:MessageSerializationError) { httpMsgResp.agent.fault(e.fault, httpMsgResp.message); return; }; var urlLoader:URLLoader = httpMsgResp.urlLoader; urlLoader.addEventListener(ErrorEvent.ERROR, httpMsgResp.errorHandler); urlLoader.addEventListener(IOErrorEvent.IO_ERROR, httpMsgResp.errorHandler); urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, httpMsgResp.securityErrorHandler); urlLoader.addEventListener(Event.COMPLETE, httpMsgResp.completeHandler); urlLoader.load(urlRequest); } override public function get connected():Boolean{ return (true); } override mx_internal function get realtime():Boolean{ return (false); } override protected function internalConnect():void{ connectSuccess(); } override protected function getMessageResponder(_arg1:MessageAgent, _arg2:IMessage):MessageResponder{ return (new DirectHTTPMessageResponder(_arg1, _arg2, this, new URLLoader())); } override public function get protocol():String{ return ("http"); } override protected function connectTimeoutHandler(_arg1:TimerEvent):void{ } mx_internal function createURLRequest(_arg1:IMessage):URLRequest{ var _local8:Array; var _local9:URLRequestHeader; var _local10:String; var _local11:URLVariables; var _local12:Object; var _local13:String; var _local2:HTTPRequestMessage = HTTPRequestMessage(_arg1); var _local3:URLRequest = new URLRequest(); var _local4:String = _local2.url; var _local5:String; _local3.contentType = _local2.contentType; var _local6:Boolean = (((_local3.contentType == HTTPRequestMessage.CONTENT_TYPE_XML)) || ((_local3.contentType == HTTPRequestMessage.CONTENT_TYPE_SOAP_XML))); var _local7:Object = _local2.httpHeaders; if (_local7){ _local8 = []; for (_local10 in _local7) { _local9 = new URLRequestHeader(_local10, _local7[_local10]); _local8.push(_local9); }; _local3.requestHeaders = _local8; }; if (!_local6){ _local11 = new URLVariables(); _local12 = _local2.body; for (_local13 in _local12) { _local11[_local13] = _local2.body[_local13]; }; _local5 = _local11.toString(); }; if ((((_local2.method == HTTPRequestMessage.POST_METHOD)) || (_local6))){ _local3.method = "POST"; if (_local3.contentType == HTTPRequestMessage.CONTENT_TYPE_FORM){ _local3.data = _local5; } else { if (((!((_local2.body == null))) && ((_local2.body is XML)))){ _local3.data = XML(_local2.body).toXMLString(); } else { _local3.data = _local2.body; }; }; } else { if (((_local5) && (!((_local5 == ""))))){ _local4 = (_local4 + ((_local4.indexOf("?"))>-1) ? "&" : "?"); _local4 = (_local4 + _local5); }; }; _local3.url = _local4; return (_local3); } } }//package mx.messaging.channels import flash.events.*; import mx.resources.*; import mx.messaging.messages.*; import mx.messaging.*; import flash.net.*; class DirectHTTPMessageResponder extends MessageResponder { public var urlLoader:URLLoader; private var clientId:String; private var resourceManager:IResourceManager; private function DirectHTTPMessageResponder(_arg1:MessageAgent, _arg2:IMessage, _arg3:DirectHTTPChannel, _arg4:URLLoader){ resourceManager = ResourceManager.getInstance(); super(_arg1, _arg2, _arg3); this.urlLoader = _arg4; clientId = _arg3.clientId; } public function securityErrorHandler(_arg1:Event):void{ status(null); var _local2:AcknowledgeMessage = new AcknowledgeMessage(); _local2.clientId = clientId; _local2.correlationId = message.messageId; _local2.headers[AcknowledgeMessage.ERROR_HINT_HEADER] = true; agent.acknowledge(_local2, message); var _local3:ErrorMessage = new ErrorMessage(); _local3.clientId = clientId; _local3.correlationId = message.messageId; _local3.faultCode = "Channel.Security.Error"; _local3.faultString = resourceManager.getString("messaging", "securityError"); _local3.faultDetail = resourceManager.getString("messaging", "securityError.details", [message.destination]); _local3.rootCause = _arg1; agent.fault(_local3, message); } public function completeHandler(_arg1:Event):void{ result(null); var _local2:AcknowledgeMessage = new AcknowledgeMessage(); _local2.clientId = clientId; _local2.correlationId = message.messageId; _local2.body = URLLoader(_arg1.target).data; agent.acknowledge(_local2, message); } public function errorHandler(_arg1:Event):void{ status(null); var _local2:AcknowledgeMessage = new AcknowledgeMessage(); _local2.clientId = clientId; _local2.correlationId = message.messageId; _local2.headers[AcknowledgeMessage.ERROR_HINT_HEADER] = true; agent.acknowledge(_local2, message); var _local3:ErrorMessage = new ErrorMessage(); _local3.clientId = clientId; _local3.correlationId = message.messageId; _local3.faultCode = "Server.Error.Request"; _local3.faultString = resourceManager.getString("messaging", "httpRequestError"); var _local4:String = _arg1.toString(); if ((message is HTTPRequestMessage)){ _local4 = (_local4 + ". URL: "); _local4 = (_local4 + HTTPRequestMessage(message).url); }; _local3.faultDetail = resourceManager.getString("messaging", "httpRequestError.details", [_local4]); _local3.rootCause = _arg1; agent.fault(_local3, message); } override protected function requestTimedOut():void{ urlLoader.removeEventListener(ErrorEvent.ERROR, errorHandler); urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); urlLoader.removeEventListener(Event.COMPLETE, completeHandler); urlLoader.close(); status(null); var _local1:AcknowledgeMessage = new AcknowledgeMessage(); _local1.clientId = clientId; _local1.correlationId = message.messageId; _local1.headers[AcknowledgeMessage.ERROR_HINT_HEADER] = true; agent.acknowledge(_local1, message); agent.fault(createRequestTimeoutErrorMessage(), message); } }
Section 237
//NetConnectionChannel (mx.messaging.channels.NetConnectionChannel) package mx.messaging.channels { import flash.events.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.messaging.*; import mx.logging.*; import flash.net.*; public class NetConnectionChannel extends PollingChannel { protected var _nc:NetConnection; public function NetConnectionChannel(_arg1:String=null, _arg2:String=null){ super(_arg1, _arg2); _nc = new NetConnection(); _nc.objectEncoding = ObjectEncoding.AMF3; _nc.client = this; } public function AppendToGatewayUrl(_arg1:String):void{ if (((!((_arg1 == null))) && (!((endpoint == null))))){ netConnection.connect((endpoint + _arg1)); }; } protected function securityErrorHandler(_arg1:SecurityErrorEvent):void{ defaultErrorHandler("Channel.Security.Error", _arg1); } public function receive(_arg1:IMessage, ... _args):void{ var _local3:MessagePerformanceUtils; if (Log.isDebug()){ _log.debug("'{0}' channel got message\n{1}\n", id, _arg1.toString()); if (this.mpiEnabled){ _local3 = new MessagePerformanceUtils(_arg1); _log.debug(_local3.prettyPrint()); }; }; dispatchEvent(MessageEvent.createEvent(MessageEvent.MESSAGE, _arg1)); } override protected function internalSend(_arg1:MessageResponder):void{ var _local3:MessagePerformanceInfo; var _local4:IMessage; setFlexClientIdOnMessage(_arg1.message); if (mpiEnabled){ _local3 = new MessagePerformanceInfo(); if (recordMessageTimes){ _local3.sendTime = new Date().getTime(); }; _arg1.message.headers[MessagePerformanceUtils.MPI_HEADER_IN] = _local3; }; var _local2:IMessage = _arg1.message; if (((useSmallMessages) && ((_local2 is ISmallMessage)))){ _local4 = ISmallMessage(_local2).getSmallMessage(); if (_local4 != null){ _local2 = _local4; }; }; _nc.call(null, _arg1, _local2); } override protected function getDefaultMessageResponder(_arg1:MessageAgent, _arg2:IMessage):MessageResponder{ return (new NetConnectionMessageResponder(_arg1, _arg2, this)); } private function defaultErrorHandler(_arg1:String, _arg2:ErrorEvent):void{ var _local3:ChannelFaultEvent = ChannelFaultEvent.createEvent(this, false, _arg1, "error", (((_arg2.text + " url: '") + endpoint) + "'")); _local3.rootCause = _arg2; if (_connecting){ connectFailed(_local3); } else { dispatchEvent(_local3); }; } override protected function getPollSyncMessageResponder(_arg1:MessageAgent, _arg2:CommandMessage):MessageResponder{ return (new PollSyncMessageResponder(_arg1, _arg2, this)); } override public function get useSmallMessages():Boolean{ return (((((super.useSmallMessages) && (!((_nc == null))))) && ((_nc.objectEncoding >= ObjectEncoding.AMF3)))); } override protected function internalConnect():void{ super.internalConnect(); if (((((!((_nc.uri == null))) && ((_nc.uri.length > 0)))) && (_nc.connected))){ _nc.removeEventListener(NetStatusEvent.NET_STATUS, statusHandler); _nc.close(); }; _nc.addEventListener(NetStatusEvent.NET_STATUS, statusHandler); _nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _nc.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); _nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); try { _nc.connect(endpoint); } catch(e:Error) { e.message = (e.message + ((" url: '" + endpoint) + "'")); throw (e); }; } protected function ioErrorHandler(_arg1:IOErrorEvent):void{ defaultErrorHandler("Channel.IO.Error", _arg1); } protected function statusHandler(_arg1:NetStatusEvent):void{ } override protected function internalDisconnect(_arg1:Boolean=false):void{ super.internalDisconnect(_arg1); shutdownNetConnection(); disconnectSuccess(_arg1); } override protected function connectTimeoutHandler(_arg1:TimerEvent):void{ shutdownNetConnection(); super.connectTimeoutHandler(_arg1); } public function get netConnection():NetConnection{ return (_nc); } protected function shutdownNetConnection():void{ _nc.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _nc.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); _nc.removeEventListener(NetStatusEvent.NET_STATUS, statusHandler); _nc.removeEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); _nc.close(); } protected function asyncErrorHandler(_arg1:AsyncErrorEvent):void{ defaultErrorHandler("Channel.Async.Error", _arg1); } } }//package mx.messaging.channels import mx.resources.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.messaging.*; class NetConnectionMessageResponder extends MessageResponder { private var resourceManager:IResourceManager; private function NetConnectionMessageResponder(_arg1:MessageAgent, _arg2:IMessage, _arg3:NetConnectionChannel){ resourceManager = ResourceManager.getInstance(); super(_arg1, _arg2, _arg3); _arg3.addEventListener(ChannelEvent.DISCONNECT, channelDisconnectHandler); _arg3.addEventListener(ChannelFaultEvent.FAULT, channelFaultHandler); } protected function channelFaultHandler(_arg1:ChannelFaultEvent):void{ disconnect(); var _local2:ErrorMessage = _arg1.createErrorMessage(); _local2.correlationId = message.messageId; if (!_arg1.channel.connected){ _local2.faultCode = ErrorMessage.MESSAGE_DELIVERY_IN_DOUBT; }; agent.fault(_local2, message); } override protected function requestTimedOut():void{ disconnect(); statusHandler(createRequestTimeoutErrorMessage()); } override protected function statusHandler(_arg1:IMessage):void{ var _local2:AcknowledgeMessage; var _local3:ErrorMessage; disconnect(); if ((_arg1 is AsyncMessage)){ if (AsyncMessage(_arg1).correlationId == message.messageId){ _local2 = new AcknowledgeMessage(); _local2.correlationId = AsyncMessage(_arg1).correlationId; _local2.headers[AcknowledgeMessage.ERROR_HINT_HEADER] = true; agent.acknowledge(_local2, message); agent.fault((_arg1 as ErrorMessage), message); } else { if ((_arg1 is ErrorMessage)){ agent.fault((_arg1 as ErrorMessage), message); } else { _local3 = new ErrorMessage(); _local3.faultCode = "Server.Acknowledge.Failed"; _local3.faultString = resourceManager.getString("messaging", "noErrorForMessage"); _local3.faultDetail = resourceManager.getString("messaging", "noErrorForMessage.details", [message.messageId, AsyncMessage(_arg1).correlationId]); _local3.correlationId = message.messageId; agent.fault(_local3, message); }; }; } else { _local3 = new ErrorMessage(); _local3.faultCode = "Server.Acknowledge.Failed"; _local3.faultString = resourceManager.getString("messaging", "noAckMessage"); _local3.faultDetail = resourceManager.getString("messaging", "noAckMessage.details", [(_arg1) ? _arg1.toString() : "null"]); _local3.correlationId = message.messageId; agent.fault(_local3, message); }; } protected function channelDisconnectHandler(_arg1:ChannelEvent):void{ disconnect(); var _local2:ErrorMessage = new ErrorMessage(); _local2.correlationId = message.messageId; _local2.faultString = resourceManager.getString("messaging", "deliveryInDoubt"); _local2.faultDetail = resourceManager.getString("messaging", "deliveryInDoubt.details"); _local2.faultCode = ErrorMessage.MESSAGE_DELIVERY_IN_DOUBT; agent.fault(_local2, message); } private function disconnect():void{ channel.removeEventListener(ChannelEvent.DISCONNECT, channelDisconnectHandler); channel.removeEventListener(ChannelFaultEvent.FAULT, channelFaultHandler); } override protected function resultHandler(_arg1:IMessage):void{ var _local2:ErrorMessage; disconnect(); if ((_arg1 is AsyncMessage)){ if (AsyncMessage(_arg1).correlationId == message.messageId){ agent.acknowledge((_arg1 as AcknowledgeMessage), message); } else { _local2 = new ErrorMessage(); _local2.faultCode = "Server.Acknowledge.Failed"; _local2.faultString = resourceManager.getString("messaging", "ackFailed"); _local2.faultDetail = resourceManager.getString("messaging", "ackFailed.details", [message.messageId, AsyncMessage(_arg1).correlationId]); _local2.correlationId = message.messageId; agent.fault(_local2, message); }; } else { _local2 = new ErrorMessage(); _local2.faultCode = "Server.Acknowledge.Failed"; _local2.faultString = resourceManager.getString("messaging", "noAckMessage"); _local2.faultDetail = resourceManager.getString("messaging", "noAckMessage.details", [(_arg1) ? _arg1.toString() : "null"]); _local2.correlationId = message.messageId; agent.fault(_local2, message); }; } } class PollSyncMessageResponder extends NetConnectionMessageResponder { private function PollSyncMessageResponder(_arg1:MessageAgent, _arg2:IMessage, _arg3:NetConnectionChannel){ super(_arg1, _arg2, _arg3); } override protected function channelFaultHandler(_arg1:ChannelFaultEvent):void{ } override protected function channelDisconnectHandler(_arg1:ChannelEvent):void{ } override protected function resultHandler(_arg1:IMessage):void{ var _local2:CommandMessage; super.resultHandler(_arg1); if ((((_arg1 is AsyncMessage)) && ((AsyncMessage(_arg1).correlationId == message.messageId)))){ _local2 = CommandMessage(message); switch (_local2.operation){ case CommandMessage.SUBSCRIBE_OPERATION: NetConnectionChannel(channel).enablePolling(); break; case CommandMessage.UNSUBSCRIBE_OPERATION: NetConnectionChannel(channel).disablePolling(); break; }; }; } }
Section 238
//PollingChannel (mx.messaging.channels.PollingChannel) package mx.messaging.channels { import flash.events.*; import mx.resources.*; import flash.utils.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.messaging.*; import mx.logging.*; public class PollingChannel extends Channel { mx_internal var _timer:Timer; private var _pollingEnabled:Boolean; private var _piggybackingEnabled:Boolean; mx_internal var _pollingInterval:int; mx_internal var pollOutstanding:Boolean; private var _pollingRef:int;// = -1 mx_internal var _shouldPoll:Boolean; private var resourceManager:IResourceManager; private static const DEFAULT_POLLING_INTERVAL:int = 3000; public function PollingChannel(_arg1:String=null, _arg2:String=null){ resourceManager = ResourceManager.getInstance(); super(_arg1, _arg2); _pollingEnabled = true; _shouldPoll = false; if (timerRequired()){ _pollingInterval = DEFAULT_POLLING_INTERVAL; _timer = new Timer(_pollingInterval, 1); _timer.addEventListener(TimerEvent.TIMER, internalPoll); }; } public function enablePolling():void{ _pollingRef++; if (_pollingRef == 0){ startPolling(); }; } protected function timerRequired():Boolean{ return (true); } override protected function connectFailed(_arg1:ChannelFaultEvent):void{ stopPolling(); super.connectFailed(_arg1); } override public function send(_arg1:MessageAgent, _arg2:IMessage):void{ var consumerDispatcher:ConsumerMessageDispatcher; var msg:CommandMessage; var agent = _arg1; var message = _arg2; var piggyback:Boolean; if (((((!(pollOutstanding)) && (_piggybackingEnabled))) && (!((message is CommandMessage))))){ if (_shouldPoll){ piggyback = true; } else { consumerDispatcher = ConsumerMessageDispatcher.getInstance(); if (consumerDispatcher.isChannelUsedForSubscriptions(this)){ piggyback = true; }; }; }; if (piggyback){ internalPoll(); }; super.send(agent, message); if (piggyback){ msg = new CommandMessage(); msg.operation = CommandMessage.POLL_OPERATION; if (Log.isDebug()){ _log.debug("'{0}' channel sending poll message\n{1}\n", id, msg.toString()); }; try { internalSend(new PollCommandMessageResponder(null, msg, this, _log)); } catch(e:Error) { stopPolling(); throw (e); }; }; } protected function getPollSyncMessageResponder(_arg1:MessageAgent, _arg2:CommandMessage):MessageResponder{ return (null); } protected function applyPollingSettings(_arg1:XML):void{ var _local2:XML; if (_arg1.properties.length()){ _local2 = _arg1.properties[0]; if (_local2["polling-enabled"].length()){ internalPollingEnabled = (_local2["polling-enabled"].toString() == "true"); }; if (_local2["polling-interval-millis"].length()){ internalPollingInterval = parseInt(_local2["polling-interval-millis"].toString()); } else { if (_local2["polling-interval-seconds"].length()){ internalPollingInterval = (parseInt(_local2["polling-interval-seconds"].toString()) * 1000); }; }; if (_local2["piggybacking-enabled"].length()){ internalPiggybackingEnabled = (_local2["piggybacking-enabled"].toString() == "true"); }; if (_local2["login-after-disconnect"].length()){ _loginAfterDisconnect = (_local2["login-after-disconnect"].toString() == "true"); }; }; } mx_internal function set internalPollingInterval(_arg1:Number):void{ var _local2:String; if (_arg1 == 0){ _pollingInterval = _arg1; if (_timer != null){ _timer.stop(); }; if (_shouldPoll){ startPolling(); }; } else { if (_arg1 > 0){ if (_timer != null){ _timer.delay = (_pollingInterval = _arg1); if (((!(timerRunning)) && (_shouldPoll))){ startPolling(); }; }; } else { _local2 = resourceManager.getString("messaging", "pollingIntervalNonPositive"); throw (new ArgumentError(_local2)); }; }; } public function poll():void{ internalPoll(); } protected function set internalPiggybackingEnabled(_arg1:Boolean):void{ _piggybackingEnabled = _arg1; } protected function get internalPollingEnabled():Boolean{ return (_pollingEnabled); } mx_internal function pollFailed(_arg1:Boolean=false):void{ internalDisconnect(_arg1); } mx_internal function stopPolling():void{ if (Log.isInfo()){ _log.info("'{0}' channel polling stopped.", id); }; if (_timer != null){ _timer.stop(); }; _pollingRef = -1; _shouldPoll = false; pollOutstanding = false; } protected function internalPoll(_arg1:Event=null):void{ var msg:CommandMessage; var event = _arg1; if (!pollOutstanding){ if (Log.isInfo()){ _log.info("'{0}' channel requesting queued messages.", id); }; if (timerRunning){ _timer.stop(); }; msg = new CommandMessage(); msg.operation = CommandMessage.POLL_OPERATION; if (Log.isDebug()){ _log.debug("'{0}' channel sending poll message\n{1}\n", id, msg.toString()); }; try { internalSend(new PollCommandMessageResponder(null, msg, this, _log)); pollOutstanding = true; } catch(e:Error) { stopPolling(); throw (e); }; } else { if (Log.isInfo()){ _log.info("'{0}' channel waiting for poll response.", id); }; }; } protected function getDefaultMessageResponder(_arg1:MessageAgent, _arg2:IMessage):MessageResponder{ return (super.getMessageResponder(_arg1, _arg2)); } mx_internal function get internalPollingInterval():Number{ return (((_timer)==null) ? 0 : _pollingInterval); } protected function startPolling():void{ if (_pollingEnabled){ if (Log.isInfo()){ _log.info("'{0}' channel polling started.", id); }; _shouldPoll = true; poll(); }; } protected function get internalPiggybackingEnabled():Boolean{ return (_piggybackingEnabled); } override mx_internal function get realtime():Boolean{ return (_pollingEnabled); } final override protected function getMessageResponder(_arg1:MessageAgent, _arg2:IMessage):MessageResponder{ var _local4:CommandMessage; var _local3:MessageResponder; if ((_arg2 is CommandMessage)){ _local4 = CommandMessage(_arg2); if ((((_local4.operation == CommandMessage.SUBSCRIBE_OPERATION)) || ((_local4.operation == CommandMessage.UNSUBSCRIBE_OPERATION)))){ _local3 = getPollSyncMessageResponder(_arg1, _local4); } else { if (_local4.operation == CommandMessage.POLL_OPERATION){ _local3 = new PollCommandMessageResponder(_arg1, _arg2, this, _log); }; }; }; return (((_local3 == null)) ? getDefaultMessageResponder(_arg1, _arg2) : _local3); } override protected function internalDisconnect(_arg1:Boolean=false):void{ stopPolling(); super.internalDisconnect(_arg1); } mx_internal function get timerRunning():Boolean{ return (((!((_timer == null))) && (_timer.running))); } public function disablePolling():void{ _pollingRef--; if (_pollingRef < 0){ stopPolling(); }; } protected function set internalPollingEnabled(_arg1:Boolean):void{ _pollingEnabled = _arg1; if (((!(_arg1)) && (((timerRunning) || (((!(timerRunning)) && ((_pollingInterval == 0)))))))){ stopPolling(); } else { if (((((_arg1) && (_shouldPoll))) && (!(timerRunning)))){ startPolling(); }; }; } } }//package mx.messaging.channels import mx.resources.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.messaging.*; import mx.logging.*; class PollCommandMessageResponder extends MessageResponder { private var _log:ILogger; private var resourceManager:IResourceManager; private function PollCommandMessageResponder(_arg1:MessageAgent, _arg2:IMessage, _arg3:PollingChannel, _arg4:ILogger){ resourceManager = ResourceManager.getInstance(); super(_arg1, _arg2, _arg3); _log = _arg4; } override protected function statusHandler(_arg1:IMessage):void{ var _local2:PollingChannel = PollingChannel(channel); _local2.stopPolling(); var _local3:ErrorMessage = (_arg1 as ErrorMessage); var _local4:String = ((_local3)!=null) ? _local3.faultDetail : ""; var _local5:ChannelFaultEvent = ChannelFaultEvent.createEvent(_local2, false, "Channel.Polling.Error", "error", _local4); _local5.rootCause = _arg1; _local2.dispatchEvent(_local5); if (((!((_local3 == null))) && ((_local3.faultCode == "Server.PollNotSupported")))){ _local2.pollFailed(true); } else { _local2.pollFailed(false); }; } override protected function resultHandler(_arg1:IMessage):void{ var _local3:Array; var _local4:IMessage; var _local5:MessagePerformanceUtils; var _local6:ErrorMessage; var _local7:int; PollingChannel(channel).pollOutstanding = false; if ((_arg1 is CommandMessage)){ if (_arg1.headers[CommandMessage.NO_OP_POLL_HEADER] == true){ return; }; if (_arg1.body != null){ _local3 = (_arg1.body as Array); for each (_local4 in _local3) { if (Log.isDebug()){ _log.debug("'{0}' channel got message\n{1}\n", channel.id, _local4.toString()); if (channel.mpiEnabled){ _local5 = new MessagePerformanceUtils(_local4); _log.debug(_local5.prettyPrint()); }; }; channel.dispatchEvent(MessageEvent.createEvent(MessageEvent.MESSAGE, _local4)); }; }; } else { if ((_arg1 is AcknowledgeMessage)){ } else { _local6 = new ErrorMessage(); _local6.faultDetail = resourceManager.getString("messaging", "receivedNull"); status(_local6); return; }; }; var _local2:PollingChannel = PollingChannel(channel); if (((_local2.connected) && (_local2._shouldPoll))){ _local7 = 0; if (_arg1.headers[CommandMessage.POLL_WAIT_HEADER] != null){ _local7 = _arg1.headers[CommandMessage.POLL_WAIT_HEADER]; }; if (_local7 == 0){ if (_local2.internalPollingInterval == 0){ _local2.poll(); } else { if (!_local2.timerRunning){ _local2._timer.delay = _local2._pollingInterval; _local2._timer.start(); }; }; } else { _local2._timer.delay = _local7; _local2._timer.start(); }; }; } }
Section 239
//ConfigMap (mx.messaging.config.ConfigMap) package mx.messaging.config { import flash.utils.*; import mx.utils.*; public dynamic class ConfigMap extends Proxy { private var _item:Object; object_proxy var propertyList:Array; public function ConfigMap(_arg1:Object=null){ if (!_arg1){ _arg1 = {}; }; _item = _arg1; propertyList = []; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{ var _local2:Object = _item[_arg1]; var _local3 = delete _item[_arg1]; var _local4 = -1; var _local5:int; while (_local5 < propertyList.length) { if (propertyList[_local5] == _arg1){ _local4 = _local5; break; }; _local5++; }; if (_local4 > -1){ propertyList.splice(_local4, 1); }; return (_local3); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return (propertyList[(_arg1 - 1)]); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ var _local2:Object; _local2 = _item[_arg1]; return (_local2); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ return ((_arg1 in _item)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ if (_arg1 < propertyList.length){ return ((_arg1 + 1)); }; return (0); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local4:int; var _local3:* = _item[_arg1]; if (_local3 !== _arg2){ _item[_arg1] = _arg2; _local4 = 0; while (_local4 < propertyList.length) { if (propertyList[_local4] == _arg1){ return; }; _local4++; }; propertyList.push(_arg1); }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function callProperty(_arg1, ... _args){ return (_item[_arg1].apply(_item, _args)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextValue(_arg1:int){ return (_item[propertyList[(_arg1 - 1)]]); } } }//package mx.messaging.config
Section 240
//LoaderConfig (mx.messaging.config.LoaderConfig) package mx.messaging.config { import mx.core.*; public class LoaderConfig { mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var _url:String = null; mx_internal static var _parameters:Object; public static function get url():String{ return (_url); } public static function get parameters():Object{ return (_parameters); } } }//package mx.messaging.config
Section 241
//ServerConfig (mx.messaging.config.ServerConfig) package mx.messaging.config { import mx.resources.*; import mx.collections.*; import flash.utils.*; import mx.messaging.*; import mx.utils.*; import mx.messaging.errors.*; public class ServerConfig { public static const URI_ATTR:String = "uri"; public static const CLASS_ATTR:String = "type"; private static var _resourceManager:IResourceManager; private static var _clusteredChannels:Object = {}; private static var _unclusteredChannels:Object = {}; private static var _configFetchedChannels:Object; public static var serverConfigData:XML; private static var _channelSets:Object = {}; private static function convertToXML(_arg1:ConfigMap, _arg2:XML):void{ var _local3:Object; var _local4:Object; var _local5:Object; var _local6:XML; var _local7:Array; var _local8:int; var _local9:XML; var _local10:XML; for (_local3 in _arg1) { _local4 = _arg1[_local3]; if ((_local4 is String)){ if (_local3 == ""){ _local5 = _arg2.localName(); _local6 = _arg2.parent(); _local6[_local5] = _local4; } else { _arg2.@[_local3] = _local4; }; } else { if ((((_local4 is ArrayCollection)) || ((_local4 is Array)))){ if ((_local4 is ArrayCollection)){ _local7 = ArrayCollection(_local4).toArray(); } else { _local7 = (_local4 as Array); }; _local8 = 0; while (_local8 < _local7.length) { _local9 = new XML((((("<" + _local3) + "></") + _local3) + ">")); _arg2.appendChild(_local9); convertToXML((_local7[_local8] as ConfigMap), _local9); _local8++; }; } else { _local10 = new XML((((("<" + _local3) + "></") + _local3) + ">")); _arg2.appendChild(_local10); convertToXML((_local4 as ConfigMap), _local10); }; }; }; } mx_internal static function getChannelIdList(_arg1:String):Array{ var _local2:XML = getDestinationConfig(_arg1); return ((_local2) ? getChannelIds(_local2) : getDefaultChannelIds()); } public static function getChannel(_arg1:String, _arg2:Boolean=false):Channel{ var _local3:Channel; if (!_arg2){ if ((_arg1 in _unclusteredChannels)){ return (_unclusteredChannels[_arg1]); }; _local3 = createChannel(_arg1); _unclusteredChannels[_arg1] = _local3; return (_local3); //unresolved jump }; if ((_arg1 in _clusteredChannels)){ return (_clusteredChannels[_arg1]); }; _local3 = createChannel(_arg1); _clusteredChannels[_arg1] = _local3; return (_local3); } mx_internal static function needsConfig(_arg1:Channel):Boolean{ var _local2:Array; var _local3:int; var _local4:int; var _local5:Array; var _local6:int; var _local7:int; if ((((_configFetchedChannels == null)) || ((_configFetchedChannels[_arg1.endpoint] == null)))){ _local2 = _arg1.channelSets; _local3 = _local2.length; _local4 = 0; while (_local4 < _local3) { _local5 = ChannelSet(_local2[_local4]).messageAgents; _local6 = _local5.length; _local7 = 0; while (_local7 < _local6) { if (MessageAgent(_local5[_local7]).needsConfig){ return (true); }; _local7++; }; _local4++; }; }; return (false); } public static function getChannelSet(_arg1:String):ChannelSet{ var _local2:XML = getDestinationConfig(_arg1); return (internalGetChannelSet(_local2, _arg1)); } public static function get xml():XML{ if (serverConfigData == null){ serverConfigData = <services/> ; }; return (serverConfigData); } mx_internal static function updateServerConfigData(_arg1:ConfigMap, _arg2:String=null):void{ var newServices:XML; var newService:XML; var newChannels:XMLList; var oldServices:XMLList; var oldService:XML; var newDestination:XML; var oldDestinations:XMLList; var oldChannels:XML; var serverConfig = _arg1; var endpoint = _arg2; if (serverConfig != null){ if (endpoint != null){ if (_configFetchedChannels == null){ _configFetchedChannels = {}; }; _configFetchedChannels[endpoint] = true; }; newServices = <services></services> ; convertToXML(serverConfig, newServices); xml["default-channels"] = newServices["default-channels"]; for each (newService in newServices..service) { oldServices = xml.service.(@id == newService.@id); if (oldServices.length() != 0){ oldService = oldServices[0]; for each (newDestination in newService..destination) { oldDestinations = oldService.destination.(@id == newDestination.@id); if (oldDestinations.length() != 0){ delete oldDestinations[0]; }; oldService.appendChild(newDestination); }; } else { xml.appendChild(newService); }; }; newChannels = newServices.channels; if (newChannels.length() > 0){ oldChannels = xml.channels[0]; if ((((oldChannels == null)) || ((oldChannels.length() == 0)))){ xml.appendChild(newChannels); }; }; }; } private static function internalGetChannelSet(_arg1:XML, _arg2:String):ChannelSet{ var _local3:Array; var _local4:Boolean; var _local6:String; var _local7:ChannelSet; if (_arg1 == null){ _local3 = getDefaultChannelIds(); if (_local3.length == 0){ _local6 = resourceManager.getString("messaging", "noChannelForDestination", [_arg2]); throw (new InvalidDestinationError(_local6)); }; _local4 = false; } else { _local3 = getChannelIds(_arg1); _local4 = ((_arg1.properties.network.cluster.length())>0) ? true : false; }; var _local5:String = ((_local3.join(",") + ":") + _local4); if ((_local5 in _channelSets)){ return (_channelSets[_local5]); }; _local7 = new ChannelSet(_local3, _local4); _channelSets[_local5] = _local7; return (_local7); } private static function getDefaultChannelIds():Array{ var _local1:Array = []; var _local2:XMLList = xml["default-channels"].channel; var _local3:int = _local2.length(); var _local4:int; while (_local4 < _local3) { _local1.push(_local2[_local4].@ref.toString()); _local4++; }; return (_local1); } private static function createChannel(_arg1:String):Channel{ var message:String; var channels:XMLList; var channelConfig:XML; var className:String; var uri:String; var channel:Channel; var channelClass:Class; var channelId = _arg1; channels = xml.channels.channel.(@id == channelId); if (channels.length() == 0){ message = resourceManager.getString("messaging", "unknownChannelWithId", [channelId]); throw (new InvalidChannelError(message)); }; channelConfig = channels[0]; className = channelConfig.attribute(CLASS_ATTR).toString(); uri = channelConfig.endpoint[0].attribute(URI_ATTR).toString(); channel = null; try { channelClass = (getDefinitionByName(className) as Class); channel = new channelClass(channelId, uri); channel.applySettings(channelConfig); } catch(e:ReferenceError) { message = resourceManager.getString("messaging", "unknownChannelClass", [className]); throw (new InvalidChannelError(message)); }; return (channel); } public static function getProperties(_arg1:String):XMLList{ var destination:XMLList; var message:String; var destinationId = _arg1; destination = xml..destination.(@id == destinationId); if (destination.length() > 0){ return (destination.properties); }; message = resourceManager.getString("messaging", "unknownDestination", [destinationId]); throw (new InvalidDestinationError(message)); } private static function getChannelIds(_arg1:XML):Array{ var _local2:Array = []; var _local3:XMLList = _arg1.channels.channel; var _local4:int = _local3.length(); var _local5:int; while (_local5 < _local4) { _local2.push(_local3[_local5].@ref.toString()); _local5++; }; return (_local2); } public static function set xml(_arg1:XML):void{ serverConfigData = _arg1; _channelSets = {}; _clusteredChannels = {}; _unclusteredChannels = {}; } private static function getDestinationConfig(_arg1:String):XML{ var destinations:XMLList; var destinationCount:int; var destinationId = _arg1; destinations = xml..destination.(@id == destinationId); destinationCount = destinations.length(); if (destinationCount == 0){ return (null); }; return (destinations[0]); } mx_internal static function fetchedConfig(_arg1:String):Boolean{ return (((!((_configFetchedChannels == null))) && (!((_configFetchedChannels[_arg1] == null))))); } mx_internal static function channelSetMatchesDestinationConfig(_arg1:ChannelSet, _arg2:String):Boolean{ var csUris:Array; var csChannels:Array; var i:uint; var ids:Array; var dsUris:Array; var dsChannels:XMLList; var channelConfig:XML; var j:uint; var channelSet = _arg1; var destination = _arg2; if (channelSet != null){ if (ObjectUtil.compare(channelSet.channelIds, getChannelIdList(destination)) == 0){ return (true); }; csUris = []; csChannels = channelSet.channels; i = 0; while (i < csChannels.length) { csUris.push(csChannels[i].uri); i = (i + 1); }; ids = getChannelIdList(destination); dsUris = []; j = 0; while (j < ids.length) { dsChannels = xml.channels.channel.(@id == ids[j]); channelConfig = dsChannels[0]; dsUris.push(channelConfig.endpoint[0].attribute(URI_ATTR).toString()); j = (j + 1); }; return ((ObjectUtil.compare(csUris, dsUris) == 0)); }; return (false); } public static function checkChannelConsistency(_arg1:String, _arg2:String):void{ var _local3:Array = getChannelIdList(_arg1); var _local4:Array = getChannelIdList(_arg2); if (ObjectUtil.compare(_local3, _local4) != 0){ throw (new ArgumentError("Specified destinations are not channel consistent")); }; } private static function get resourceManager():IResourceManager{ if (!_resourceManager){ _resourceManager = ResourceManager.getInstance(); }; return (_resourceManager); } } }//package mx.messaging.config
Section 242
//ChannelError (mx.messaging.errors.ChannelError) package mx.messaging.errors { public class ChannelError extends MessagingError { public function ChannelError(_arg1:String){ super(_arg1); } } }//package mx.messaging.errors
Section 243
//InvalidChannelError (mx.messaging.errors.InvalidChannelError) package mx.messaging.errors { public class InvalidChannelError extends ChannelError { public function InvalidChannelError(_arg1:String){ super(_arg1); } } }//package mx.messaging.errors
Section 244
//InvalidDestinationError (mx.messaging.errors.InvalidDestinationError) package mx.messaging.errors { public class InvalidDestinationError extends ChannelError { public function InvalidDestinationError(_arg1:String){ super(_arg1); } } }//package mx.messaging.errors
Section 245
//MessageSerializationError (mx.messaging.errors.MessageSerializationError) package mx.messaging.errors { import mx.messaging.messages.*; public class MessageSerializationError extends MessagingError { public var fault:ErrorMessage; public function MessageSerializationError(_arg1:String, _arg2:ErrorMessage){ super(_arg1); this.fault = _arg2; } } }//package mx.messaging.errors
Section 246
//MessagingError (mx.messaging.errors.MessagingError) package mx.messaging.errors { public class MessagingError extends Error { public function MessagingError(_arg1:String){ super(_arg1); } public function toString():String{ var _local1 = "[MessagingError"; if (message != null){ _local1 = (_local1 + ((" message='" + message) + "']")); } else { _local1 = (_local1 + "]"); }; return (_local1); } } }//package mx.messaging.errors
Section 247
//NoChannelAvailableError (mx.messaging.errors.NoChannelAvailableError) package mx.messaging.errors { public class NoChannelAvailableError extends MessagingError { public function NoChannelAvailableError(_arg1:String){ super(_arg1); } } }//package mx.messaging.errors
Section 248
//ChannelEvent (mx.messaging.events.ChannelEvent) package mx.messaging.events { import flash.events.*; import mx.messaging.*; public class ChannelEvent extends Event { public var channel:Channel; public var connected:Boolean; public var reconnecting:Boolean; public var rejected:Boolean; public static const CONNECT:String = "channelConnect"; public static const DISCONNECT:String = "channelDisconnect"; public function ChannelEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Channel=null, _arg5:Boolean=false, _arg6:Boolean=false, _arg7:Boolean=false){ super(_arg1, _arg2, _arg3); this.channel = _arg4; this.reconnecting = _arg5; this.rejected = _arg6; this.connected = _arg7; } override public function toString():String{ return (formatToString("ChannelEvent", "channelId", "reconnecting", "rejected", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new ChannelEvent(type, bubbles, cancelable, channel, reconnecting, rejected, connected)); } public function get channelId():String{ if (channel != null){ return (channel.id); }; return (null); } public static function createEvent(_arg1:String, _arg2:Channel=null, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:Boolean=false):ChannelEvent{ return (new ChannelEvent(_arg1, false, false, _arg2, _arg3, _arg4, _arg5)); } } }//package mx.messaging.events
Section 249
//ChannelFaultEvent (mx.messaging.events.ChannelFaultEvent) package mx.messaging.events { import flash.events.*; import mx.messaging.messages.*; import mx.messaging.*; public class ChannelFaultEvent extends ChannelEvent { public var faultString:String; public var rootCause:Object; public var faultDetail:String; public var faultCode:String; public static const FAULT:String = "channelFault"; public function ChannelFaultEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Channel=null, _arg5:Boolean=false, _arg6:String=null, _arg7:String=null, _arg8:String=null, _arg9:Boolean=false, _arg10:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg9, _arg10); faultCode = _arg6; faultString = _arg7; faultDetail = _arg8; } override public function clone():Event{ var _local1:ChannelFaultEvent = new ChannelFaultEvent(type, bubbles, cancelable, channel, reconnecting, faultCode, faultString, faultDetail, rejected, connected); _local1.rootCause = rootCause; return (_local1); } public function createErrorMessage():ErrorMessage{ var _local1:ErrorMessage = new ErrorMessage(); _local1.faultCode = faultCode; _local1.faultString = faultString; _local1.faultDetail = faultDetail; _local1.rootCause = rootCause; return (_local1); } override public function toString():String{ return (formatToString("ChannelFaultEvent", "faultCode", "faultString", "faultDetail", "channelId", "type", "bubbles", "cancelable", "eventPhase")); } public static function createEvent(_arg1:Channel, _arg2:Boolean=false, _arg3:String=null, _arg4:String=null, _arg5:String=null, _arg6:Boolean=false, _arg7:Boolean=false):ChannelFaultEvent{ return (new ChannelFaultEvent(ChannelFaultEvent.FAULT, false, false, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } } }//package mx.messaging.events
Section 250
//MessageAckEvent (mx.messaging.events.MessageAckEvent) package mx.messaging.events { import flash.events.*; import mx.messaging.messages.*; public class MessageAckEvent extends MessageEvent { public var correlation:IMessage; public static const ACKNOWLEDGE:String = "acknowledge"; public function MessageAckEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:AcknowledgeMessage=null, _arg5:IMessage=null){ super(_arg1, _arg2, _arg3, _arg4); this.correlation = _arg5; } public function get acknowledgeMessage():AcknowledgeMessage{ return ((message as AcknowledgeMessage)); } public function get correlationId():String{ if (correlation != null){ return (correlation.messageId); }; return (null); } override public function clone():Event{ return (new MessageAckEvent(type, bubbles, cancelable, (message as AcknowledgeMessage), correlation)); } override public function toString():String{ return (formatToString("MessageAckEvent", "messageId", "correlationId", "type", "bubbles", "cancelable", "eventPhase")); } public static function createEvent(_arg1:AcknowledgeMessage=null, _arg2:IMessage=null):MessageAckEvent{ return (new MessageAckEvent(MessageAckEvent.ACKNOWLEDGE, false, false, _arg1, _arg2)); } } }//package mx.messaging.events
Section 251
//MessageEvent (mx.messaging.events.MessageEvent) package mx.messaging.events { import flash.events.*; import mx.messaging.messages.*; public class MessageEvent extends Event { public var message:IMessage; public static const RESULT:String = "result"; public static const MESSAGE:String = "message"; public function MessageEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:IMessage=null){ super(_arg1, _arg2, _arg3); this.message = _arg4; } public function get messageId():String{ if (message != null){ return (message.messageId); }; return (null); } override public function toString():String{ return (formatToString("MessageEvent", "messageId", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new MessageEvent(type, bubbles, cancelable, message)); } public static function createEvent(_arg1:String, _arg2:IMessage):MessageEvent{ return (new MessageEvent(_arg1, false, false, _arg2)); } } }//package mx.messaging.events
Section 252
//MessageFaultEvent (mx.messaging.events.MessageFaultEvent) package mx.messaging.events { import flash.events.*; import mx.messaging.messages.*; public class MessageFaultEvent extends Event { public var message:ErrorMessage; public static const FAULT:String = "fault"; public function MessageFaultEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:ErrorMessage=null){ super(_arg1, _arg2, _arg3); this.message = _arg4; } public function get faultString():String{ return (message.faultString); } public function get faultDetail():String{ return (message.faultDetail); } public function get rootCause():Object{ return (message.rootCause); } override public function toString():String{ return (formatToString("MessageFaultEvent", "faultCode", "faultDetail", "faultString", "rootCause", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new MessageFaultEvent(type, bubbles, cancelable, message)); } public function get faultCode():String{ return (message.faultCode); } public static function createEvent(_arg1:ErrorMessage):MessageFaultEvent{ return (new MessageFaultEvent(MessageFaultEvent.FAULT, false, false, _arg1)); } } }//package mx.messaging.events
Section 253
//AbstractMessage (mx.messaging.messages.AbstractMessage) package mx.messaging.messages { import flash.utils.*; import mx.utils.*; public class AbstractMessage implements IMessage { private var _body:Object; private var _messageId:String; private var messageIdBytes:ByteArray; private var _timestamp:Number;// = 0 private var _clientId:String; private var clientIdBytes:ByteArray; private var _headers:Object; private var _destination:String;// = "" private var _timeToLive:Number;// = 0 private static const BODY_FLAG:uint = 1; public static const FLEX_CLIENT_ID_HEADER:String = "DSId"; private static const TIME_TO_LIVE_FLAG:uint = 64; private static const CLIENT_ID_BYTES_FLAG:uint = 1; private static const TIMESTAMP_FLAG:uint = 32; public static const REQUEST_TIMEOUT_HEADER:String = "DSRequestTimeout"; private static const DESTINATION_FLAG:uint = 4; private static const CLIENT_ID_FLAG:uint = 2; private static const HEADERS_FLAG:uint = 8; public static const REMOTE_CREDENTIALS_HEADER:String = "DSRemoteCredentials"; public static const REMOTE_CREDENTIALS_CHARSET_HEADER:String = "DSRemoteCredentialsCharset"; private static const MESSAGE_ID_BYTES_FLAG:uint = 2; public static const DESTINATION_CLIENT_ID_HEADER:String = "DSDstClientId"; private static const HAS_NEXT_FLAG:uint = 128; public static const ENDPOINT_HEADER:String = "DSEndpoint"; private static const MESSAGE_ID_FLAG:uint = 16; public function AbstractMessage(){ _body = {}; super(); } public function set messageId(_arg1:String):void{ _messageId = _arg1; messageIdBytes = null; } public function get headers():Object{ if (_headers == null){ _headers = {}; }; return (_headers); } public function readExternal(_arg1:IDataInput):void{ var _local4:uint; var _local5:uint; var _local6:uint; var _local2:Array = readFlags(_arg1); var _local3:uint; while (_local3 < _local2.length) { _local4 = (_local2[_local3] as uint); _local5 = 0; if (_local3 == 0){ if ((_local4 & BODY_FLAG) != 0){ body = _arg1.readObject(); } else { body = null; }; if ((_local4 & CLIENT_ID_FLAG) != 0){ clientId = _arg1.readObject(); }; if ((_local4 & DESTINATION_FLAG) != 0){ destination = (_arg1.readObject() as String); }; if ((_local4 & HEADERS_FLAG) != 0){ headers = _arg1.readObject(); }; if ((_local4 & MESSAGE_ID_FLAG) != 0){ messageId = (_arg1.readObject() as String); }; if ((_local4 & TIMESTAMP_FLAG) != 0){ timestamp = (_arg1.readObject() as Number); }; if ((_local4 & TIME_TO_LIVE_FLAG) != 0){ timeToLive = (_arg1.readObject() as Number); }; _local5 = 7; } else { if (_local3 == 1){ if ((_local4 & CLIENT_ID_BYTES_FLAG) != 0){ clientIdBytes = (_arg1.readObject() as ByteArray); clientId = UIDUtil.fromByteArray(clientIdBytes); }; if ((_local4 & MESSAGE_ID_BYTES_FLAG) != 0){ messageIdBytes = (_arg1.readObject() as ByteArray); messageId = UIDUtil.fromByteArray(messageIdBytes); }; _local5 = 2; }; }; if ((_local4 >> _local5) != 0){ _local6 = _local5; while (_local6 < 6) { if (((_local4 >> _local6) & 1) != 0){ _arg1.readObject(); }; _local6++; }; }; _local3++; }; } public function get messageId():String{ if (_messageId == null){ _messageId = UIDUtil.createUID(); }; return (_messageId); } public function set clientId(_arg1:String):void{ _clientId = _arg1; clientIdBytes = null; } public function get destination():String{ return (_destination); } public function get timestamp():Number{ return (_timestamp); } protected function readFlags(_arg1:IDataInput):Array{ var _local4:uint; var _local2:Boolean; var _local3:Array = []; while (((_local2) && ((_arg1.bytesAvailable > 0)))) { _local4 = _arg1.readUnsignedByte(); _local3.push(_local4); if ((_local4 & HAS_NEXT_FLAG) != 0){ _local2 = true; } else { _local2 = false; }; }; return (_local3); } public function set headers(_arg1:Object):void{ _headers = _arg1; } public function get body():Object{ return (_body); } public function set destination(_arg1:String):void{ _destination = _arg1; } public function set timestamp(_arg1:Number):void{ _timestamp = _arg1; } protected function addDebugAttributes(_arg1:Object):void{ _arg1["body"] = body; _arg1["clientId"] = clientId; _arg1["destination"] = destination; _arg1["headers"] = headers; _arg1["messageId"] = messageId; _arg1["timestamp"] = timestamp; _arg1["timeToLive"] = timeToLive; } public function get timeToLive():Number{ return (_timeToLive); } public function set body(_arg1:Object):void{ _body = _arg1; } public function get clientId():String{ return (_clientId); } public function writeExternal(_arg1:IDataOutput):void{ var _local2:uint; var _local3:String = messageId; if (clientIdBytes == null){ clientIdBytes = UIDUtil.toByteArray(_clientId); }; if (messageIdBytes == null){ messageIdBytes = UIDUtil.toByteArray(_messageId); }; if (body != null){ _local2 = (_local2 | BODY_FLAG); }; if (((!((clientId == null))) && ((clientIdBytes == null)))){ _local2 = (_local2 | CLIENT_ID_FLAG); }; if (destination != null){ _local2 = (_local2 | DESTINATION_FLAG); }; if (headers != null){ _local2 = (_local2 | HEADERS_FLAG); }; if (((!((messageId == null))) && ((messageIdBytes == null)))){ _local2 = (_local2 | MESSAGE_ID_FLAG); }; if (timestamp != 0){ _local2 = (_local2 | TIMESTAMP_FLAG); }; if (timeToLive != 0){ _local2 = (_local2 | TIME_TO_LIVE_FLAG); }; if (((!((clientIdBytes == null))) || (!((messageIdBytes == null))))){ _local2 = (_local2 | HAS_NEXT_FLAG); }; _arg1.writeByte(_local2); _local2 = 0; if (clientIdBytes != null){ _local2 = (_local2 | CLIENT_ID_BYTES_FLAG); }; if (messageIdBytes != null){ _local2 = (_local2 | MESSAGE_ID_BYTES_FLAG); }; if (_local2 != 0){ _arg1.writeByte(_local2); }; if (body != null){ _arg1.writeObject(body); }; if (((!((clientId == null))) && ((clientIdBytes == null)))){ _arg1.writeObject(clientId); }; if (destination != null){ _arg1.writeObject(destination); }; if (headers != null){ _arg1.writeObject(headers); }; if (((!((messageId == null))) && ((messageIdBytes == null)))){ _arg1.writeObject(messageId); }; if (timestamp != 0){ _arg1.writeObject(timestamp); }; if (timeToLive != 0){ _arg1.writeObject(timeToLive); }; if (clientIdBytes != null){ _arg1.writeObject(clientIdBytes); }; if (messageIdBytes != null){ _arg1.writeObject(messageIdBytes); }; } final protected function getDebugString():String{ var _local4:String; var _local5:uint; var _local6:String; var _local7:String; var _local1 = (("(" + getQualifiedClassName(this)) + ")"); var _local2:Object = {}; addDebugAttributes(_local2); var _local3:Array = []; for (_local4 in _local2) { _local3.push(_local4); }; _local3.sort(); _local5 = 0; while (_local5 < _local3.length) { _local6 = String(_local3[_local5]); _local7 = ObjectUtil.toString(_local2[_local6]); _local1 = (_local1 + StringUtil.substitute("\n {0}={1}", _local6, _local7)); _local5++; }; return (_local1); } public function toString():String{ return (ObjectUtil.toString(this)); } public function set timeToLive(_arg1:Number):void{ _timeToLive = _arg1; } } }//package mx.messaging.messages
Section 254
//AcknowledgeMessage (mx.messaging.messages.AcknowledgeMessage) package mx.messaging.messages { import flash.utils.*; public class AcknowledgeMessage extends AsyncMessage implements ISmallMessage { public static const ERROR_HINT_HEADER:String = "DSErrorHint"; override public function readExternal(_arg1:IDataInput):void{ var _local4:uint; var _local5:uint; var _local6:uint; super.readExternal(_arg1); var _local2:Array = readFlags(_arg1); var _local3:uint; while (_local3 < _local2.length) { _local4 = (_local2[_local3] as uint); _local5 = 0; if ((_local4 >> _local5) != 0){ _local6 = _local5; while (_local6 < 6) { if (((_local4 >> _local6) & 1) != 0){ _arg1.readObject(); }; _local6++; }; }; _local3++; }; } override public function writeExternal(_arg1:IDataOutput):void{ super.writeExternal(_arg1); var _local2:uint; _arg1.writeByte(_local2); } override public function getSmallMessage():IMessage{ var _local1:Object = this; if (_local1.constructor == AcknowledgeMessage){ return (new AcknowledgeMessageExt(this)); }; return (null); } } }//package mx.messaging.messages
Section 255
//AcknowledgeMessageExt (mx.messaging.messages.AcknowledgeMessageExt) package mx.messaging.messages { import flash.utils.*; public class AcknowledgeMessageExt extends AcknowledgeMessage implements IExternalizable { private var _message:AcknowledgeMessage; public function AcknowledgeMessageExt(_arg1:AcknowledgeMessage=null){ _message = _arg1; } override public function get messageId():String{ if (_message != null){ return (_message.messageId); }; return (super.messageId); } override public function writeExternal(_arg1:IDataOutput):void{ if (_message != null){ _message.writeExternal(_arg1); } else { super.writeExternal(_arg1); }; } } }//package mx.messaging.messages
Section 256
//AsyncMessage (mx.messaging.messages.AsyncMessage) package mx.messaging.messages { import flash.utils.*; import mx.utils.*; public class AsyncMessage extends AbstractMessage implements ISmallMessage { private var _correlationId:String; private var correlationIdBytes:ByteArray; private static const CORRELATION_ID_FLAG:uint = 1; private static const CORRELATION_ID_BYTES_FLAG:uint = 2; public static const SUBTOPIC_HEADER:String = "DSSubtopic"; public function AsyncMessage(_arg1:Object=null, _arg2:Object=null){ correlationId = ""; if (_arg1 != null){ this.body = _arg1; }; if (_arg2 != null){ this.headers = _arg2; }; } override protected function addDebugAttributes(_arg1:Object):void{ super.addDebugAttributes(_arg1); _arg1["correlationId"] = correlationId; } override public function readExternal(_arg1:IDataInput):void{ var _local4:uint; var _local5:uint; var _local6:uint; super.readExternal(_arg1); var _local2:Array = readFlags(_arg1); var _local3:uint; while (_local3 < _local2.length) { _local4 = (_local2[_local3] as uint); _local5 = 0; if (_local3 == 0){ if ((_local4 & CORRELATION_ID_FLAG) != 0){ correlationId = (_arg1.readObject() as String); }; if ((_local4 & CORRELATION_ID_BYTES_FLAG) != 0){ correlationIdBytes = (_arg1.readObject() as ByteArray); correlationId = UIDUtil.fromByteArray(correlationIdBytes); }; _local5 = 2; }; if ((_local4 >> _local5) != 0){ _local6 = _local5; while (_local6 < 6) { if (((_local4 >> _local6) & 1) != 0){ _arg1.readObject(); }; _local6++; }; }; _local3++; }; } public function getSmallMessage():IMessage{ var _local1:Object = this; if (_local1.constructor == AsyncMessage){ return (new AsyncMessageExt(this)); }; return (null); } override public function writeExternal(_arg1:IDataOutput):void{ super.writeExternal(_arg1); if (correlationIdBytes == null){ correlationIdBytes = UIDUtil.toByteArray(_correlationId); }; var _local2:uint; if (((!((correlationId == null))) && ((correlationIdBytes == null)))){ _local2 = (_local2 | CORRELATION_ID_FLAG); }; if (correlationIdBytes != null){ _local2 = (_local2 | CORRELATION_ID_BYTES_FLAG); }; _arg1.writeByte(_local2); if (((!((correlationId == null))) && ((correlationIdBytes == null)))){ _arg1.writeObject(correlationId); }; if (correlationIdBytes != null){ _arg1.writeObject(correlationIdBytes); }; } public function set correlationId(_arg1:String):void{ _correlationId = _arg1; correlationIdBytes = null; } public function get correlationId():String{ return (_correlationId); } } }//package mx.messaging.messages
Section 257
//AsyncMessageExt (mx.messaging.messages.AsyncMessageExt) package mx.messaging.messages { import flash.utils.*; public class AsyncMessageExt extends AsyncMessage implements IExternalizable { private var _message:AsyncMessage; public function AsyncMessageExt(_arg1:AsyncMessage=null){ _message = _arg1; } override public function get messageId():String{ if (_message != null){ return (_message.messageId); }; return (super.messageId); } override public function writeExternal(_arg1:IDataOutput):void{ if (_message != null){ _message.writeExternal(_arg1); } else { super.writeExternal(_arg1); }; } } }//package mx.messaging.messages
Section 258
//CommandMessage (mx.messaging.messages.CommandMessage) package mx.messaging.messages { import flash.utils.*; public class CommandMessage extends AsyncMessage { public var operation:uint; public static const SUBSCRIBE_OPERATION:uint = 0; private static const OPERATION_FLAG:uint = 1; public static const CLIENT_SYNC_OPERATION:uint = 4; public static const POLL_WAIT_HEADER:String = "DSPollWait"; public static const ADD_SUBSCRIPTIONS:String = "DSAddSub"; public static const SUBSCRIPTION_INVALIDATE_OPERATION:uint = 10; public static const CLIENT_PING_OPERATION:uint = 5; public static const UNSUBSCRIBE_OPERATION:uint = 1; public static const CREDENTIALS_CHARSET_HEADER:String = "DSCredentialsCharset"; public static const AUTHENTICATION_MESSAGE_REF_TYPE:String = "flex.messaging.messages.AuthenticationMessage"; public static const POLL_OPERATION:uint = 2; public static const MULTI_SUBSCRIBE_OPERATION:uint = 11; public static const LOGIN_OPERATION:uint = 8; public static const CLUSTER_REQUEST_OPERATION:uint = 7; public static const LOGOUT_OPERATION:uint = 9; public static const REMOVE_SUBSCRIPTIONS:String = "DSRemSub"; public static const MESSAGING_VERSION:String = "DSMessagingVersion"; public static const NEEDS_CONFIG_HEADER:String = "DSNeedsConfig"; public static const SELECTOR_HEADER:String = "DSSelector"; public static const UNKNOWN_OPERATION:uint = 10000; public static const PRESERVE_DURABLE_HEADER:String = "DSPreserveDurable"; public static const NO_OP_POLL_HEADER:String = "DSNoOpPoll"; public static const SUBTOPIC_SEPARATOR:String = "_;_"; public static const DISCONNECT_OPERATION:uint = 12; private static var operationTexts:Object = null; public function CommandMessage(){ operation = UNKNOWN_OPERATION; } override public function readExternal(_arg1:IDataInput):void{ var _local4:uint; var _local5:uint; var _local6:uint; super.readExternal(_arg1); var _local2:Array = readFlags(_arg1); var _local3:uint; while (_local3 < _local2.length) { _local4 = (_local2[_local3] as uint); _local5 = 0; if (_local3 == 0){ if ((_local4 & OPERATION_FLAG) != 0){ operation = (_arg1.readObject() as uint); }; _local5 = 1; }; if ((_local4 >> _local5) != 0){ _local6 = _local5; while (_local6 < 6) { if (((_local4 >> _local6) & 1) != 0){ _arg1.readObject(); }; _local6++; }; }; _local3++; }; } override protected function addDebugAttributes(_arg1:Object):void{ super.addDebugAttributes(_arg1); _arg1["operation"] = getOperationAsString(operation); } override public function writeExternal(_arg1:IDataOutput):void{ super.writeExternal(_arg1); var _local2:uint; if (operation != 0){ _local2 = (_local2 | OPERATION_FLAG); }; _arg1.writeByte(_local2); if (operation != 0){ _arg1.writeObject(operation); }; } override public function toString():String{ return (getDebugString()); } override public function getSmallMessage():IMessage{ if (operation == POLL_OPERATION){ return (new CommandMessageExt(this)); }; return (null); } public static function getOperationAsString(_arg1:uint):String{ if (operationTexts == null){ operationTexts = {}; operationTexts[SUBSCRIBE_OPERATION] = "subscribe"; operationTexts[UNSUBSCRIBE_OPERATION] = "unsubscribe"; operationTexts[POLL_OPERATION] = "poll"; operationTexts[CLIENT_SYNC_OPERATION] = "client sync"; operationTexts[CLIENT_PING_OPERATION] = "client ping"; operationTexts[CLUSTER_REQUEST_OPERATION] = "cluster request"; operationTexts[LOGIN_OPERATION] = "login"; operationTexts[LOGOUT_OPERATION] = "logout"; operationTexts[SUBSCRIPTION_INVALIDATE_OPERATION] = "subscription invalidate"; operationTexts[MULTI_SUBSCRIBE_OPERATION] = "multi-subscribe"; operationTexts[DISCONNECT_OPERATION] = "disconnect"; operationTexts[UNKNOWN_OPERATION] = "unknown"; }; var _local2:* = operationTexts[_arg1]; return (((_local2 == undefined)) ? _arg1.toString() : String(_local2)); } } }//package mx.messaging.messages
Section 259
//CommandMessageExt (mx.messaging.messages.CommandMessageExt) package mx.messaging.messages { import flash.utils.*; public class CommandMessageExt extends CommandMessage implements IExternalizable { private var _message:CommandMessage; public function CommandMessageExt(_arg1:CommandMessage=null){ _message = _arg1; } override public function get messageId():String{ if (_message != null){ return (_message.messageId); }; return (super.messageId); } override public function writeExternal(_arg1:IDataOutput):void{ if (_message != null){ _message.writeExternal(_arg1); } else { super.writeExternal(_arg1); }; } } }//package mx.messaging.messages
Section 260
//ErrorMessage (mx.messaging.messages.ErrorMessage) package mx.messaging.messages { public class ErrorMessage extends AcknowledgeMessage { public var faultString:String; public var extendedData:Object; public var rootCause:Object; public var faultCode:String; public var faultDetail:String; public static const RETRYABLE_HINT_HEADER:String = "DSRetryableErrorHint"; public static const MESSAGE_DELIVERY_IN_DOUBT:String = "Client.Error.DeliveryInDoubt"; override public function getSmallMessage():IMessage{ return (null); } } }//package mx.messaging.messages
Section 261
//HTTPRequestMessage (mx.messaging.messages.HTTPRequestMessage) package mx.messaging.messages { import mx.resources.*; public class HTTPRequestMessage extends AbstractMessage { private var _method:String; public var httpHeaders:Object; public var url:String; public var contentType:String; public var recordHeaders:Boolean; private var resourceManager:IResourceManager; public static const POST_METHOD:String = "POST"; public static const CONTENT_TYPE_SOAP_XML:String = "text/xml; charset=utf-8"; public static const CONTENT_TYPE_FORM:String = "application/x-www-form-urlencoded"; public static const GET_METHOD:String = "GET"; public static const HEAD_METHOD:String = "HEAD"; public static const PUT_METHOD:String = "PUT"; public static const TRACE_METHOD:String = "TRACE"; public static const DELETE_METHOD:String = "DELETE"; public static const CONTENT_TYPE_XML:String = "application/xml"; public static const OPTIONS_METHOD:String = "OPTIONS"; private static const VALID_METHODS:String = "POST,PUT,GET,HEAD,DELETE,OPTIONS,TRACE"; public function HTTPRequestMessage(){ resourceManager = ResourceManager.getInstance(); super(); _method = GET_METHOD; } public function get method():String{ return (_method); } public function set method(_arg1:String):void{ var _local2:String; if (VALID_METHODS.indexOf(_arg1) == -1){ _local2 = resourceManager.getString("messaging", "invalidRequestMethod"); throw (new ArgumentError(_local2)); }; _method = _arg1; } } }//package mx.messaging.messages
Section 262
//IMessage (mx.messaging.messages.IMessage) package mx.messaging.messages { public interface IMessage { function get body():Object; function set messageId(_arg1:String):void; function get clientId():String; function set timeToLive(_arg1:Number):void; function get messageId():String; function set body(_arg1:Object):void; function set timestamp(_arg1:Number):void; function get headers():Object; function get destination():String; function set clientId(_arg1:String):void; function get timeToLive():Number; function get timestamp():Number; function toString():String; function set headers(_arg1:Object):void; function set destination(_arg1:String):void; } }//package mx.messaging.messages
Section 263
//ISmallMessage (mx.messaging.messages.ISmallMessage) package mx.messaging.messages { public interface ISmallMessage extends IMessage { function getSmallMessage():IMessage; } }//package mx.messaging.messages
Section 264
//MessagePerformanceInfo (mx.messaging.messages.MessagePerformanceInfo) package mx.messaging.messages { public class MessagePerformanceInfo { public var recordMessageSizes:Boolean; public var pushedFlag:Boolean; public var serverPrePushTime:Number; public var receiveTime:Number; public var overheadTime:Number; public var serverPostAdapterExternalTime:Number; private var _infoType:String; public var messageSize:int; public var serverPreAdapterExternalTime:Number; public var recordMessageTimes:Boolean; public var sendTime:Number;// = 0 public var serverPostAdapterTime:Number; public var serverPreAdapterTime:Number; public function get infoType():String{ return (this._infoType); } public function set infoType(_arg1:String):void{ var _local2:Date; _infoType = _arg1; if (_infoType == "OUT"){ _local2 = new Date(); this.receiveTime = _local2.getTime(); }; } } }//package mx.messaging.messages
Section 265
//MessagePerformanceUtils (mx.messaging.messages.MessagePerformanceUtils) package mx.messaging.messages { public class MessagePerformanceUtils { public var mpii:MessagePerformanceInfo; public var mpio:MessagePerformanceInfo; public var mpip:MessagePerformanceInfo; public static const MPI_HEADER_PUSH:String = "DSMPIP"; public static const MPI_HEADER_OUT:String = "DSMPIO"; public static const MPI_HEADER_IN:String = "DSMPII"; public function MessagePerformanceUtils(_arg1:Object):void{ this.mpii = (_arg1.headers[MPI_HEADER_IN] as MessagePerformanceInfo); this.mpio = (_arg1.headers[MPI_HEADER_OUT] as MessagePerformanceInfo); if (pushedMessageFlag){ this.mpip = (_arg1.headers[MPI_HEADER_PUSH] as MessagePerformanceInfo); }; if ((((mpio == null)) || ((((mpii == null)) && ((mpip == null)))))){ throw (new Error("Message is missing MPI headers. Verify that all participants have it enabled.")); }; } public function get serverPollDelay():Number{ if (mpip == null){ return (0); }; if ((((mpip.serverPrePushTime == 0)) || ((mpio.sendTime == 0)))){ return (0); }; return ((mpio.sendTime - mpip.serverPrePushTime)); } public function get clientReceiveTime():Number{ return (mpio.receiveTime); } public function get serverPrePushTime():Number{ if (mpii == null){ return (0); }; if (mpii.serverPrePushTime == 0){ return (serverProcessingTime); }; return ((mpii.serverPrePushTime - mpii.receiveTime)); } public function get pushOneWayTime():Number{ return ((clientReceiveTime - serverSendTime)); } public function prettyPrint():String{ var _local1:String = new String(""); if (messageSize != 0){ _local1 = (_local1 + (("Original message size(B): " + messageSize) + "\n")); }; if (responseMessageSize != 0){ _local1 = (_local1 + (("Response message size(B): " + responseMessageSize) + "\n")); }; if (totalTime != 0){ _local1 = (_local1 + (("Total time (s): " + (totalTime / 1000)) + "\n")); }; if (networkRTT != 0){ _local1 = (_local1 + (("Network Roundtrip time (s): " + (networkRTT / 1000)) + "\n")); }; if (serverProcessingTime != 0){ _local1 = (_local1 + (("Server processing time (s): " + (serverProcessingTime / 1000)) + "\n")); }; if (serverAdapterTime != 0){ _local1 = (_local1 + (("Server adapter time (s): " + (serverAdapterTime / 1000)) + "\n")); }; if (serverNonAdapterTime != 0){ _local1 = (_local1 + (("Server non-adapter time (s): " + (serverNonAdapterTime / 1000)) + "\n")); }; if (serverAdapterExternalTime != 0){ _local1 = (_local1 + (("Server adapter external time (s): " + (serverAdapterExternalTime / 1000)) + "\n")); }; if (pushedMessageFlag){ _local1 = (_local1 + "PUSHED MESSAGE INFORMATION:\n"); if (totalPushTime != 0){ _local1 = (_local1 + (("Total push time (s): " + (totalPushTime / 1000)) + "\n")); }; if (pushOneWayTime != 0){ _local1 = (_local1 + (("Push one way time (s): " + (pushOneWayTime / 1000)) + "\n")); }; if (originatingMessageSize != 0){ _local1 = (_local1 + (("Originating Message size (B): " + originatingMessageSize) + "\n")); }; if (serverPollDelay != 0){ _local1 = (_local1 + (("Server poll delay (s): " + (serverPollDelay / 1000)) + "\n")); }; }; return (_local1); } public function get serverSendTime():Number{ return (mpio.sendTime); } public function get serverNonAdapterTime():Number{ return ((serverProcessingTime - serverAdapterTime)); } public function get pushedMessageFlag():Boolean{ return (mpio.pushedFlag); } public function get originatingMessageSentTime():Number{ return (mpip.sendTime); } public function get serverProcessingTime():Number{ if (pushedMessageFlag){ return ((mpip.serverPrePushTime - mpip.receiveTime)); }; return ((mpio.sendTime - mpii.receiveTime)); } public function get serverAdapterExternalTime():Number{ if (pushedMessageFlag){ if (mpip == null){ return (0); }; if ((((mpip.serverPreAdapterExternalTime == 0)) || ((mpip.serverPostAdapterExternalTime == 0)))){ return (0); }; return ((mpip.serverPostAdapterExternalTime - mpip.serverPreAdapterExternalTime)); //unresolved jump }; if (mpii == null){ return (0); }; if ((((mpii.serverPreAdapterExternalTime == 0)) || ((mpii.serverPostAdapterExternalTime == 0)))){ return (0); }; return ((mpii.serverPostAdapterExternalTime - mpii.serverPreAdapterExternalTime)); } public function get responseMessageSize():int{ return (mpio.messageSize); } public function get messageSize():int{ if (mpii == null){ return (0); }; return (mpii.messageSize); } public function get networkRTT():Number{ if (!pushedMessageFlag){ return ((totalTime - serverProcessingTime)); }; return (0); } public function get totalTime():Number{ if (mpii == null){ return (0); }; return ((mpio.receiveTime - mpii.sendTime)); } public function get totalPushTime():Number{ return (((clientReceiveTime - originatingMessageSentTime) - pushedOverheadTime)); } public function get serverAdapterTime():Number{ if (pushedMessageFlag){ if (mpip == null){ return (0); }; if ((((mpip.serverPreAdapterTime == 0)) || ((mpip.serverPostAdapterTime == 0)))){ return (0); }; return ((mpip.serverPostAdapterTime - mpip.serverPreAdapterTime)); //unresolved jump }; if (mpii == null){ return (0); }; if ((((mpii.serverPreAdapterTime == 0)) || ((mpii.serverPostAdapterTime == 0)))){ return (0); }; return ((mpii.serverPostAdapterTime - mpii.serverPreAdapterTime)); } private function get pushedOverheadTime():Number{ return (mpip.overheadTime); } public function get originatingMessageSize():Number{ return (mpip.messageSize); } } }//package mx.messaging.messages
Section 266
//AbstractConsumer (mx.messaging.AbstractConsumer) package mx.messaging { import flash.events.*; import mx.events.*; import mx.resources.*; import flash.utils.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.logging.*; import mx.messaging.channels.*; public class AbstractConsumer extends MessageAgent { private var _currentAttempt:int; private var _timestamp:Number;// = -1 private var _resubscribeInterval:int;// = 5000 private var _resubscribeAttempts:int;// = 5 private var _resubscribeTimer:Timer; protected var _shouldBeSubscribed:Boolean; private var _subscribeMsg:CommandMessage; private var _subscribed:Boolean; private var resourceManager:IResourceManager; public function AbstractConsumer(){ resourceManager = ResourceManager.getInstance(); super(); _log = Log.getLogger("mx.messaging.Consumer"); _agentType = "consumer"; } override public function channelFaultHandler(_arg1:ChannelFaultEvent):void{ if (!_arg1.channel.connected){ setSubscribed(false); }; super.channelFaultHandler(_arg1); if (((((_shouldBeSubscribed) && (!(_arg1.rejected)))) && (!(_arg1.channel.connected)))){ startResubscribeTimer(); }; } protected function buildUnsubscribeMessage(_arg1:Boolean):CommandMessage{ var _local2:CommandMessage; _local2 = new CommandMessage(); _local2.operation = CommandMessage.UNSUBSCRIBE_OPERATION; _local2.clientId = clientId; _local2.destination = destination; if (_arg1){ _local2.headers[CommandMessage.PRESERVE_DURABLE_HEADER] = _arg1; }; return (_local2); } override mx_internal function setClientId(_arg1:String):void{ var _local2:Boolean; if (super.clientId != _arg1){ _local2 = false; if (subscribed){ unsubscribe(); _local2 = true; }; super.setClientId(_arg1); if (_local2){ subscribe(_arg1); }; }; } override public function disconnect():void{ _shouldBeSubscribed = false; stopResubscribeTimer(); setSubscribed(false); super.disconnect(); } public function subscribe(_arg1:String=null):void{ var _local2:Boolean = (((!((_arg1 == null))) && (!((super.clientId == _arg1))))) ? true : false; if (((subscribed) && (_local2))){ unsubscribe(); }; stopResubscribeTimer(); _shouldBeSubscribed = true; if (_local2){ super.setClientId(_arg1); }; if (Log.isInfo()){ _log.info("'{0}' {1} subscribe.", id, _agentType); }; _subscribeMsg = buildSubscribeMessage(); internalSend(_subscribeMsg); } override public function channelDisconnectHandler(_arg1:ChannelEvent):void{ setSubscribed(false); super.channelDisconnectHandler(_arg1); if (((_shouldBeSubscribed) && (!(_arg1.rejected)))){ startResubscribeTimer(); }; } protected function buildSubscribeMessage():CommandMessage{ var _local1:CommandMessage = new CommandMessage(); _local1.operation = CommandMessage.SUBSCRIBE_OPERATION; _local1.clientId = clientId; _local1.destination = destination; return (_local1); } protected function startResubscribeTimer():void{ if (((_shouldBeSubscribed) && ((_resubscribeTimer == null)))){ if (((!((_resubscribeAttempts == 0))) && ((_resubscribeInterval > 0)))){ if (Log.isDebug()){ _log.debug("'{0}' {1} starting resubscribe timer.", id, _agentType); }; _resubscribeTimer = new Timer(1); _resubscribeTimer.addEventListener(TimerEvent.TIMER, resubscribe); _resubscribeTimer.start(); _currentAttempt = 0; }; }; } public function unsubscribe(_arg1:Boolean=false):void{ _shouldBeSubscribed = false; if (subscribed){ if (channelSet != null){ channelSet.removeEventListener(destination, messageHandler); }; if (Log.isInfo()){ _log.info("'{0}' {1} unsubscribe.", id, _agentType); }; internalSend(buildUnsubscribeMessage(_arg1)); } else { stopResubscribeTimer(); }; } mx_internal function messageHandler(_arg1:MessageEvent):void{ var _local3:CommandMessage; var _local2:IMessage = _arg1.message; if ((_local2 is CommandMessage)){ _local3 = (_local2 as CommandMessage); switch (_local3.operation){ case CommandMessage.SUBSCRIPTION_INVALIDATE_OPERATION: if ((channelSet.currentChannel is PollingChannel)){ PollingChannel(channelSet.currentChannel).disablePolling(); }; setSubscribed(false); break; default: if (Log.isWarn()){ _log.warn("'{0}' received a CommandMessage '{1}' that could not be handled.", id, CommandMessage.getOperationAsString(_local3.operation)); }; }; return; }; if (_local2.timestamp > _timestamp){ _timestamp = _local2.timestamp; }; if ((_local2 is ErrorMessage)){ dispatchEvent(MessageFaultEvent.createEvent(ErrorMessage(_local2))); } else { dispatchEvent(MessageEvent.createEvent(MessageEvent.MESSAGE, _local2)); }; } public function get timestamp():Number{ return (_timestamp); } public function get resubscribeInterval():int{ return (_resubscribeInterval); } public function get subscribed():Boolean{ return (_subscribed); } override public function fault(_arg1:ErrorMessage, _arg2:IMessage):void{ if (_disconnectBarrier){ return; }; if (_arg1.headers[ErrorMessage.RETRYABLE_HINT_HEADER]){ if (_resubscribeTimer == null){ if (((!((_subscribeMsg == null))) && ((_arg1.correlationId == _subscribeMsg.messageId)))){ _shouldBeSubscribed = false; }; super.fault(_arg1, _arg2); }; } else { super.fault(_arg1, _arg2); }; } protected function setSubscribed(_arg1:Boolean):void{ var _local2:PropertyChangeEvent; if (_subscribed != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "subscribed", _subscribed, _arg1); _subscribed = _arg1; if (_subscribed){ ConsumerMessageDispatcher.getInstance().registerSubscription(this); if (((((!((channelSet == null))) && (!((channelSet.currentChannel == null))))) && ((channelSet.currentChannel is PollingChannel)))){ PollingChannel(channelSet.currentChannel).enablePolling(); }; } else { ConsumerMessageDispatcher.getInstance().unregisterSubscription(this); if (((((!((channelSet == null))) && (!((channelSet.currentChannel == null))))) && ((channelSet.currentChannel is PollingChannel)))){ PollingChannel(channelSet.currentChannel).disablePolling(); }; }; dispatchEvent(_local2); }; } public function get resubscribeAttempts():int{ return (_resubscribeAttempts); } public function receive(_arg1:Number=0):void{ var _local2:CommandMessage; if (clientId != null){ _local2 = new CommandMessage(); _local2.operation = CommandMessage.POLL_OPERATION; _local2.destination = destination; internalSend(_local2); }; } override public function set destination(_arg1:String):void{ var _local2:Boolean; if (destination != _arg1){ _local2 = false; if (subscribed){ unsubscribe(); _local2 = true; }; super.destination = _arg1; if (_local2){ subscribe(); }; }; } protected function stopResubscribeTimer():void{ if (_resubscribeTimer != null){ if (Log.isDebug()){ _log.debug("'{0}' {1} stopping resubscribe timer.", id, _agentType); }; _resubscribeTimer.removeEventListener(TimerEvent.TIMER, resubscribe); _resubscribeTimer.reset(); _resubscribeTimer = null; }; } override public function acknowledge(_arg1:AcknowledgeMessage, _arg2:IMessage):void{ var _local3:CommandMessage; var _local4:int; var _local5:Array; var _local6:IMessage; if (_disconnectBarrier){ return; }; if (((!(_arg1.headers[AcknowledgeMessage.ERROR_HINT_HEADER])) && ((_arg2 is CommandMessage)))){ _local3 = (_arg2 as CommandMessage); _local4 = _local3.operation; if (_local4 == CommandMessage.MULTI_SUBSCRIBE_OPERATION){ if (_arg2.headers.DSlastUnsub != null){ _local4 = CommandMessage.UNSUBSCRIBE_OPERATION; } else { _local4 = CommandMessage.SUBSCRIBE_OPERATION; }; }; switch (_local4){ case CommandMessage.UNSUBSCRIBE_OPERATION: if (Log.isInfo()){ _log.info("'{0}' {1} acknowledge for unsubscribe.", id, _agentType); }; super.setClientId(null); setSubscribed(false); _arg1.clientId = null; super.acknowledge(_arg1, _arg2); break; case CommandMessage.SUBSCRIBE_OPERATION: stopResubscribeTimer(); if (_arg1.timestamp > _timestamp){ _timestamp = (_arg1.timestamp - 1); }; if (Log.isInfo()){ _log.info("'{0}' {1} acknowledge for subscribe. Client id '{2}' new timestamp {3}", id, _agentType, _arg1.clientId, _timestamp); }; super.setClientId(_arg1.clientId); setSubscribed(true); super.acknowledge(_arg1, _arg2); break; case CommandMessage.POLL_OPERATION: if (((!((_arg1.body == null))) && ((_arg1.body is Array)))){ _local5 = (_arg1.body as Array); for each (_local6 in _local5) { messageHandler(MessageEvent.createEvent(MessageEvent.MESSAGE, _local6)); }; }; super.acknowledge(_arg1, _arg2); break; }; } else { super.acknowledge(_arg1, _arg2); }; } protected function resubscribe(_arg1:TimerEvent):void{ var _local2:ErrorMessage; if (((!((_resubscribeAttempts == -1))) && ((_currentAttempt >= _resubscribeAttempts)))){ stopResubscribeTimer(); _shouldBeSubscribed = false; _local2 = new ErrorMessage(); _local2.faultCode = "Client.Error.Subscribe"; _local2.faultString = resourceManager.getString("messaging", "consumerSubscribeError"); _local2.faultDetail = resourceManager.getString("messaging", "failedToSubscribe"); _local2.correlationId = _subscribeMsg.messageId; fault(_local2, _subscribeMsg); return; }; if (Log.isDebug()){ _log.debug("'{0}' {1} trying to resubscribe.", id, _agentType); }; _resubscribeTimer.delay = _resubscribeInterval; _currentAttempt++; internalSend(_subscribeMsg, false); } public function set resubscribeInterval(_arg1:int):void{ var _local2:PropertyChangeEvent; var _local3:String; if (_resubscribeInterval != _arg1){ if (_arg1 < 0){ _local3 = resourceManager.getString("messaging", "resubscribeIntervalNegative"); throw (new ArgumentError(_local3)); }; if (_arg1 == 0){ stopResubscribeTimer(); } else { if (_resubscribeTimer != null){ _resubscribeTimer.delay = _arg1; }; }; _local2 = PropertyChangeEvent.createUpdateEvent(this, "resubscribeInterval", _resubscribeInterval, _arg1); _resubscribeInterval = _arg1; dispatchEvent(_local2); }; } public function set resubscribeAttempts(_arg1:int):void{ var _local2:PropertyChangeEvent; if (_resubscribeAttempts != _arg1){ if (_arg1 == 0){ stopResubscribeTimer(); }; _local2 = PropertyChangeEvent.createUpdateEvent(this, "resubscribeAttempts", _resubscribeAttempts, _arg1); _resubscribeAttempts = _arg1; dispatchEvent(_local2); }; } public function set timestamp(_arg1:Number):void{ var _local2:PropertyChangeEvent; if (_timestamp != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "timestamp", _timestamp, _arg1); _timestamp = _arg1; dispatchEvent(_local2); }; } } }//package mx.messaging
Section 267
//AbstractProducer (mx.messaging.AbstractProducer) package mx.messaging { import flash.events.*; import mx.events.*; import mx.resources.*; import flash.utils.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.logging.*; public class AbstractProducer extends MessageAgent { private var _currentAttempt:int; private var _autoConnect:Boolean;// = true private var _reconnectTimer:Timer; protected var _shouldBeConnected:Boolean; private var _connectMsg:CommandMessage; private var _defaultHeaders:Object; private var _reconnectInterval:int; private var _reconnectAttempts:int; private var resourceManager:IResourceManager; public function AbstractProducer(){ resourceManager = ResourceManager.getInstance(); super(); } public function get reconnectAttempts():int{ return (_reconnectAttempts); } public function get defaultHeaders():Object{ return (_defaultHeaders); } public function set reconnectInterval(_arg1:int):void{ var _local2:PropertyChangeEvent; var _local3:String; if (_reconnectInterval != _arg1){ if (_arg1 < 0){ _local3 = resourceManager.getString("messaging", "reconnectIntervalNegative"); throw (new ArgumentError(_local3)); }; if (_arg1 == 0){ stopReconnectTimer(); } else { if (_reconnectTimer != null){ _reconnectTimer.delay = _arg1; }; }; _local2 = PropertyChangeEvent.createUpdateEvent(this, "reconnectInterval", _reconnectInterval, _arg1); _reconnectInterval = _arg1; dispatchEvent(_local2); }; } public function set defaultHeaders(_arg1:Object):void{ var _local2:PropertyChangeEvent; if (_defaultHeaders != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "defaultHeaders", _defaultHeaders, _arg1); _defaultHeaders = _arg1; dispatchEvent(_local2); }; } public function get reconnectInterval():int{ return (_reconnectInterval); } public function send(_arg1:IMessage):void{ var _local2:String; var _local3:ErrorMessage; if (((!(connected)) && (autoConnect))){ _shouldBeConnected = true; }; if (defaultHeaders != null){ for (_local2 in defaultHeaders) { if (!_arg1.headers.hasOwnProperty(_local2)){ _arg1.headers[_local2] = defaultHeaders[_local2]; }; }; }; if (((!(connected)) && (!(autoConnect)))){ _shouldBeConnected = false; _local3 = new ErrorMessage(); _local3.faultCode = "Client.Error.MessageSend"; _local3.faultString = resourceManager.getString("messaging", "producerSendError"); _local3.faultDetail = resourceManager.getString("messaging", "producerSendErrorDetails"); _local3.correlationId = _arg1.messageId; internalFault(_local3, _arg1, false, true); } else { if (Log.isInfo()){ _log.info("'{0}' {1} sending message '{2}'", id, _agentType, _arg1.messageId); }; internalSend(_arg1); }; } protected function stopReconnectTimer():void{ if (_reconnectTimer != null){ if (Log.isDebug()){ _log.debug("'{0}' {1} stopping reconnect timer.", id, _agentType); }; _reconnectTimer.removeEventListener(TimerEvent.TIMER, reconnect); _reconnectTimer.reset(); _reconnectTimer = null; }; } override public function channelDisconnectHandler(_arg1:ChannelEvent):void{ super.channelDisconnectHandler(_arg1); if (((_shouldBeConnected) && (!(_arg1.rejected)))){ startReconnectTimer(); }; } protected function reconnect(_arg1:TimerEvent):void{ if (((!((_reconnectAttempts == -1))) && ((_currentAttempt >= _reconnectAttempts)))){ stopReconnectTimer(); _shouldBeConnected = false; fault(buildConnectErrorMessage(), _connectMsg); return; }; if (Log.isDebug()){ _log.debug("'{0}' {1} trying to reconnect.", id, _agentType); }; _reconnectTimer.delay = _reconnectInterval; _currentAttempt++; if (_connectMsg == null){ _connectMsg = buildConnectMessage(); }; internalSend(_connectMsg, false); } private function buildConnectErrorMessage():ErrorMessage{ var _local1:ErrorMessage = new ErrorMessage(); _local1.faultCode = "Client.Error.Connect"; _local1.faultString = resourceManager.getString("messaging", "producerConnectError"); _local1.faultDetail = resourceManager.getString("messaging", "failedToConnect"); _local1.correlationId = _connectMsg.messageId; return (_local1); } override public function acknowledge(_arg1:AcknowledgeMessage, _arg2:IMessage):void{ if (_disconnectBarrier){ return; }; super.acknowledge(_arg1, _arg2); if ((((_arg2 is CommandMessage)) && ((CommandMessage(_arg2).operation == CommandMessage.CLIENT_PING_OPERATION)))){ stopReconnectTimer(); }; } override public function fault(_arg1:ErrorMessage, _arg2:IMessage):void{ internalFault(_arg1, _arg2); } override public function disconnect():void{ _shouldBeConnected = false; stopReconnectTimer(); super.disconnect(); } mx_internal function internalFault(_arg1:ErrorMessage, _arg2:IMessage, _arg3:Boolean=true, _arg4:Boolean=false):void{ var _local5:ErrorMessage; if (((_disconnectBarrier) && (!(_arg4)))){ return; }; if ((((_arg2 is CommandMessage)) && ((CommandMessage(_arg2).operation == CommandMessage.CLIENT_PING_OPERATION)))){ if (_reconnectTimer == null){ if (((!((_connectMsg == null))) && ((_arg1.correlationId == _connectMsg.messageId)))){ _shouldBeConnected = false; _local5 = buildConnectErrorMessage(); _local5.rootCause = _arg1.rootCause; super.fault(_local5, _arg2); } else { super.fault(_arg1, _arg2); }; }; } else { super.fault(_arg1, _arg2); }; } public function connect():void{ if (!connected){ _shouldBeConnected = true; if (_connectMsg == null){ _connectMsg = buildConnectMessage(); }; internalSend(_connectMsg, false); }; } override public function channelFaultHandler(_arg1:ChannelFaultEvent):void{ super.channelFaultHandler(_arg1); if (((((_shouldBeConnected) && (!(_arg1.rejected)))) && (!(_arg1.channel.connected)))){ startReconnectTimer(); }; } private function buildConnectMessage():CommandMessage{ var _local1:CommandMessage; _local1 = new CommandMessage(); _local1.operation = CommandMessage.CLIENT_PING_OPERATION; _local1.clientId = clientId; _local1.destination = destination; return (_local1); } protected function startReconnectTimer():void{ if (((_shouldBeConnected) && ((_reconnectTimer == null)))){ if (((!((_reconnectAttempts == 0))) && ((_reconnectInterval > 0)))){ if (Log.isDebug()){ _log.debug("'{0}' {1} starting reconnect timer.", id, _agentType); }; _reconnectTimer = new Timer(1); _reconnectTimer.addEventListener(TimerEvent.TIMER, reconnect); _reconnectTimer.start(); _currentAttempt = 0; }; }; } public function set autoConnect(_arg1:Boolean):void{ var _local2:PropertyChangeEvent; if (_autoConnect != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "autoConnect", _autoConnect, _arg1); _autoConnect = _arg1; dispatchEvent(_local2); }; } public function set reconnectAttempts(_arg1:int):void{ var _local2:PropertyChangeEvent; if (_reconnectAttempts != _arg1){ if (_arg1 == 0){ stopReconnectTimer(); }; _local2 = PropertyChangeEvent.createUpdateEvent(this, "reconnectAttempts", _reconnectAttempts, _arg1); _reconnectAttempts = _arg1; dispatchEvent(_local2); }; } public function get autoConnect():Boolean{ return (_autoConnect); } } }//package mx.messaging
Section 268
//Channel (mx.messaging.Channel) package mx.messaging { import mx.core.*; import flash.events.*; import mx.events.*; import mx.resources.*; import mx.collections.*; import flash.utils.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.logging.*; import mx.utils.*; import mx.messaging.config.*; import mx.messaging.errors.*; import flash.errors.*; public class Channel extends EventDispatcher implements IMXMLObject { private var _failoverIndex:int; private var _ownsWaitGuard:Boolean;// = false protected var _recordMessageTimes:Boolean;// = false private var _reconnecting:Boolean;// = false private var _authenticated:Boolean;// = false protected var messagingVersion:Number;// = 1 private var _channelSets:Array; private var _connectTimeout:int;// = -1 mx_internal var authenticating:Boolean; protected var _connecting:Boolean; private var _connectTimer:Timer; protected var _recordMessageSizes:Boolean;// = false private var _failoverURIs:Array; protected var _log:ILogger; private var _connected:Boolean;// = false private var _smallMessagesSupported:Boolean; private var _primaryURI:String; public var enableSmallMessages:Boolean;// = true private var _id:String; private var resourceManager:IResourceManager; private var _uri:String; protected var _loginAfterDisconnect:Boolean;// = false private var _isEndpointCalculated:Boolean;// = false private var _shouldBeConnected:Boolean; private var _requestTimeout:int;// = -1 private var _endpoint:String; protected var credentials:String; public static const SMALL_MESSAGES_FEATURE:String = "small_messages"; private static const dep:ArrayCollection = null; public function Channel(_arg1:String=null, _arg2:String=null){ resourceManager = ResourceManager.getInstance(); _channelSets = []; super(); _log = Log.getLogger("mx.messaging.Channel"); _connecting = false; _failoverIndex = -1; this.id = _arg1; _primaryURI = _arg2; _shouldBeConnected = false; this.uri = _arg2; authenticating = false; } private function shutdownConnectTimer():void{ if (_connectTimer != null){ _connectTimer.stop(); _connectTimer = null; }; } public function get connected():Boolean{ return (_connected); } public function get connectTimeout():int{ return (_connectTimeout); } public function get id():String{ return (_id); } private function calculateEndpoint():void{ var _local1:String = uri; var _local2:String = URLUtil.getProtocol(_local1); if (_local2.length == 0){ _local1 = URLUtil.getFullURL(LoaderConfig.url, _local1); }; if (!URLUtil.hasUnresolvableTokens()){ _isEndpointCalculated = false; return; }; _local1 = URLUtil.replaceTokens(_local1); _local2 = URLUtil.getProtocol(_local1); if (_local2.length > 0){ _endpoint = URLUtil.replaceProtocol(_local1, protocol); } else { _endpoint = ((protocol + ":") + _local1); }; _isEndpointCalculated = true; if (Log.isInfo()){ _log.info("'{0}' channel endpoint set to {1}", id, _endpoint); }; } public function get reconnecting():Boolean{ return (_reconnecting); } public function get useSmallMessages():Boolean{ return (((_smallMessagesSupported) && (enableSmallMessages))); } public function set connectTimeout(_arg1:int):void{ _connectTimeout = _arg1; } public function get authenticated():Boolean{ return (_authenticated); } protected function getMessageResponder(_arg1:MessageAgent, _arg2:IMessage):MessageResponder{ throw (new IllegalOperationError(("Channel subclasses must override " + " getMessageResponder()."))); } public function set failoverURIs(_arg1:Array):void{ if (_arg1 != null){ _failoverURIs = _arg1; _failoverIndex = -1; }; } protected function internalDisconnect(_arg1:Boolean=false):void{ } public function setCredentials(_arg1:String, _arg2:MessageAgent=null, _arg3:String=null):void{ var _local5:CommandMessage; var _local4 = !((this.credentials === _arg1)); if (((authenticating) && (_local4))){ throw (new IllegalOperationError("Credentials cannot be set while authenticating or logging out.")); }; if (((authenticated) && (_local4))){ throw (new IllegalOperationError("Credentials cannot be set when already authenticated. Logout must be performed before changing credentials.")); }; this.credentials = _arg1; if (((((connected) && (_local4))) && (!((_arg1 == null))))){ authenticating = true; _local5 = new CommandMessage(); _local5.operation = CommandMessage.LOGIN_OPERATION; _local5.body = _arg1; if (_arg3 != null){ _local5.headers[CommandMessage.CREDENTIALS_CHARSET_HEADER] = _arg3; }; internalSend(new AuthenticationMessageResponder(_arg2, _local5, this, _log)); }; } public function get mpiEnabled():Boolean{ return (((_recordMessageSizes) || (_recordMessageTimes))); } public function set id(_arg1:String):void{ if (_id != _arg1){ _id = _arg1; }; } protected function connectTimeoutHandler(_arg1:TimerEvent):void{ var _local2:String; var _local3:ChannelFaultEvent; shutdownConnectTimer(); if (!connected){ _shouldBeConnected = false; _local2 = resourceManager.getString("messaging", "connectTimedOut"); _local3 = ChannelFaultEvent.createEvent(this, false, "Channel.Connect.Failed", "error", _local2); connectFailed(_local3); }; } protected function setFlexClientIdOnMessage(_arg1:IMessage):void{ var _local2:String = FlexClient.getInstance().id; _arg1.headers[AbstractMessage.FLEX_CLIENT_ID_HEADER] = ((_local2)!=null) ? _local2 : FlexClient.NULL_FLEXCLIENT_ID; } protected function flexClientWaitHandler(_arg1:PropertyChangeEvent):void{ var _local2:FlexClient; if (_arg1.property == "waitForFlexClientId"){ _local2 = (_arg1.source as FlexClient); if (_local2.waitForFlexClientId == false){ _local2.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, flexClientWaitHandler); _local2.waitForFlexClientId = true; _ownsWaitGuard = true; internalConnect(); }; }; } public function set useSmallMessages(_arg1:Boolean):void{ _smallMessagesSupported = _arg1; } mx_internal function internalSetCredentials(_arg1:String):void{ this.credentials = _arg1; } private function reconnect(_arg1:TimerEvent):void{ internalConnect(); } mx_internal function get realtime():Boolean{ return (false); } protected function internalConnect():void{ } public function get url():String{ return (uri); } public function get recordMessageTimes():Boolean{ return (_recordMessageTimes); } public function get uri():String{ return (_uri); } private function initializeRequestTimeout(_arg1:MessageResponder):void{ var _local2:IMessage = _arg1.message; if (_local2.headers[AbstractMessage.REQUEST_TIMEOUT_HEADER] != null){ _arg1.startRequestTimeout(_local2.headers[AbstractMessage.REQUEST_TIMEOUT_HEADER]); } else { if (requestTimeout > 0){ _arg1.startRequestTimeout(requestTimeout); }; }; } public function send(_arg1:MessageAgent, _arg2:IMessage):void{ var _local4:String; if (_arg2.destination.length == 0){ if (_arg1.destination.length == 0){ _local4 = resourceManager.getString("messaging", "noDestinationSpecified"); throw (new InvalidDestinationError(_local4)); }; _arg2.destination = _arg1.destination; }; if (Log.isDebug()){ _log.debug("'{0}' channel sending message:\n{1}", id, _arg2.toString()); }; _arg2.headers[AbstractMessage.ENDPOINT_HEADER] = id; var _local3:MessageResponder = getMessageResponder(_arg1, _arg2); initializeRequestTimeout(_local3); internalSend(_local3); } public function logout(_arg1:MessageAgent):void{ var _local2:CommandMessage; if (((((((connected) && (authenticated))) && (credentials))) || (((authenticating) && (credentials))))){ _local2 = new CommandMessage(); _local2.operation = CommandMessage.LOGOUT_OPERATION; internalSend(new AuthenticationMessageResponder(_arg1, _local2, this, _log)); authenticating = true; }; credentials = null; } public function get endpoint():String{ if (!_isEndpointCalculated){ calculateEndpoint(); }; return (_endpoint); } public function get protocol():String{ throw (new IllegalOperationError((("Channel subclasses must override " + "the get function for 'protocol' to return the proper protocol ") + "string."))); } public function get failoverURIs():Array{ return (((_failoverURIs)!=null) ? _failoverURIs : []); } final public function disconnect(_arg1:ChannelSet):void{ if (_ownsWaitGuard){ _ownsWaitGuard = false; FlexClient.getInstance().waitForFlexClientId = false; }; var _local2:int = ((_arg1)!=null) ? _channelSets.indexOf(_arg1) : -1; if (_local2 != -1){ _channelSets.splice(_local2, 1); removeEventListener(ChannelEvent.CONNECT, _arg1.channelConnectHandler, false); removeEventListener(ChannelEvent.DISCONNECT, _arg1.channelDisconnectHandler, false); removeEventListener(ChannelFaultEvent.FAULT, _arg1.channelFaultHandler, false); if (connected){ _arg1.channelDisconnectHandler(ChannelEvent.createEvent(ChannelEvent.DISCONNECT, this, false)); }; if (_channelSets.length == 0){ _shouldBeConnected = false; if (connected){ internalDisconnect(); }; }; }; } public function set requestTimeout(_arg1:int):void{ _requestTimeout = _arg1; } private function shouldAttemptFailover():Boolean{ return (((((_shouldBeConnected) && (!((_failoverURIs == null))))) && ((_failoverURIs.length > 0)))); } private function setReconnecting(_arg1:Boolean):void{ var _local2:PropertyChangeEvent; if (_reconnecting != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "reconnecting", _reconnecting, _arg1); _reconnecting = _arg1; dispatchEvent(_local2); }; } public function applySettings(_arg1:XML):void{ var _local2:XML; var _local3:XMLList; if (Log.isInfo()){ _log.info("'{0}' channel settings are:\n{1}", id, _arg1); }; if (_arg1.properties.length()){ _local2 = _arg1.properties[0]; if (_local2["connect-timeout-seconds"].length()){ connectTimeout = _local2["connect-timeout-seconds"].toString(); }; if (_local2["record-message-times"].length()){ _recordMessageTimes = (_local2["record-message-times"].toString() == "true"); }; if (_local2["record-message-sizes"].length()){ _recordMessageSizes = (_local2["record-message-sizes"].toString() == "true"); }; _local3 = _local2["serialization"]; if (_local3.length() > 0){ if (_local3["enable-small-messages"].toString() == "false"){ enableSmallMessages = false; }; }; }; } protected function connectSuccess():void{ var _local1:int; var _local2:Array; var _local3:int; if (_ownsWaitGuard){ _ownsWaitGuard = false; FlexClient.getInstance().waitForFlexClientId = false; }; shutdownConnectTimer(); _connecting = false; if (ServerConfig.fetchedConfig(endpoint)){ _local1 = 0; while (_local1 < channelSets.length) { _local2 = ChannelSet(channelSets[_local1]).messageAgents; _local3 = 0; while (_local3 < _local2.length) { _local2[_local3].needsConfig = false; _local3++; }; _local1++; }; }; setConnected(true); _failoverIndex = -1; if (Log.isInfo()){ _log.info("'{0}' channel is connected.", id); }; dispatchEvent(ChannelEvent.createEvent(ChannelEvent.CONNECT, this, reconnecting)); setReconnecting(false); } public function get recordMessageSizes():Boolean{ return (_recordMessageSizes); } protected function disconnectSuccess(_arg1:Boolean=false):void{ setConnected(false); if (Log.isInfo()){ _log.info("'{0}' channel disconnected.", id); }; if (((!(_arg1)) && (shouldAttemptFailover()))){ _connecting = true; failover(); } else { _connecting = false; }; dispatchEvent(ChannelEvent.createEvent(ChannelEvent.DISCONNECT, this, reconnecting, _arg1)); } protected function setConnected(_arg1:Boolean):void{ var _local2:PropertyChangeEvent; if (_connected != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "connected", _connected, _arg1); _connected = _arg1; dispatchEvent(_local2); if (!_arg1){ setAuthenticated(false); }; }; } public function get requestTimeout():int{ return (_requestTimeout); } protected function connectFailed(_arg1:ChannelFaultEvent):void{ shutdownConnectTimer(); setConnected(false); if (Log.isError()){ _log.error("'{0}' channel connect failed.", id); }; if (((!(_arg1.rejected)) && (shouldAttemptFailover()))){ _connecting = true; failover(); } else { if (_ownsWaitGuard){ _ownsWaitGuard = false; FlexClient.getInstance().waitForFlexClientId = false; }; _connecting = false; }; if (reconnecting){ _arg1.reconnecting = true; }; dispatchEvent(_arg1); } public function set uri(_arg1:String):void{ if (_arg1 != null){ _uri = _arg1; calculateEndpoint(); }; } public function initialized(_arg1:Object, _arg2:String):void{ this.id = _arg2; } mx_internal function sendClusterRequest(_arg1:MessageResponder):void{ internalSend(_arg1); } public function set url(_arg1:String):void{ uri = _arg1; } protected function handleServerMessagingVersion(_arg1:Number):void{ useSmallMessages = (_arg1 >= messagingVersion); } protected function internalSend(_arg1:MessageResponder):void{ } final public function connect(_arg1:ChannelSet):void{ var _local5:FlexClient; var _local2:Boolean; var _local3:int = _channelSets.length; var _local4:int; while (_local4 < _channelSets.length) { if (_channelSets[_local4] == _arg1){ _local2 = true; break; }; _local4++; }; _shouldBeConnected = true; if (!_local2){ _channelSets.push(_arg1); addEventListener(ChannelEvent.CONNECT, _arg1.channelConnectHandler); addEventListener(ChannelEvent.DISCONNECT, _arg1.channelDisconnectHandler); addEventListener(ChannelFaultEvent.FAULT, _arg1.channelFaultHandler); }; if (connected){ _arg1.channelConnectHandler(ChannelEvent.createEvent(ChannelEvent.CONNECT, this, false, false, connected)); } else { if (!_connecting){ _connecting = true; if (connectTimeout > 0){ _connectTimer = new Timer((connectTimeout * 1000), 1); _connectTimer.addEventListener(TimerEvent.TIMER, connectTimeoutHandler); _connectTimer.start(); }; if (FlexClient.getInstance().id == null){ _local5 = FlexClient.getInstance(); if (!_local5.waitForFlexClientId){ _local5.waitForFlexClientId = true; _ownsWaitGuard = true; internalConnect(); } else { _local5.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, flexClientWaitHandler); }; } else { internalConnect(); }; }; }; } private function resetToPrimaryURI():void{ _connecting = false; setReconnecting(false); uri = _primaryURI; _failoverIndex = -1; } mx_internal function setAuthenticated(_arg1:Boolean):void{ var _local2:PropertyChangeEvent; var _local3:ChannelSet; var _local4:int; if (_arg1 != _authenticated){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "authenticated", _authenticated, _arg1); _authenticated = _arg1; if (!_authenticated){ credentials = null; }; _local4 = 0; while (_local4 < _channelSets.length) { _local3 = ChannelSet(_channelSets[_local4]); _local3.setAuthenticated(authenticated, credentials); _local4++; }; dispatchEvent(_local2); }; } mx_internal function get loginAfterDisconnect():Boolean{ return (_loginAfterDisconnect); } private function failover():void{ var _local1:Timer; _failoverIndex++; if ((_failoverIndex + 1) <= failoverURIs.length){ setReconnecting(true); uri = failoverURIs[_failoverIndex]; if (Log.isInfo()){ _log.info("'{0}' channel attempting to connect to {1}.", id, endpoint); }; _local1 = new Timer(1, 1); _local1.addEventListener(TimerEvent.TIMER, reconnect); _local1.start(); } else { if (Log.isInfo()){ _log.info("'{0}' channel has exhausted failover options and has reset to its primary endpoint.", id); }; resetToPrimaryURI(); }; } public function get channelSets():Array{ return (_channelSets); } protected function disconnectFailed(_arg1:ChannelFaultEvent):void{ _connecting = false; setConnected(false); if (Log.isError()){ _log.error("'{0}' channel disconnect failed.", id); }; if (reconnecting){ resetToPrimaryURI(); _arg1.reconnecting = false; }; dispatchEvent(_arg1); } } }//package mx.messaging import mx.messaging.events.*; import mx.messaging.messages.*; import mx.logging.*; class AuthenticationMessageResponder extends MessageResponder { private var _log:ILogger; private function AuthenticationMessageResponder(_arg1:MessageAgent, _arg2:IMessage, _arg3:Channel, _arg4:ILogger){ super(_arg1, _arg2, _arg3); _log = _arg4; } override protected function statusHandler(_arg1:IMessage):void{ var _local3:ErrorMessage; var _local4:ChannelFaultEvent; var _local2:CommandMessage = CommandMessage(message); if (Log.isDebug()){ _log.debug("{1} failure: {0}", _arg1.toString(), ((_local2.operation == CommandMessage.LOGIN_OPERATION)) ? "Login" : "Logout"); }; channel.authenticating = false; channel.setAuthenticated(false); if (((!((agent == null))) && (agent.hasPendingRequestForMessage(message)))){ agent.fault(ErrorMessage(_arg1), message); } else { _local3 = ErrorMessage(_arg1); _local4 = ChannelFaultEvent.createEvent(channel, false, "Channel.Authentication.Error", "warn", _local3.faultString); _local4.rootCause = _local3; channel.dispatchEvent(_local4); }; } override protected function resultHandler(_arg1:IMessage):void{ var _local2:CommandMessage = (message as CommandMessage); channel.authenticating = false; if (_local2.operation == CommandMessage.LOGIN_OPERATION){ if (Log.isDebug()){ _log.debug("Login successful"); }; channel.setAuthenticated(true); } else { if (Log.isDebug()){ _log.debug("Logout successful"); }; channel.setAuthenticated(false); }; } }
Section 269
//ChannelSet (mx.messaging.ChannelSet) package mx.messaging { import flash.events.*; import mx.events.*; import mx.resources.*; import mx.rpc.events.*; import flash.utils.*; import mx.rpc.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.messaging.channels.*; import mx.utils.*; import mx.messaging.config.*; import mx.messaging.errors.*; import flash.errors.*; public class ChannelSet extends EventDispatcher { private var _shouldHunt:Boolean; private var _connected:Boolean; private var _hasRequestedClusterEndpoints:Boolean; private var _clustered:Boolean; private var _channels:Array; private var _hunting:Boolean; private var _authenticated:Boolean; private var _pendingMessages:Dictionary; private var _authAgent:AuthenticationAgent; private var resourceManager:IResourceManager; private var _credentials:String; private var _reconnectTimer:Timer;// = null private var _credentialsCharset:String; private var _shouldBeConnected:Boolean; private var _connecting:Boolean; private var _channelIds:Array; private var _configured:Boolean; private var _currentChannel:Channel; private var _currentChannelIndex:int; private var _pendingSends:Array; private var _messageAgents:Array; private var _channelFailoverURIs:Object; public function ChannelSet(_arg1:Array=null, _arg2:Boolean=false){ resourceManager = ResourceManager.getInstance(); super(); _clustered = _arg2; _connected = false; _connecting = false; _currentChannelIndex = -1; if (_arg1 != null){ _channelIds = _arg1; _channels = new Array(_channelIds.length); _configured = true; } else { _channels = []; _configured = false; }; _hasRequestedClusterEndpoints = false; _hunting = false; _messageAgents = []; _pendingMessages = new Dictionary(); _pendingSends = []; _shouldBeConnected = false; _shouldHunt = true; } public function get connected():Boolean{ return (_connected); } public function login(_arg1:String, _arg2:String, _arg3:String=null):AsyncToken{ var _local7:String; var _local8:Base64Encoder; if (authenticated){ throw (new IllegalOperationError("ChannelSet is already authenticated.")); }; if (((!((_authAgent == null))) && (!((_authAgent.state == AuthenticationAgent.LOGGED_OUT_STATE))))){ throw (new IllegalOperationError("ChannelSet is in the process of logging in or logging out.")); }; if (_arg3 != Base64Encoder.CHARSET_UTF_8){ }; _arg3 = null; var _local4:String; if (((!((_arg1 == null))) && (!((_arg2 == null))))){ _local7 = ((_arg1 + ":") + _arg2); _local8 = new Base64Encoder(); if (_arg3 == Base64Encoder.CHARSET_UTF_8){ _local8.encodeUTFBytes(_local7); } else { _local8.encode(_local7); }; _local4 = _local8.drain(); }; var _local5:CommandMessage = new CommandMessage(); _local5.operation = CommandMessage.LOGIN_OPERATION; _local5.body = _local4; if (_arg3 != null){ _local5.headers[CommandMessage.CREDENTIALS_CHARSET_HEADER] = _arg3; }; _local5.destination = "auth"; var _local6:AsyncToken = new AsyncToken(_local5); if (_authAgent == null){ _authAgent = new AuthenticationAgent(this); }; _authAgent.registerToken(_local6); _authAgent.state = AuthenticationAgent.LOGGING_IN_STATE; send(_authAgent, _local5); return (_local6); } public function send(_arg1:MessageAgent, _arg2:IMessage):void{ var _local3:CommandMessage; if (connected){ if (((!(_hasRequestedClusterEndpoints)) && (clustered))){ _local3 = new CommandMessage(); _local3.destination = _arg1.destination; _local3.operation = CommandMessage.CLUSTER_REQUEST_OPERATION; _currentChannel.sendClusterRequest(new ClusterMessageResponder(_local3, this)); _hasRequestedClusterEndpoints = true; }; _currentChannel.send(_arg1, _arg2); } else { if (_pendingMessages[_arg2] == null){ _pendingMessages[_arg2] = true; _pendingSends.push(new PendingSend(_arg1, _arg2)); }; if (!_connecting){ if ((((_currentChannel == null)) || ((_currentChannelIndex == -1)))){ hunt(); }; if ((_currentChannel is NetConnectionChannel)){ if (_reconnectTimer == null){ _reconnectTimer = new Timer(1, 1); _reconnectTimer.addEventListener(TimerEvent.TIMER, reconnectChannel); _reconnectTimer.start(); }; } else { connectChannel(); }; }; }; } private function hunt():Boolean{ var _local1:String; if (_channels.length == 0){ _local1 = resourceManager.getString("messaging", "noAvailableChannels"); throw (new NoChannelAvailableError(_local1)); }; if (++_currentChannelIndex >= _channels.length){ _currentChannelIndex = -1; return (false); }; if (_currentChannelIndex > 0){ _hunting = true; }; if (configured){ if (_channels[_currentChannelIndex] != null){ _currentChannel = _channels[_currentChannelIndex]; } else { _currentChannel = ServerConfig.getChannel(_channelIds[_currentChannelIndex], _clustered); _currentChannel.setCredentials(_credentials); _channels[_currentChannelIndex] = _currentChannel; }; } else { _currentChannel = _channels[_currentChannelIndex]; }; if (((!((_channelFailoverURIs == null))) && (!((_channelFailoverURIs[_currentChannel.id] == null))))){ _currentChannel.failoverURIs = _channelFailoverURIs[_currentChannel.id]; }; return (true); } public function get clustered():Boolean{ return (_clustered); } public function disconnect(_arg1:MessageAgent):void{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:PendingSend; if (_arg1 == null){ _local2 = _messageAgents.slice(); _local3 = _local2.length; _local4 = 0; while (_local4 < _local3) { _local2[_local4].disconnect(); _local4++; }; if (_authAgent != null){ _authAgent.state = AuthenticationAgent.SHUTDOWN_STATE; _authAgent = null; }; } else { _local5 = ((_arg1)!=null) ? _messageAgents.indexOf(_arg1) : -1; if (_local5 != -1){ _messageAgents.splice(_local5, 1); removeEventListener(ChannelEvent.CONNECT, _arg1.channelConnectHandler); removeEventListener(ChannelEvent.DISCONNECT, _arg1.channelDisconnectHandler); removeEventListener(ChannelFaultEvent.FAULT, _arg1.channelFaultHandler); if (((connected) || (_connecting))){ _arg1.channelDisconnectHandler(ChannelEvent.createEvent(ChannelEvent.DISCONNECT, _currentChannel, false)); } else { _local6 = _pendingSends.length; _local7 = 0; while (_local7 < _local6) { _local8 = PendingSend(_pendingSends[_local7]); if (_local8.agent == _arg1){ _pendingSends.splice(_local7, 1); _local7--; _local6--; delete _pendingMessages[_local8.message]; }; _local7++; }; }; if (_messageAgents.length == 0){ _shouldBeConnected = false; if (connected){ disconnectChannel(); }; }; if (_arg1.channelSetMode == MessageAgent.AUTO_CONFIGURED_CHANNELSET){ _arg1.internalSetChannelSet(null); }; }; }; } public function set channels(_arg1:Array):void{ var _local5:String; var _local6:int; var _local7:int; if (configured){ _local5 = resourceManager.getString("messaging", "cannotAddWhenConfigured"); throw (new IllegalOperationError(_local5)); }; var _local2:Array = _channels.slice(); var _local3:int = _local2.length; var _local4:int; while (_local4 < _local3) { removeChannel(_local2[_local4]); _local4++; }; if (((!((_arg1 == null))) && ((_arg1.length > 0)))){ _local6 = _arg1.length; _local7 = 0; while (_local7 < _local6) { addChannel(_arg1[_local7]); _local7++; }; }; } public function addChannel(_arg1:Channel):void{ var _local2:String; if (_arg1 == null){ return; }; if (configured){ _local2 = resourceManager.getString("messaging", "cannotAddWhenConfigured"); throw (new IllegalOperationError(_local2)); }; if (((clustered) && ((_arg1.id == null)))){ _local2 = resourceManager.getString("messaging", "cannotAddNullIdChannelWhenClustered"); throw (new IllegalOperationError(_local2)); }; if (_channels.indexOf(_arg1) != -1){ return; }; _channels.push(_arg1); if (_credentials){ _arg1.setCredentials(_credentials, null, _credentialsCharset); }; } public function logout(_arg1:MessageAgent=null):AsyncToken{ var _local2:CommandMessage; var _local3:AsyncToken; var _local4:int; var _local5:int; if (_arg1 == null){ if (((!((_authAgent == null))) && ((((_authAgent.state == AuthenticationAgent.LOGGING_OUT_STATE)) || ((_authAgent.state == AuthenticationAgent.LOGGING_IN_STATE)))))){ throw (new IllegalOperationError("ChannelSet is in the process of logging in or logging out.")); }; _local2 = new CommandMessage(); _local2.operation = CommandMessage.LOGOUT_OPERATION; _local2.destination = "auth"; _local3 = new AsyncToken(_local2); if (_authAgent == null){ _authAgent = new AuthenticationAgent(this); }; _authAgent.registerToken(_local3); (_authAgent.state == AuthenticationAgent.LOGGING_OUT_STATE); send(_authAgent, _local2); return (_local3); //unresolved jump }; _credentials = null; _local4 = _channels.length; _local5 = 0; while (_local5 < _local4) { if (_channels[_local5] != null){ _channels[_local5].logout(_arg1); }; _local5++; }; return (null); } public function set clustered(_arg1:Boolean):void{ var _local2:Array; var _local3:int; var _local4:int; var _local5:String; if (_clustered != _arg1){ if (_arg1){ _local2 = channelIds; _local3 = _local2.length; _local4 = 0; while (_local4 < _local3) { if (_local2[_local4] == null){ _local5 = resourceManager.getString("messaging", "cannotSetClusteredWithdNullChannelIds"); throw (new IllegalOperationError(_local5)); }; _local4++; }; }; _clustered = _arg1; }; } public function get channelIds():Array{ var _local1:Array; var _local2:int; var _local3:int; if (_channelIds != null){ return (_channelIds); }; _local1 = []; _local2 = _channels.length; _local3 = 0; while (_local3 < _local2) { if (_channels[_local3] != null){ _local1.push(_channels[_local3].id); } else { _local1.push(null); }; _local3++; }; return (_local1); } public function get authenticated():Boolean{ return (_authenticated); } private function connectChannel():void{ if (((!(connected)) && (!(_connecting)))){ _connecting = true; _currentChannel.connect(this); _currentChannel.addEventListener(MessageEvent.MESSAGE, messageHandler); }; } private function reconnectChannel(_arg1:TimerEvent):void{ _reconnectTimer.stop(); _reconnectTimer.removeEventListener(TimerEvent.TIMER, reconnectChannel); _reconnectTimer = null; connectChannel(); } mx_internal function get channelFailoverURIs():Object{ return (_channelFailoverURIs); } mx_internal function get configured():Boolean{ return (_configured); } public function setCredentials(_arg1:String, _arg2:MessageAgent, _arg3:String=null):void{ _credentials = _arg1; var _local4:int = _channels.length; var _local5:int; while (_local5 < _local4) { if (_channels[_local5] != null){ _channels[_local5].setCredentials(_credentials, _arg2, _arg3); }; _local5++; }; } private function messageHandler(_arg1:MessageEvent):void{ dispatchEvent(_arg1); } protected function setConnected(_arg1:Boolean):void{ var _local2:PropertyChangeEvent; if (_connected != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "connected", _connected, _arg1); _connected = _arg1; dispatchEvent(_local2); setAuthenticated(((((_arg1) && (currentChannel))) && (currentChannel.authenticated)), _credentials, false); }; } public function get currentChannel():Channel{ return (_currentChannel); } public function channelDisconnectHandler(_arg1:ChannelEvent):void{ _connecting = false; setConnected(false); if (((((_shouldBeConnected) && (!(_arg1.reconnecting)))) && (!(_arg1.rejected)))){ if (((_shouldHunt) && (hunt()))){ _arg1.reconnecting = true; dispatchEvent(_arg1); if ((_currentChannel is NetConnectionChannel)){ if (_reconnectTimer == null){ _reconnectTimer = new Timer(1, 1); _reconnectTimer.addEventListener(TimerEvent.TIMER, reconnectChannel); _reconnectTimer.start(); }; } else { connectChannel(); }; } else { dispatchEvent(_arg1); faultPendingSends(_arg1); }; } else { dispatchEvent(_arg1); if (_arg1.rejected){ faultPendingSends(_arg1); }; }; _shouldHunt = true; } private function disconnectChannel():void{ _connecting = false; _currentChannel.removeEventListener(MessageEvent.MESSAGE, messageHandler); _currentChannel.disconnect(this); } public function get channels():Array{ return (_channels); } private function dispatchRPCEvent(_arg1:AbstractEvent):void{ _arg1.callTokenResponders(); dispatchEvent(_arg1); } public function removeChannel(_arg1:Channel):void{ var _local3:String; if (configured){ _local3 = resourceManager.getString("messaging", "cannotRemoveWhenConfigured"); throw (new IllegalOperationError(_local3)); }; var _local2:int = _channels.indexOf(_arg1); if (_local2 > -1){ _channels.splice(_local2, 1); if (((!((_currentChannel == null))) && ((_currentChannel == _arg1)))){ if (connected){ _shouldHunt = false; disconnectChannel(); }; _currentChannel = null; _currentChannelIndex = -1; }; }; } public function channelConnectHandler(_arg1:ChannelEvent):void{ var _local3:PendingSend; var _local4:CommandMessage; _connecting = false; _connected = true; while (_pendingSends.length > 0) { _local3 = PendingSend(_pendingSends.shift()); delete _pendingMessages[_local3.message]; _local4 = (_local3.message as CommandMessage); if (((((((!((_local4 == null))) && (!(_local3.agent.configRequested)))) && (_local3.agent.needsConfig))) && ((_local4.operation == CommandMessage.CLIENT_PING_OPERATION)))){ _local4.headers[CommandMessage.NEEDS_CONFIG_HEADER] = true; _local3.agent.configRequested = true; }; send(_local3.agent, _local3.message); }; if (_hunting){ _arg1.reconnecting = true; _hunting = false; }; dispatchEvent(_arg1); var _local2:PropertyChangeEvent = PropertyChangeEvent.createUpdateEvent(this, "connected", false, true); dispatchEvent(_local2); } public function disconnectAll():void{ disconnect(null); } public function connect(_arg1:MessageAgent):void{ if (((!((_arg1 == null))) && ((_messageAgents.indexOf(_arg1) == -1)))){ _shouldBeConnected = true; _messageAgents.push(_arg1); _arg1.internalSetChannelSet(this); addEventListener(ChannelEvent.CONNECT, _arg1.channelConnectHandler); addEventListener(ChannelEvent.DISCONNECT, _arg1.channelDisconnectHandler); addEventListener(ChannelFaultEvent.FAULT, _arg1.channelFaultHandler); if (connected){ _arg1.channelConnectHandler(ChannelEvent.createEvent(ChannelEvent.CONNECT, _currentChannel, false, false, connected)); }; }; } public function channelFaultHandler(_arg1:ChannelFaultEvent):void{ if (_arg1.channel.connected){ dispatchEvent(_arg1); } else { _connecting = false; setConnected(false); if (((((_shouldBeConnected) && (!(_arg1.reconnecting)))) && (!(_arg1.rejected)))){ if (hunt()){ _arg1.reconnecting = true; dispatchEvent(_arg1); if ((_currentChannel is NetConnectionChannel)){ if (_reconnectTimer == null){ _reconnectTimer = new Timer(1, 1); _reconnectTimer.addEventListener(TimerEvent.TIMER, reconnectChannel); _reconnectTimer.start(); }; } else { connectChannel(); }; } else { dispatchEvent(_arg1); faultPendingSends(_arg1); }; } else { dispatchEvent(_arg1); if (_arg1.rejected){ faultPendingSends(_arg1); }; }; }; } mx_internal function setAuthenticated(_arg1:Boolean, _arg2:String, _arg3:Boolean=true):void{ var _local4:PropertyChangeEvent; var _local5:MessageAgent; var _local6:int; if (_authenticated != _arg1){ _local4 = PropertyChangeEvent.createUpdateEvent(this, "authenticated", _authenticated, _arg1); _authenticated = _arg1; if (_arg3){ _local6 = 0; while (_local6 < _messageAgents.length) { _local5 = MessageAgent(_messageAgents[_local6]); _local5.setAuthenticated(_arg1, _arg2); _local6++; }; }; dispatchEvent(_local4); }; } private function faultPendingSends(_arg1:ChannelEvent):void{ var _local2:PendingSend; var _local3:IMessage; var _local4:ErrorMessage; var _local5:ChannelFaultEvent; while (_pendingSends.length > 0) { _local2 = (_pendingSends.shift() as PendingSend); _local3 = _local2.message; delete _pendingMessages[_local3]; _local4 = new ErrorMessage(); _local4.correlationId = _local3.messageId; _local4.headers[ErrorMessage.RETRYABLE_HINT_HEADER] = true; _local4.faultCode = "Client.Error.MessageSend"; _local4.faultString = resourceManager.getString("messaging", "sendFailed"); if ((_arg1 is ChannelFaultEvent)){ _local5 = (_arg1 as ChannelFaultEvent); _local4.faultDetail = ((((_local5.faultCode + " ") + _local5.faultString) + " ") + _local5.faultDetail); } else { _local4.faultDetail = resourceManager.getString("messaging", "cannotConnectToDestination"); }; _local4.rootCause = _arg1; _local2.agent.fault(_local4, _local3); }; } mx_internal function authenticationSuccess(_arg1:AuthenticationAgent, _arg2:AsyncToken, _arg3:AcknowledgeMessage):void{ var _local4:CommandMessage = CommandMessage(_arg2.message); var _local5 = (_local4.operation == CommandMessage.LOGIN_OPERATION); var _local6:String = (_local5) ? String(_local4.body) : null; _credentials = _local6; var _local7:int = _messageAgents.length; var _local8:int; while (_local8 < _local7) { _messageAgents[_local8].internalSetCredentials(_local6); _local8++; }; _local7 = _channels.length; _local8 = 0; while (_local8 < _local7) { if (_channels[_local8] != null){ _channels[_local8].internalSetCredentials(_local6); }; _local8++; }; if (_local5){ _arg1.state = AuthenticationAgent.LOGGED_IN_STATE; currentChannel.setAuthenticated(true); } else { _arg1.state = AuthenticationAgent.SHUTDOWN_STATE; _authAgent = null; disconnect(_arg1); currentChannel.setAuthenticated(false); }; var _local9:ResultEvent = ResultEvent.createEvent(_arg3.body, _arg2, _arg3); dispatchRPCEvent(_local9); } public function get messageAgents():Array{ return (_messageAgents); } mx_internal function set channelFailoverURIs(_arg1:Object):void{ var _local4:Channel; _channelFailoverURIs = _arg1; var _local2:int = _channels.length; var _local3:int; while (_local3 < _local2) { _local4 = _channels[_local3]; if (_local4 == null){ break; } else { if (_channelFailoverURIs[_local4.id] != null){ _local4.failoverURIs = _channelFailoverURIs[_local4.id]; }; }; _local3++; }; } mx_internal function authenticationFailure(_arg1:AuthenticationAgent, _arg2:AsyncToken, _arg3:ErrorMessage):void{ var _local4:MessageFaultEvent = MessageFaultEvent.createEvent(_arg3); var _local5:FaultEvent = FaultEvent.createEventFromMessageFault(_local4, _arg2); _arg1.state = AuthenticationAgent.SHUTDOWN_STATE; _authAgent = null; disconnect(_arg1); dispatchRPCEvent(_local5); } override public function toString():String{ var _local1 = "[ChannelSet "; var _local2:uint; while (_local2 < _channels.length) { if (_channels[_local2] != null){ _local1 = (_local1 + (_channels[_local2].id + " ")); }; _local2++; }; _local1 = (_local1 + "]"); return (_local1); } } }//package mx.messaging import mx.rpc.*; import mx.messaging.messages.*; import mx.logging.*; class AuthenticationAgent extends MessageAgent { private var _state:int;// = 0 private var tokens:Object; public static const LOGGING_OUT_STATE:int = 3; public static const LOGGED_OUT_STATE:int = 0; public static const LOGGED_IN_STATE:int = 2; public static const LOGGING_IN_STATE:int = 1; public static const SHUTDOWN_STATE:int = 4; private function AuthenticationAgent(_arg1:ChannelSet){ tokens = {}; super(); _log = Log.getLogger("ChannelSet.AuthenticationAgent"); _agentType = "authentication agent"; this.channelSet = _arg1; } public function get state():int{ return (_state); } public function registerToken(_arg1:AsyncToken):void{ tokens[_arg1.message.messageId] = _arg1; } public function set state(_arg1:int):void{ _state = _arg1; if (_arg1 == SHUTDOWN_STATE){ tokens = null; }; } override public function acknowledge(_arg1:AcknowledgeMessage, _arg2:IMessage):void{ var _local4:AsyncToken; if (state == SHUTDOWN_STATE){ return; }; var _local3:Boolean = _arg1.headers[AcknowledgeMessage.ERROR_HINT_HEADER]; super.acknowledge(_arg1, _arg2); if (!_local3){ _local4 = tokens[_arg2.messageId]; delete tokens[_arg2.messageId]; channelSet.authenticationSuccess(this, _local4, (_arg1 as AcknowledgeMessage)); }; } override public function fault(_arg1:ErrorMessage, _arg2:IMessage):void{ if (state == SHUTDOWN_STATE){ return; }; super.fault(_arg1, _arg2); var _local3:AsyncToken = tokens[_arg2.messageId]; delete tokens[_arg2.messageId]; channelSet.authenticationFailure(this, _local3, (_arg1 as ErrorMessage)); } } class PendingSend { public var agent:MessageAgent; public var message:IMessage; private function PendingSend(_arg1:MessageAgent, _arg2:IMessage){ this.agent = _arg1; this.message = _arg2; } } class ClusterMessageResponder extends MessageResponder { private var _channelSet:ChannelSet; private function ClusterMessageResponder(_arg1:IMessage, _arg2:ChannelSet){ super(null, _arg1); _channelSet = _arg2; } override protected function resultHandler(_arg1:IMessage):void{ var _local2:Object; var _local3:Array; var _local4:int; var _local5:int; var _local6:Object; var _local7:Object; if (((!((_arg1.body == null))) && ((_arg1.body is Array)))){ _local2 = {}; _local3 = (_arg1.body as Array); _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local6 = _local3[_local5]; for (_local7 in _local6) { if (_local2[_local7] == null){ _local2[_local7] = []; }; _local2[_local7].push(_local6[_local7]); }; _local5++; }; _channelSet.channelFailoverURIs = _local2; }; } }
Section 270
//ConsumerMessageDispatcher (mx.messaging.ConsumerMessageDispatcher) package mx.messaging { import flash.utils.*; import mx.messaging.events.*; import mx.logging.*; public class ConsumerMessageDispatcher { private const _consumerDuplicateMessageBarrier:Object; private const _channelSetRefCounts:Dictionary; private const _consumers:Object; private static var _instance:ConsumerMessageDispatcher; public function ConsumerMessageDispatcher(){ _consumers = {}; _channelSetRefCounts = new Dictionary(); _consumerDuplicateMessageBarrier = {}; super(); } public function registerSubscription(_arg1:AbstractConsumer):void{ _consumers[_arg1.clientId] = _arg1; if (_channelSetRefCounts[_arg1.channelSet] == null){ _arg1.channelSet.addEventListener(MessageEvent.MESSAGE, messageHandler); _channelSetRefCounts[_arg1.channelSet] = 1; } else { var _local2 = _channelSetRefCounts; var _local3 = _arg1.channelSet; var _local4 = (_local2[_local3] + 1); _local2[_local3] = _local4; }; } private function messageHandler(_arg1:MessageEvent):void{ var _local3:String; var _local4:String; var _local2:AbstractConsumer = _consumers[_arg1.message.clientId]; if (_local2 == null){ if (Log.isDebug()){ Log.getLogger("mx.messaging.Consumer").debug("'{0}' received pushed message for consumer but no longer subscribed: {1}", _arg1.message.clientId, _arg1.message); }; return; }; if (_arg1.target.currentChannel.channelSets.length > 1){ _local3 = _local2.id; if (_consumerDuplicateMessageBarrier[_local3] == null){ _consumerDuplicateMessageBarrier[_local3] = {}; }; _local4 = _arg1.target.currentChannel.id; if (_consumerDuplicateMessageBarrier[_local3][_local4] != _arg1.messageId){ _consumerDuplicateMessageBarrier[_local3][_local4] = _arg1.messageId; _local2.messageHandler(_arg1); }; } else { _local2.messageHandler(_arg1); }; } public function unregisterSubscription(_arg1:AbstractConsumer):void{ delete _consumers[_arg1.clientId]; var _local2:int = _channelSetRefCounts[_arg1.channelSet]; --_local2; if (_local2 == 0){ _arg1.channelSet.removeEventListener(MessageEvent.MESSAGE, messageHandler); _channelSetRefCounts[_arg1.channelSet] = null; if (_consumerDuplicateMessageBarrier[_arg1.id] != null){ delete _consumerDuplicateMessageBarrier[_arg1.id]; }; } else { _channelSetRefCounts[_arg1.channelSet] = _local2; }; } public function isChannelUsedForSubscriptions(_arg1:Channel):Boolean{ var _local2:Array = _arg1.channelSets; var _local3:ChannelSet; var _local4:int = _local2.length; var _local5:int; while (_local5 < _local4) { _local3 = _local2[_local5]; if (((!((_channelSetRefCounts[_local3] == null))) && ((_local3.currentChannel == _arg1)))){ return (true); }; _local5++; }; return (false); } public static function getInstance():ConsumerMessageDispatcher{ if (!_instance){ _instance = new (ConsumerMessageDispatcher); }; return (_instance); } } }//package mx.messaging
Section 271
//FlexClient (mx.messaging.FlexClient) package mx.messaging { import flash.events.*; import mx.events.*; public class FlexClient extends EventDispatcher { private var _waitForFlexClientId:Boolean;// = false private var _id:String; mx_internal static const NULL_FLEXCLIENT_ID:String = "nil"; private static var _instance:FlexClient; public function get id():String{ return (_id); } mx_internal function get waitForFlexClientId():Boolean{ return (_waitForFlexClientId); } public function set id(_arg1:String):void{ var _local2:PropertyChangeEvent; if (_id != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "id", _id, _arg1); _id = _arg1; dispatchEvent(_local2); }; } mx_internal function set waitForFlexClientId(_arg1:Boolean):void{ var _local2:PropertyChangeEvent; if (_waitForFlexClientId != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "waitForFlexClientId", _waitForFlexClientId, _arg1); _waitForFlexClientId = _arg1; dispatchEvent(_local2); }; } public static function getInstance():FlexClient{ if (_instance == null){ _instance = new (FlexClient); }; return (_instance); } } }//package mx.messaging
Section 272
//MessageAgent (mx.messaging.MessageAgent) package mx.messaging { import mx.core.*; import flash.events.*; import mx.events.*; import mx.resources.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.logging.*; import mx.utils.*; import mx.messaging.config.*; import mx.messaging.errors.*; public class MessageAgent extends EventDispatcher implements IMXMLObject { private var _needsConfig:Boolean; protected var _disconnectBarrier:Boolean; protected var _log:ILogger; private var _connected:Boolean;// = false private var _clientId:String; private var _sendRemoteCredentials:Boolean; private var _authenticated:Boolean; protected var _ignoreFault:Boolean;// = false private var _id:String; protected var _credentials:String; private var resourceManager:IResourceManager; private var _channelSetMode:int;// = 0 mx_internal var configRequested:Boolean;// = false private var _pendingConnectEvent:ChannelEvent; protected var _credentialsCharset:String; private var _remoteCredentials:String;// = "" private var _destination:String;// = "" protected var _agentType:String; private var _requestTimeout:int;// = -1 private var _remoteCredentialsCharset:String; private var _clientIdWaitQueue:Array; private var _channelSet:ChannelSet; mx_internal static const AUTO_CONFIGURED_CHANNELSET:int = 0; mx_internal static const MANUALLY_ASSIGNED_CHANNELSET:int = 1; public function MessageAgent(){ resourceManager = ResourceManager.getInstance(); _id = UIDUtil.createUID(); super(); } public function get connected():Boolean{ return (_connected); } public function get destination():String{ return (_destination); } protected function initChannelSet(_arg1:IMessage):void{ if (_channelSet == null){ _channelSetMode = AUTO_CONFIGURED_CHANNELSET; internalSetChannelSet(ServerConfig.getChannelSet(destination)); }; if (((((_channelSet.connected) && (needsConfig))) && (!(configRequested)))){ _arg1.headers[CommandMessage.NEEDS_CONFIG_HEADER] = true; configRequested = true; }; _channelSet.connect(this); if (_credentials != null){ channelSet.setCredentials(_credentials, this, _credentialsCharset); }; } mx_internal function set needsConfig(_arg1:Boolean):void{ var cs:ChannelSet; var value = _arg1; if (_needsConfig != value){ _needsConfig = value; if (_needsConfig){ cs = channelSet; try { disconnect(); } finally { internalSetChannelSet(cs); }; }; }; } public function logout():void{ _credentials = null; if (channelSet){ channelSet.logout(this); }; } public function get id():String{ return (_id); } public function set destination(_arg1:String):void{ var _local2:String; var _local3:PropertyChangeEvent; if ((((_arg1 == null)) || ((_arg1.length == 0)))){ _local2 = resourceManager.getString("messaging", "emptyDestinationName", [_arg1]); throw (new InvalidDestinationError(_local2)); }; if (_destination != _arg1){ if ((((_channelSetMode == AUTO_CONFIGURED_CHANNELSET)) && (!((channelSet == null))))){ channelSet.disconnect(this); channelSet = null; }; _local3 = PropertyChangeEvent.createUpdateEvent(this, "destination", _destination, _arg1); _destination = _arg1; dispatchEvent(_local3); if (Log.isInfo()){ _log.info("'{0}' {2} set destination to '{1}'.", id, _destination, _agentType); }; }; } mx_internal function get channelSetMode():int{ return (_channelSetMode); } public function acknowledge(_arg1:AcknowledgeMessage, _arg2:IMessage):void{ var _local3:MessagePerformanceUtils; if (Log.isInfo()){ _log.info("'{0}' {2} acknowledge of '{1}'.", id, _arg2.messageId, _agentType); }; if (((((((Log.isDebug()) && (!((channelSet == null))))) && (!((channelSet.currentChannel == null))))) && (channelSet.currentChannel.mpiEnabled))){ _local3 = new MessagePerformanceUtils(_arg1); _log.debug(_local3.prettyPrint()); }; if (_arg1.headers[AcknowledgeMessage.ERROR_HINT_HEADER]){ delete _arg1.headers[AcknowledgeMessage.ERROR_HINT_HEADER]; }; if (configRequested){ configRequested = false; ServerConfig.updateServerConfigData((_arg1.body as ConfigMap)); needsConfig = false; if (_pendingConnectEvent){ channelConnectHandler(_pendingConnectEvent); }; _pendingConnectEvent = null; }; if (clientId == null){ if (_arg1.clientId != null){ setClientId(_arg1.clientId); } else { flushClientIdWaitQueue(); }; }; dispatchEvent(MessageAckEvent.createEvent(_arg1, _arg2)); } mx_internal function internalSetChannelSet(_arg1:ChannelSet):void{ var _local2:PropertyChangeEvent; if (_channelSet != _arg1){ if (_channelSet != null){ _channelSet.disconnect(this); }; _local2 = PropertyChangeEvent.createUpdateEvent(this, "channelSet", _channelSet, _arg1); _channelSet = _arg1; if (_channelSet != null){ if (_credentials){ _channelSet.setCredentials(_credentials, this, _credentialsCharset); }; _channelSet.connect(this); }; dispatchEvent(_local2); }; } public function fault(_arg1:ErrorMessage, _arg2:IMessage):void{ if (Log.isError()){ _log.error("'{0}' {2} fault for '{1}'.", id, _arg2.messageId, _agentType); }; _ignoreFault = false; configRequested = false; if (_arg1.headers[ErrorMessage.RETRYABLE_HINT_HEADER]){ delete _arg1.headers[ErrorMessage.RETRYABLE_HINT_HEADER]; }; if (clientId == null){ if (_arg1.clientId != null){ setClientId(_arg1.clientId); } else { flushClientIdWaitQueue(); }; }; dispatchEvent(MessageFaultEvent.createEvent(_arg1)); if ((((((((_arg1.faultCode == "Client.Authentication")) && (authenticated))) && (!((channelSet == null))))) && (!((channelSet.currentChannel == null))))){ channelSet.currentChannel.setAuthenticated(false); if (channelSet.currentChannel.loginAfterDisconnect){ reAuthorize(_arg2); _ignoreFault = true; }; }; } public function set requestTimeout(_arg1:int):void{ var _local2:PropertyChangeEvent; if (_requestTimeout != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "requestTimeout", _requestTimeout, _arg1); _requestTimeout = _arg1; dispatchEvent(_local2); }; } public function disconnect():void{ if (!_disconnectBarrier){ _disconnectBarrier = true; if (_channelSetMode == AUTO_CONFIGURED_CHANNELSET){ internalSetChannelSet(null); } else { if (_channelSet != null){ _channelSet.disconnect(this); }; }; }; } public function set id(_arg1:String):void{ var _local2:PropertyChangeEvent; if (_id != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "id", _id, _arg1); _id = _arg1; dispatchEvent(_local2); }; } public function set channelSet(_arg1:ChannelSet):void{ internalSetChannelSet(_arg1); _channelSetMode = MANUALLY_ASSIGNED_CHANNELSET; } public function get clientId():String{ return (_clientId); } protected function setConnected(_arg1:Boolean):void{ var _local2:PropertyChangeEvent; if (_connected != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "connected", _connected, _arg1); _connected = _arg1; dispatchEvent(_local2); setAuthenticated(((((_arg1) && (channelSet))) && (channelSet.authenticated)), _credentials); }; } mx_internal function setClientId(_arg1:String):void{ var _local2:PropertyChangeEvent; if (_clientId != _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "clientId", _clientId, _arg1); _clientId = _arg1; flushClientIdWaitQueue(); dispatchEvent(_local2); }; } public function setCredentials(_arg1:String, _arg2:String, _arg3:String=null):void{ var _local4:String; var _local5:Base64Encoder; if ((((_arg1 == null)) && ((_arg2 == null)))){ _credentials = null; _credentialsCharset = null; } else { _local4 = ((_arg1 + ":") + _arg2); _local5 = new Base64Encoder(); if (_arg3 == Base64Encoder.CHARSET_UTF_8){ _local5.encodeUTFBytes(_local4); } else { _local5.encode(_local4); }; _credentials = _local5.drain(); _credentialsCharset = _arg3; }; if (channelSet != null){ channelSet.setCredentials(_credentials, this, _credentialsCharset); }; } public function channelDisconnectHandler(_arg1:ChannelEvent):void{ if (Log.isWarn()){ _log.warn("'{0}' {1} channel disconnected.", id, _agentType); }; setConnected(false); if (_remoteCredentials != null){ _sendRemoteCredentials = true; }; dispatchEvent(_arg1); } public function setRemoteCredentials(_arg1:String, _arg2:String, _arg3:String=null):void{ var _local4:String; var _local5:Base64Encoder; if ((((_arg1 == null)) && ((_arg2 == null)))){ _remoteCredentials = ""; _remoteCredentialsCharset = null; } else { _local4 = ((_arg1 + ":") + _arg2); _local5 = new Base64Encoder(); if (_arg3 == Base64Encoder.CHARSET_UTF_8){ _local5.encodeUTFBytes(_local4); } else { _local5.encode(_local4); }; _remoteCredentials = _local5.drain(); _remoteCredentialsCharset = _arg3; }; _sendRemoteCredentials = true; } mx_internal function get needsConfig():Boolean{ return (_needsConfig); } public function hasPendingRequestForMessage(_arg1:IMessage):Boolean{ return (false); } public function get authenticated():Boolean{ return (_authenticated); } public function get requestTimeout():int{ return (_requestTimeout); } public function initialized(_arg1:Object, _arg2:String):void{ this.id = _arg2; } final protected function flushClientIdWaitQueue():void{ if (_clientIdWaitQueue != null){ if (clientId != null){ while (_clientIdWaitQueue.length > 0) { internalSend((_clientIdWaitQueue.shift() as IMessage)); }; }; if (_clientIdWaitQueue.length > 0){ internalSend((_clientIdWaitQueue.shift() as IMessage)); } else { _clientIdWaitQueue = null; }; }; } final protected function assertCredentials(_arg1:String):void{ var _local2:ErrorMessage; if (((!((_credentials == null))) && (!((_credentials == _arg1))))){ _local2 = new ErrorMessage(); _local2.faultCode = "Client.Authentication.Error"; _local2.faultString = "Credentials specified do not match those used on underlying connection."; _local2.faultDetail = "Channel was authenticated with a different set of credentials than those used for this agent."; dispatchEvent(MessageFaultEvent.createEvent(_local2)); }; } public function get channelSet():ChannelSet{ return (_channelSet); } public function channelConnectHandler(_arg1:ChannelEvent):void{ _disconnectBarrier = false; if (needsConfig){ if (Log.isInfo()){ _log.info("'{0}' {1} waiting for configuration information.", id, _agentType); }; _pendingConnectEvent = _arg1; } else { if (Log.isInfo()){ _log.info("'{0}' {1} connected.", id, _agentType); }; setConnected(true); dispatchEvent(_arg1); }; } mx_internal function internalSetCredentials(_arg1:String):void{ _credentials = _arg1; } public function channelFaultHandler(_arg1:ChannelFaultEvent):void{ if (Log.isWarn()){ _log.warn("'{0}' {1} channel faulted with {2} {3}", id, _agentType, _arg1.faultCode, _arg1.faultDetail); }; if (!_arg1.channel.connected){ setConnected(false); if (_remoteCredentials != null){ _sendRemoteCredentials = true; }; }; dispatchEvent(_arg1); } protected function internalSend(_arg1:IMessage, _arg2:Boolean=true):void{ var _local3:String; if ((((((_arg1.clientId == null)) && (_arg2))) && ((clientId == null)))){ if (_clientIdWaitQueue == null){ _clientIdWaitQueue = []; } else { _clientIdWaitQueue.push(_arg1); return; }; }; if (_arg1.clientId == null){ _arg1.clientId = clientId; }; if (requestTimeout > 0){ _arg1.headers[AbstractMessage.REQUEST_TIMEOUT_HEADER] = requestTimeout; }; if (_sendRemoteCredentials){ _arg1.headers[AbstractMessage.REMOTE_CREDENTIALS_HEADER] = _remoteCredentials; _arg1.headers[AbstractMessage.REMOTE_CREDENTIALS_CHARSET_HEADER] = _remoteCredentialsCharset; _sendRemoteCredentials = false; }; if (channelSet != null){ if (((!(connected)) && ((_channelSetMode == MANUALLY_ASSIGNED_CHANNELSET)))){ _channelSet.connect(this); }; if (((((channelSet.connected) && (needsConfig))) && (!(configRequested)))){ _arg1.headers[CommandMessage.NEEDS_CONFIG_HEADER] = true; configRequested = true; }; channelSet.send(this, _arg1); } else { if (destination.length > 0){ initChannelSet(_arg1); if (channelSet != null){ channelSet.send(this, _arg1); }; } else { _local3 = resourceManager.getString("messaging", "destinationNotSet"); throw (new InvalidDestinationError(_local3)); }; }; } mx_internal function setAuthenticated(_arg1:Boolean, _arg2:String):void{ var _local3:PropertyChangeEvent; if (_authenticated != _arg1){ _local3 = PropertyChangeEvent.createUpdateEvent(this, "authenticated", _authenticated, _arg1); _authenticated = _arg1; dispatchEvent(_local3); if (_arg1){ assertCredentials(_arg2); }; }; } protected function reAuthorize(_arg1:IMessage):void{ disconnect(); internalSend(_arg1); } } }//package mx.messaging
Section 273
//MessageResponder (mx.messaging.MessageResponder) package mx.messaging { import flash.events.*; import mx.resources.*; import flash.utils.*; import mx.messaging.messages.*; import flash.net.*; public class MessageResponder extends Responder { private var _channel:Channel; private var _agent:MessageAgent; private var _requestTimedOut:Boolean; private var _message:IMessage; private var _requestTimer:Timer; private var resourceManager:IResourceManager; public function MessageResponder(_arg1:MessageAgent, _arg2:IMessage, _arg3:Channel=null){ resourceManager = ResourceManager.getInstance(); super(result, status); _agent = _arg1; _channel = _arg3; _message = _arg2; _requestTimedOut = false; } public function get channel():Channel{ return (_channel); } public function get agent():MessageAgent{ return (_agent); } protected function requestTimedOut():void{ } final public function startRequestTimeout(_arg1:int):void{ _requestTimer = new Timer((_arg1 * 1000), 1); _requestTimer.addEventListener(TimerEvent.TIMER, timeoutRequest); _requestTimer.start(); } public function get message():IMessage{ return (_message); } final public function result(_arg1:IMessage):void{ if (!_requestTimedOut){ if (_requestTimer != null){ releaseTimer(); }; resultHandler(_arg1); }; } private function releaseTimer():void{ _requestTimer.stop(); _requestTimer.removeEventListener(TimerEvent.TIMER, timeoutRequest); _requestTimer = null; } public function set message(_arg1:IMessage):void{ _message = _arg1; } protected function createRequestTimeoutErrorMessage():ErrorMessage{ var _local1:ErrorMessage = new ErrorMessage(); _local1.correlationId = message.messageId; _local1.faultCode = "Client.Error.RequestTimeout"; _local1.faultString = resourceManager.getString("messaging", "requestTimedOut"); _local1.faultDetail = resourceManager.getString("messaging", "requestTimedOut.details"); return (_local1); } private function timeoutRequest(_arg1:TimerEvent):void{ _requestTimedOut = true; releaseTimer(); requestTimedOut(); } final public function status(_arg1:IMessage):void{ if (!_requestTimedOut){ if (_requestTimer != null){ releaseTimer(); }; statusHandler(_arg1); }; } protected function resultHandler(_arg1:IMessage):void{ } protected function statusHandler(_arg1:IMessage):void{ } } }//package mx.messaging
Section 274
//Producer (mx.messaging.Producer) package mx.messaging { import mx.events.*; import mx.messaging.messages.*; import mx.logging.*; public class Producer extends AbstractProducer { private var _subtopic:String;// = "" public function Producer(){ _log = Log.getLogger("mx.messaging.Producer"); _agentType = "producer"; } override protected function internalSend(_arg1:IMessage, _arg2:Boolean=true):void{ if (subtopic.length > 0){ _arg1.headers[AsyncMessage.SUBTOPIC_HEADER] = subtopic; }; super.internalSend(_arg1, _arg2); } public function set subtopic(_arg1:String):void{ var _local2:PropertyChangeEvent; if (_subtopic != _arg1){ if (_arg1 == null){ _arg1 = ""; }; _local2 = PropertyChangeEvent.createUpdateEvent(this, "subtopic", _subtopic, _arg1); _subtopic = _arg1; dispatchEvent(_local2); }; } public function get subtopic():String{ return (_subtopic); } } }//package mx.messaging
Section 275
//IModuleInfo (mx.modules.IModuleInfo) package mx.modules { import mx.core.*; import flash.events.*; import flash.system.*; public interface IModuleInfo extends IEventDispatcher { function get ready():Boolean; function get loaded():Boolean; function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null):void; function release():void; function get error():Boolean; function get data():Object; function publish(_arg1:IFlexModuleFactory):void; function get factory():IFlexModuleFactory; function set data(_arg1:Object):void; function get url():String; function get setup():Boolean; function unload():void; } }//package mx.modules
Section 276
//ModuleManager (mx.modules.ModuleManager) package mx.modules { import mx.core.*; public class ModuleManager { mx_internal static const VERSION:String = "3.0.0.0"; public static function getModule(_arg1:String):IModuleInfo{ return (getSingleton().getModule(_arg1)); } private static function getSingleton():Object{ if (!ModuleManagerGlobals.managerSingleton){ ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl(); }; return (ModuleManagerGlobals.managerSingleton); } public static function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{ return (getSingleton().getAssociatedFactory(_arg1)); } } }//package mx.modules import flash.display.*; import mx.core.*; import flash.events.*; import mx.events.*; import flash.system.*; import flash.net.*; import flash.utils.*; class ModuleInfoProxy extends EventDispatcher implements IModuleInfo { private var _data:Object; private var info:ModuleInfo; private var referenced:Boolean;// = false private function ModuleInfoProxy(_arg1:ModuleInfo){ this.info = _arg1; _arg1.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true); } public function get loaded():Boolean{ return (info.loaded); } public function release():void{ if (referenced){ info.removeReference(); referenced = false; }; } public function get error():Boolean{ return (info.error); } public function get factory():IFlexModuleFactory{ return (info.factory); } public function publish(_arg1:IFlexModuleFactory):void{ info.publish(_arg1); } public function set data(_arg1:Object):void{ _data = _arg1; } public function get ready():Boolean{ return (info.ready); } public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null):void{ var _local3:ModuleEvent; info.resurrect(); if (!referenced){ info.addReference(); referenced = true; }; if (info.error){ dispatchEvent(new ModuleEvent(ModuleEvent.ERROR)); } else { if (info.loaded){ if (info.setup){ dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); if (info.ready){ _local3 = new ModuleEvent(ModuleEvent.PROGRESS); _local3.bytesLoaded = info.size; _local3.bytesTotal = info.size; dispatchEvent(_local3); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); }; }; } else { info.load(_arg1, _arg2); }; }; } private function moduleEventHandler(_arg1:ModuleEvent):void{ dispatchEvent(_arg1); } public function get url():String{ return (info.url); } public function get data():Object{ return (_data); } public function get setup():Boolean{ return (info.setup); } public function unload():void{ info.unload(); info.removeEventListener(ModuleEvent.SETUP, moduleEventHandler); info.removeEventListener(ModuleEvent.PROGRESS, moduleEventHandler); info.removeEventListener(ModuleEvent.READY, moduleEventHandler); info.removeEventListener(ModuleEvent.ERROR, moduleEventHandler); info.removeEventListener(ModuleEvent.UNLOAD, moduleEventHandler); } } class ModuleManagerImpl extends EventDispatcher { private var moduleList:Object; private function ModuleManagerImpl(){ moduleList = {}; super(); } public function getModule(_arg1:String):IModuleInfo{ var _local2:ModuleInfo = (moduleList[_arg1] as ModuleInfo); if (!_local2){ _local2 = new ModuleInfo(_arg1); moduleList[_arg1] = _local2; }; return (new ModuleInfoProxy(_local2)); } public function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{ var m:Object; var info:ModuleInfo; var domain:ApplicationDomain; var cls:Class; var object = _arg1; var className:String = getQualifiedClassName(object); for each (m in moduleList) { info = (m as ModuleInfo); if (!info.ready){ } else { domain = info.applicationDomain; try { cls = Class(domain.getDefinition(className)); if ((object is cls)){ return (info.factory); }; } catch(error:Error) { }; }; }; return (null); } } class ModuleInfo extends EventDispatcher { private var _error:Boolean;// = false private var loader:Loader; private var factoryInfo:FactoryInfo; private var limbo:Dictionary; private var _loaded:Boolean;// = false private var _ready:Boolean;// = false private var numReferences:int;// = 0 private var _url:String; private var _setup:Boolean;// = false private function ModuleInfo(_arg1:String){ _url = _arg1; } private function clearLoader():void{ if (loader){ if (loader.contentLoaderInfo){ loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler); loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); }; try { if (loader.content){ loader.content.removeEventListener("ready", readyHandler); }; } catch(error:Error) { }; if (_loaded){ try { loader.close(); } catch(error:Error) { }; }; try { loader.unload(); } catch(error:Error) { }; loader = null; }; } public function get size():int{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.bytesTotal : 0); } public function get loaded():Boolean{ return ((limbo) ? false : _loaded); } public function release():void{ if (((_ready) && (!(limbo)))){ limbo = new Dictionary(true); limbo[factoryInfo] = 1; factoryInfo = null; } else { unload(); }; } public function get error():Boolean{ return ((limbo) ? false : _error); } public function get factory():IFlexModuleFactory{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.factory : null); } public function completeHandler(_arg1:Event):void{ var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded; _local2.bytesTotal = loader.contentLoaderInfo.bytesTotal; dispatchEvent(_local2); } public function publish(_arg1:IFlexModuleFactory):void{ if (factoryInfo){ return; }; if (_url.indexOf("published://") != 0){ return; }; factoryInfo = new FactoryInfo(); factoryInfo.factory = _arg1; _loaded = true; _setup = true; _ready = true; _error = false; dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); dispatchEvent(new ModuleEvent(ModuleEvent.PROGRESS)); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); } public function initHandler(_arg1:Event):void{ var moduleEvent:ModuleEvent; var event = _arg1; factoryInfo = new FactoryInfo(); try { factoryInfo.factory = (loader.content as IFlexModuleFactory); } catch(error:Error) { }; if (!factoryInfo.factory){ moduleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable); moduleEvent.bytesLoaded = 0; moduleEvent.bytesTotal = 0; moduleEvent.errorText = "SWF is not a loadable module"; dispatchEvent(moduleEvent); return; }; loader.content.addEventListener("ready", readyHandler); try { factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain; } catch(error:Error) { }; _setup = true; dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); } public function resurrect():void{ var _local1:Object; if (((!(factoryInfo)) && (limbo))){ for (_local1 in limbo) { factoryInfo = (_local1 as FactoryInfo); break; }; limbo = null; }; if (!factoryInfo){ if (_loaded){ dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD)); }; loader = null; _loaded = false; _setup = false; _ready = false; _error = false; }; } public function errorHandler(_arg1:ErrorEvent):void{ _error = true; var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = 0; _local2.bytesTotal = 0; _local2.errorText = _arg1.text; dispatchEvent(_local2); } public function get ready():Boolean{ return ((limbo) ? false : _ready); } public function removeReference():void{ numReferences--; if (numReferences == 0){ release(); }; } public function addReference():void{ numReferences++; } public function progressHandler(_arg1:ProgressEvent):void{ var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null):void{ if (_loaded){ return; }; _loaded = true; limbo = null; if (_url.indexOf("published://") == 0){ return; }; var _local3:URLRequest = new URLRequest(_url); var _local4:LoaderContext = new LoaderContext(); _local4.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain); _local4.securityDomain = _arg2; if ((((_arg2 == null)) && ((Security.sandboxType == Security.REMOTE)))){ _local4.securityDomain = SecurityDomain.currentDomain; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); loader.load(_local3, _local4); } public function get url():String{ return (_url); } public function get applicationDomain():ApplicationDomain{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null); } public function readyHandler(_arg1:Event):void{ _ready = true; factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal; clearLoader(); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); } public function get setup():Boolean{ return ((limbo) ? false : _setup); } public function unload():void{ clearLoader(); if (_loaded){ dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD)); }; limbo = null; factoryInfo = null; _loaded = false; _setup = false; _ready = false; _error = false; } } class FactoryInfo { public var bytesTotal:int;// = 0 public var factory:IFlexModuleFactory; public var applicationDomain:ApplicationDomain; private function FactoryInfo(){ } }
Section 277
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals) package mx.modules { public class ModuleManagerGlobals { public static var managerSingleton:Object = null; } }//package mx.modules
Section 278
//DownloadProgressBar (mx.preloaders.DownloadProgressBar) package mx.preloaders { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.text.*; import flash.events.*; import mx.events.*; import flash.system.*; import mx.graphics.*; import flash.net.*; import flash.utils.*; public class DownloadProgressBar extends Sprite implements IPreloaderDisplay { protected var MINIMUM_DISPLAY_TIME:uint;// = 0 private var _barFrameRect:RoundedRectangle; private var _stageHeight:Number;// = 375 private var _stageWidth:Number;// = 500 private var _percentRect:Rectangle; private var _percentObj:TextField; private var _downloadingLabel:String;// = "Loading" private var _showProgressBar:Boolean;// = true private var _yOffset:Number;// = 20 private var _initProgressCount:uint;// = 0 private var _barSprite:Sprite; private var _visible:Boolean;// = false private var _barRect:RoundedRectangle; private var _showingDisplay:Boolean;// = false private var _backgroundSize:String;// = "" private var _initProgressTotal:uint;// = 12 private var _startedInit:Boolean;// = false private var _showLabel:Boolean;// = true private var _value:Number;// = 0 private var _labelRect:Rectangle; private var _backgroundImage:Object; private var _backgroundAlpha:Number;// = 1 private var _backgroundColor:uint; private var _startedLoading:Boolean;// = false private var _showPercentage:Boolean;// = false private var _barFrameSprite:Sprite; protected var DOWNLOAD_PERCENTAGE:uint;// = 60 private var _displayStartCount:uint;// = 0 private var _labelObj:TextField; private var _borderRect:RoundedRectangle; private var _maximum:Number;// = 0 private var _displayTime:int; private var _label:String;// = "" private var _preloader:Sprite; private var _xOffset:Number;// = 20 private var _startTime:int; mx_internal static const VERSION:String = "3.0.0.0"; private static var _initializingLabel:String = "Initializing"; public function DownloadProgressBar(){ _labelRect = labelRect; _percentRect = percentRect; _borderRect = borderRect; _barFrameRect = barFrameRect; _barRect = barRect; super(); } protected function getPercentLoaded(_arg1:Number, _arg2:Number):Number{ var _local3:Number; if ((((((((_arg1 == 0)) || ((_arg2 == 0)))) || (isNaN(_arg2)))) || (isNaN(_arg1)))){ return (0); }; _local3 = ((100 * _arg1) / _arg2); if (((isNaN(_local3)) || ((_local3 <= 0)))){ return (0); }; if (_local3 > 99){ return (99); }; return (Math.round(_local3)); } protected function get labelFormat():TextFormat{ var _local1:TextFormat = new TextFormat(); _local1.color = 0x333333; _local1.font = "Verdana"; _local1.size = 10; return (_local1); } private function calcScale():void{ var _local1:Number; if ((((stageWidth < 160)) || ((stageHeight < 120)))){ scaleX = 1; scaleY = 1; } else { if ((((stageWidth < 240)) || ((stageHeight < 150)))){ createChildren(); _local1 = Math.min((stageWidth / 240), (stageHeight / 150)); scaleX = _local1; scaleY = _local1; } else { createChildren(); }; }; } protected function get percentRect():Rectangle{ return (new Rectangle(108, 4, 34, 16)); } protected function set showLabel(_arg1:Boolean):void{ _showLabel = _arg1; draw(); } private function calcBackgroundSize():Number{ var _local2:int; var _local1:Number = NaN; if (backgroundSize){ _local2 = backgroundSize.indexOf("%"); if (_local2 != -1){ _local1 = Number(backgroundSize.substr(0, _local2)); }; }; return (_local1); } private function show():void{ _showingDisplay = true; calcScale(); draw(); _displayTime = getTimer(); } private function loadBackgroundImage(_arg1:Object):void{ var cls:Class; var newStyleObj:DisplayObject; var loader:Loader; var loaderContext:LoaderContext; var classOrString = _arg1; if (((classOrString) && ((classOrString as Class)))){ cls = Class(classOrString); initBackgroundImage(new (cls)); } else { if (((classOrString) && ((classOrString is String)))){ try { cls = Class(getDefinitionByName(String(classOrString))); } catch(e:Error) { }; if (cls){ newStyleObj = new (cls); initBackgroundImage(newStyleObj); } else { loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_completeHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loader_ioErrorHandler); loaderContext = new LoaderContext(); loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); loader.load(new URLRequest(String(classOrString)), loaderContext); }; }; }; } protected function set showPercentage(_arg1:Boolean):void{ _showPercentage = _arg1; draw(); } protected function get barFrameRect():RoundedRectangle{ return (new RoundedRectangle(14, 40, 154, 4)); } private function loader_ioErrorHandler(_arg1:IOErrorEvent):void{ } protected function rslErrorHandler(_arg1:RSLEvent):void{ _preloader.removeEventListener(ProgressEvent.PROGRESS, progressHandler); _preloader.removeEventListener(Event.COMPLETE, completeHandler); _preloader.removeEventListener(RSLEvent.RSL_PROGRESS, rslProgressHandler); _preloader.removeEventListener(RSLEvent.RSL_COMPLETE, rslCompleteHandler); _preloader.removeEventListener(RSLEvent.RSL_ERROR, rslErrorHandler); _preloader.removeEventListener(FlexEvent.INIT_PROGRESS, initProgressHandler); _preloader.removeEventListener(FlexEvent.INIT_COMPLETE, initCompleteHandler); if (!_showingDisplay){ show(); _showingDisplay = true; }; label = ((("RSL Error " + (_arg1.rslIndex + 1)) + " of ") + _arg1.rslTotal); var _local2:ErrorField = new ErrorField(this.parent); _local2.show(_arg1.errorText); } protected function rslCompleteHandler(_arg1:RSLEvent):void{ label = ((("Loaded library " + _arg1.rslIndex) + " of ") + _arg1.rslTotal); } protected function get borderRect():RoundedRectangle{ return (new RoundedRectangle(0, 0, 182, 60, 4)); } protected function showDisplayForDownloading(_arg1:int, _arg2:ProgressEvent):Boolean{ return ((((_arg1 > 700)) && ((_arg2.bytesLoaded < (_arg2.bytesTotal / 2))))); } protected function createChildren():void{ var _local2:TextField; var _local3:TextField; var _local1:Graphics = graphics; if (backgroundColor != 4294967295){ _local1.beginFill(backgroundColor, backgroundAlpha); _local1.drawRect(0, 0, stageWidth, stageHeight); }; if (backgroundImage != null){ loadBackgroundImage(backgroundImage); }; _barFrameSprite = new Sprite(); _barSprite = new Sprite(); addChild(_barFrameSprite); addChild(_barSprite); _local1.beginFill(0xCCCCCC, 0.4); _local1.drawRoundRect(calcX(_borderRect.x), calcY(_borderRect.y), _borderRect.width, _borderRect.height, (_borderRect.cornerRadius * 2), (_borderRect.cornerRadius * 2)); _local1.drawRoundRect(calcX((_borderRect.x + 1)), calcY((_borderRect.y + 1)), (_borderRect.width - 2), (_borderRect.height - 2), (_borderRect.cornerRadius - (1 * 2)), (_borderRect.cornerRadius - (1 * 2))); _local1.endFill(); _local1.beginFill(0xCCCCCC, 0.4); _local1.drawRoundRect(calcX((_borderRect.x + 1)), calcY((_borderRect.y + 1)), (_borderRect.width - 2), (_borderRect.height - 2), (_borderRect.cornerRadius - (1 * 2)), (_borderRect.cornerRadius - (1 * 2))); _local1.endFill(); var _local4:Graphics = _barFrameSprite.graphics; var _local5:Matrix = new Matrix(); _local5.createGradientBox(_barFrameRect.width, _barFrameRect.height, (Math.PI / 2), calcX(_barFrameRect.x), calcY(_barFrameRect.y)); _local4.beginGradientFill(GradientType.LINEAR, [6054502, 11909306], [1, 1], [0, 0xFF], _local5); _local4.drawRoundRect(calcX(_barFrameRect.x), calcY(_barFrameRect.y), _barFrameRect.width, _barFrameRect.height, (_barFrameRect.cornerRadius * 2), (_barFrameRect.cornerRadius * 2)); _local4.drawRoundRect(calcX((_barFrameRect.x + 1)), calcY((_barFrameRect.y + 1)), (_barFrameRect.width - 2), (_barFrameRect.height - 2), (_barFrameRect.cornerRadius * 2), (_barFrameRect.cornerRadius * 2)); _local4.endFill(); _labelObj = new TextField(); _labelObj.x = calcX(_labelRect.x); _labelObj.y = calcY(_labelRect.y); _labelObj.width = _labelRect.width; _labelObj.height = _labelRect.height; _labelObj.selectable = false; _labelObj.defaultTextFormat = labelFormat; addChild(_labelObj); _percentObj = new TextField(); _percentObj.x = calcX(_percentRect.x); _percentObj.y = calcY(_percentRect.y); _percentObj.width = _percentRect.width; _percentObj.height = _percentRect.height; _percentObj.selectable = false; _percentObj.defaultTextFormat = percentFormat; addChild(_percentObj); var _local6:RectangularDropShadow = new RectangularDropShadow(); _local6.color = 0; _local6.angle = 90; _local6.alpha = 0.6; _local6.distance = 2; _local6.tlRadius = (_local6.trRadius = (_local6.blRadius = (_local6.brRadius = _borderRect.cornerRadius))); _local6.drawShadow(_local1, calcX(_borderRect.x), calcY(_borderRect.y), _borderRect.width, _borderRect.height); _local1.lineStyle(1, 0xFFFFFF, 0.3); _local1.moveTo((calcX(_borderRect.x) + _borderRect.cornerRadius), calcY(_borderRect.y)); _local1.lineTo(((calcX(_borderRect.x) - _borderRect.cornerRadius) + _borderRect.width), calcY(_borderRect.y)); } private function draw():void{ var _local1:Number; if (_startedLoading){ if (!_startedInit){ _local1 = Math.round(((getPercentLoaded(_value, _maximum) * DOWNLOAD_PERCENTAGE) / 100)); } else { _local1 = Math.round((((getPercentLoaded(_value, _maximum) * (100 - DOWNLOAD_PERCENTAGE)) / 100) + DOWNLOAD_PERCENTAGE)); }; } else { _local1 = getPercentLoaded(_value, _maximum); }; if (_labelObj){ _labelObj.text = _label; }; if (_percentObj){ if (!_showPercentage){ _percentObj.visible = false; _percentObj.text = ""; } else { _percentObj.text = (String(_local1) + "%"); }; }; if (((_barSprite) && (_barFrameSprite))){ if (!_showProgressBar){ _barSprite.visible = false; _barFrameSprite.visible = false; } else { drawProgressBar(_local1); }; }; } private function timerHandler(_arg1:Event=null):void{ dispatchEvent(new Event(Event.COMPLETE)); } private function hide():void{ } public function get backgroundSize():String{ return (_backgroundSize); } protected function center(_arg1:Number, _arg2:Number):void{ _xOffset = Math.floor(((_arg1 - _borderRect.width) / 2)); _yOffset = Math.floor(((_arg2 - _borderRect.height) / 2)); } protected function progressHandler(_arg1:ProgressEvent):void{ var _local2:uint = _arg1.bytesLoaded; var _local3:uint = _arg1.bytesTotal; var _local4:int = (getTimer() - _startTime); if (((_showingDisplay) || (showDisplayForDownloading(_local4, _arg1)))){ if (!_startedLoading){ show(); label = downloadingLabel; _startedLoading = true; }; setProgress(_arg1.bytesLoaded, _arg1.bytesTotal); }; } protected function initProgressHandler(_arg1:Event):void{ var _local3:Number; var _local2:int = (getTimer() - _startTime); _initProgressCount++; if (((!(_showingDisplay)) && (showDisplayForInit(_local2, _initProgressCount)))){ _displayStartCount = _initProgressCount; show(); } else { if (_showingDisplay){ if (!_startedInit){ _startedInit = true; label = initializingLabel; }; _local3 = ((100 * _initProgressCount) / (_initProgressTotal - _displayStartCount)); setProgress(_local3, 100); }; }; } protected function set downloadingLabel(_arg1:String):void{ _downloadingLabel = _arg1; } public function get stageWidth():Number{ return (_stageWidth); } protected function get showPercentage():Boolean{ return (_showPercentage); } override public function get visible():Boolean{ return (_visible); } public function set stageHeight(_arg1:Number):void{ _stageHeight = _arg1; } public function initialize():void{ _startTime = getTimer(); center(stageWidth, stageHeight); } protected function rslProgressHandler(_arg1:RSLEvent):void{ } protected function get barRect():RoundedRectangle{ return (new RoundedRectangle(14, 39, 154, 6, 0)); } protected function get percentFormat():TextFormat{ var _local1:TextFormat = new TextFormat(); _local1.align = "right"; _local1.color = 0; _local1.font = "Verdana"; _local1.size = 10; return (_local1); } public function set backgroundImage(_arg1:Object):void{ _backgroundImage = _arg1; } private function calcX(_arg1:Number):Number{ return ((_arg1 + _xOffset)); } private function calcY(_arg1:Number):Number{ return ((_arg1 + _yOffset)); } public function set backgroundAlpha(_arg1:Number):void{ _backgroundAlpha = _arg1; } private function initCompleteHandler(_arg1:Event):void{ var _local3:Timer; var _local2:int = (getTimer() - _displayTime); if (((_showingDisplay) && ((_local2 < MINIMUM_DISPLAY_TIME)))){ _local3 = new Timer((MINIMUM_DISPLAY_TIME - _local2), 1); _local3.addEventListener(TimerEvent.TIMER, timerHandler); _local3.start(); } else { timerHandler(); }; } public function set backgroundColor(_arg1:uint):void{ _backgroundColor = _arg1; } private function initBackgroundImage(_arg1:DisplayObject):void{ var _local7:Number; var _local8:Number; var _local9:Number; addChildAt(_arg1, 0); var _local2:Number = _arg1.width; var _local3:Number = _arg1.height; var _local4:Number = calcBackgroundSize(); if (isNaN(_local4)){ _local7 = 1; _local8 = 1; } else { _local9 = (_local4 * 0.01); _local7 = ((_local9 * stageWidth) / _local2); _local8 = ((_local9 * stageHeight) / _local3); }; _arg1.scaleX = _local7; _arg1.scaleY = _local8; var _local5:Number = Math.round((0.5 * (stageWidth - (_local2 * _local7)))); var _local6:Number = Math.round((0.5 * (stageHeight - (_local3 * _local8)))); _arg1.x = _local5; _arg1.y = _local6; if (!isNaN(backgroundAlpha)){ _arg1.alpha = backgroundAlpha; }; } public function set backgroundSize(_arg1:String):void{ _backgroundSize = _arg1; } protected function showDisplayForInit(_arg1:int, _arg2:int):Boolean{ return ((((_arg1 > 300)) && ((_arg2 == 2)))); } protected function get downloadingLabel():String{ return (_downloadingLabel); } private function loader_completeHandler(_arg1:Event):void{ var _local2:DisplayObject = DisplayObject(LoaderInfo(_arg1.target).loader); initBackgroundImage(_local2); } protected function setProgress(_arg1:Number, _arg2:Number):void{ if (((((((!(isNaN(_arg1))) && (!(isNaN(_arg2))))) && ((_arg1 >= 0)))) && ((_arg2 > 0)))){ _value = Number(_arg1); _maximum = Number(_arg2); draw(); }; } public function get stageHeight():Number{ return (_stageHeight); } public function get backgroundImage():Object{ return (_backgroundImage); } public function get backgroundAlpha():Number{ if (!isNaN(_backgroundAlpha)){ return (_backgroundAlpha); }; return (1); } private function drawProgressBar(_arg1:Number):void{ var _local11:Number; var _local2:Graphics = _barSprite.graphics; _local2.clear(); var _local3:Array = [0xFFFFFF, 0xFFFFFF]; var _local4:Array = [0, 0xFF]; var _local5:Matrix = new Matrix(); var _local6:Number = ((_barRect.width * _arg1) / 100); var _local7:Number = (_local6 / 2); var _local8:Number = (_barRect.height - 4); var _local9:Number = calcX(_barRect.x); var _local10:Number = (calcY(_barRect.y) + 2); _local5.createGradientBox(_local7, _local8, 0, _local9, _local10); _local2.beginGradientFill(GradientType.LINEAR, _local3, [0.39, 0.85], _local4, _local5); _local2.drawRect(_local9, _local10, _local7, _local8); _local5.createGradientBox(_local7, _local8, 0, (_local9 + _local7), _local10); _local2.beginGradientFill(GradientType.LINEAR, _local3, [0.85, 1], _local4, _local5); _local2.drawRect((_local9 + _local7), _local10, _local7, _local8); _local7 = (_local6 / 3); _local8 = _barRect.height; _local10 = calcY(_barRect.y); _local11 = ((_local10 + _local8) - 1); _local5.createGradientBox(_local7, _local8, 0, _local9, _local10); _local2.beginGradientFill(GradientType.LINEAR, _local3, [0.05, 0.15], _local4, _local5); _local2.drawRect(_local9, _local10, _local7, 1); _local2.drawRect(_local9, _local11, _local7, 1); _local5.createGradientBox(_local7, _local8, 0, (_local9 + _local7), _local10); _local2.beginGradientFill(GradientType.LINEAR, _local3, [0.15, 0.25], _local4, _local5); _local2.drawRect((_local9 + _local7), _local10, _local7, 1); _local2.drawRect((_local9 + _local7), _local11, _local7, 1); _local5.createGradientBox(_local7, _local8, 0, (_local9 + (_local7 * 2)), _local10); _local2.beginGradientFill(GradientType.LINEAR, _local3, [0.25, 0.1], _local4, _local5); _local2.drawRect((_local9 + (_local7 * 2)), _local10, _local7, 1); _local2.drawRect((_local9 + (_local7 * 2)), _local11, _local7, 1); _local7 = (_local6 / 3); _local8 = _barRect.height; _local10 = (calcY(_barRect.y) + 1); _local11 = ((calcY(_barRect.y) + _local8) - 2); _local5.createGradientBox(_local7, _local8, 0, _local9, _local10); _local2.beginGradientFill(GradientType.LINEAR, _local3, [0.15, 0.3], _local4, _local5); _local2.drawRect(_local9, _local10, _local7, 1); _local2.drawRect(_local9, _local11, _local7, 1); _local5.createGradientBox(_local7, _local8, 0, (_local9 + _local7), _local10); _local2.beginGradientFill(GradientType.LINEAR, _local3, [0.3, 0.4], _local4, _local5); _local2.drawRect((_local9 + _local7), _local10, _local7, 1); _local2.drawRect((_local9 + _local7), _local11, _local7, 1); _local5.createGradientBox(_local7, _local8, 0, (_local9 + (_local7 * 2)), _local10); _local2.beginGradientFill(GradientType.LINEAR, _local3, [0.4, 0.25], _local4, _local5); _local2.drawRect((_local9 + (_local7 * 2)), _local10, _local7, 1); _local2.drawRect((_local9 + (_local7 * 2)), _local11, _local7, 1); } public function get backgroundColor():uint{ return (_backgroundColor); } public function set stageWidth(_arg1:Number):void{ _stageWidth = _arg1; } protected function completeHandler(_arg1:Event):void{ } protected function set label(_arg1:String):void{ if (!(_arg1 is Function)){ _label = _arg1; }; draw(); } public function set preloader(_arg1:Sprite):void{ _preloader = _arg1; _arg1.addEventListener(ProgressEvent.PROGRESS, progressHandler); _arg1.addEventListener(Event.COMPLETE, completeHandler); _arg1.addEventListener(RSLEvent.RSL_PROGRESS, rslProgressHandler); _arg1.addEventListener(RSLEvent.RSL_COMPLETE, rslCompleteHandler); _arg1.addEventListener(RSLEvent.RSL_ERROR, rslErrorHandler); _arg1.addEventListener(FlexEvent.INIT_PROGRESS, initProgressHandler); _arg1.addEventListener(FlexEvent.INIT_COMPLETE, initCompleteHandler); } protected function get label():String{ return (_label); } protected function get labelRect():Rectangle{ return (new Rectangle(14, 17, 100, 16)); } override public function set visible(_arg1:Boolean):void{ if (((!(_visible)) && (_arg1))){ show(); } else { if (((_visible) && (!(_arg1)))){ hide(); }; }; _visible = _arg1; } protected function get showLabel():Boolean{ return (_showLabel); } public static function get initializingLabel():String{ return (_initializingLabel); } public static function set initializingLabel(_arg1:String):void{ _initializingLabel = _arg1; } } }//package mx.preloaders import flash.display.*; import flash.text.*; import flash.system.*; class ErrorField extends Sprite { private const TEXT_MARGIN_PX:int = 10; private const MAX_WIDTH_INCHES:int = 6; private const MIN_WIDTH_INCHES:int = 2; private var parentContainer:DisplayObjectContainer; private function ErrorField(_arg1:DisplayObjectContainer){ this.parentContainer = _arg1; } public function show(_arg1:String):void{ if ((((_arg1 == null)) || ((_arg1.length == 0)))){ return; }; var _local2:Stage = parentContainer.stage; var _local3:TextField = new TextField(); _local3.autoSize = TextFieldAutoSize.LEFT; _local3.multiline = true; _local3.wordWrap = true; _local3.background = true; _local3.defaultTextFormat = labelFormat; _local3.text = _arg1; _local3.width = Math.max((MIN_WIDTH_INCHES * Capabilities.screenDPI), (_local2.stageWidth - (TEXT_MARGIN_PX * 2))); _local3.width = Math.min((MAX_WIDTH_INCHES * Capabilities.screenDPI), _local3.width); _local3.y = Math.max(0, ((_local2.stageHeight - TEXT_MARGIN_PX) - _local3.height)); _local3.x = ((_local2.stageWidth - _local3.width) / 2); parentContainer.addChild(this); this.addChild(_local3); } protected function get labelFormat():TextFormat{ var _local1:TextFormat = new TextFormat(); _local1.color = 0; _local1.font = "Verdana"; _local1.size = 10; return (_local1); } }
Section 279
//IPreloaderDisplay (mx.preloaders.IPreloaderDisplay) package mx.preloaders { import flash.display.*; import flash.events.*; public interface IPreloaderDisplay extends IEventDispatcher { function set backgroundAlpha(_arg1:Number):void; function get stageHeight():Number; function get stageWidth():Number; function set backgroundColor(_arg1:uint):void; function set preloader(_arg1:Sprite):void; function get backgroundImage():Object; function get backgroundSize():String; function get backgroundAlpha():Number; function set stageHeight(_arg1:Number):void; function get backgroundColor():uint; function set stageWidth(_arg1:Number):void; function set backgroundImage(_arg1:Object):void; function set backgroundSize(_arg1:String):void; function initialize():void; } }//package mx.preloaders
Section 280
//Preloader (mx.preloaders.Preloader) package mx.preloaders { import flash.display.*; import mx.core.*; import flash.events.*; import mx.events.*; import flash.utils.*; public class Preloader extends Sprite { private var app:IEventDispatcher;// = null private var showDisplay:Boolean; private var timer:Timer; private var rslDone:Boolean;// = false private var displayClass:IPreloaderDisplay;// = null private var rslListLoader:RSLListLoader; mx_internal static const VERSION:String = "3.0.0.0"; private function getByteValues():Object{ var _local1:LoaderInfo = root.loaderInfo; var _local2:int = _local1.bytesLoaded; var _local3:int = _local1.bytesTotal; var _local4:int = (rslListLoader) ? rslListLoader.getItemCount() : 0; var _local5:int; while (_local5 < _local4) { _local2 = (_local2 + rslListLoader.getItem(_local5).loaded); _local3 = (_local3 + rslListLoader.getItem(_local5).total); _local5++; }; return ({loaded:_local2, total:_local3}); } private function appProgressHandler(_arg1:Event):void{ dispatchEvent(new FlexEvent(FlexEvent.INIT_PROGRESS)); } private function dispatchAppEndEvent(_arg1:Object=null):void{ dispatchEvent(new FlexEvent(FlexEvent.INIT_COMPLETE)); if (!showDisplay){ displayClassCompleteHandler(null); }; } private function ioErrorHandler(_arg1:IOErrorEvent):void{ } private function appCreationCompleteHandler(_arg1:FlexEvent):void{ dispatchAppEndEvent(); } mx_internal function rslErrorHandler(_arg1:ErrorEvent):void{ var _local2:int = rslListLoader.getIndex(); var _local3:RSLItem = rslListLoader.getItem(_local2); var _local4:RSLEvent = new RSLEvent(RSLEvent.RSL_ERROR); _local4.bytesLoaded = 0; _local4.bytesTotal = 0; _local4.rslIndex = _local2; _local4.rslTotal = rslListLoader.getItemCount(); _local4.url = _local3.urlRequest; _local4.errorText = decodeURI(_arg1.text); dispatchEvent(_local4); } public function initialize(_arg1:Boolean, _arg2:Class, _arg3:uint, _arg4:Number, _arg5:Object, _arg6:String, _arg7:Number, _arg8:Number, _arg9:Array=null, _arg10:Array=null, _arg11:Array=null, _arg12:Array=null):void{ var _local13:int; var _local14:int; var _local15:RSLItem; var _local16:ResourceModuleRSLItem; if (((((!((_arg9 == null))) || (!((_arg10 == null))))) && (!((_arg11 == null))))){ throw (new Error("RSLs may only be specified by using libs and sizes or rslList, not both.")); }; root.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); if (((_arg9) && ((_arg9.length > 0)))){ if (_arg11 == null){ _arg11 = []; }; _local13 = _arg9.length; _local14 = 0; while (_local14 < _local13) { _local15 = new RSLItem(_arg9[_local14]); _arg11.push(_local15); _local14++; }; }; if (((_arg12) && ((_arg12.length > 0)))){ _local13 = _arg12.length; _local14 = 0; while (_local14 < _local13) { _local16 = new ResourceModuleRSLItem(_arg12[_local14]); _arg11.push(_local16); _local14++; }; }; rslListLoader = new RSLListLoader(_arg11); this.showDisplay = _arg1; timer = new Timer(10); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.start(); if (_arg1){ displayClass = new (_arg2); displayClass.addEventListener(Event.COMPLETE, displayClassCompleteHandler); addChild(DisplayObject(displayClass)); displayClass.backgroundColor = _arg3; displayClass.backgroundAlpha = _arg4; displayClass.backgroundImage = _arg5; displayClass.backgroundSize = _arg6; displayClass.stageWidth = _arg7; displayClass.stageHeight = _arg8; displayClass.initialize(); displayClass.preloader = this; }; if (rslListLoader.getItemCount() > 0){ rslListLoader.load(mx_internal::rslProgressHandler, mx_internal::rslCompleteHandler, mx_internal::rslErrorHandler, mx_internal::rslErrorHandler, mx_internal::rslErrorHandler); } else { rslDone = true; }; } mx_internal function rslProgressHandler(_arg1:ProgressEvent):void{ var _local2:int = rslListLoader.getIndex(); var _local3:RSLItem = rslListLoader.getItem(_local2); var _local4:RSLEvent = new RSLEvent(RSLEvent.RSL_PROGRESS); _local4.bytesLoaded = _arg1.bytesLoaded; _local4.bytesTotal = _arg1.bytesTotal; _local4.rslIndex = _local2; _local4.rslTotal = rslListLoader.getItemCount(); _local4.url = _local3.urlRequest; dispatchEvent(_local4); } public function registerApplication(_arg1:IEventDispatcher):void{ _arg1.addEventListener("validatePropertiesComplete", appProgressHandler); _arg1.addEventListener("validateSizeComplete", appProgressHandler); _arg1.addEventListener("validateDisplayListComplete", appProgressHandler); _arg1.addEventListener(FlexEvent.CREATION_COMPLETE, appCreationCompleteHandler); this.app = _arg1; } mx_internal function rslCompleteHandler(_arg1:Event):void{ var _local2:int = rslListLoader.getIndex(); var _local3:RSLItem = rslListLoader.getItem(_local2); var _local4:RSLEvent = new RSLEvent(RSLEvent.RSL_COMPLETE); _local4.bytesLoaded = _local3.total; _local4.bytesTotal = _local3.total; _local4.rslIndex = _local2; _local4.rslTotal = rslListLoader.getItemCount(); _local4.url = _local3.urlRequest; dispatchEvent(_local4); rslDone = ((_local2 + 1) == _local4.rslTotal); } private function timerHandler(_arg1:TimerEvent):void{ if (!root){ return; }; var _local2:Object = getByteValues(); var _local3:int = _local2.loaded; var _local4:int = _local2.total; dispatchEvent(new ProgressEvent(ProgressEvent.PROGRESS, false, false, _local3, _local4)); if (((rslDone) && ((((((((_local3 >= _local4)) && ((_local4 > 0)))) || ((((_local4 == 0)) && ((_local3 > 0)))))) || ((((((root is MovieClip)) && ((MovieClip(root).totalFrames > 2)))) && ((MovieClip(root).framesLoaded >= 2)))))))){ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.reset(); dispatchEvent(new Event(Event.COMPLETE)); dispatchEvent(new FlexEvent(FlexEvent.INIT_PROGRESS)); }; } private function displayClassCompleteHandler(_arg1:Event):void{ if (displayClass){ displayClass.removeEventListener(Event.COMPLETE, displayClassCompleteHandler); }; if (root){ root.loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); }; if (app){ app.removeEventListener("validatePropertiesComplete", appProgressHandler); app.removeEventListener("validateSizeComplete", appProgressHandler); app.removeEventListener("validateDisplayListComplete", appProgressHandler); app.removeEventListener(FlexEvent.CREATION_COMPLETE, appCreationCompleteHandler); app = null; }; dispatchEvent(new FlexEvent(FlexEvent.PRELOADER_DONE)); } } }//package mx.preloaders
Section 281
//IResourceBundle (mx.resources.IResourceBundle) package mx.resources { public interface IResourceBundle { function get content():Object; function get locale():String; function get bundleName():String; } }//package mx.resources
Section 282
//IResourceManager (mx.resources.IResourceManager) package mx.resources { import flash.events.*; import flash.system.*; public interface IResourceManager extends IEventDispatcher { function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher; function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean; function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class; function getLocales():Array; function removeResourceBundlesForLocale(_arg1:String):void; function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle; function get localeChain():Array; function getInt(_arg1:String, _arg2:String, _arg3:String=null):int; function update():void; function set localeChain(_arg1:Array):void; function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint; function addResourceBundle(_arg1:IResourceBundle):void; function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array; function getBundleNamesForLocale(_arg1:String):Array; function removeResourceBundle(_arg1:String, _arg2:String):void; function getObject(_arg1:String, _arg2:String, _arg3:String=null); function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String; function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void; function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void; function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle; function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number; } }//package mx.resources
Section 283
//IResourceModule (mx.resources.IResourceModule) package mx.resources { public interface IResourceModule { function get resourceBundles():Array; } }//package mx.resources
Section 284
//ResourceBundle (mx.resources.ResourceBundle) package mx.resources { import mx.core.*; import flash.system.*; import mx.utils.*; public class ResourceBundle implements IResourceBundle { mx_internal var _locale:String; private var _content:Object; mx_internal var _bundleName:String; mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var backupApplicationDomain:ApplicationDomain; mx_internal static var locale:String; public function ResourceBundle(_arg1:String=null, _arg2:String=null){ _content = {}; super(); mx_internal::_locale = _arg1; mx_internal::_bundleName = _arg2; _content = getContent(); } protected function getContent():Object{ return ({}); } public function getString(_arg1:String):String{ return (String(_getObject(_arg1))); } public function get content():Object{ return (_content); } public function getBoolean(_arg1:String, _arg2:Boolean=true):Boolean{ var _local3:String = _getObject(_arg1).toLowerCase(); if (_local3 == "false"){ return (false); }; if (_local3 == "true"){ return (true); }; return (_arg2); } public function getStringArray(_arg1:String):Array{ var _local2:Array = _getObject(_arg1).split(","); var _local3:int = _local2.length; var _local4:int; while (_local4 < _local3) { _local2[_local4] = StringUtil.trim(_local2[_local4]); _local4++; }; return (_local2); } public function getObject(_arg1:String):Object{ return (_getObject(_arg1)); } private function _getObject(_arg1:String):Object{ var _local2:Object = content[_arg1]; if (!_local2){ throw (new Error(((("Key " + _arg1) + " was not found in resource bundle ") + bundleName))); }; return (_local2); } public function get locale():String{ return (mx_internal::_locale); } public function get bundleName():String{ return (mx_internal::_bundleName); } public function getNumber(_arg1:String):Number{ return (Number(_getObject(_arg1))); } private static function getClassByName(_arg1:String, _arg2:ApplicationDomain):Class{ var _local3:Class; if (_arg2.hasDefinition(_arg1)){ _local3 = (_arg2.getDefinition(_arg1) as Class); }; return (_local3); } public static function getResourceBundle(_arg1:String, _arg2:ApplicationDomain=null):ResourceBundle{ var _local3:String; var _local4:Class; var _local5:Object; var _local6:ResourceBundle; if (!_arg2){ _arg2 = ApplicationDomain.currentDomain; }; _local3 = (((mx_internal::locale + "$") + _arg1) + "_properties"); _local4 = getClassByName(_local3, _arg2); if (!_local4){ _local3 = (_arg1 + "_properties"); _local4 = getClassByName(_local3, _arg2); }; if (!_local4){ _local3 = _arg1; _local4 = getClassByName(_local3, _arg2); }; if (((!(_local4)) && (mx_internal::backupApplicationDomain))){ _local3 = (_arg1 + "_properties"); _local4 = getClassByName(_local3, mx_internal::backupApplicationDomain); if (!_local4){ _local3 = _arg1; _local4 = getClassByName(_local3, mx_internal::backupApplicationDomain); }; }; if (_local4){ _local5 = new (_local4); if ((_local5 is ResourceBundle)){ _local6 = ResourceBundle(_local5); return (_local6); }; }; throw (new Error(("Could not find resource bundle " + _arg1))); } } }//package mx.resources
Section 285
//ResourceManager (mx.resources.ResourceManager) package mx.resources { import mx.core.*; public class ResourceManager { mx_internal static const VERSION:String = "3.0.0.0"; private static var implClassDependency:ResourceManagerImpl; private static var instance:IResourceManager; public static function getInstance():IResourceManager{ if (!instance){ instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager")); }; return (instance); } } }//package mx.resources
Section 286
//ResourceManagerImpl (mx.resources.ResourceManagerImpl) package mx.resources { import mx.core.*; import flash.events.*; import mx.events.*; import flash.system.*; import mx.modules.*; import flash.utils.*; import mx.utils.*; public class ResourceManagerImpl extends EventDispatcher implements IResourceManager { private var resourceModules:Object; private var initializedForNonFrameworkApp:Boolean;// = false private var localeMap:Object; private var _localeChain:Array; mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:IResourceManager; public function ResourceManagerImpl(){ localeMap = {}; resourceModules = {}; super(); } public function get localeChain():Array{ return (_localeChain); } public function set localeChain(_arg1:Array):void{ _localeChain = _arg1; update(); } public function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (null); }; var _local5:* = _local4.content[_arg2]; var _local6:Array = String(_local5).split(","); var _local7:int = _local6.length; var _local8:int; while (_local8 < _local7) { _local6[_local8] = StringUtil.trim(_local6[_local8]); _local8++; }; return (_local6); } mx_internal function installCompiledResourceBundle(_arg1:ApplicationDomain, _arg2:String, _arg3:String):void{ var _local4:String; var _local5:String = _arg3; var _local6:int = _arg3.indexOf(":"); if (_local6 != -1){ _local4 = _arg3.substring(0, _local6); _local5 = _arg3.substring((_local6 + 1)); }; if (getResourceBundle(_arg2, _arg3)){ return; }; var _local7 = (((_arg2 + "$") + _local5) + "_properties"); if (_local4 != null){ _local7 = ((_local4 + ".") + _local7); }; var _local8:Class; if (_arg1.hasDefinition(_local7)){ _local8 = Class(_arg1.getDefinition(_local7)); }; if (!_local8){ _local7 = _arg3; if (_arg1.hasDefinition(_local7)){ _local8 = Class(_arg1.getDefinition(_local7)); }; }; if (!_local8){ _local7 = (_arg3 + "_properties"); if (_arg1.hasDefinition(_local7)){ _local8 = Class(_arg1.getDefinition(_local7)); }; }; if (!_local8){ throw (new Error((((("Could not find compiled resource bundle '" + _arg3) + "' for locale '") + _arg2) + "'."))); }; var _local9:ResourceBundle = ResourceBundle(new (_local8)); _local9.mx_internal::_locale = _arg2; _local9.mx_internal::_bundleName = _arg3; addResourceBundle(_local9); } public function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String{ var _local5:IResourceBundle = findBundle(_arg1, _arg2, _arg4); if (!_local5){ return (null); }; var _local6:String = String(_local5.content[_arg2]); if (_arg3){ _local6 = StringUtil.substitute(_local6, _arg3); }; return (_local6); } public function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{ var moduleInfo:IModuleInfo; var resourceEventDispatcher:ResourceEventDispatcher; var timer:Timer; var timerHandler:Function; var url = _arg1; var updateFlag = _arg2; var applicationDomain = _arg3; var securityDomain = _arg4; moduleInfo = ModuleManager.getModule(url); resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo); var readyHandler:Function = function (_arg1:ModuleEvent):void{ var _local2:* = _arg1.module.factory.create(); resourceModules[_arg1.module.url].resourceModule = _local2; if (updateFlag){ update(); }; }; moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true); var errorHandler:Function = function (_arg1:ModuleEvent):void{ var _local3:ResourceEvent; var _local2:String = ("Unable to load resource module from " + url); if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){ _local3 = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local3.bytesLoaded = 0; _local3.bytesTotal = 0; _local3.errorText = _local2; resourceEventDispatcher.dispatchEvent(_local3); } else { throw (new Error(_local2)); }; }; moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true); resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler); timer = new Timer(0); timerHandler = function (_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.stop(); moduleInfo.load(applicationDomain, securityDomain); }; timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true); timer.start(); return (resourceEventDispatcher); } public function getLocales():Array{ var _local2:String; var _local1:Array = []; for (_local2 in localeMap) { _local1.push(_local2); }; return (_local1); } public function removeResourceBundlesForLocale(_arg1:String):void{ delete localeMap[_arg1]; } public function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle{ var _local3:Object = localeMap[_arg1]; if (!_local3){ return (null); }; return (_local3[_arg2]); } private function dumpResourceModule(_arg1):void{ var _local2:ResourceBundle; var _local3:String; for each (_local2 in _arg1.resourceBundles) { trace(_local2.locale, _local2.bundleName); for (_local3 in _local2.content) { }; }; } public function getObject(_arg1:String, _arg2:String, _arg3:String=null){ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (undefined); }; return (_local4.content[_arg2]); } public function addResourceBundle(_arg1:IResourceBundle):void{ var _local2:String = _arg1.locale; var _local3:String = _arg1.bundleName; if (!localeMap[_local2]){ localeMap[_local2] = {}; }; localeMap[_local2][_local3] = _arg1; } private function findBundle(_arg1:String, _arg2:String, _arg3:String):IResourceBundle{ supportNonFrameworkApps(); return (((_arg3)!=null) ? getResourceBundle(_arg3, _arg1) : findResourceBundleWithResource(_arg1, _arg2)); } public function getInt(_arg1:String, _arg2:String, _arg3:String=null):int{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (0); }; var _local5:* = _local4.content[_arg2]; return (int(_local5)); } private function supportNonFrameworkApps():void{ if (initializedForNonFrameworkApp){ return; }; initializedForNonFrameworkApp = true; if (getLocales().length > 0){ return; }; var _local1:ApplicationDomain = ApplicationDomain.currentDomain; if (!_local1.hasDefinition("_CompiledResourceBundleInfo")){ return; }; var _local2:Class = Class(_local1.getDefinition("_CompiledResourceBundleInfo")); var _local3:Array = _local2.compiledLocales; var _local4:Array = _local2.compiledResourceBundleNames; installCompiledResourceBundles(_local1, _local3, _local4); localeChain = _local3; } public function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (null); }; var _local5:* = _local4.content[_arg2]; return ((_local5 as Class)); } public function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (NaN); }; var _local5:* = _local4.content[_arg2]; return (Number(_local5)); } public function update():void{ dispatchEvent(new Event(Event.CHANGE)); } public function getBundleNamesForLocale(_arg1:String):Array{ var _local3:String; var _local2:Array = []; for (_local3 in localeMap[_arg1]) { _local2.push(_local3); }; return (_local2); } public function removeResourceBundle(_arg1:String, _arg2:String):void{ delete localeMap[_arg1][_arg2]; if (getBundleNamesForLocale(_arg1).length == 0){ delete localeMap[_arg1]; }; } public function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void{ var _local7:String; var _local8:int; var _local9:String; var _local4:int = (_arg2) ? _arg2.length : 0; var _local5:int = (_arg3) ? _arg3.length : 0; var _local6:int; while (_local6 < _local4) { _local7 = _arg2[_local6]; _local8 = 0; while (_local8 < _local5) { _local9 = _arg3[_local8]; mx_internal::installCompiledResourceBundle(_arg1, _local7, _local9); _local8++; }; _local6++; }; } public function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle{ var _local5:String; var _local6:Object; var _local7:ResourceBundle; if (!_localeChain){ return (null); }; var _local3:int = _localeChain.length; var _local4:int; while (_local4 < _local3) { _local5 = localeChain[_local4]; _local6 = localeMap[_local5]; if (!_local6){ } else { _local7 = _local6[_arg1]; if (!_local7){ } else { if ((_arg2 in _local7.content)){ return (_local7); }; }; }; _local4++; }; return (null); } public function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (0); }; var _local5:* = _local4.content[_arg2]; return (uint(_local5)); } public function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (false); }; var _local5:* = _local4.content[_arg2]; return ((String(_local5).toLowerCase() == "true")); } public function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void{ throw (new Error("unloadResourceModule() is not yet implemented.")); } public static function getInstance():IResourceManager{ if (!instance){ instance = new (ResourceManagerImpl); }; return (instance); } } }//package mx.resources import flash.events.*; import mx.events.*; import mx.modules.*; class ResourceModuleInfo { public var resourceModule:IResourceModule; public var errorHandler:Function; public var readyHandler:Function; public var moduleInfo:IModuleInfo; private function ResourceModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){ this.moduleInfo = _arg1; this.readyHandler = _arg2; this.errorHandler = _arg3; } } class ResourceEventDispatcher extends EventDispatcher { private function ResourceEventDispatcher(_arg1:IModuleInfo){ _arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true); } private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{ var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{ var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE); dispatchEvent(_local2); } private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{ var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; _local2.errorText = _arg1.errorText; dispatchEvent(_local2); } }
Section 287
//AbstractEvent (mx.rpc.events.AbstractEvent) package mx.rpc.events { import mx.rpc.*; import mx.messaging.events.*; import mx.messaging.messages.*; public class AbstractEvent extends MessageEvent { private var _token:AsyncToken; public function AbstractEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=true, _arg4:AsyncToken=null, _arg5:IMessage=null){ super(_arg1, _arg2, _arg3, _arg5); _token = _arg4; } public function get token():AsyncToken{ return (_token); } mx_internal function callTokenResponders():void{ } } }//package mx.rpc.events
Section 288
//FaultEvent (mx.rpc.events.FaultEvent) package mx.rpc.events { import flash.events.*; import mx.rpc.*; import mx.messaging.events.*; import mx.messaging.messages.*; public class FaultEvent extends AbstractEvent { private var _headers:Object; private var _fault:Fault; public static const FAULT:String = "fault"; public function FaultEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=true, _arg4:Fault=null, _arg5:AsyncToken=null, _arg6:IMessage=null){ super(_arg1, _arg2, _arg3, _arg5, _arg6); _fault = _arg4; } public function get fault():Fault{ return (_fault); } override mx_internal function callTokenResponders():void{ if (token != null){ token.applyFault(this); }; } public function get headers():Object{ return (_headers); } public function set headers(_arg1:Object):void{ _headers = _arg1; } override public function toString():String{ return (formatToString("FaultEvent", "fault", "messageId", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new FaultEvent(type, bubbles, cancelable, fault, token, message)); } public static function createEventFromMessageFault(_arg1:MessageFaultEvent, _arg2:AsyncToken=null):FaultEvent{ var _local3:Fault = new Fault(_arg1.faultCode, _arg1.faultString, _arg1.faultDetail); _local3.rootCause = _arg1.rootCause; return (new FaultEvent(FaultEvent.FAULT, false, true, _local3, _arg2, _arg1.message)); } public static function createEvent(_arg1:Fault, _arg2:AsyncToken=null, _arg3:IMessage=null):FaultEvent{ return (new FaultEvent(FaultEvent.FAULT, false, true, _arg1, _arg2, _arg3)); } } }//package mx.rpc.events
Section 289
//InvokeEvent (mx.rpc.events.InvokeEvent) package mx.rpc.events { import flash.events.*; import mx.rpc.*; import mx.messaging.messages.*; public class InvokeEvent extends AbstractEvent { public static const INVOKE:String = "invoke"; public function InvokeEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:AsyncToken=null, _arg5:IMessage=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); } override public function toString():String{ return (formatToString("InvokeEvent", "messageId", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new InvokeEvent(type, bubbles, cancelable, token, message)); } public static function createEvent(_arg1:AsyncToken=null, _arg2:IMessage=null):InvokeEvent{ return (new InvokeEvent(InvokeEvent.INVOKE, false, false, _arg1, _arg2)); } } }//package mx.rpc.events
Section 290
//ResultEvent (mx.rpc.events.ResultEvent) package mx.rpc.events { import flash.events.*; import mx.rpc.*; import mx.messaging.messages.*; public class ResultEvent extends AbstractEvent { private var _headers:Object; private var _result:Object; public static const RESULT:String = "result"; public function ResultEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=true, _arg4:Object=null, _arg5:AsyncToken=null, _arg6:IMessage=null){ super(_arg1, _arg2, _arg3, _arg5, _arg6); _result = _arg4; } override public function clone():Event{ return (new ResultEvent(type, bubbles, cancelable, result, token, message)); } public function get headers():Object{ return (_headers); } public function set headers(_arg1:Object):void{ _headers = _arg1; } override public function toString():String{ return (formatToString("ResultEvent", "messageId", "type", "bubbles", "cancelable", "eventPhase")); } public function get result():Object{ return (_result); } override mx_internal function callTokenResponders():void{ if (token != null){ token.applyResult(this); }; } public static function createEvent(_arg1:Object=null, _arg2:AsyncToken=null, _arg3:IMessage=null):ResultEvent{ return (new ResultEvent(ResultEvent.RESULT, false, true, _arg1, _arg2, _arg3)); } } }//package mx.rpc.events
Section 291
//HTTPService (mx.rpc.http.mxml.HTTPService) package mx.rpc.http.mxml { import mx.core.*; import mx.managers.*; import flash.events.*; import mx.resources.*; import mx.rpc.events.*; import mx.rpc.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.rpc.http.*; import mx.rpc.mxml.*; public class HTTPService extends HTTPService implements IMXMLSupport, IMXMLObject { private var id:String; private var document:Object; private var _showBusyCursor:Boolean; private var _concurrency:String; private var resourceManager:IResourceManager; public function HTTPService(_arg1:String=null, _arg2:String=null){ resourceManager = ResourceManager.getInstance(); super(_arg1, _arg2); showBusyCursor = false; concurrency = Concurrency.MULTIPLE; } override public function send(_arg1:Object=null):AsyncToken{ var _local2:AsyncToken; var _local3:String; var _local4:Fault; var _local5:FaultEvent; if ((((Concurrency.SINGLE == concurrency)) && (activeCalls.hasActiveCalls()))){ _local2 = new AsyncToken(null); _local3 = resourceManager.getString("rpc", "pendingCallExists"); _local4 = new Fault("ConcurrencyError", _local3); _local5 = FaultEvent.createEvent(_local4, _local2); new AsyncDispatcher(dispatchRpcEvent, [_local5], 10); return (_local2); }; return (super.send(_arg1)); } override mx_internal function dispatchRpcEvent(_arg1:AbstractEvent):void{ var _local2:ErrorEvent; _arg1.callTokenResponders(); if (!_arg1.isDefaultPrevented()){ if (hasEventListener(_arg1.type)){ dispatchEvent(_arg1); } else { if ((((_arg1 is FaultEvent)) && ((((_arg1.token == null)) || (!(_arg1.token.hasResponder())))))){ if (((document) && (document.willTrigger(ErrorEvent.ERROR)))){ _local2 = new ErrorEvent(ErrorEvent.ERROR, true, true); _local2.text = FaultEvent(_arg1).fault.faultString; document.dispatchEvent(_local2); } else { throw (FaultEvent(_arg1).fault); }; }; }; }; } public function get concurrency():String{ return (_concurrency); } public function set showBusyCursor(_arg1:Boolean):void{ _showBusyCursor = _arg1; } public function initialized(_arg1:Object, _arg2:String):void{ this.id = _arg2; this.document = _arg1; } public function get showBusyCursor():Boolean{ return (_showBusyCursor); } public function set concurrency(_arg1:String):void{ _concurrency = _arg1; } override mx_internal function preHandle(_arg1:MessageEvent):AsyncToken{ if (showBusyCursor){ CursorManager.removeBusyCursor(); }; var _local2:Boolean = activeCalls.wasLastCall(AsyncMessage(_arg1.message).correlationId); var _local3:AsyncToken = super.preHandle(_arg1); if ((((Concurrency.LAST == concurrency)) && (!(_local2)))){ return (null); }; return (_local3); } override mx_internal function invoke(_arg1:IMessage, _arg2:AsyncToken=null):AsyncToken{ if (showBusyCursor){ CursorManager.setBusyCursor(); }; return (super.invoke(_arg1, _arg2)); } override public function cancel(_arg1:String=null):AsyncToken{ if (showBusyCursor){ CursorManager.removeBusyCursor(); }; return (super.cancel(_arg1)); } } }//package mx.rpc.http.mxml
Section 292
//HTTPService (mx.rpc.http.HTTPService) package mx.rpc.http { import mx.resources.*; import mx.collections.*; import mx.rpc.events.*; import flash.utils.*; import mx.rpc.*; import mx.messaging.messages.*; import mx.messaging.*; import mx.logging.*; import flash.xml.*; import mx.messaging.channels.*; import mx.utils.*; import mx.messaging.config.*; import mx.rpc.xml.*; public class HTTPService extends AbstractInvoker { private var _log:ILogger; public var headers:Object; public var request:Object; private var _resultFormat:String;// = "object" public var xmlEncode:Function; private var _useProxy:Boolean;// = false public var contentType:String;// = "application/x-www-form-urlencoded" public var method:String;// = "GET" public var xmlDecode:Function; mx_internal var _rootURL:String; private var _url:String; private var resourceManager:IResourceManager; public static const RESULT_FORMAT_E4X:String = "e4x"; public static const ERROR_URL_REQUIRED:String = "Client.URLRequired"; public static const RESULT_FORMAT_XML:String = "xml"; public static const CONTENT_TYPE_FORM:String = "application/x-www-form-urlencoded"; public static const RESULT_FORMAT_TEXT:String = "text"; public static const RESULT_FORMAT_FLASHVARS:String = "flashvars"; public static const DEFAULT_DESTINATION_HTTP:String = "DefaultHTTP"; public static const CONTENT_TYPE_XML:String = "application/xml"; public static const ERROR_ENCODING:String = "Client.CouldNotEncode"; public static const RESULT_FORMAT_ARRAY:String = "array"; public static const DEFAULT_DESTINATION_HTTPS:String = "DefaultHTTPS"; public static const RESULT_FORMAT_OBJECT:String = "object"; public static const ERROR_DECODING:String = "Client.CouldNotDecode"; private static var _directChannelSet:ChannelSet; public function HTTPService(_arg1:String=null, _arg2:String=null){ resourceManager = ResourceManager.getInstance(); headers = {}; request = {}; super(); asyncRequest = new AsyncRequest(); makeObjectsBindable = true; if (_arg2 == null){ if (URLUtil.isHttpsURL(LoaderConfig.url)){ asyncRequest.destination = DEFAULT_DESTINATION_HTTPS; } else { asyncRequest.destination = DEFAULT_DESTINATION_HTTP; }; } else { asyncRequest.destination = _arg2; useProxy = true; }; _log = Log.getLogger("mx.rpc.http.HTTPService"); } private function getDirectChannelSet():ChannelSet{ var _local1:ChannelSet; if (_directChannelSet == null){ _local1 = new ChannelSet(); _local1.addChannel(new DirectHTTPChannel("direct_http_channel")); _directChannelSet = _local1; }; return (_directChannelSet); } public function send(_arg1:Object=null):AsyncToken{ var _local2:Object; var _local3:AsyncToken; var _local4:Fault; var _local5:FaultEvent; var _local6:String; var _local8:Object; var _local9:SimpleXMLEncoder; var _local10:XMLDocument; var _local11:Array; var _local12:int; var _local13:Object; var _local14:Object; var _local15:*; var _local16:ChannelSet; if (_arg1 == null){ _arg1 = request; }; if (contentType == CONTENT_TYPE_XML){ if (((!((_arg1 is XMLNode))) && (!((_arg1 is XML))))){ if (xmlEncode != null){ _local8 = xmlEncode(_arg1); if (null == _local8){ _local3 = new AsyncToken(null); _local6 = resourceManager.getString("rpc", "xmlEncodeReturnNull"); _local4 = new Fault(ERROR_ENCODING, _local6); _local5 = FaultEvent.createEvent(_local4, _local3); new AsyncDispatcher(dispatchRpcEvent, [_local5], 10); return (_local3); }; if (!(_local8 is XMLNode)){ _local3 = new AsyncToken(null); _local6 = resourceManager.getString("rpc", "xmlEncodeReturnNoXMLNode"); _local4 = new Fault(ERROR_ENCODING, _local6); _local5 = FaultEvent.createEvent(_local4, _local3); new AsyncDispatcher(dispatchRpcEvent, [_local5], 10); return (_local3); }; _local2 = XMLNode(_local8).toString(); } else { _local9 = new SimpleXMLEncoder(null); _local10 = new XMLDocument(); _local11 = _local9.encodeValue(_arg1, new QName(null, "encoded"), new XMLNode(1, "top")).childNodes.concat(); _local12 = 0; while (_local12 < _local11.length) { _local10.appendChild(_local11[_local12]); _local12++; }; _local2 = _local10.toString(); }; } else { _local2 = XML(_arg1).toXMLString(); }; } else { if (contentType == CONTENT_TYPE_FORM){ _local2 = {}; _local14 = ObjectUtil.getClassInfo(_arg1); for each (_local15 in _local14.properties) { _local13 = _arg1[_local15]; if (_local13 != null){ if ((_local13 is Array)){ _local2[_local15] = _local13; } else { _local2[_local15] = _local13.toString(); }; }; }; } else { _local2 = _arg1; }; }; var _local7:HTTPRequestMessage = new HTTPRequestMessage(); if (useProxy){ if (((url) && (!((url == ""))))){ _local7.url = URLUtil.getFullURL(rootURL, url); }; } else { if (!url){ _local3 = new AsyncToken(null); _local6 = resourceManager.getString("rpc", "urlNotSpecified"); _local4 = new Fault(ERROR_URL_REQUIRED, _local6); _local5 = FaultEvent.createEvent(_local4, _local3); new AsyncDispatcher(dispatchRpcEvent, [_local5], 10); return (_local3); }; if (!useProxy){ _local16 = getDirectChannelSet(); if (_local16 != asyncRequest.channelSet){ asyncRequest.channelSet = _local16; }; }; _local7.url = url; }; _local7.contentType = contentType; _local7.method = method.toUpperCase(); if ((((contentType == CONTENT_TYPE_XML)) && ((_local7.method == HTTPRequestMessage.GET_METHOD)))){ _local7.method = HTTPRequestMessage.POST_METHOD; }; _local7.body = _local2; _local7.httpHeaders = headers; return (invoke(_local7)); } private function decodeArray(_arg1:Object):Object{ var _local2:Array; if ((_arg1 is Array)){ _local2 = (_arg1 as Array); } else { if ((_arg1 is ArrayCollection)){ return (_arg1); }; _local2 = []; _local2.push(_arg1); }; if (makeObjectsBindable){ return (new ArrayCollection(_local2)); }; return (_local2); } public function set channelSet(_arg1:ChannelSet):void{ useProxy = true; asyncRequest.channelSet = _arg1; } public function get destination():String{ return (asyncRequest.destination); } public function get requestTimeout():int{ return (asyncRequest.requestTimeout); } public function logout():void{ asyncRequest.logout(); } public function set useProxy(_arg1:Boolean):void{ var _local2:ChannelSet; if (_arg1 != _useProxy){ _useProxy = _arg1; _local2 = getDirectChannelSet(); if (!useProxy){ if (_local2 != asyncRequest.channelSet){ asyncRequest.channelSet = _local2; }; } else { if (asyncRequest.channelSet == _local2){ asyncRequest.channelSet = null; }; }; }; } public function get channelSet():ChannelSet{ return (asyncRequest.channelSet); } public function set destination(_arg1:String):void{ useProxy = true; asyncRequest.destination = _arg1; } public function set requestTimeout(_arg1:int):void{ if (asyncRequest.requestTimeout != _arg1){ asyncRequest.requestTimeout = _arg1; }; } public function set url(_arg1:String):void{ _url = _arg1; } public function get useProxy():Boolean{ return (_useProxy); } public function set resultFormat(_arg1:String):void{ var _local2:String; switch (_arg1){ case RESULT_FORMAT_OBJECT: case RESULT_FORMAT_ARRAY: case RESULT_FORMAT_XML: case RESULT_FORMAT_E4X: case RESULT_FORMAT_TEXT: case RESULT_FORMAT_FLASHVARS: break; default: _local2 = resourceManager.getString("rpc", "invalidResultFormat", [_arg1, RESULT_FORMAT_OBJECT, RESULT_FORMAT_ARRAY, RESULT_FORMAT_XML, RESULT_FORMAT_E4X, RESULT_FORMAT_TEXT, RESULT_FORMAT_FLASHVARS]); throw (new ArgumentError(_local2)); }; _resultFormat = _arg1; } public function set rootURL(_arg1:String):void{ _rootURL = _arg1; } public function disconnect():void{ asyncRequest.disconnect(); } public function get url():String{ return (_url); } public function get resultFormat():String{ return (_resultFormat); } public function setRemoteCredentials(_arg1:String, _arg2:String, _arg3:String=null):void{ asyncRequest.setRemoteCredentials(_arg1, _arg2, _arg3); } private function decodeParameterString(_arg1:String):Object{ var _local6:String; var _local7:int; var _local8:String; var _local9:String; var _local2:String = StringUtil.trim(_arg1); var _local3:Array = _local2.split("&"); var _local4:Object = {}; var _local5:int; while (_local5 < _local3.length) { _local6 = _local3[_local5]; _local7 = _local6.indexOf("="); if (_local7 != -1){ _local8 = unescape(_local6.substr(0, _local7)); _local8 = _local8.split("+").join(" "); _local9 = unescape(_local6.substr((_local7 + 1))); _local9 = _local9.split("+").join(" "); _local4[_local8] = _local9; }; _local5++; }; return (_local4); } public function setCredentials(_arg1:String, _arg2:String, _arg3:String=null):void{ asyncRequest.setCredentials(_arg1, _arg2, _arg3); } override mx_internal function processResult(_arg1:IMessage, _arg2:AsyncToken):Boolean{ var tmp:Object; var fault:Fault; var decoded:Object; var msg:String; var fault1:Fault; var decoder:SimpleXMLDecoder; var fault2:Fault; var fault3:Fault; var message = _arg1; var token = _arg2; var body:Object = message.body; _log.info("Decoding HTTPService response"); _log.debug("Processing HTTPService response message:\n{0}", message); if ((((body == null)) || (((((!((body == null))) && ((body is String)))) && ((StringUtil.trim(String(body)) == "")))))){ _result = body; return (true); }; if ((body is String)){ if ((((((resultFormat == RESULT_FORMAT_XML)) || ((resultFormat == RESULT_FORMAT_OBJECT)))) || ((resultFormat == RESULT_FORMAT_ARRAY)))){ tmp = new XMLDocument(); XMLDocument(tmp).ignoreWhite = true; try { XMLDocument(tmp).parseXML(String(body)); } catch(parseError:Error) { fault = new Fault(ERROR_DECODING, parseError.message); dispatchRpcEvent(FaultEvent.createEvent(fault, token, message)); return (false); }; if ((((resultFormat == RESULT_FORMAT_OBJECT)) || ((resultFormat == RESULT_FORMAT_ARRAY)))){ if (xmlDecode != null){ decoded = xmlDecode(tmp); if (decoded == null){ msg = resourceManager.getString("rpc", "xmlDecodeReturnNull"); fault1 = new Fault(ERROR_DECODING, msg); dispatchRpcEvent(FaultEvent.createEvent(fault1, token, message)); }; } else { decoder = new SimpleXMLDecoder(makeObjectsBindable); decoded = decoder.decodeXML(XMLNode(tmp)); if (decoded == null){ msg = resourceManager.getString("rpc", "defaultDecoderFailed"); fault2 = new Fault(ERROR_DECODING, msg); dispatchRpcEvent(FaultEvent.createEvent(fault2, token, message)); }; }; if (decoded == null){ return (false); }; if (((makeObjectsBindable) && ((getQualifiedClassName(decoded) == "Object")))){ decoded = new ObjectProxy(decoded); } else { decoded = decoded; }; if (resultFormat == RESULT_FORMAT_ARRAY){ decoded = decodeArray(decoded); }; _result = decoded; } else { if (tmp.childNodes.length == 1){ tmp = tmp.firstChild; }; _result = tmp; }; } else { if (resultFormat == RESULT_FORMAT_E4X){ try { _result = new XML(String(body)); } catch(error:Error) { fault3 = new Fault(ERROR_DECODING, error.message); dispatchRpcEvent(FaultEvent.createEvent(fault3, token, message)); return (false); }; } else { if (resultFormat == RESULT_FORMAT_FLASHVARS){ _result = decodeParameterString(String(body)); } else { _result = body; }; }; }; } else { if (resultFormat == RESULT_FORMAT_ARRAY){ body = decodeArray(body); }; _result = body; }; return (true); } public function get rootURL():String{ if (_rootURL == null){ _rootURL = LoaderConfig.url; }; return (_rootURL); } } }//package mx.rpc.http
Section 293
//Concurrency (mx.rpc.mxml.Concurrency) package mx.rpc.mxml { public final class Concurrency { public static const MULTIPLE:String = "multiple"; public static const LAST:String = "last"; public static const SINGLE:String = "single"; } }//package mx.rpc.mxml
Section 294
//IMXMLSupport (mx.rpc.mxml.IMXMLSupport) package mx.rpc.mxml { public interface IMXMLSupport { function set showBusyCursor(_arg1:Boolean):void; function get concurrency():String; function get showBusyCursor():Boolean; function set concurrency(_arg1:String):void; } }//package mx.rpc.mxml
Section 295
//ComplexString (mx.rpc.xml.ComplexString) package mx.rpc.xml { import mx.rpc.xml.*; dynamic class ComplexString { public var value:String; function ComplexString(_arg1:String){ value = _arg1; } public function valueOf():Object{ return (SimpleXMLDecoder.simpleType(value)); } public function toString():String{ return (value); } } }//package mx.rpc.xml
Section 296
//SimpleXMLDecoder (mx.rpc.xml.SimpleXMLDecoder) package mx.rpc.xml { import mx.collections.*; import flash.xml.*; import mx.utils.*; public class SimpleXMLDecoder { private var makeObjectsBindable:Boolean; public function SimpleXMLDecoder(_arg1:Boolean=false){ this.makeObjectsBindable = _arg1; } public function decodeXML(_arg1:XMLNode):Object{ var _local2:Object; var _local6:String; var _local7:uint; var _local8:XMLNode; var _local9:String; var _local10:Object; var _local11:Object; var _local3:Boolean; if (_arg1 == null){ return (null); }; var _local4:Array = _arg1.childNodes; if ((((_local4.length == 1)) && ((_local4[0].nodeType == XMLNodeType.TEXT_NODE)))){ _local3 = true; _local2 = SimpleXMLDecoder.simpleType(_local4[0].nodeValue); } else { if (_local4.length > 0){ _local2 = {}; if (makeObjectsBindable){ _local2 = new ObjectProxy(_local2); }; _local7 = 0; while (_local7 < _local4.length) { _local8 = _local4[_local7]; if (_local8.nodeType != XMLNodeType.ELEMENT_NODE){ } else { _local9 = getLocalName(_local8); _local10 = decodeXML(_local8); _local11 = _local2[_local9]; if (_local11 != null){ if ((_local11 is Array)){ _local11.push(_local10); } else { if ((_local11 is ArrayCollection)){ _local11.source.push(_local10); } else { _local11 = [_local11]; _local11.push(_local10); if (makeObjectsBindable){ _local11 = new ArrayCollection((_local11 as Array)); }; _local2[_local9] = _local11; }; }; } else { _local2[_local9] = _local10; }; }; _local7++; }; }; }; var _local5:Object = _arg1.attributes; for (_local6 in _local5) { if ((((_local6 == "xmlns")) || (!((_local6.indexOf("xmlns:") == -1))))){ } else { if (_local2 == null){ _local2 = {}; if (makeObjectsBindable){ _local2 = new ObjectProxy(_local2); }; }; if (((_local3) && (!((_local2 is ComplexString))))){ _local2 = new ComplexString(_local2.toString()); _local3 = false; }; _local2[_local6] = SimpleXMLDecoder.simpleType(_local5[_local6]); }; }; return (_local2); } public static function getLocalName(_arg1:XMLNode):String{ var _local2:String = _arg1.nodeName; var _local3:int = _local2.indexOf(":"); if (_local3 != -1){ _local2 = _local2.substring((_local3 + 1)); }; return (_local2); } public static function simpleType(_arg1:Object):Object{ var _local3:String; var _local4:String; var _local2:Object = _arg1; if (_arg1 != null){ if ((((_arg1 is String)) && ((String(_arg1) == "")))){ _local2 = _arg1.toString(); } else { if (((((((isNaN(Number(_arg1))) || ((_arg1.charAt(0) == "0")))) || ((((_arg1.charAt(0) == "-")) && ((_arg1.charAt(1) == "0")))))) || ((_arg1.charAt((_arg1.length - 1)) == "E")))){ _local3 = _arg1.toString(); _local4 = _local3.toLowerCase(); if (_local4 == "true"){ _local2 = true; } else { if (_local4 == "false"){ _local2 = false; } else { _local2 = _local3; }; }; } else { _local2 = Number(_arg1); }; }; }; return (_local2); } } }//package mx.rpc.xml
Section 297
//SimpleXMLEncoder (mx.rpc.xml.SimpleXMLEncoder) package mx.rpc.xml { import flash.xml.*; import mx.utils.*; public class SimpleXMLEncoder { private var myXMLDoc:XMLDocument; private static const ARRAY_TYPE:uint = 6; private static const DOC_TYPE:uint = 13; private static const XML_TYPE:uint = 5; private static const HEX_BINARY_TYPE:uint = 18; private static const FUNCTION_TYPE:uint = 15; private static const OBJECT_TYPE:uint = 2; private static const CLASS_INFO_OPTIONS:Object = {includeReadOnly:false, includeTransient:false}; private static const ANY_TYPE:uint = 8; private static const BASE64_BINARY_TYPE:uint = 17; private static const BOOLEAN_TYPE:uint = 4; private static const ROWSET_TYPE:uint = 11; private static const MAP_TYPE:uint = 7; private static const SCHEMA_TYPE:uint = 14; private static const STRING_TYPE:uint = 1; private static const DATE_TYPE:uint = 3; private static const NUMBER_TYPE:uint = 0; private static const QBEAN_TYPE:uint = 12; private static const ELEMENT_TYPE:uint = 16; public function SimpleXMLEncoder(_arg1:XMLDocument){ this.myXMLDoc = (_arg1) ? _arg1 : new XMLDocument(); } public function encodeValue(_arg1:Object, _arg2:QName, _arg3:XMLNode):XMLNode{ var _local4:XMLNode; var _local6:Object; var _local7:Array; var _local8:uint; var _local9:uint; var _local10:String; var _local11:QName; var _local12:uint; var _local13:QName; var _local14:uint; var _local15:String; var _local16:XMLNode; var _local17:String; var _local18:String; if (_arg1 == null){ return (null); }; var _local5:uint = getDataTypeFromObject(_arg1); if (_local5 == SimpleXMLEncoder.FUNCTION_TYPE){ return (null); }; if (_local5 == SimpleXMLEncoder.XML_TYPE){ _local4 = _arg1.cloneNode(true); _arg3.appendChild(_local4); return (_local4); }; _local4 = myXMLDoc.createElement("foo"); _local4.nodeName = _arg2.localName; _arg3.appendChild(_local4); if (_local5 == SimpleXMLEncoder.OBJECT_TYPE){ _local6 = ObjectUtil.getClassInfo(_arg1, null, CLASS_INFO_OPTIONS); _local7 = _local6.properties; _local8 = _local7.length; _local9 = 0; while (_local9 < _local8) { _local10 = _local7[_local9]; _local11 = new QName("", _local10); encodeValue(_arg1[_local10], _local11, _local4); _local9++; }; } else { if (_local5 == SimpleXMLEncoder.ARRAY_TYPE){ _local12 = _arg1.length; _local13 = new QName("", "item"); _local14 = 0; while (_local14 < _local12) { encodeValue(_arg1[_local14], _local13, _local4); _local14++; }; } else { if (_local5 == SimpleXMLEncoder.DATE_TYPE){ _local15 = encodeDate((_arg1 as Date), "dateTime"); } else { if (_local5 == SimpleXMLEncoder.NUMBER_TYPE){ if (_arg1 == Number.POSITIVE_INFINITY){ _local15 = "INF"; } else { if (_arg1 == Number.NEGATIVE_INFINITY){ _local15 = "-INF"; } else { _local17 = _arg1.toString(); _local18 = _local17.substr(0, 2); if ((((_local18 == "0X")) || ((_local18 == "0x")))){ _local15 = parseInt(_local17).toString(); } else { _local15 = _local17; }; }; }; } else { _local15 = _arg1.toString(); }; }; _local16 = myXMLDoc.createTextNode(_local15); _local4.appendChild(_local16); }; }; return (_local4); } private function getDataTypeFromObject(_arg1:Object):uint{ if ((_arg1 is Number)){ return (SimpleXMLEncoder.NUMBER_TYPE); }; if ((_arg1 is Boolean)){ return (SimpleXMLEncoder.BOOLEAN_TYPE); }; if ((_arg1 is String)){ return (SimpleXMLEncoder.STRING_TYPE); }; if ((_arg1 is XMLDocument)){ return (SimpleXMLEncoder.XML_TYPE); }; if ((_arg1 is Date)){ return (SimpleXMLEncoder.DATE_TYPE); }; if ((_arg1 is Array)){ return (SimpleXMLEncoder.ARRAY_TYPE); }; if ((_arg1 is Function)){ return (SimpleXMLEncoder.FUNCTION_TYPE); }; if ((_arg1 is Object)){ return (SimpleXMLEncoder.OBJECT_TYPE); }; return (SimpleXMLEncoder.STRING_TYPE); } static function encodeDate(_arg1:Date, _arg2:String):String{ var _local4:Number; var _local3:String = new String(); if ((((_arg2 == "dateTime")) || ((_arg2 == "date")))){ _local3 = _local3.concat(_arg1.getUTCFullYear(), "-"); _local4 = (_arg1.getUTCMonth() + 1); if (_local4 < 10){ _local3 = _local3.concat("0"); }; _local3 = _local3.concat(_local4, "-"); _local4 = _arg1.getUTCDate(); if (_local4 < 10){ _local3 = _local3.concat("0"); }; _local3 = _local3.concat(_local4); }; if (_arg2 == "dateTime"){ _local3 = _local3.concat("T"); }; if ((((_arg2 == "dateTime")) || ((_arg2 == "time")))){ _local4 = _arg1.getUTCHours(); if (_local4 < 10){ _local3 = _local3.concat("0"); }; _local3 = _local3.concat(_local4, ":"); _local4 = _arg1.getUTCMinutes(); if (_local4 < 10){ _local3 = _local3.concat("0"); }; _local3 = _local3.concat(_local4, ":"); _local4 = _arg1.getUTCSeconds(); if (_local4 < 10){ _local3 = _local3.concat("0"); }; _local3 = _local3.concat(_local4, "."); _local4 = _arg1.getUTCMilliseconds(); if (_local4 < 10){ _local3 = _local3.concat("00"); } else { if (_local4 < 100){ _local3 = _local3.concat("0"); }; }; _local3 = _local3.concat(_local4); }; _local3 = _local3.concat("Z"); return (_local3); } } }//package mx.rpc.xml
Section 298
//AbstractInvoker (mx.rpc.AbstractInvoker) package mx.rpc { import flash.events.*; import mx.resources.*; import mx.rpc.events.*; import flash.utils.*; import mx.messaging.events.*; import mx.messaging.messages.*; import mx.logging.*; import mx.utils.*; import mx.messaging.errors.*; public class AbstractInvoker extends EventDispatcher { mx_internal var _result:Object; mx_internal var _responseHeaders:Array; private var resourceManager:IResourceManager; private var _asyncRequest:AsyncRequest; private var _log:ILogger; mx_internal var activeCalls:ActiveCalls; mx_internal var _makeObjectsBindable:Boolean; mx_internal static const BINDING_RESULT:String = "resultForBinding"; public function AbstractInvoker(){ resourceManager = ResourceManager.getInstance(); super(); _log = Log.getLogger("mx.rpc.AbstractInvoker"); activeCalls = new ActiveCalls(); } mx_internal function getNetmonId():String{ return (null); } public function cancel(_arg1:String=null):AsyncToken{ if (_arg1 != null){ return (activeCalls.removeCall(_arg1)); }; return (activeCalls.cancelLast()); } mx_internal function get asyncRequest():AsyncRequest{ if (_asyncRequest == null){ _asyncRequest = new AsyncRequest(); }; return (_asyncRequest); } mx_internal function faultHandler(_arg1:MessageFaultEvent):void{ var _local2:MessageEvent = MessageEvent.createEvent(MessageEvent.MESSAGE, _arg1.message); var _local3:AsyncToken = preHandle(_local2); if ((((((((_local3 == null)) && (!((AsyncMessage(_arg1.message).correlationId == null))))) && (!((AsyncMessage(_arg1.message).correlationId == ""))))) && (!((_arg1.faultCode == "Client.Authentication"))))){ return; }; var _local4:Fault = new Fault(_arg1.faultCode, _arg1.faultString, _arg1.faultDetail); _local4.rootCause = _arg1.rootCause; var _local5:FaultEvent = FaultEvent.createEvent(_local4, _local3, _arg1.message); _local5.headers = _responseHeaders; dispatchRpcEvent(_local5); } public function clearResult(_arg1:Boolean=true):void{ _result = null; if (_arg1){ dispatchEvent(new Event(BINDING_RESULT)); }; } mx_internal function dispatchRpcEvent(_arg1:AbstractEvent):void{ _arg1.callTokenResponders(); if (!_arg1.isDefaultPrevented()){ dispatchEvent(_arg1); }; } public function get lastResult():Object{ return (_result); } mx_internal function set asyncRequest(_arg1:AsyncRequest):void{ _asyncRequest = _arg1; } mx_internal function preHandle(_arg1:MessageEvent):AsyncToken{ return (activeCalls.removeCall(AsyncMessage(_arg1.message).correlationId)); } mx_internal function processResult(_arg1:IMessage, _arg2:AsyncToken):Boolean{ var _local3:Object = _arg1.body; if (((((makeObjectsBindable) && (!((_local3 == null))))) && ((getQualifiedClassName(_local3) == "Object")))){ _result = new ObjectProxy(_local3); } else { _result = _local3; }; return (true); } mx_internal function resultHandler(_arg1:MessageEvent):void{ var _local3:ResultEvent; var _local2:AsyncToken = preHandle(_arg1); if (_local2 == null){ return; }; if (processResult(_arg1.message, _local2)){ dispatchEvent(new Event(BINDING_RESULT)); _local3 = ResultEvent.createEvent(_result, _local2, _arg1.message); _local3.headers = _responseHeaders; dispatchRpcEvent(_local3); }; } public function set makeObjectsBindable(_arg1:Boolean):void{ _makeObjectsBindable = _arg1; } public function get makeObjectsBindable():Boolean{ return (_makeObjectsBindable); } mx_internal function invoke(_arg1:IMessage, _arg2:AsyncToken=null):AsyncToken{ var fault:Fault; var errorText:String; var message = _arg1; var token = _arg2; if (token == null){ token = new AsyncToken(message); } else { token.setMessage(message); }; activeCalls.addCall(message.messageId, token); try { asyncRequest.invoke(message, new Responder(resultHandler, faultHandler)); dispatchRpcEvent(InvokeEvent.createEvent(token, message)); } catch(e:MessagingError) { _log.warn(e.toString()); errorText = resourceManager.getString("rpc", "cannotConnectToDestination", [asyncRequest.destination]); fault = new Fault("InvokeFailed", e.toString(), errorText); new AsyncDispatcher(dispatchRpcEvent, [FaultEvent.createEvent(fault, token, message)], 10); } catch(e2:Error) { _log.warn(e2.toString()); fault = new Fault("InvokeFailed", e2.message); new AsyncDispatcher(dispatchRpcEvent, [FaultEvent.createEvent(fault, token, message)], 10); }; return (token); } } }//package mx.rpc
Section 299
//ActiveCalls (mx.rpc.ActiveCalls) package mx.rpc { public class ActiveCalls { private var callOrder:Array; private var calls:Object; public function ActiveCalls(){ calls = {}; callOrder = []; } public function removeCall(_arg1:String):AsyncToken{ var _local2:AsyncToken = calls[_arg1]; if (_local2 != null){ delete calls[_arg1]; callOrder.splice(callOrder.lastIndexOf(_arg1), 1); }; return (_local2); } public function cancelLast():AsyncToken{ if (callOrder.length > 0){ return (removeCall((callOrder[(callOrder.length - 1)] as String))); }; return (null); } public function hasActiveCalls():Boolean{ return ((callOrder.length > 0)); } public function wasLastCall(_arg1:String):Boolean{ if (callOrder.length > 0){ return ((callOrder[(callOrder.length - 1)] == _arg1)); }; return (false); } public function getAllMessages():Array{ var _local2:String; var _local1:Array = []; for (_local2 in calls) { _local1.push(calls[_local2]); }; return (_local1); } public function addCall(_arg1:String, _arg2:AsyncToken):void{ calls[_arg1] = _arg2; callOrder.push(_arg1); } } }//package mx.rpc
Section 300
//AsyncDispatcher (mx.rpc.AsyncDispatcher) package mx.rpc { import flash.events.*; import flash.utils.*; public class AsyncDispatcher { private var _method:Function; private var _timer:Timer; private var _args:Array; public function AsyncDispatcher(_arg1:Function, _arg2:Array, _arg3:Number){ _method = _arg1; _args = _arg2; _timer = new Timer(_arg3); _timer.addEventListener(TimerEvent.TIMER, timerEventHandler); _timer.start(); } private function timerEventHandler(_arg1:TimerEvent):void{ _timer.stop(); _timer.removeEventListener(TimerEvent.TIMER, timerEventHandler); _method.apply(null, _args); } } }//package mx.rpc
Section 301
//AsyncRequest (mx.rpc.AsyncRequest) package mx.rpc { import mx.messaging.events.*; import mx.messaging.messages.*; import mx.messaging.*; public class AsyncRequest extends Producer { private var _pendingRequests:Object; public function AsyncRequest(){ _pendingRequests = {}; super(); } override public function hasPendingRequestForMessage(_arg1:IMessage):Boolean{ var _local2:String = _arg1.messageId; return (_pendingRequests[_local2]); } override public function fault(_arg1:ErrorMessage, _arg2:IMessage):void{ super.fault(_arg1, _arg2); if (_ignoreFault){ return; }; var _local3:String = _arg2.messageId; var _local4:IResponder = IResponder(_pendingRequests[_local3]); if (_local4){ delete _pendingRequests[_local3]; _local4.fault(MessageFaultEvent.createEvent(_arg1)); }; } public function invoke(_arg1:IMessage, _arg2:IResponder):void{ _pendingRequests[_arg1.messageId] = _arg2; send(_arg1); } override public function acknowledge(_arg1:AcknowledgeMessage, _arg2:IMessage):void{ var _local4:String; var _local5:IResponder; var _local3:Boolean = _arg1.headers[AcknowledgeMessage.ERROR_HINT_HEADER]; super.acknowledge(_arg1, _arg2); if (!_local3){ _local4 = _arg1.correlationId; _local5 = IResponder(_pendingRequests[_local4]); if (_local5){ delete _pendingRequests[_local4]; _local5.result(MessageEvent.createEvent(MessageEvent.RESULT, _arg1)); }; }; } } }//package mx.rpc
Section 302
//AsyncToken (mx.rpc.AsyncToken) package mx.rpc { import flash.events.*; import mx.events.*; import mx.rpc.events.*; import mx.messaging.messages.*; public dynamic class AsyncToken extends EventDispatcher { private var _message:IMessage; private var _responders:Array; private var _result:Object; public function AsyncToken(_arg1:IMessage){ _message = _arg1; } public function addResponder(_arg1:IResponder):void{ if (_responders == null){ _responders = []; }; _responders.push(_arg1); } mx_internal function setMessage(_arg1:IMessage):void{ _message = _arg1; } public function get message():IMessage{ return (_message); } mx_internal function applyResult(_arg1:ResultEvent):void{ var _local2:uint; var _local3:IResponder; setResult(_arg1.result); if (_responders != null){ _local2 = 0; while (_local2 < _responders.length) { _local3 = _responders[_local2]; if (_local3 != null){ _local3.result(_arg1); }; _local2++; }; }; } public function hasResponder():Boolean{ return (((!((_responders == null))) && ((_responders.length > 0)))); } public function get responders():Array{ return (_responders); } mx_internal function applyFault(_arg1:FaultEvent):void{ var _local2:uint; var _local3:IResponder; if (_responders != null){ _local2 = 0; while (_local2 < _responders.length) { _local3 = _responders[_local2]; if (_local3 != null){ _local3.fault(_arg1); }; _local2++; }; }; } public function get result():Object{ return (_result); } mx_internal function setResult(_arg1:Object):void{ var _local2:PropertyChangeEvent; if (_result !== _arg1){ _local2 = PropertyChangeEvent.createUpdateEvent(this, "result", _result, _arg1); _result = _arg1; dispatchEvent(_local2); }; } } }//package mx.rpc
Section 303
//Fault (mx.rpc.Fault) package mx.rpc { public class Fault extends Error { public var rootCause:Object; protected var _faultCode:String; protected var _faultString:String; protected var _faultDetail:String; public function Fault(_arg1:String, _arg2:String, _arg3:String=null){ super((((((("faultCode:" + _arg1) + " faultString:'") + _arg2) + "' faultDetail:'") + _arg3) + "'")); this._faultCode = _arg1; this._faultString = (_arg2) ? _arg2 : ""; this._faultDetail = _arg3; } public function toString():String{ var _local1 = "[RPC Fault"; _local1 = (_local1 + ((" faultString=\"" + faultString) + "\"")); _local1 = (_local1 + ((" faultCode=\"" + faultCode) + "\"")); _local1 = (_local1 + ((" faultDetail=\"" + faultDetail) + "\"]")); return (_local1); } public function get faultCode():String{ return (_faultCode); } public function get faultString():String{ return (_faultString); } public function get faultDetail():String{ return (_faultDetail); } } }//package mx.rpc
Section 304
//IResponder (mx.rpc.IResponder) package mx.rpc { public interface IResponder { function fault(_arg1:Object):void; function result(_arg1:Object):void; } }//package mx.rpc
Section 305
//Responder (mx.rpc.Responder) package mx.rpc { public class Responder implements IResponder { private var _faultHandler:Function; private var _resultHandler:Function; public function Responder(_arg1:Function, _arg2:Function){ _resultHandler = _arg1; _faultHandler = _arg2; } public function result(_arg1:Object):void{ _resultHandler(_arg1); } public function fault(_arg1:Object):void{ _faultHandler(_arg1); } } }//package mx.rpc
Section 306
//ApplicationBackground (mx.skins.halo.ApplicationBackground) package mx.skins.halo { import flash.display.*; import mx.utils.*; import mx.skins.*; public class ApplicationBackground extends ProgrammaticSkin { mx_internal static const VERSION:String = "3.0.0.0"; override public function get measuredWidth():Number{ return (8); } override public function get measuredHeight():Number{ return (8); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local6:uint; super.updateDisplayList(_arg1, _arg2); var _local3:Graphics = graphics; var _local4:Array = getStyle("backgroundGradientColors"); var _local5:Array = getStyle("backgroundGradientAlphas"); if (!_local4){ _local6 = getStyle("backgroundColor"); if (isNaN(_local6)){ _local6 = 0xFFFFFF; }; _local4 = []; _local4[0] = ColorUtil.adjustBrightness(_local6, 15); _local4[1] = ColorUtil.adjustBrightness(_local6, -25); }; if (!_local5){ _local5 = [1, 1]; }; _local3.clear(); drawRoundRect(0, 0, _arg1, _arg2, 0, _local4, _local5, verticalGradientMatrix(0, 0, _arg1, _arg2)); } } }//package mx.skins.halo
Section 307
//BrokenImageBorderSkin (mx.skins.halo.BrokenImageBorderSkin) package mx.skins.halo { import flash.display.*; import mx.skins.*; public class BrokenImageBorderSkin extends ProgrammaticSkin { mx_internal static const VERSION:String = "3.0.0.0"; override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:Graphics = graphics; _local3.clear(); _local3.lineStyle(1, getStyle("borderColor")); _local3.drawRect(0, 0, _arg1, _arg2); } } }//package mx.skins.halo
Section 308
//BusyCursor (mx.skins.halo.BusyCursor) package mx.skins.halo { import flash.display.*; import mx.core.*; import flash.events.*; import mx.styles.*; public class BusyCursor extends FlexSprite { private var hourHand:Shape; private var minuteHand:Shape; mx_internal static const VERSION:String = "3.0.0.0"; public function BusyCursor(){ var _local6:Graphics; super(); var _local1:CSSStyleDeclaration = StyleManager.getStyleDeclaration("CursorManager"); var _local2:Class = _local1.getStyle("busyCursorBackground"); var _local3:DisplayObject = new (_local2); if ((_local3 is InteractiveObject)){ InteractiveObject(_local3).mouseEnabled = false; }; addChild(_local3); var _local4:Number = -0.5; var _local5:Number = -0.5; minuteHand = new FlexShape(); minuteHand.name = "minuteHand"; _local6 = minuteHand.graphics; _local6.beginFill(0); _local6.moveTo(_local4, _local5); _local6.lineTo((1 + _local4), (0 + _local5)); _local6.lineTo((1 + _local4), (5 + _local5)); _local6.lineTo((0 + _local4), (5 + _local5)); _local6.lineTo((0 + _local4), (0 + _local5)); _local6.endFill(); addChild(minuteHand); hourHand = new FlexShape(); hourHand.name = "hourHand"; _local6 = hourHand.graphics; _local6.beginFill(0); _local6.moveTo(_local4, _local5); _local6.lineTo((4 + _local4), (0 + _local5)); _local6.lineTo((4 + _local4), (1 + _local5)); _local6.lineTo((0 + _local4), (1 + _local5)); _local6.lineTo((0 + _local4), (0 + _local5)); _local6.endFill(); addChild(hourHand); addEventListener(Event.ADDED, handleAdded); addEventListener(Event.REMOVED, handleRemoved); } private function enterFrameHandler(_arg1:Event):void{ minuteHand.rotation = (minuteHand.rotation + 12); hourHand.rotation = (hourHand.rotation + 1); } private function handleAdded(_arg1:Event):void{ addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function handleRemoved(_arg1:Event):void{ removeEventListener(Event.ENTER_FRAME, enterFrameHandler); } } }//package mx.skins.halo
Section 309
//ButtonSkin (mx.skins.halo.ButtonSkin) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.styles.*; import mx.utils.*; import mx.skins.*; public class ButtonSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; override public function get measuredWidth():Number{ return (UIComponent.DEFAULT_MEASURED_MIN_WIDTH); } override public function get measuredHeight():Number{ return (UIComponent.DEFAULT_MEASURED_MIN_HEIGHT); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:Array; var _local21:Array; var _local22:Array; super.updateDisplayList(_arg1, _arg2); var _local3:uint = getStyle("borderColor"); var _local4:Number = getStyle("cornerRadius"); var _local5:Array = getStyle("fillAlphas"); var _local6:Array = getStyle("fillColors"); StyleManager.getColorNames(_local6); var _local7:Array = getStyle("highlightAlphas"); var _local8:uint = getStyle("themeColor"); var _local9:Object = calcDerivedStyles(_local8, _local6[0], _local6[1]); var _local10:Number = ColorUtil.adjustBrightness2(_local3, -50); var _local11:Number = ColorUtil.adjustBrightness2(_local8, -25); var _local12:Boolean; if ((parent is IButton)){ _local12 = IButton(parent).emphasized; }; var _local13:Number = Math.max(0, _local4); var _local14:Number = Math.max(0, (_local4 - 1)); var _local15:Number = Math.max(0, (_local4 - 2)); graphics.clear(); switch (name){ case "selectedUpSkin": case "selectedOverSkin": drawRoundRect(0, 0, _arg1, _arg2, _local13, [_local8, _local11], 1, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local14, [_local6[1], _local6[1]], 1, verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2))); break; case "upSkin": _local17 = [_local6[0], _local6[1]]; _local18 = [_local5[0], _local5[1]]; if (_local12){ drawRoundRect(0, 0, _arg1, _arg2, _local13, [_local8, _local11], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:2, y:2, w:(_arg1 - 4), h:(_arg2 - 4), r:(_local4 - 2)}); drawRoundRect(2, 2, (_arg1 - 4), (_arg2 - 4), _local15, _local17, _local18, verticalGradientMatrix(2, 2, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(2, 2, (_arg1 - 4), ((_arg2 - 4) / 2), {tl:_local15, tr:_local15, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local7, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); } else { drawRoundRect(0, 0, _arg1, _arg2, _local13, [_local3, _local10], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:(_local4 - 1)}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local14, _local17, _local18, verticalGradientMatrix(1, 1, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), {tl:_local14, tr:_local14, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local7, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); }; break; case "overSkin": if (_local6.length > 2){ _local19 = [_local6[2], _local6[3]]; } else { _local19 = [_local6[0], _local6[1]]; }; if (_local5.length > 2){ _local20 = [_local5[2], _local5[3]]; } else { _local20 = [_local5[0], _local5[1]]; }; drawRoundRect(0, 0, _arg1, _arg2, _local13, [_local8, _local11], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:(_local4 - 1)}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local14, _local19, _local20, verticalGradientMatrix(1, 1, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), {tl:_local14, tr:_local14, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local7, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); break; case "downSkin": case "selectedDownSkin": drawRoundRect(0, 0, _arg1, _arg2, _local13, [_local8, _local11], 1, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local14, [_local9.fillColorPress1, _local9.fillColorPress2], 1, verticalGradientMatrix(1, 1, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(2, 2, (_arg1 - 4), ((_arg2 - 4) / 2), {tl:_local15, tr:_local15, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local7, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); break; case "disabledSkin": case "selectedDisabledSkin": _local21 = [_local6[0], _local6[1]]; _local22 = [Math.max(0, (_local5[0] - 0.15)), Math.max(0, (_local5[1] - 0.15))]; drawRoundRect(0, 0, _arg1, _arg2, _local13, [_local3, _local10], 0.5, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:(_local4 - 1)}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local14, _local21, _local22, verticalGradientMatrix(1, 1, (_arg1 - 2), (_arg2 - 2))); break; }; } private static function calcDerivedStyles(_arg1:uint, _arg2:uint, _arg3:uint):Object{ var _local5:Object; var _local4:String = HaloColors.getCacheKey(_arg1, _arg2, _arg3); if (!cache[_local4]){ _local5 = (cache[_local4] = {}); HaloColors.addHaloColors(_local5, _arg1, _arg2, _arg3); }; return (cache[_local4]); } } }//package mx.skins.halo
Section 310
//ComboBoxArrowSkin (mx.skins.halo.ComboBoxArrowSkin) package mx.skins.halo { import flash.display.*; import mx.styles.*; import mx.utils.*; import mx.skins.*; public class ComboBoxArrowSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; override public function get measuredWidth():Number{ return (22); } override public function get measuredHeight():Number{ return (22); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local19:Array; var _local20:Array; var _local21:Array; var _local22:Array; var _local23:Array; var _local24:Array; super.updateDisplayList(_arg1, _arg2); var _local3:uint = getStyle("iconColor"); var _local4:uint = getStyle("borderColor"); var _local5:Number = getStyle("cornerRadius"); var _local6:Number = getStyle("dropdownBorderColor"); var _local7:Array = getStyle("fillAlphas"); var _local8:Array = getStyle("fillColors"); StyleManager.getColorNames(_local8); var _local9:Array = getStyle("highlightAlphas"); var _local10:uint = getStyle("themeColor"); if (!isNaN(_local6)){ _local4 = _local6; }; var _local11:Object = calcDerivedStyles(_local10, _local4, _local8[0], _local8[1]); var _local12:Number = ColorUtil.adjustBrightness2(_local4, -50); var _local13:Number = ColorUtil.adjustBrightness2(_local10, -25); var _local14:Number = Math.max((_local5 - 1), 0); var _local15:Object = {tl:0, tr:_local5, bl:0, br:_local5}; var _local16:Object = {tl:0, tr:_local14, bl:0, br:_local14}; var _local17:Boolean; if (name.indexOf("editable") < 0){ _local17 = false; _local15.tl = (_local15.bl = _local5); _local16.tl = (_local16.bl = _local14); }; var _local18:Graphics = graphics; _local18.clear(); switch (name){ case "upSkin": case "editableUpSkin": _local19 = [_local8[0], _local8[1]]; _local20 = [_local7[0], _local7[1]]; drawRoundRect(0, 0, _arg1, _arg2, _local15, [_local4, _local12], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:_local16}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local16, _local19, _local20, verticalGradientMatrix(1, 1, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), {tl:_local14, tr:_local14, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local9, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); if (!_local17){ drawRoundRect((_arg1 - 22), 4, 1, (_arg2 - 8), 0, _local4, 1); drawRoundRect((_arg1 - 21), 4, 1, (_arg2 - 8), 0, 0xFFFFFF, 0.2); }; break; case "overSkin": case "editableOverSkin": if (_local8.length > 2){ _local21 = [_local8[2], _local8[3]]; } else { _local21 = [_local8[0], _local8[1]]; }; if (_local7.length > 2){ _local22 = [_local7[2], _local7[3]]; } else { _local22 = [_local7[0], _local7[1]]; }; drawRoundRect(0, 0, _arg1, _arg2, _local15, [_local10, _local13], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:_local16}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local16, _local21, _local22, verticalGradientMatrix(1, 1, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), {tl:_local14, tr:_local14, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local9, verticalGradientMatrix(0, 0, (_arg1 - 2), ((_arg2 - 2) / 2))); if (!_local17){ drawRoundRect((_arg1 - 22), 4, 1, (_arg2 - 8), 0, _local11.themeColDrk2, 1); drawRoundRect((_arg1 - 21), 4, 1, (_arg2 - 8), 0, 0xFFFFFF, 0.2); }; break; case "downSkin": case "editableDownSkin": drawRoundRect(0, 0, _arg1, _arg2, _local15, [_local10, _local13], 1, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local16, [_local11.fillColorPress1, _local11.fillColorPress2], 1, verticalGradientMatrix(1, 1, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), {tl:_local14, tr:_local14, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local9, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); if (!_local17){ drawRoundRect((_arg1 - 22), 4, 1, (_arg2 - 8), 0, _local13, 1); drawRoundRect((_arg1 - 21), 4, 1, (_arg2 - 8), 0, 0xFFFFFF, 0.2); }; break; case "disabledSkin": case "editableDisabledSkin": _local23 = [_local8[0], _local8[1]]; _local24 = [Math.max(0, (_local7[0] - 0.15)), Math.max(0, (_local7[1] - 0.15))]; drawRoundRect(0, 0, _arg1, _arg2, _local15, [_local4, _local12], 0.5, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:_local16}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local16, _local23, _local24, verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2))); if (!_local17){ drawRoundRect((_arg1 - 22), 4, 1, (_arg2 - 8), 0, 0x999999, 0.5); }; _local3 = getStyle("disabledIconColor"); break; }; _local18.beginFill(_local3); _local18.moveTo((_arg1 - 11.5), ((_arg2 / 2) + 3)); _local18.lineTo((_arg1 - 15), ((_arg2 / 2) - 2)); _local18.lineTo((_arg1 - 8), ((_arg2 / 2) - 2)); _local18.lineTo((_arg1 - 11.5), ((_arg2 / 2) + 3)); _local18.endFill(); } private static function calcDerivedStyles(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):Object{ var _local6:Object; var _local5:String = HaloColors.getCacheKey(_arg1, _arg2, _arg3, _arg4); if (!cache[_local5]){ _local6 = (cache[_local5] = {}); HaloColors.addHaloColors(_local6, _arg1, _arg3, _arg4); }; return (cache[_local5]); } } }//package mx.skins.halo
Section 311
//DefaultDragImage (mx.skins.halo.DefaultDragImage) package mx.skins.halo { import flash.display.*; import mx.core.*; public class DefaultDragImage extends SpriteAsset implements IFlexDisplayObject { mx_internal static const VERSION:String = "3.0.0.0"; public function DefaultDragImage(){ draw(10, 10); super(); } override public function get measuredWidth():Number{ return (10); } override public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } override public function get measuredHeight():Number{ return (10); } override public function setActualSize(_arg1:Number, _arg2:Number):void{ draw(_arg1, _arg2); } private function draw(_arg1:Number, _arg2:Number):void{ var _local3:Graphics = graphics; _local3.clear(); _local3.beginFill(0xEEEEEE); _local3.lineStyle(1, 8433818); _local3.drawRect(0, 0, _arg1, _arg2); _local3.endFill(); } } }//package mx.skins.halo
Section 312
//HaloBorder (mx.skins.halo.HaloBorder) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.styles.*; import mx.graphics.*; import mx.utils.*; import mx.skins.*; public class HaloBorder extends RectangularBorder { mx_internal var radiusObj:Object; mx_internal var backgroundHole:Object; mx_internal var radius:Number; mx_internal var bRoundedCorners:Boolean; mx_internal var backgroundColor:Object; private var dropShadow:RectangularDropShadow; protected var _borderMetrics:EdgeMetrics; mx_internal var backgroundAlphaName:String; mx_internal static const VERSION:String = "3.0.0.0"; private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2}; public function HaloBorder(){ BORDER_WIDTHS["default"] = 3; } override public function styleChanged(_arg1:String):void{ if ((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderSides")))){ _borderMetrics = null; }; invalidateDisplayList(); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ if (((isNaN(_arg1)) || (isNaN(_arg2)))){ return; }; super.updateDisplayList(_arg1, _arg2); backgroundColor = getBackgroundColor(); bRoundedCorners = false; backgroundAlphaName = "backgroundAlpha"; backgroundHole = null; radius = 0; radiusObj = null; drawBorder(_arg1, _arg2); drawBackground(_arg1, _arg2); } mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{ var _local5:Number; var _local6:uint; var _local7:uint; var _local8:String; var _local9:Number; var _local10:uint; var _local11:Boolean; var _local12:uint; var _local13:Array; var _local14:Array; var _local15:uint; var _local16:uint; var _local17:uint; var _local18:uint; var _local19:Boolean; var _local20:Object; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Object; var _local27:Number; var _local28:Number; var _local29:IContainer; var _local30:EdgeMetrics; var _local31:Boolean; var _local32:Number; var _local33:Array; var _local34:uint; var _local35:Boolean; var _local36:Number; var _local3:String = getStyle("borderStyle"); var _local4:Array = getStyle("highlightAlphas"); var _local21:Boolean; var _local26:Graphics = graphics; _local26.clear(); if (_local3){ switch (_local3){ case "none": break; case "inset": _local7 = getStyle("borderColor"); _local22 = ColorUtil.adjustBrightness2(_local7, -40); _local23 = ColorUtil.adjustBrightness2(_local7, 25); _local24 = ColorUtil.adjustBrightness2(_local7, 40); _local25 = backgroundColor; if ((((_local25 === null)) || ((_local25 === "")))){ _local25 = _local7; }; draw3dBorder(_local23, _local22, _local24, Number(_local25), Number(_local25), Number(_local25)); break; case "outset": _local7 = getStyle("borderColor"); _local22 = ColorUtil.adjustBrightness2(_local7, -40); _local23 = ColorUtil.adjustBrightness2(_local7, -25); _local24 = ColorUtil.adjustBrightness2(_local7, 40); _local25 = backgroundColor; if ((((_local25 === null)) || ((_local25 === "")))){ _local25 = _local7; }; draw3dBorder(_local23, _local24, _local22, Number(_local25), Number(_local25), Number(_local25)); break; case "alert": case "default": if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local27 = getStyle("backgroundAlpha"); _local5 = getStyle("borderAlpha"); backgroundAlphaName = "borderAlpha"; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); _local28 = (bRoundedCorners) ? radius : 0; drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local28, _local28); if (!bRoundedCorners){ radiusObj = {}; }; _local29 = (parent as IContainer); if (_local29){ _local30 = _local29.viewMetrics; backgroundHole = {x:_local30.left, y:_local30.top, w:Math.max(0, ((_arg1 - _local30.left) - _local30.right)), h:Math.max(0, ((_arg2 - _local30.top) - _local30.bottom)), r:0}; if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){ if (_local27 != _local5){ drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0); }; _local26.beginFill(Number(backgroundColor), _local27); _local26.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h); _local26.endFill(); }; }; backgroundColor = getStyle("borderColor"); }; break; case "dropdown": _local12 = getStyle("dropdownBorderColor"); drawDropShadow(0, 0, _arg1, _arg2, 4, 0, 0, 4); drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, 5068126, 1); drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1); drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3))); if (!isNaN(_local12)){ drawRoundRect(0, 0, (_arg1 + 1), _arg2, {tl:4, tr:0, br:0, bl:4}, _local12, 0.5); drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1); drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3))); }; backgroundColor = null; break; case "menuBorder": _local7 = getStyle("borderColor"); drawRoundRect(0, 0, _arg1, _arg2, 0, _local7, 1); drawDropShadow(1, 1, (_arg1 - 2), (_arg2 - 2), 0, 0, 0, 0); break; case "comboNonEdit": break; case "controlBar": if ((((_arg1 == 0)) || ((_arg2 == 0)))){ backgroundColor = null; break; }; _local14 = getStyle("footerColors"); _local31 = !((_local14 == null)); _local32 = getStyle("borderAlpha"); if (_local31){ _local26.lineStyle(0, ((_local14.length > 0)) ? _local14[1] : _local14[0], _local32); _local26.moveTo(0, 0); _local26.lineTo(_arg1, 0); _local26.lineStyle(0, 0, 0); if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){ radius = IStyleClient(parent.parent).getStyle("cornerRadius"); _local32 = IStyleClient(parent.parent).getStyle("borderAlpha"); }; if (isNaN(radius)){ radius = 0; }; if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){ radius = 0; }; drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2)); if ((((_local14.length > 1)) && (!((_local14[0] == _local14[1]))))){ drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 2, (_arg1 - 2), (_arg2 - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2)); }; }; backgroundColor = null; break; case "applicationControlBar": _local13 = getStyle("fillColors"); _local5 = getStyle("backgroundAlpha"); _local4 = getStyle("highlightAlphas"); _local33 = getStyle("fillAlphas"); _local11 = getStyle("docked"); _local34 = uint(backgroundColor); radius = getStyle("cornerRadius"); if (!radius){ radius = 0; }; drawDropShadow(0, 1, _arg1, (_arg2 - 1), radius, radius, radius, radius); if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){ drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local34, _local5, verticalGradientMatrix(0, 0, _arg1, _arg2)); }; drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local13, _local33, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(0, 1, _arg1, ((_arg2 / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, ((_arg2 / 2) - 1))); drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:_arg1, h:(_arg2 - 2), r:{tl:radius, tr:radius, bl:0, br:0}}); backgroundColor = null; break; default: _local7 = getStyle("borderColor"); _local9 = getStyle("borderThickness"); _local8 = getStyle("borderSides"); _local35 = true; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); _local36 = Math.max((radius - _local9), 0); _local20 = {x:_local9, y:_local9, w:(_arg1 - (_local9 * 2)), h:(_arg2 - (_local9 * 2)), r:_local36}; if (!bRoundedCorners){ radiusObj = {tl:radius, tr:radius, bl:0, br:0}; _local20.r = {tl:_local36, tr:_local36, bl:0, br:0}; }; if (_local8 != "left top right bottom"){ _local20.r = {tl:_local36, tr:_local36, bl:(bRoundedCorners) ? _local36 : 0, br:(bRoundedCorners) ? _local36 : 0}; radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0}; _local8 = _local8.toLowerCase(); if (_local8.indexOf("left") == -1){ _local20.x = 0; _local20.w = (_local20.w + _local9); _local20.r.tl = 0; _local20.r.bl = 0; radiusObj.tl = 0; radiusObj.bl = 0; _local35 = false; }; if (_local8.indexOf("top") == -1){ _local20.y = 0; _local20.h = (_local20.h + _local9); _local20.r.tl = 0; _local20.r.tr = 0; radiusObj.tl = 0; radiusObj.tr = 0; _local35 = false; }; if (_local8.indexOf("right") == -1){ _local20.w = (_local20.w + _local9); _local20.r.tr = 0; _local20.r.br = 0; radiusObj.tr = 0; radiusObj.br = 0; _local35 = false; }; if (_local8.indexOf("bottom") == -1){ _local20.h = (_local20.h + _local9); _local20.r.bl = 0; _local20.r.br = 0; radiusObj.bl = 0; radiusObj.br = 0; _local35 = false; }; }; if ((((radius == 0)) && (_local35))){ drawDropShadow(0, 0, _arg1, _arg2, 0, 0, 0, 0); _local26.beginFill(_local7); _local26.drawRect(0, 0, _arg1, _arg2); _local26.drawRect(_local9, _local9, (_arg1 - (2 * _local9)), (_arg2 - (2 * _local9))); _local26.endFill(); } else { if (radiusObj){ drawDropShadow(0, 0, _arg1, _arg2, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl); drawRoundRect(0, 0, _arg1, _arg2, radiusObj, _local7, 1, null, null, null, _local20); radiusObj.tl = Math.max((radius - _local9), 0); radiusObj.tr = Math.max((radius - _local9), 0); radiusObj.bl = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0; radiusObj.br = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0; } else { drawDropShadow(0, 0, _arg1, _arg2, radius, radius, radius, radius); drawRoundRect(0, 0, _arg1, _arg2, radius, _local7, 1, null, null, null, _local20); radius = Math.max((getStyle("cornerRadius") - _local9), 0); }; }; }; }; } mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{ var _local4:Number; var _local5:Number; var _local6:EdgeMetrics; var _local7:Graphics; var _local8:Number; var _local9:Number; var _local10:Array; var _local11:Number; if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){ _local4 = Number(backgroundColor); _local5 = 1; _local6 = getBackgroundColorMetrics(); _local7 = graphics; if (((((isNaN(_local4)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){ _local5 = 0; _local4 = 0xFFFFFF; } else { _local5 = getStyle(backgroundAlphaName); }; if (((!((radius == 0))) || (backgroundHole))){ _local8 = _local6.bottom; if (radiusObj){ _local9 = (bRoundedCorners) ? radius : 0; radiusObj = {tl:radius, tr:radius, bl:_local9, br:_local9}; drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radiusObj, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole); } else { drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radius, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole); }; } else { _local7.beginFill(_local4, _local5); _local7.drawRect(_local6.left, _local6.top, ((_arg1 - _local6.right) - _local6.left), ((_arg2 - _local6.bottom) - _local6.top)); _local7.endFill(); }; }; var _local3:String = getStyle("borderStyle"); if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((_local3 == "alert")) || ((_local3 == "default")))))) && ((getStyle("headerColors") == null)))){ _local10 = getStyle("highlightAlphas"); _local11 = (_local10) ? _local10[0] : 0.3; drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local11, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}}); }; } mx_internal function drawDropShadow(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{ var _local11:Number; var _local12:Boolean; if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((_arg3 == 0)))) || ((_arg4 == 0)))){ return; }; var _local9:Number = getStyle("shadowDistance"); var _local10:String = getStyle("shadowDirection"); if (getStyle("borderStyle") == "applicationControlBar"){ _local12 = getStyle("docked"); _local11 = (_local12) ? 90 : getDropShadowAngle(_local9, _local10); _local9 = Math.abs(_local9); } else { _local11 = getDropShadowAngle(_local9, _local10); _local9 = (Math.abs(_local9) + 2); }; if (!dropShadow){ dropShadow = new RectangularDropShadow(); }; dropShadow.distance = _local9; dropShadow.angle = _local11; dropShadow.color = getStyle("dropShadowColor"); dropShadow.alpha = 0.4; dropShadow.tlRadius = _arg5; dropShadow.trRadius = _arg6; dropShadow.blRadius = _arg8; dropShadow.brRadius = _arg7; dropShadow.drawShadow(graphics, _arg1, _arg2, _arg3, _arg4); } mx_internal function getBackgroundColor():Object{ var _local2:Object; var _local1:IUIComponent = (parent as IUIComponent); if (((_local1) && (!(_local1.enabled)))){ _local2 = getStyle("backgroundDisabledColor"); if (((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))){ return (_local2); }; }; return (getStyle("backgroundColor")); } mx_internal function draw3dBorder(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{ var _local7:Number = width; var _local8:Number = height; drawDropShadow(0, 0, width, height, 0, 0, 0, 0); var _local9:Graphics = graphics; _local9.beginFill(_arg1); _local9.drawRect(0, 0, _local7, _local8); _local9.drawRect(1, 0, (_local7 - 2), _local8); _local9.endFill(); _local9.beginFill(_arg2); _local9.drawRect(1, 0, (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg3); _local9.drawRect(1, (_local8 - 1), (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg4); _local9.drawRect(1, 1, (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg5); _local9.drawRect(1, (_local8 - 2), (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg6); _local9.drawRect(1, 2, (_local7 - 2), (_local8 - 4)); _local9.drawRect(2, 2, (_local7 - 4), (_local8 - 4)); _local9.endFill(); } mx_internal function getBackgroundColorMetrics():EdgeMetrics{ return (borderMetrics); } mx_internal function getDropShadowAngle(_arg1:Number, _arg2:String):Number{ if (_arg2 == "left"){ return (((_arg1 >= 0)) ? 135 : 225); //unresolved jump }; if (_arg2 == "right"){ return (((_arg1 >= 0)) ? 45 : 315); //unresolved jump }; return (((_arg1 >= 0)) ? 90 : 270); } override public function get borderMetrics():EdgeMetrics{ var _local1:Number; var _local3:String; if (_borderMetrics){ return (_borderMetrics); }; var _local2:String = getStyle("borderStyle"); if ((((_local2 == "default")) || ((_local2 == "alert")))){ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _borderMetrics = new EdgeMetrics(0, 0, 0, 0); } else { return (EdgeMetrics.EMPTY); }; } else { if ((((_local2 == "controlBar")) || ((_local2 == "applicationControlBar")))){ _borderMetrics = new EdgeMetrics(1, 1, 1, 1); } else { if (_local2 == "solid"){ _local1 = getStyle("borderThickness"); if (isNaN(_local1)){ _local1 = 0; }; _borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1); _local3 = getStyle("borderSides"); if (_local3 != "left top right bottom"){ if (_local3.indexOf("left") == -1){ _borderMetrics.left = 0; }; if (_local3.indexOf("top") == -1){ _borderMetrics.top = 0; }; if (_local3.indexOf("right") == -1){ _borderMetrics.right = 0; }; if (_local3.indexOf("bottom") == -1){ _borderMetrics.bottom = 0; }; }; } else { _local1 = BORDER_WIDTHS[_local2]; if (isNaN(_local1)){ _local1 = 0; }; _borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1); }; }; }; return (_borderMetrics); } } }//package mx.skins.halo
Section 313
//HaloColors (mx.skins.halo.HaloColors) package mx.skins.halo { import mx.utils.*; public class HaloColors { mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; public static function getCacheKey(... _args):String{ return (_args.join(",")); } public static function addHaloColors(_arg1:Object, _arg2:uint, _arg3:uint, _arg4:uint):void{ var _local5:String = getCacheKey(_arg2, _arg3, _arg4); var _local6:Object = cache[_local5]; if (!_local6){ _local6 = (cache[_local5] = {}); _local6.themeColLgt = ColorUtil.adjustBrightness(_arg2, 100); _local6.themeColDrk1 = ColorUtil.adjustBrightness(_arg2, -75); _local6.themeColDrk2 = ColorUtil.adjustBrightness(_arg2, -25); _local6.fillColorBright1 = ColorUtil.adjustBrightness2(_arg3, 15); _local6.fillColorBright2 = ColorUtil.adjustBrightness2(_arg4, 15); _local6.fillColorPress1 = ColorUtil.adjustBrightness2(_arg2, 85); _local6.fillColorPress2 = ColorUtil.adjustBrightness2(_arg2, 60); _local6.bevelHighlight1 = ColorUtil.adjustBrightness2(_arg3, 40); _local6.bevelHighlight2 = ColorUtil.adjustBrightness2(_arg4, 40); }; _arg1.themeColLgt = _local6.themeColLgt; _arg1.themeColDrk1 = _local6.themeColDrk1; _arg1.themeColDrk2 = _local6.themeColDrk2; _arg1.fillColorBright1 = _local6.fillColorBright1; _arg1.fillColorBright2 = _local6.fillColorBright2; _arg1.fillColorPress1 = _local6.fillColorPress1; _arg1.fillColorPress2 = _local6.fillColorPress2; _arg1.bevelHighlight1 = _local6.bevelHighlight1; _arg1.bevelHighlight2 = _local6.bevelHighlight2; } } }//package mx.skins.halo
Section 314
//HaloFocusRect (mx.skins.halo.HaloFocusRect) package mx.skins.halo { import flash.display.*; import mx.styles.*; import mx.utils.*; import mx.skins.*; public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient { private var _focusColor:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function get inheritingStyles():Object{ return (styleName.inheritingStyles); } public function set inheritingStyles(_arg1:Object):void{ } public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{ } public function registerEffects(_arg1:Array):void{ } public function regenerateStyleCache(_arg1:Boolean):void{ } public function get styleDeclaration():CSSStyleDeclaration{ return (CSSStyleDeclaration(styleName)); } public function getClassStyleDeclarations():Array{ return ([]); } public function get className():String{ return ("HaloFocusRect"); } public function clearStyle(_arg1:String):void{ if (_arg1 == "focusColor"){ _focusColor = NaN; }; } public function setStyle(_arg1:String, _arg2):void{ if (_arg1 == "focusColor"){ _focusColor = _arg2; }; } public function set nonInheritingStyles(_arg1:Object):void{ } public function get nonInheritingStyles():Object{ return (styleName.nonInheritingStyles); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; super.updateDisplayList(_arg1, _arg2); var _local3:String = getStyle("focusBlendMode"); var _local4:Number = getStyle("focusAlpha"); var _local5:Number = getStyle("focusColor"); var _local6:Number = getStyle("cornerRadius"); var _local7:Number = getStyle("focusThickness"); var _local8:String = getStyle("focusRoundedCorners"); var _local9:Number = getStyle("themeColor"); var _local10:Number = _local5; if (isNaN(_local10)){ _local10 = _local9; }; var _local11:Graphics = graphics; _local11.clear(); blendMode = _local3; if (((!((_local8 == "tl tr bl br"))) && ((_local6 > 0)))){ _local12 = 0; _local13 = 0; _local14 = 0; _local15 = 0; _local16 = (_local6 + _local7); if (_local8.indexOf("tl") >= 0){ _local12 = _local16; }; if (_local8.indexOf("tr") >= 0){ _local14 = _local16; }; if (_local8.indexOf("bl") >= 0){ _local13 = _local16; }; if (_local8.indexOf("br") >= 0){ _local15 = _local16; }; _local11.beginFill(_local10, _local4); GraphicsUtil.drawRoundRectComplex(_local11, 0, 0, _arg1, _arg2, _local12, _local14, _local13, _local15); _local12 = (_local12) ? _local6 : 0; _local14 = (_local14) ? _local6 : 0; _local13 = (_local13) ? _local6 : 0; _local15 = (_local15) ? _local6 : 0; GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15); _local11.endFill(); _local16 = (_local6 + (_local7 / 2)); _local12 = (_local12) ? _local16 : 0; _local14 = (_local14) ? _local16 : 0; _local13 = (_local13) ? _local16 : 0; _local15 = (_local15) ? _local16 : 0; _local11.beginFill(_local10, _local4); GraphicsUtil.drawRoundRectComplex(_local11, (_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local12, _local14, _local13, _local15); _local12 = (_local12) ? _local6 : 0; _local14 = (_local14) ? _local6 : 0; _local13 = (_local13) ? _local6 : 0; _local15 = (_local15) ? _local6 : 0; GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15); _local11.endFill(); } else { _local11.beginFill(_local10, _local4); _local17 = (((_local6 > 0)) ? (_local6 + _local7) : 0 * 2); _local11.drawRoundRect(0, 0, _arg1, _arg2, _local17, _local17); _local17 = (_local6 * 2); _local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17); _local11.endFill(); _local11.beginFill(_local10, _local4); _local17 = (((_local6 > 0)) ? (_local6 + (_local7 / 2)) : 0 * 2); _local11.drawRoundRect((_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local17, _local17); _local17 = (_local6 * 2); _local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17); _local11.endFill(); }; } override public function getStyle(_arg1:String){ return (((_arg1 == "focusColor")) ? _focusColor : super.getStyle(_arg1)); } public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{ } } }//package mx.skins.halo
Section 315
//ListDropIndicator (mx.skins.halo.ListDropIndicator) package mx.skins.halo { import flash.display.*; import mx.skins.*; public class ListDropIndicator extends ProgrammaticSkin { public var direction:String;// = "horizontal" mx_internal static const VERSION:String = "3.0.0.0"; override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:Graphics = graphics; _local3.clear(); _local3.lineStyle(2, 2831164); if (direction == "horizontal"){ _local3.moveTo(0, 0); _local3.lineTo(_arg1, 0); } else { _local3.moveTo(0, 0); _local3.lineTo(0, _arg2); }; } } }//package mx.skins.halo
Section 316
//PanelSkin (mx.skins.halo.PanelSkin) package mx.skins.halo { import flash.display.*; import mx.core.*; import flash.utils.*; public class PanelSkin extends HaloBorder { private var oldControlBarHeight:Number; protected var _panelBorderMetrics:EdgeMetrics; private var oldHeaderHeight:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var panels:Object = {}; override public function styleChanged(_arg1:String):void{ super.styleChanged(_arg1); if ((((((((((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderThicknessTop")))) || ((_arg1 == "borderThicknessBottom")))) || ((_arg1 == "borderThicknessLeft")))) || ((_arg1 == "borderThicknessRight")))) || ((_arg1 == "borderSides")))){ _panelBorderMetrics = null; }; invalidateDisplayList(); } override mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Graphics; var _local8:IContainer; var _local9:EdgeMetrics; super.drawBorder(_arg1, _arg2); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return; }; var _local3:String = getStyle("borderStyle"); if (_local3 == "default"){ _local4 = getStyle("backgroundAlpha"); _local5 = getStyle("borderAlpha"); backgroundAlphaName = "borderAlpha"; radiusObj = null; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); _local6 = (bRoundedCorners) ? radius : 0; _local7 = graphics; drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local6, _local6); if (!bRoundedCorners){ radiusObj = {}; }; _local8 = (parent as IContainer); if (_local8){ _local9 = _local8.viewMetrics; backgroundHole = {x:_local9.left, y:_local9.top, w:Math.max(0, ((_arg1 - _local9.left) - _local9.right)), h:Math.max(0, ((_arg2 - _local9.top) - _local9.bottom)), r:0}; if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){ if (_local4 != _local5){ drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0); }; _local7.beginFill(Number(backgroundColor), _local4); _local7.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h); _local7.endFill(); }; }; backgroundColor = getStyle("borderColor"); }; } override public function get borderMetrics():EdgeMetrics{ var _local4:Number; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (super.borderMetrics); }; var _local1:Boolean = isPanel(parent); var _local2:IUIComponent = (_local1) ? Object(parent)._controlBar : null; var _local3:Number = (_local1) ? Object(parent).getHeaderHeightProxy() : NaN; if (((_local2) && (_local2.includeInLayout))){ _local4 = _local2.getExplicitOrMeasuredHeight(); }; if (((!((_local4 == oldControlBarHeight))) && (!(((isNaN(oldControlBarHeight)) && (isNaN(_local4))))))){ _panelBorderMetrics = null; }; if (((!((_local3 == oldHeaderHeight))) && (!(((isNaN(_local3)) && (isNaN(oldHeaderHeight))))))){ _panelBorderMetrics = null; }; if (_panelBorderMetrics){ return (_panelBorderMetrics); }; var _local5:EdgeMetrics = super.borderMetrics; var _local6:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); var _local7:Number = getStyle("borderThickness"); var _local8:Number = getStyle("borderThicknessLeft"); var _local9:Number = getStyle("borderThicknessTop"); var _local10:Number = getStyle("borderThicknessRight"); var _local11:Number = getStyle("borderThicknessBottom"); _local6.left = (_local5.left + (isNaN(_local8)) ? _local7 : _local8); _local6.top = (_local5.top + (isNaN(_local9)) ? _local7 : _local9); _local6.right = (_local5.bottom + (isNaN(_local10)) ? _local7 : _local10); _local6.bottom = (_local5.bottom + (isNaN(_local11)) ? (((_local2) && (!(isNaN(_local9))))) ? _local9 : (isNaN(_local8)) ? _local7 : _local8 : _local11); oldHeaderHeight = _local3; if (!isNaN(_local3)){ _local6.top = (_local6.top + _local3); }; oldControlBarHeight = _local4; if (!isNaN(_local4)){ _local6.bottom = (_local6.bottom + _local4); }; _panelBorderMetrics = _local6; return (_panelBorderMetrics); } override mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{ var _local3:Array; var _local4:Number; super.drawBackground(_arg1, _arg2); if ((((getStyle("headerColors") == null)) && ((getStyle("borderStyle") == "default")))){ _local3 = getStyle("highlightAlphas"); _local4 = (_local3) ? _local3[0] : 0.3; drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local4, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}}); }; } override mx_internal function getBackgroundColorMetrics():EdgeMetrics{ if (getStyle("borderStyle") == "default"){ return (EdgeMetrics.EMPTY); }; return (super.borderMetrics); } private static function isPanel(_arg1:Object):Boolean{ var s:String; var x:XML; var parent = _arg1; s = getQualifiedClassName(parent); if (panels[s] == 1){ return (true); }; if (panels[s] == 0){ return (false); }; if (s == "mx.containers::Panel"){ (panels[s] == 1); return (true); }; x = describeType(parent); var xmllist:XMLList = x.extendsClass.(@type == "mx.containers::Panel"); if (xmllist.length() == 0){ panels[s] = 0; return (false); }; panels[s] = 1; return (true); } } }//package mx.skins.halo
Section 317
//ScrollArrowSkin (mx.skins.halo.ScrollArrowSkin) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.styles.*; import mx.controls.scrollClasses.*; import mx.utils.*; import mx.skins.*; public class ScrollArrowSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; override public function get measuredWidth():Number{ return (ScrollBar.THICKNESS); } override public function get measuredHeight():Number{ return (ScrollBar.THICKNESS); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local13:Array; var _local15:Array; var _local16:Array; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:Array; super.updateDisplayList(_arg1, _arg2); var _local3:Number = getStyle("backgroundColor"); var _local4:uint = getStyle("borderColor"); var _local5:Array = getStyle("fillAlphas"); var _local6:Array = getStyle("fillColors"); StyleManager.getColorNames(_local6); var _local7:Array = getStyle("highlightAlphas"); var _local8:uint = getStyle("themeColor"); var _local9 = (name.charAt(0) == "u"); var _local10:uint = getStyle("iconColor"); var _local11:Object = calcDerivedStyles(_local8, _local4, _local6[0], _local6[1]); var _local12:Boolean = ((((parent) && (parent.parent))) && (!((parent.parent.rotation == 0)))); if (((_local9) && (!(_local12)))){ _local13 = [_local4, _local11.borderColorDrk1]; } else { _local13 = [_local11.borderColorDrk1, _local11.borderColorDrk2]; }; var _local14:Graphics = graphics; _local14.clear(); if (isNaN(_local3)){ _local3 = 0xFFFFFF; }; if ((((FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)) || ((name.indexOf("Disabled") == -1)))){ drawRoundRect(0, 0, _arg1, _arg2, 0, _local3, 1); }; switch (name){ case "upArrowUpSkin": if (!_local12){ drawRoundRect(1, (_arg2 - 4), (_arg1 - 2), 8, 0, [_local11.borderColorDrk1, _local11.borderColorDrk1], [1, 0], verticalGradientMatrix(1, (_arg2 - 4), (_arg1 - 2), 8), GradientType.LINEAR, null, {x:1, y:(_arg2 - 4), w:(_arg1 - 2), h:4, r:0}); }; case "downArrowUpSkin": _local15 = [_local6[0], _local6[1]]; _local16 = [_local5[0], _local5[1]]; drawRoundRect(0, 0, _arg1, _arg2, 0, _local13, 1, (_local12) ? horizontalGradientMatrix(0, 0, _arg1, _arg2) : verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:0}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), 0, _local15, _local16, (_local12) ? horizontalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2)) : verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - (2 / 2)))); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - (2 / 2)), 0, [0xFFFFFF, 0xFFFFFF], _local7, (_local12) ? horizontalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2)) : verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - (2 / 2)))); break; case "upArrowOverSkin": if (!_local12){ drawRoundRect(1, (_arg2 - 4), (_arg1 - 2), 8, 0, [_local11.borderColorDrk1, _local11.borderColorDrk1], [1, 0], verticalGradientMatrix(1, (_arg2 - 4), (_arg1 - 2), 8), GradientType.LINEAR, null, {x:1, y:(_arg2 - 4), w:(_arg1 - 2), h:4, r:0}); }; case "downArrowOverSkin": if (_local6.length > 2){ _local17 = [_local6[2], _local6[3]]; } else { _local17 = [_local6[0], _local6[1]]; }; if (_local5.length > 2){ _local18 = [_local5[2], _local5[3]]; } else { _local18 = [_local5[0], _local5[1]]; }; drawRoundRect(0, 0, _arg1, _arg2, 0, 0xFFFFFF, 1); drawRoundRect(0, 0, _arg1, _arg2, 0, [_local8, _local11.themeColDrk1], 1, (_local12) ? horizontalGradientMatrix(0, 0, _arg1, _arg2) : verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:0}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), 0, _local17, _local18, (_local12) ? horizontalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2)) : verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - (2 / 2)), 0, [0xFFFFFF, 0xFFFFFF], _local7, (_local12) ? horizontalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2)) : verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - (2 / 2)))); break; case "upArrowDownSkin": if (!_local12){ drawRoundRect(1, (_arg2 - 4), (_arg1 - 2), 8, 0, [_local11.borderColorDrk1, _local11.borderColorDrk1], [1, 0], (_local12) ? horizontalGradientMatrix(1, (_arg2 - 4), (_arg1 - 2), 8) : verticalGradientMatrix(1, (_arg2 - 4), (_arg1 - 2), 8), GradientType.LINEAR, null, {x:1, y:(_arg2 - 4), w:(_arg1 - 2), h:4, r:0}); }; case "downArrowDownSkin": drawRoundRect(0, 0, _arg1, _arg2, 0, [_local8, _local11.themeColDrk1], 1, (_local12) ? horizontalGradientMatrix(0, 0, _arg1, _arg2) : verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:0}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), 0, [_local11.fillColorPress1, _local11.fillColorPress2], 1, (_local12) ? horizontalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2)) : verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - (2 / 2)), 0, [0xFFFFFF, 0xFFFFFF], _local7, (_local12) ? horizontalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2)) : verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - (2 / 2)))); break; case "upArrowDisabledSkin": if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ if (!_local12){ drawRoundRect(1, (_arg2 - 4), (_arg1 - 2), 8, 0, [_local11.borderColorDrk1, _local11.borderColorDrk1], [0.5, 0], verticalGradientMatrix(1, (_arg2 - 4), (_arg1 - 2), 8), GradientType.LINEAR, null, {x:1, y:(_arg2 - 4), w:(_arg1 - 2), h:4, r:0}); }; }; case "downArrowDisabledSkin": if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0){ _local19 = [_local6[0], _local6[1]]; _local20 = [(_local5[0] - 0.15), (_local5[1] - 0.15)]; drawRoundRect(0, 0, _arg1, _arg2, 0, _local13, 0.5, (_local12) ? horizontalGradientMatrix(0, 0, _arg1, _arg2) : verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:0}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), 0, _local19, _local20, (_local12) ? horizontalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2)) : verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - (2 / 2)))); _local10 = getStyle("disabledIconColor"); } else { drawRoundRect(0, 0, _arg1, _arg2, 0, 0xFFFFFF, 0); return; }; break; default: drawRoundRect(0, 0, _arg1, _arg2, 0, 0xFFFFFF, 0); return; }; _local14.beginFill(_local10); if (_local9){ _local14.moveTo((_arg1 / 2), 6); _local14.lineTo((_arg1 - 5), (_arg2 - 6)); _local14.lineTo(5, (_arg2 - 6)); _local14.lineTo((_arg1 / 2), 6); } else { _local14.moveTo((_arg1 / 2), (_arg2 - 6)); _local14.lineTo((_arg1 - 5), 6); _local14.lineTo(5, 6); _local14.lineTo((_arg1 / 2), (_arg2 - 6)); }; _local14.endFill(); } private static function calcDerivedStyles(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):Object{ var _local6:Object; var _local5:String = HaloColors.getCacheKey(_arg1, _arg2, _arg3, _arg4); if (!cache[_local5]){ _local6 = (cache[_local5] = {}); HaloColors.addHaloColors(_local6, _arg1, _arg3, _arg4); _local6.borderColorDrk1 = ColorUtil.adjustBrightness2(_arg2, -25); _local6.borderColorDrk2 = ColorUtil.adjustBrightness2(_arg2, -50); }; return (cache[_local5]); } } }//package mx.skins.halo
Section 318
//ScrollThumbSkin (mx.skins.halo.ScrollThumbSkin) package mx.skins.halo { import flash.display.*; import mx.styles.*; import mx.utils.*; import mx.skins.*; public class ScrollThumbSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; override public function get measuredWidth():Number{ return (16); } override public function get measuredHeight():Number{ return (10); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local17:Array; var _local18:Array; var _local19:Array; var _local20:Array; super.updateDisplayList(_arg1, _arg2); var _local3:Number = getStyle("backgroundColor"); var _local4:uint = getStyle("borderColor"); var _local5:Number = getStyle("cornerRadius"); var _local6:Array = getStyle("fillAlphas"); var _local7:Array = getStyle("fillColors"); StyleManager.getColorNames(_local7); var _local8:Array = getStyle("highlightAlphas"); var _local9:uint = getStyle("themeColor"); var _local10:uint = 7305079; var _local11:Object = calcDerivedStyles(_local9, _local4, _local7[0], _local7[1]); var _local12:Number = Math.max((_local5 - 1), 0); var _local13:Object = {tl:0, tr:_local12, bl:0, br:_local12}; _local12 = Math.max((_local12 - 1), 0); var _local14:Object = {tl:0, tr:_local12, bl:0, br:_local12}; var _local15:Boolean = ((((parent) && (parent.parent))) && (!((parent.parent.rotation == 0)))); if (isNaN(_local3)){ _local3 = 0xFFFFFF; }; graphics.clear(); drawRoundRect(1, 0, (_arg1 - 3), _arg2, _local13, _local3, 1); switch (name){ case "thumbUpSkin": default: _local17 = [_local7[0], _local7[1]]; _local18 = [_local6[0], _local6[1]]; drawRoundRect(0, 0, _arg1, _arg2, 0, 0xFFFFFF, 0); if (_local15){ drawRoundRect(1, 0, (_arg1 - 2), _arg2, _local5, [_local11.borderColorDrk1, _local11.borderColorDrk1], [1, 0], horizontalGradientMatrix(2, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 4), h:(_arg2 - 2), r:_local14}); } else { drawRoundRect(1, (_arg2 - _local12), (_arg1 - 3), (_local12 + 4), {tl:0, tr:0, bl:0, br:_local12}, [_local11.borderColorDrk1, _local11.borderColorDrk1], [1, 0], (_local15) ? horizontalGradientMatrix(0, (_arg2 - 4), (_arg1 - 3), 8) : verticalGradientMatrix(0, (_arg2 - 4), (_arg1 - 3), 8), GradientType.LINEAR, null, {x:1, y:(_arg2 - _local12), w:(_arg1 - 4), h:_local12, r:{tl:0, tr:0, bl:0, br:(_local12 - 1)}}); }; drawRoundRect(1, 0, (_arg1 - 3), _arg2, _local13, [_local4, _local11.borderColorDrk1], 1, (_local15) ? horizontalGradientMatrix(0, 0, _arg1, _arg2) : verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 4), h:(_arg2 - 2), r:_local14}); drawRoundRect(1, 1, (_arg1 - 4), (_arg2 - 2), _local14, _local17, _local18, (_local15) ? horizontalGradientMatrix(1, 0, (_arg1 - 2), (_arg2 - 2)) : verticalGradientMatrix(1, 0, (_arg1 - 2), (_arg2 - 2))); if (_local15){ drawRoundRect(1, 0, ((_arg1 - 4) / 2), (_arg2 - 2), 0, [0xFFFFFF, 0xFFFFFF], _local8, horizontalGradientMatrix(1, 1, (_arg1 - 4), ((_arg2 - 2) / 2))); } else { drawRoundRect(1, 1, (_arg1 - 4), ((_arg2 - 2) / 2), _local14, [0xFFFFFF, 0xFFFFFF], _local8, (_local15) ? horizontalGradientMatrix(1, 0, ((_arg1 - 4) / 2), (_arg2 - 2)) : verticalGradientMatrix(1, 1, (_arg1 - 4), ((_arg2 - 2) / 2))); }; break; case "thumbOverSkin": if (_local7.length > 2){ _local19 = [_local7[2], _local7[3]]; } else { _local19 = [_local7[0], _local7[1]]; }; if (_local6.length > 2){ _local20 = [_local6[2], _local6[3]]; } else { _local20 = [_local6[0], _local6[1]]; }; drawRoundRect(0, 0, _arg1, _arg2, 0, 0xFFFFFF, 0); if (_local15){ drawRoundRect(1, 0, (_arg1 - 2), _arg2, _local5, [_local11.borderColorDrk1, _local11.borderColorDrk1], [1, 0], horizontalGradientMatrix(2, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 4), h:(_arg2 - 2), r:_local14}); } else { drawRoundRect(1, (_arg2 - _local12), (_arg1 - 3), (_local12 + 4), {tl:0, tr:0, bl:0, br:_local12}, [_local11.borderColorDrk1, _local11.borderColorDrk1], [1, 0], (_local15) ? horizontalGradientMatrix(0, (_arg2 - 4), (_arg1 - 3), 8) : verticalGradientMatrix(0, (_arg2 - 4), (_arg1 - 3), 8), GradientType.LINEAR, null, {x:1, y:(_arg2 - _local12), w:(_arg1 - 4), h:_local12, r:{tl:0, tr:0, bl:0, br:(_local12 - 1)}}); }; drawRoundRect(1, 0, (_arg1 - 3), _arg2, _local13, [_local9, _local11.themeColDrk1], 1, (_local15) ? horizontalGradientMatrix(1, 0, _arg1, _arg2) : verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 4), h:(_arg2 - 2), r:_local14}); drawRoundRect(1, 1, (_arg1 - 4), (_arg2 - 2), _local14, _local19, _local20, (_local15) ? horizontalGradientMatrix(1, 0, _arg1, _arg2) : verticalGradientMatrix(1, 0, _arg1, _arg2)); break; case "thumbDownSkin": if (_local15){ drawRoundRect(1, 0, (_arg1 - 2), _arg2, _local13, [_local11.borderColorDrk1, _local11.borderColorDrk1], [1, 0], horizontalGradientMatrix(2, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 4), h:(_arg2 - 2), r:_local14}); } else { drawRoundRect(1, (_arg2 - _local12), (_arg1 - 3), (_local12 + 4), {tl:0, tr:0, bl:0, br:_local12}, [_local11.borderColorDrk1, _local11.borderColorDrk1], [1, 0], (_local15) ? horizontalGradientMatrix(0, (_arg2 - 4), (_arg1 - 3), 8) : verticalGradientMatrix(0, (_arg2 - 4), (_arg1 - 3), 8), GradientType.LINEAR, null, {x:1, y:(_arg2 - _local12), w:(_arg1 - 4), h:_local12, r:{tl:0, tr:0, bl:0, br:(_local12 - 1)}}); }; drawRoundRect(1, 0, (_arg1 - 3), _arg2, _local13, [_local9, _local11.themeColDrk2], 1, (_local15) ? horizontalGradientMatrix(1, 0, _arg1, _arg2) : verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 4), h:(_arg2 - 2), r:_local14}); drawRoundRect(1, 1, (_arg1 - 4), (_arg2 - 2), _local14, [_local11.fillColorPress1, _local11.fillColorPress2], 1, (_local15) ? horizontalGradientMatrix(1, 0, _arg1, _arg2) : verticalGradientMatrix(1, 0, _arg1, _arg2)); break; case "thumbDisabledSkin": drawRoundRect(0, 0, _arg1, _arg2, 0, 0xFFFFFF, 0); drawRoundRect(1, 0, (_arg1 - 3), _arg2, _local13, 0x999999, 0.5); drawRoundRect(1, 1, (_arg1 - 4), (_arg2 - 2), _local14, 0xFFFFFF, 0.5); break; }; var _local16:Number = Math.floor(((_arg1 / 2) - 4)); drawRoundRect(_local16, Math.floor(((_arg2 / 2) - 4)), 5, 1, 0, 0, 0.4); drawRoundRect(_local16, Math.floor(((_arg2 / 2) - 2)), 5, 1, 0, 0, 0.4); drawRoundRect(_local16, Math.floor((_arg2 / 2)), 5, 1, 0, 0, 0.4); drawRoundRect(_local16, Math.floor(((_arg2 / 2) + 2)), 5, 1, 0, 0, 0.4); drawRoundRect(_local16, Math.floor(((_arg2 / 2) + 4)), 5, 1, 0, 0, 0.4); } private static function calcDerivedStyles(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):Object{ var _local6:Object; var _local5:String = HaloColors.getCacheKey(_arg1, _arg2, _arg3, _arg4); if (!cache[_local5]){ _local6 = (cache[_local5] = {}); HaloColors.addHaloColors(_local6, _arg1, _arg3, _arg4); _local6.borderColorDrk1 = ColorUtil.adjustBrightness2(_arg2, -50); }; return (cache[_local5]); } } }//package mx.skins.halo
Section 319
//ScrollTrackSkin (mx.skins.halo.ScrollTrackSkin) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.styles.*; import mx.utils.*; import mx.skins.*; public class ScrollTrackSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; override public function get measuredWidth():Number{ return (16); } override public function get measuredHeight():Number{ return (1); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:Array = getStyle("trackColors"); StyleManager.getColorNames(_local3); var _local4:uint = ColorUtil.adjustBrightness2(getStyle("borderColor"), -20); var _local5:uint = ColorUtil.adjustBrightness2(_local4, -30); graphics.clear(); var _local6:Number = 1; if ((((name == "trackDisabledSkin")) && ((FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)))){ _local6 = 0.2; }; drawRoundRect(0, 0, _arg1, _arg2, 0, [_local4, _local5], _local6, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:0}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), 0, _local3, _local6, horizontalGradientMatrix(1, 1, ((_arg1 / 3) * 2), (_arg2 - 2))); } } }//package mx.skins.halo
Section 320
//TitleBackground (mx.skins.halo.TitleBackground) package mx.skins.halo { import flash.display.*; import mx.styles.*; import mx.utils.*; import mx.skins.*; public class TitleBackground extends ProgrammaticSkin { mx_internal static const VERSION:String = "3.0.0.0"; override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:Number = getStyle("borderAlpha"); var _local4:Number = getStyle("cornerRadius"); var _local5:Array = getStyle("highlightAlphas"); var _local6:Array = getStyle("headerColors"); var _local7 = !((_local6 == null)); StyleManager.getColorNames(_local6); var _local8:Number = ColorUtil.adjustBrightness2((_local6) ? _local6[1] : 0xFFFFFF, -20); var _local9:Graphics = graphics; _local9.clear(); if (_arg2 < 3){ return; }; if (_local7){ _local9.lineStyle(0, _local8, _local3); _local9.moveTo(0, _arg2); _local9.lineTo(_arg1, _arg2); _local9.lineStyle(0, 0, 0); drawRoundRect(0, 0, _arg1, _arg2, {tl:_local4, tr:_local4, bl:0, br:0}, _local6, _local3, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(0, 0, _arg1, (_arg2 / 2), {tl:_local4, tr:_local4, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local5, verticalGradientMatrix(0, 0, _arg1, (_arg2 / 2))); drawRoundRect(0, 0, _arg1, _arg2, {tl:_local4, tr:_local4, bl:0, br:0}, 0xFFFFFF, _local5[0], null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:_local4, tr:_local4, bl:0, br:0}}); }; } } }//package mx.skins.halo
Section 321
//ToolTipBorder (mx.skins.halo.ToolTipBorder) package mx.skins.halo { import flash.display.*; import mx.core.*; import mx.graphics.*; import mx.skins.*; import flash.filters.*; public class ToolTipBorder extends RectangularBorder { private var _borderMetrics:EdgeMetrics; private var dropShadow:RectangularDropShadow; mx_internal static const VERSION:String = "3.0.0.0"; override public function get borderMetrics():EdgeMetrics{ if (_borderMetrics){ return (_borderMetrics); }; var _local1:String = getStyle("borderStyle"); switch (_local1){ case "errorTipRight": _borderMetrics = new EdgeMetrics(15, 1, 3, 3); break; case "errorTipAbove": _borderMetrics = new EdgeMetrics(3, 1, 3, 15); break; case "errorTipBelow": _borderMetrics = new EdgeMetrics(3, 13, 3, 3); break; default: _borderMetrics = new EdgeMetrics(3, 1, 3, 3); break; }; return (_borderMetrics); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:String = getStyle("borderStyle"); var _local4:uint = getStyle("backgroundColor"); var _local5:Number = getStyle("backgroundAlpha"); var _local6:uint = getStyle("borderColor"); var _local7:Number = getStyle("cornerRadius"); var _local8:uint = getStyle("shadowColor"); var _local9:Number = 0.1; var _local10:Graphics = graphics; _local10.clear(); filters = []; switch (_local3){ case "toolTip": drawRoundRect(3, 1, (_arg1 - 6), (_arg2 - 4), _local7, _local4, _local5); if (!dropShadow){ dropShadow = new RectangularDropShadow(); }; dropShadow.distance = 3; dropShadow.angle = 90; dropShadow.color = 0; dropShadow.alpha = 0.4; dropShadow.tlRadius = (_local7 + 2); dropShadow.trRadius = (_local7 + 2); dropShadow.blRadius = (_local7 + 2); dropShadow.brRadius = (_local7 + 2); dropShadow.drawShadow(graphics, 3, 0, (_arg1 - 6), (_arg2 - 4)); break; case "errorTipRight": drawRoundRect(11, 0, (_arg1 - 11), (_arg2 - 2), 3, _local6, _local5); _local10.beginFill(_local6, _local5); _local10.moveTo(11, 7); _local10.lineTo(0, 13); _local10.lineTo(11, 19); _local10.moveTo(11, 7); _local10.endFill(); filters = [new DropShadowFilter(2, 90, 0, 0.4)]; break; case "errorTipAbove": drawRoundRect(0, 0, _arg1, (_arg2 - 13), 3, _local6, _local5); _local10.beginFill(_local6, _local5); _local10.moveTo(9, (_arg2 - 13)); _local10.lineTo(15, (_arg2 - 2)); _local10.lineTo(21, (_arg2 - 13)); _local10.moveTo(9, (_arg2 - 13)); _local10.endFill(); filters = [new DropShadowFilter(2, 90, 0, 0.4)]; break; case "errorTipBelow": drawRoundRect(0, 11, _arg1, (_arg2 - 13), 3, _local6, _local5); _local10.beginFill(_local6, _local5); _local10.moveTo(9, 11); _local10.lineTo(15, 0); _local10.lineTo(21, 11); _local10.moveTo(10, 11); _local10.endFill(); filters = [new DropShadowFilter(2, 90, 0, 0.4)]; break; }; } override public function styleChanged(_arg1:String):void{ if ((((((_arg1 == "borderStyle")) || ((_arg1 == "styleName")))) || ((_arg1 == null)))){ _borderMetrics = null; }; invalidateDisplayList(); } } }//package mx.skins.halo
Section 322
//Border (mx.skins.Border) package mx.skins { import mx.core.*; public class Border extends ProgrammaticSkin implements IBorder { mx_internal static const VERSION:String = "3.0.0.0"; public function get borderMetrics():EdgeMetrics{ return (EdgeMetrics.EMPTY); } } }//package mx.skins
Section 323
//ProgrammaticSkin (mx.skins.ProgrammaticSkin) package mx.skins { import flash.display.*; import flash.geom.*; import mx.core.*; import mx.managers.*; import mx.styles.*; import mx.utils.*; public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin { private var _initialized:Boolean;// = false private var _height:Number; private var invalidateDisplayListFlag:Boolean;// = false private var _styleName:IStyleClient; private var _nestLevel:int;// = 0 private var _processedDescriptors:Boolean;// = false private var _updateCompletePendingFlag:Boolean;// = true private var _width:Number; mx_internal static const VERSION:String = "3.0.0.0"; private static var tempMatrix:Matrix = new Matrix(); public function ProgrammaticSkin(){ _width = measuredWidth; _height = measuredHeight; } public function getStyle(_arg1:String){ return (_styleName.getStyle(_arg1)); } protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ } public function get nestLevel():int{ return (_nestLevel); } public function set nestLevel(_arg1:int):void{ _nestLevel = _arg1; invalidateDisplayList(); } override public function get height():Number{ return (_height); } public function get updateCompletePendingFlag():Boolean{ return (_updateCompletePendingFlag); } protected function verticalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{ return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 90)); } public function validateSize(_arg1:Boolean=false):void{ } public function invalidateDisplayList():void{ if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){ invalidateDisplayListFlag = true; UIComponentGlobals.layoutManager.invalidateDisplayList(this); }; } public function set updateCompletePendingFlag(_arg1:Boolean):void{ _updateCompletePendingFlag = _arg1; } protected function horizontalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{ return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 0)); } override public function set height(_arg1:Number):void{ _height = _arg1; invalidateDisplayList(); } public function set processedDescriptors(_arg1:Boolean):void{ _processedDescriptors = _arg1; } public function validateDisplayList():void{ invalidateDisplayListFlag = false; updateDisplayList(width, height); } public function get measuredWidth():Number{ return (0); } override public function set width(_arg1:Number):void{ _width = _arg1; invalidateDisplayList(); } public function get measuredHeight():Number{ return (0); } public function set initialized(_arg1:Boolean):void{ _initialized = _arg1; } protected function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:Matrix=null, _arg9:String="linear", _arg10:Array=null, _arg11:Object=null):void{ var _local13:Number; var _local14:Array; var _local15:Object; var _local12:Graphics = graphics; if ((((_arg3 == 0)) || ((_arg4 == 0)))){ return; }; if (_arg6 !== null){ if ((_arg6 is uint)){ _local12.beginFill(uint(_arg6), Number(_arg7)); } else { if ((_arg6 is Array)){ _local14 = ((_arg7 is Array)) ? (_arg7 as Array) : [_arg7, _arg7]; if (!_arg10){ _arg10 = [0, 0xFF]; }; _local12.beginGradientFill(_arg9, (_arg6 as Array), _local14, _arg10, _arg8); }; }; }; if (!_arg5){ _local12.drawRect(_arg1, _arg2, _arg3, _arg4); } else { if ((_arg5 is Number)){ _local13 = (Number(_arg5) * 2); _local12.drawRoundRect(_arg1, _arg2, _arg3, _arg4, _local13, _local13); } else { GraphicsUtil.drawRoundRectComplex(_local12, _arg1, _arg2, _arg3, _arg4, _arg5.tl, _arg5.tr, _arg5.bl, _arg5.br); }; }; if (_arg11){ _local15 = _arg11.r; if ((_local15 is Number)){ _local13 = (Number(_local15) * 2); _local12.drawRoundRect(_arg11.x, _arg11.y, _arg11.w, _arg11.h, _local13, _local13); } else { GraphicsUtil.drawRoundRectComplex(_local12, _arg11.x, _arg11.y, _arg11.w, _arg11.h, _local15.tl, _local15.tr, _local15.bl, _local15.br); }; }; if (_arg6 !== null){ _local12.endFill(); }; } public function get processedDescriptors():Boolean{ return (_processedDescriptors); } public function set styleName(_arg1:Object):void{ if (_styleName != _arg1){ _styleName = (_arg1 as IStyleClient); invalidateDisplayList(); }; } public function setActualSize(_arg1:Number, _arg2:Number):void{ var _local3:Boolean; if (_width != _arg1){ _width = _arg1; _local3 = true; }; if (_height != _arg2){ _height = _arg2; _local3 = true; }; if (_local3){ invalidateDisplayList(); }; } public function styleChanged(_arg1:String):void{ invalidateDisplayList(); } override public function get width():Number{ return (_width); } public function invalidateProperties():void{ } public function get initialized():Boolean{ return (_initialized); } protected function rotatedGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Matrix{ tempMatrix.createGradientBox(_arg3, _arg4, ((_arg5 * Math.PI) / 180), _arg1, _arg2); return (tempMatrix); } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function get styleName():Object{ return (_styleName); } public function validateNow():void{ if (invalidateDisplayListFlag){ validateDisplayList(); }; } public function invalidateSize():void{ } public function validateProperties():void{ } } }//package mx.skins
Section 324
//RectangularBorder (mx.skins.RectangularBorder) package mx.skins { import flash.display.*; import flash.geom.*; import mx.core.*; import flash.events.*; import mx.resources.*; import mx.styles.*; import flash.utils.*; import flash.system.*; import flash.net.*; public class RectangularBorder extends Border implements IRectangularBorder { private var backgroundImage:DisplayObject; private var backgroundImageHeight:Number; private var _backgroundImageBounds:Rectangle; private var backgroundImageStyle:Object; private var backgroundImageWidth:Number; private var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.0.0.0"; public function RectangularBorder(){ resourceManager = ResourceManager.getInstance(); super(); addEventListener(Event.REMOVED, removedHandler); } public function layoutBackgroundImage():void{ var _local4:Number; var _local5:Number; var _local7:Number; var _local8:Number; var _local14:Number; var _local15:Graphics; var _local1:DisplayObject = parent; var _local2:EdgeMetrics = ((_local1 is IContainer)) ? IContainer(_local1).viewMetrics : borderMetrics; var _local3 = !((getStyle("backgroundAttachment") == "fixed")); if (_backgroundImageBounds){ _local4 = _backgroundImageBounds.width; _local5 = _backgroundImageBounds.height; } else { _local4 = ((width - _local2.left) - _local2.right); _local5 = ((height - _local2.top) - _local2.bottom); }; var _local6:Number = getBackgroundSize(); if (isNaN(_local6)){ _local7 = 1; _local8 = 1; } else { _local14 = (_local6 * 0.01); _local7 = ((_local14 * _local4) / backgroundImageWidth); _local8 = ((_local14 * _local5) / backgroundImageHeight); }; backgroundImage.scaleX = _local7; backgroundImage.scaleY = _local8; var _local9:Number = Math.round((0.5 * (_local4 - (backgroundImageWidth * _local7)))); var _local10:Number = Math.round((0.5 * (_local5 - (backgroundImageHeight * _local8)))); backgroundImage.x = _local2.left; backgroundImage.y = _local2.top; var _local11:Shape = Shape(backgroundImage.mask); _local11.x = _local2.left; _local11.y = _local2.top; if (((_local3) && ((_local1 is IContainer)))){ _local9 = (_local9 - IContainer(_local1).horizontalScrollPosition); _local10 = (_local10 - IContainer(_local1).verticalScrollPosition); }; backgroundImage.alpha = getStyle("backgroundAlpha"); backgroundImage.x = (backgroundImage.x + _local9); backgroundImage.y = (backgroundImage.y + _local10); var _local12:Number = ((width - _local2.left) - _local2.right); var _local13:Number = ((height - _local2.top) - _local2.bottom); if (((!((_local11.width == _local12))) || (!((_local11.height == _local13))))){ _local15 = _local11.graphics; _local15.clear(); _local15.beginFill(0xFFFFFF); _local15.drawRect(0, 0, _local12, _local13); _local15.endFill(); }; } public function set backgroundImageBounds(_arg1:Rectangle):void{ _backgroundImageBounds = _arg1; invalidateDisplayList(); } private function getBackgroundSize():Number{ var _local3:int; var _local1:Number = NaN; var _local2:Object = getStyle("backgroundSize"); if (((_local2) && ((_local2 is String)))){ _local3 = _local2.indexOf("%"); if (_local3 != -1){ _local1 = Number(_local2.substr(0, _local3)); }; }; return (_local1); } private function removedHandler(_arg1:Event):void{ var _local2:IChildList; if (backgroundImage){ _local2 = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent); _local2.removeChild(backgroundImage.mask); _local2.removeChild(backgroundImage); backgroundImage = null; }; } private function initBackgroundImage(_arg1:DisplayObject):void{ backgroundImage = _arg1; if ((_arg1 is Loader)){ backgroundImageWidth = Loader(_arg1).contentLoaderInfo.width; backgroundImageHeight = Loader(_arg1).contentLoaderInfo.height; } else { backgroundImageWidth = backgroundImage.width; backgroundImageHeight = backgroundImage.height; if ((_arg1 is ISimpleStyleClient)){ ISimpleStyleClient(_arg1).styleName = styleName; }; }; var _local2:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent); var _local3:Shape = new FlexShape(); _local3.name = "backgroundMask"; _local3.x = 0; _local3.y = 0; _local2.addChild(_local3); var _local4:int = _local2.getChildIndex(this); _local2.addChildAt(backgroundImage, (_local4 + 1)); backgroundImage.mask = _local3; } public function get backgroundImageBounds():Rectangle{ return (_backgroundImageBounds); } public function get hasBackgroundImage():Boolean{ return (!((backgroundImage == null))); } private function completeEventHandler(_arg1:Event):void{ if (!parent){ return; }; var _local2:DisplayObject = DisplayObject(LoaderInfo(_arg1.target).loader); initBackgroundImage(_local2); layoutBackgroundImage(); dispatchEvent(_arg1.clone()); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var cls:Class; var newStyleObj:DisplayObject; var loader:Loader; var loaderContext:LoaderContext; var message:String; var unscaledWidth = _arg1; var unscaledHeight = _arg2; if (!parent){ return; }; var newStyle:Object = getStyle("backgroundImage"); if (newStyle != backgroundImageStyle){ removedHandler(null); backgroundImageStyle = newStyle; if (((newStyle) && ((newStyle as Class)))){ cls = Class(newStyle); initBackgroundImage(new (cls)); } else { if (((newStyle) && ((newStyle is String)))){ try { cls = Class(getDefinitionByName(String(newStyle))); } catch(e:Error) { }; if (cls){ newStyleObj = new (cls); initBackgroundImage(newStyleObj); } else { loader = new FlexLoader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler); loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler); loaderContext = new LoaderContext(); loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); loader.load(new URLRequest(String(newStyle)), loaderContext); }; } else { if (newStyle){ message = resourceManager.getString("skins", "notLoaded", [newStyle]); throw (new Error(message)); }; }; }; }; if (backgroundImage){ layoutBackgroundImage(); }; } private function errorEventHandler(_arg1:Event):void{ } } }//package mx.skins
Section 325
//IOverride (mx.states.IOverride) package mx.states { import mx.core.*; public interface IOverride { function initialize():void; function remove(_arg1:UIComponent):void; function apply(_arg1:UIComponent):void; } }//package mx.states
Section 326
//State (mx.states.State) package mx.states { import flash.events.*; import mx.events.*; public class State extends EventDispatcher { public var basedOn:String; private var initialized:Boolean;// = false public var overrides:Array; public var name:String; mx_internal static const VERSION:String = "3.0.0.0"; public function State(){ overrides = []; super(); } mx_internal function initialize():void{ var _local1:int; if (!initialized){ initialized = true; _local1 = 0; while (_local1 < overrides.length) { IOverride(overrides[_local1]).initialize(); _local1++; }; }; } mx_internal function dispatchExitState():void{ dispatchEvent(new FlexEvent(FlexEvent.EXIT_STATE)); } mx_internal function dispatchEnterState():void{ dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE)); } } }//package mx.states
Section 327
//Transition (mx.states.Transition) package mx.states { import mx.effects.*; public class Transition { public var effect:IEffect; public var toState:String;// = "*" public var fromState:String;// = "*" mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.states
Section 328
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration) package mx.styles { import flash.display.*; import mx.core.*; import mx.managers.*; import flash.events.*; import flash.utils.*; public class CSSStyleDeclaration extends EventDispatcher { mx_internal var effects:Array; protected var overrides:Object; public var defaultFactory:Function; public var factory:Function; mx_internal var selectorRefCount:int;// = 0 private var styleManager:IStyleManager2; private var clones:Dictionary; mx_internal static const VERSION:String = "3.0.0.0"; private static const NOT_A_COLOR:uint = 4294967295; private static const FILTERMAP_PROP:String = "__reserved__filterMap"; public function CSSStyleDeclaration(_arg1:String=null){ clones = new Dictionary(true); super(); if (_arg1){ styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2); styleManager.setStyleDeclaration(_arg1, this, false); }; } mx_internal function addStyleToProtoChain(_arg1:Object, _arg2:DisplayObject, _arg3:Object=null):Object{ var p:String; var emptyObjectFactory:Function; var filteredChain:Object; var filterObjectFactory:Function; var i:String; var chain = _arg1; var target = _arg2; var filterMap = _arg3; var nodeAddedToChain:Boolean; var originalChain:Object = chain; if (filterMap){ chain = {}; }; if (defaultFactory != null){ defaultFactory.prototype = chain; chain = new defaultFactory(); nodeAddedToChain = true; }; if (factory != null){ factory.prototype = chain; chain = new factory(); nodeAddedToChain = true; }; if (overrides){ if ((((defaultFactory == null)) && ((factory == null)))){ emptyObjectFactory = function ():void{ }; emptyObjectFactory.prototype = chain; chain = new (emptyObjectFactory); nodeAddedToChain = true; }; for (p in overrides) { if (overrides[p] === undefined){ delete chain[p]; } else { chain[p] = overrides[p]; }; }; }; if (filterMap){ if (nodeAddedToChain){ filteredChain = {}; filterObjectFactory = function ():void{ }; filterObjectFactory.prototype = originalChain; filteredChain = new (filterObjectFactory); for (i in chain) { if (filterMap[i] != null){ filteredChain[filterMap[i]] = chain[i]; }; }; chain = filteredChain; chain[FILTERMAP_PROP] = filterMap; } else { chain = originalChain; }; }; if (nodeAddedToChain){ clones[chain] = 1; }; return (chain); } public function getStyle(_arg1:String){ var _local2:*; var _local3:*; if (overrides){ if ((((_arg1 in overrides)) && ((overrides[_arg1] === undefined)))){ return (undefined); }; _local3 = overrides[_arg1]; if (_local3 !== undefined){ return (_local3); }; }; if (factory != null){ factory.prototype = {}; _local2 = new factory(); _local3 = _local2[_arg1]; if (_local3 !== undefined){ return (_local3); }; }; if (defaultFactory != null){ defaultFactory.prototype = {}; _local2 = new defaultFactory(); _local3 = _local2[_arg1]; if (_local3 !== undefined){ return (_local3); }; }; return (undefined); } public function clearStyle(_arg1:String):void{ setStyle(_arg1, undefined); } public function setStyle(_arg1:String, _arg2):void{ var _local7:int; var _local8:Object; var _local3:Object = getStyle(_arg1); var _local4:Boolean; if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((_local3 === _arg2))))){ _local4 = true; }; if (_arg2 !== undefined){ setStyle(_arg1, _arg2); } else { if (_arg2 == _local3){ return; }; setStyle(_arg1, _arg2); }; var _local5:Array = SystemManagerGlobals.topLevelSystemManagers; var _local6:int = _local5.length; if (_local4){ _local7 = 0; while (_local7 < _local6) { _local8 = _local5[_local7]; _local8.regenerateStyleCache(true); _local7++; }; }; _local7 = 0; while (_local7 < _local6) { _local8 = _local5[_local7]; _local8.notifyStyleChangeInChildren(_arg1, true); _local7++; }; } private function clearStyleAttr(_arg1:String):void{ var _local2:*; if (!overrides){ overrides = {}; }; overrides[_arg1] = undefined; for (_local2 in clones) { delete _local2[_arg1]; }; } mx_internal function createProtoChainRoot():Object{ var _local1:Object = {}; if (defaultFactory != null){ defaultFactory.prototype = _local1; _local1 = new defaultFactory(); }; if (factory != null){ factory.prototype = _local1; _local1 = new factory(); }; clones[_local1] = 1; return (_local1); } mx_internal function clearOverride(_arg1:String):void{ if (((overrides) && (overrides[_arg1]))){ delete overrides[_arg1]; }; } mx_internal function setStyle(_arg1:String, _arg2):void{ var _local3:Object; var _local4:*; var _local5:Number; var _local6:Object; if (_arg2 === undefined){ clearStyleAttr(_arg1); return; }; if ((_arg2 is String)){ if (!styleManager){ styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2); }; _local5 = styleManager.getColorName(_arg2); if (_local5 != NOT_A_COLOR){ _arg2 = _local5; }; }; if (defaultFactory != null){ _local3 = new defaultFactory(); if (_local3[_arg1] !== _arg2){ if (!overrides){ overrides = {}; }; overrides[_arg1] = _arg2; } else { if (overrides){ delete overrides[_arg1]; }; }; }; if (factory != null){ _local3 = new factory(); if (_local3[_arg1] !== _arg2){ if (!overrides){ overrides = {}; }; overrides[_arg1] = _arg2; } else { if (overrides){ delete overrides[_arg1]; }; }; }; if ((((defaultFactory == null)) && ((factory == null)))){ if (!overrides){ overrides = {}; }; overrides[_arg1] = _arg2; }; for (_local4 in clones) { _local6 = _local4[FILTERMAP_PROP]; if (_local6){ if (_local6[_arg1] != null){ _local4[_local6[_arg1]] = _arg2; }; } else { _local4[_arg1] = _arg2; }; }; } } }//package mx.styles
Section 329
//ISimpleStyleClient (mx.styles.ISimpleStyleClient) package mx.styles { public interface ISimpleStyleClient { function set styleName(_arg1:Object):void; function styleChanged(_arg1:String):void; function get styleName():Object; } }//package mx.styles
Section 330
//IStyleClient (mx.styles.IStyleClient) package mx.styles { public interface IStyleClient extends ISimpleStyleClient { function regenerateStyleCache(_arg1:Boolean):void; function get className():String; function clearStyle(_arg1:String):void; function getClassStyleDeclarations():Array; function get inheritingStyles():Object; function set nonInheritingStyles(_arg1:Object):void; function setStyle(_arg1:String, _arg2):void; function get styleDeclaration():CSSStyleDeclaration; function set styleDeclaration(_arg1:CSSStyleDeclaration):void; function get nonInheritingStyles():Object; function set inheritingStyles(_arg1:Object):void; function getStyle(_arg1:String); function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void; function registerEffects(_arg1:Array):void; } }//package mx.styles
Section 331
//IStyleManager (mx.styles.IStyleManager) package mx.styles { import flash.events.*; public interface IStyleManager { function isColorName(_arg1:String):Boolean; function registerParentDisplayListInvalidatingStyle(_arg1:String):void; function registerInheritingStyle(_arg1:String):void; function set stylesRoot(_arg1:Object):void; function get typeSelectorCache():Object; function styleDeclarationsChanged():void; function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void; function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean; function isSizeInvalidatingStyle(_arg1:String):Boolean; function get inheritingStyles():Object; function isValidStyleValue(_arg1):Boolean; function isParentSizeInvalidatingStyle(_arg1:String):Boolean; function getColorName(_arg1:Object):uint; function set typeSelectorCache(_arg1:Object):void; function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void; function getColorNames(_arg1:Array):void; function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher; function isInheritingStyle(_arg1:String):Boolean; function set inheritingStyles(_arg1:Object):void; function get stylesRoot():Object; function initProtoChainRoots():void; function registerColorName(_arg1:String, _arg2:uint):void; function registerParentSizeInvalidatingStyle(_arg1:String):void; function registerSizeInvalidatingStyle(_arg1:String):void; function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void; function isInheritingTextFormatStyle(_arg1:String):Boolean; function getStyleDeclaration(_arg1:String):CSSStyleDeclaration; } }//package mx.styles
Section 332
//IStyleManager2 (mx.styles.IStyleManager2) package mx.styles { import flash.events.*; import flash.system.*; public interface IStyleManager2 extends IStyleManager { function get selectors():Array; function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher; } }//package mx.styles
Section 333
//IStyleModule (mx.styles.IStyleModule) package mx.styles { public interface IStyleModule { function unload():void; } }//package mx.styles
Section 334
//StyleManager (mx.styles.StyleManager) package mx.styles { import mx.core.*; import flash.events.*; import flash.system.*; public class StyleManager { mx_internal static const VERSION:String = "3.0.0.0"; public static const NOT_A_COLOR:uint = 4294967295; private static var _impl:IStyleManager2; private static var implClassDependency:StyleManagerImpl; public static function isParentSizeInvalidatingStyle(_arg1:String):Boolean{ return (impl.isParentSizeInvalidatingStyle(_arg1)); } public static function registerInheritingStyle(_arg1:String):void{ impl.registerInheritingStyle(_arg1); } mx_internal static function set stylesRoot(_arg1:Object):void{ impl.stylesRoot = _arg1; } mx_internal static function get inheritingStyles():Object{ return (impl.inheritingStyles); } mx_internal static function styleDeclarationsChanged():void{ impl.styleDeclarationsChanged(); } public static function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{ impl.setStyleDeclaration(_arg1, _arg2, _arg3); } public static function registerParentDisplayListInvalidatingStyle(_arg1:String):void{ impl.registerParentDisplayListInvalidatingStyle(_arg1); } mx_internal static function get typeSelectorCache():Object{ return (impl.typeSelectorCache); } mx_internal static function set inheritingStyles(_arg1:Object):void{ impl.inheritingStyles = _arg1; } public static function isColorName(_arg1:String):Boolean{ return (impl.isColorName(_arg1)); } public static function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{ return (impl.isParentDisplayListInvalidatingStyle(_arg1)); } public static function isSizeInvalidatingStyle(_arg1:String):Boolean{ return (impl.isSizeInvalidatingStyle(_arg1)); } public static function getColorName(_arg1:Object):uint{ return (impl.getColorName(_arg1)); } mx_internal static function set typeSelectorCache(_arg1:Object):void{ impl.typeSelectorCache = _arg1; } public static function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{ impl.unloadStyleDeclarations(_arg1, _arg2); } public static function getColorNames(_arg1:Array):void{ impl.getColorNames(_arg1); } public static function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false, _arg4:ApplicationDomain=null, _arg5:SecurityDomain=null):IEventDispatcher{ return (impl.loadStyleDeclarations2(_arg1, _arg2, _arg4, _arg5)); } private static function get impl():IStyleManager2{ if (!_impl){ _impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2")); }; return (_impl); } public static function isValidStyleValue(_arg1):Boolean{ return (impl.isValidStyleValue(_arg1)); } mx_internal static function get stylesRoot():Object{ return (impl.stylesRoot); } public static function isInheritingStyle(_arg1:String):Boolean{ return (impl.isInheritingStyle(_arg1)); } mx_internal static function initProtoChainRoots():void{ impl.initProtoChainRoots(); } public static function registerParentSizeInvalidatingStyle(_arg1:String):void{ impl.registerParentSizeInvalidatingStyle(_arg1); } public static function get selectors():Array{ return (impl.selectors); } public static function registerSizeInvalidatingStyle(_arg1:String):void{ impl.registerSizeInvalidatingStyle(_arg1); } public static function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{ impl.clearStyleDeclaration(_arg1, _arg2); } public static function registerColorName(_arg1:String, _arg2:uint):void{ impl.registerColorName(_arg1, _arg2); } public static function isInheritingTextFormatStyle(_arg1:String):Boolean{ return (impl.isInheritingTextFormatStyle(_arg1)); } public static function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{ return (impl.getStyleDeclaration(_arg1)); } } }//package mx.styles
Section 335
//StyleManagerImpl (mx.styles.StyleManagerImpl) package mx.styles { import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.resources.*; import flash.system.*; import mx.modules.*; import flash.utils.*; public class StyleManagerImpl implements IStyleManager2 { private var _stylesRoot:Object; private var _selectors:Object; private var styleModules:Object; private var _inheritingStyles:Object; private var resourceManager:IResourceManager; private var _typeSelectorCache:Object; mx_internal static const VERSION:String = "3.0.0.0"; private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true}; private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193}; private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true}; private static var instance:IStyleManager2; private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true}; private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true}; public function StyleManagerImpl(){ _selectors = {}; styleModules = {}; resourceManager = ResourceManager.getInstance(); _inheritingStyles = {}; _typeSelectorCache = {}; super(); } public function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{ _arg2.selectorRefCount++; _selectors[_arg1] = _arg2; typeSelectorCache = {}; if (_arg3){ styleDeclarationsChanged(); }; } public function registerParentDisplayListInvalidatingStyle(_arg1:String):void{ parentDisplayListInvalidatingStyles[_arg1] = true; } public function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{ var _local2:int; if (_arg1.charAt(0) != "."){ _local2 = _arg1.lastIndexOf("."); if (_local2 != -1){ _arg1 = _arg1.substr((_local2 + 1)); }; }; return (_selectors[_arg1]); } public function set typeSelectorCache(_arg1:Object):void{ _typeSelectorCache = _arg1; } public function isColorName(_arg1:String):Boolean{ return (!((colorNames[_arg1.toLowerCase()] === undefined))); } public function set inheritingStyles(_arg1:Object):void{ _inheritingStyles = _arg1; } public function getColorNames(_arg1:Array):void{ var _local4:uint; if (!_arg1){ return; }; var _local2:int = _arg1.length; var _local3:int; while (_local3 < _local2) { if (((!((_arg1[_local3] == null))) && (isNaN(_arg1[_local3])))){ _local4 = getColorName(_arg1[_local3]); if (_local4 != StyleManager.NOT_A_COLOR){ _arg1[_local3] = _local4; }; }; _local3++; }; } public function isInheritingTextFormatStyle(_arg1:String):Boolean{ return ((inheritingTextFormatStyles[_arg1] == true)); } public function registerParentSizeInvalidatingStyle(_arg1:String):void{ parentSizeInvalidatingStyles[_arg1] = true; } public function registerColorName(_arg1:String, _arg2:uint):void{ colorNames[_arg1.toLowerCase()] = _arg2; } public function isParentSizeInvalidatingStyle(_arg1:String):Boolean{ return ((parentSizeInvalidatingStyles[_arg1] == true)); } public function registerInheritingStyle(_arg1:String):void{ inheritingStyles[_arg1] = true; } public function set stylesRoot(_arg1:Object):void{ _stylesRoot = _arg1; } public function get typeSelectorCache():Object{ return (_typeSelectorCache); } public function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{ return ((parentDisplayListInvalidatingStyles[_arg1] == true)); } public function isSizeInvalidatingStyle(_arg1:String):Boolean{ return ((sizeInvalidatingStyles[_arg1] == true)); } public function styleDeclarationsChanged():void{ var _local4:Object; var _local1:Array = SystemManagerGlobals.topLevelSystemManagers; var _local2:int = _local1.length; var _local3:int; while (_local3 < _local2) { _local4 = _local1[_local3]; _local4.regenerateStyleCache(true); _local4.notifyStyleChangeInChildren(null, true); _local3++; }; } public function isValidStyleValue(_arg1):Boolean{ return (!((_arg1 === undefined))); } public function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher{ return (loadStyleDeclarations2(_arg1, _arg2)); } public function get inheritingStyles():Object{ return (_inheritingStyles); } public function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{ var _local4:IModuleInfo; var _local3:StyleModuleInfo = styleModules[_arg1]; if (_local3){ _local3.styleModule.unload(); _local4 = _local3.module; _local4.unload(); _local4.removeEventListener(ModuleEvent.READY, _local3.readyHandler); _local4.removeEventListener(ModuleEvent.ERROR, _local3.errorHandler); styleModules[_arg1] = null; }; if (_arg2){ styleDeclarationsChanged(); }; } public function getColorName(_arg1:Object):uint{ var _local2:Number; var _local3:*; if ((_arg1 is String)){ if (_arg1.charAt(0) == "#"){ _local2 = Number(("0x" + _arg1.slice(1))); return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2)); }; if ((((_arg1.charAt(1) == "x")) && ((_arg1.charAt(0) == "0")))){ _local2 = Number(_arg1); return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2)); }; _local3 = colorNames[_arg1.toLowerCase()]; if (_local3 === undefined){ return (StyleManager.NOT_A_COLOR); }; return (uint(_local3)); }; return (uint(_arg1)); } public function isInheritingStyle(_arg1:String):Boolean{ return ((inheritingStyles[_arg1] == true)); } public function get stylesRoot():Object{ return (_stylesRoot); } public function initProtoChainRoots():void{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ delete _inheritingStyles["textDecoration"]; delete _inheritingStyles["leading"]; }; if (!stylesRoot){ stylesRoot = _selectors["global"].addStyleToProtoChain({}, null); }; } public function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{ var module:IModuleInfo; var styleEventDispatcher:StyleEventDispatcher; var timer:Timer; var timerHandler:Function; var url = _arg1; var update = _arg2; var applicationDomain = _arg3; var securityDomain = _arg4; module = ModuleManager.getModule(url); var readyHandler:Function = function (_arg1:ModuleEvent):void{ var _local2:IStyleModule = IStyleModule(_arg1.module.factory.create()); styleModules[_arg1.module.url].styleModule = _local2; if (update){ styleDeclarationsChanged(); }; }; module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true); styleEventDispatcher = new StyleEventDispatcher(module); var errorHandler:Function = function (_arg1:ModuleEvent):void{ var _local3:StyleEvent; var _local2:String = resourceManager.getString("styles", "unableToLoad", [_arg1.errorText, url]); if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){ _local3 = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local3.bytesLoaded = 0; _local3.bytesTotal = 0; _local3.errorText = _local2; styleEventDispatcher.dispatchEvent(_local3); } else { throw (new Error(_local2)); }; }; module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true); styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler); timer = new Timer(0); timerHandler = function (_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.stop(); module.load(applicationDomain, securityDomain); }; timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true); timer.start(); return (styleEventDispatcher); } public function registerSizeInvalidatingStyle(_arg1:String):void{ sizeInvalidatingStyles[_arg1] = true; } public function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{ var _local3:CSSStyleDeclaration = getStyleDeclaration(_arg1); if (((_local3) && ((_local3.selectorRefCount > 0)))){ _local3.selectorRefCount--; }; delete _selectors[_arg1]; if (_arg2){ styleDeclarationsChanged(); }; } public function get selectors():Array{ var _local2:String; var _local1:Array = []; for (_local2 in _selectors) { _local1.push(_local2); }; return (_local1); } public static function getInstance():IStyleManager2{ if (!instance){ instance = new (StyleManagerImpl); }; return (instance); } } }//package mx.styles import flash.events.*; import mx.events.*; import mx.modules.*; class StyleEventDispatcher extends EventDispatcher { private function StyleEventDispatcher(_arg1:IModuleInfo){ _arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true); } private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{ var _local2:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{ var _local2:StyleEvent = new StyleEvent(StyleEvent.COMPLETE); dispatchEvent(_local2); } private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{ var _local2:StyleEvent = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; _local2.errorText = _arg1.errorText; dispatchEvent(_local2); } } class StyleModuleInfo { public var errorHandler:Function; public var readyHandler:Function; public var module:IModuleInfo; public var styleModule:IStyleModule; private function StyleModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){ this.module = _arg1; this.readyHandler = _arg2; this.errorHandler = _arg3; } }
Section 336
//StyleProtoChain (mx.styles.StyleProtoChain) package mx.styles { import flash.display.*; import mx.core.*; public class StyleProtoChain { mx_internal static const VERSION:String = "3.0.0.0"; public static function initProtoChainForUIComponentStyleName(_arg1:IStyleClient):void{ var _local9:CSSStyleDeclaration; var _local2:IStyleClient = IStyleClient(_arg1.styleName); var _local3:DisplayObject = (_arg1 as DisplayObject); var _local4:Object = _local2.nonInheritingStyles; if (((!(_local4)) || ((_local4 == UIComponent.STYLE_UNINITIALIZED)))){ _local4 = StyleManager.stylesRoot; if (_local4.effects){ _arg1.registerEffects(_local4.effects); }; }; var _local5:Object = _local2.inheritingStyles; if (((!(_local5)) || ((_local5 == UIComponent.STYLE_UNINITIALIZED)))){ _local5 = StyleManager.stylesRoot; }; var _local6:Array = _arg1.getClassStyleDeclarations(); var _local7:int = _local6.length; if ((_local2 is StyleProxy)){ if (_local7 == 0){ _local4 = addProperties(_local4, _local2, false); }; _local3 = (StyleProxy(_local2).source as DisplayObject); }; var _local8:int; while (_local8 < _local7) { _local9 = _local6[_local8]; _local5 = _local9.addStyleToProtoChain(_local5, _local3); _local5 = addProperties(_local5, _local2, true); _local4 = _local9.addStyleToProtoChain(_local4, _local3); _local4 = addProperties(_local4, _local2, false); if (_local9.effects){ _arg1.registerEffects(_local9.effects); }; _local8++; }; _arg1.inheritingStyles = (_arg1.styleDeclaration) ? _arg1.styleDeclaration.addStyleToProtoChain(_local5, _local3) : _local5; _arg1.nonInheritingStyles = (_arg1.styleDeclaration) ? _arg1.styleDeclaration.addStyleToProtoChain(_local4, _local3) : _local4; } private static function addProperties(_arg1:Object, _arg2:IStyleClient, _arg3:Boolean):Object{ var _local11:CSSStyleDeclaration; var _local12:CSSStyleDeclaration; var _local4:Object = ((((_arg2 is StyleProxy)) && (!(_arg3)))) ? StyleProxy(_arg2).filterMap : null; var _local5:IStyleClient = _arg2; while ((_local5 is StyleProxy)) { _local5 = StyleProxy(_local5).source; }; var _local6:DisplayObject = (_local5 as DisplayObject); var _local7:Array = _arg2.getClassStyleDeclarations(); var _local8:int = _local7.length; var _local9:int; while (_local9 < _local8) { _local11 = _local7[_local9]; _arg1 = _local11.addStyleToProtoChain(_arg1, _local6, _local4); if (_local11.effects){ _arg2.registerEffects(_local11.effects); }; _local9++; }; var _local10:Object = _arg2.styleName; if (_local10){ if (typeof(_local10) == "object"){ if ((_local10 is CSSStyleDeclaration)){ _local12 = CSSStyleDeclaration(_local10); } else { _arg1 = addProperties(_arg1, IStyleClient(_local10), _arg3); }; } else { _local12 = StyleManager.getStyleDeclaration(("." + _local10)); }; if (_local12){ _arg1 = _local12.addStyleToProtoChain(_arg1, _local6, _local4); if (_local12.effects){ _arg2.registerEffects(_local12.effects); }; }; }; if (_arg2.styleDeclaration){ _arg1 = _arg2.styleDeclaration.addStyleToProtoChain(_arg1, _local6, _local4); }; return (_arg1); } public static function initTextField(_arg1:IUITextField):void{ var _local3:CSSStyleDeclaration; var _local2:Object = _arg1.styleName; if (_local2){ if (typeof(_local2) == "object"){ if ((_local2 is CSSStyleDeclaration)){ _local3 = CSSStyleDeclaration(_local2); } else { if ((_local2 is StyleProxy)){ _arg1.inheritingStyles = IStyleClient(_local2).inheritingStyles; _arg1.nonInheritingStyles = addProperties(StyleManager.stylesRoot, IStyleClient(_local2), false); return; }; _arg1.inheritingStyles = IStyleClient(_local2).inheritingStyles; _arg1.nonInheritingStyles = IStyleClient(_local2).nonInheritingStyles; return; }; } else { _local3 = StyleManager.getStyleDeclaration(("." + _local2)); }; }; var _local4:Object = IStyleClient(_arg1.parent).inheritingStyles; var _local5:Object = StyleManager.stylesRoot; if (!_local4){ _local4 = StyleManager.stylesRoot; }; if (_local3){ _local4 = _local3.addStyleToProtoChain(_local4, DisplayObject(_arg1)); _local5 = _local3.addStyleToProtoChain(_local5, DisplayObject(_arg1)); }; _arg1.inheritingStyles = _local4; _arg1.nonInheritingStyles = _local5; } } }//package mx.styles
Section 337
//StyleProxy (mx.styles.StyleProxy) package mx.styles { import mx.core.*; public class StyleProxy implements IStyleClient { private var _source:IStyleClient; private var _filterMap:Object; mx_internal static const VERSION:String = "3.0.0.0"; public function StyleProxy(_arg1:IStyleClient, _arg2:Object){ this.filterMap = _arg2; this.source = _arg1; } public function styleChanged(_arg1:String):void{ return (_source.styleChanged(_arg1)); } public function get filterMap():Object{ return (((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? null : _filterMap); } public function set filterMap(_arg1:Object):void{ _filterMap = _arg1; } public function get styleDeclaration():CSSStyleDeclaration{ return (_source.styleDeclaration); } public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{ return (_source.notifyStyleChangeInChildren(_arg1, _arg2)); } public function set inheritingStyles(_arg1:Object):void{ } public function get source():IStyleClient{ return (_source); } public function get styleName():Object{ if ((_source.styleName is IStyleClient)){ return (new StyleProxy(IStyleClient(_source.styleName), filterMap)); }; return (_source.styleName); } public function registerEffects(_arg1:Array):void{ return (_source.registerEffects(_arg1)); } public function regenerateStyleCache(_arg1:Boolean):void{ _source.regenerateStyleCache(_arg1); } public function get inheritingStyles():Object{ return (_source.inheritingStyles); } public function get className():String{ return (_source.className); } public function clearStyle(_arg1:String):void{ _source.clearStyle(_arg1); } public function getClassStyleDeclarations():Array{ return (_source.getClassStyleDeclarations()); } public function set nonInheritingStyles(_arg1:Object):void{ } public function setStyle(_arg1:String, _arg2):void{ _source.setStyle(_arg1, _arg2); } public function get nonInheritingStyles():Object{ return (((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) ? _source.nonInheritingStyles : null); } public function set styleName(_arg1:Object):void{ _source.styleName = _arg1; } public function getStyle(_arg1:String){ return (_source.getStyle(_arg1)); } public function set source(_arg1:IStyleClient):void{ _source = _arg1; } public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{ _source.styleDeclaration = styleDeclaration; } } }//package mx.styles
Section 338
//ArrayUtil (mx.utils.ArrayUtil) package mx.utils { public class ArrayUtil { mx_internal static const VERSION:String = "3.0.0.0"; public static function getItemIndex(_arg1:Object, _arg2:Array):int{ var _local3:int = _arg2.length; var _local4:int; while (_local4 < _local3) { if (_arg2[_local4] === _arg1){ return (_local4); }; _local4++; }; return (-1); } public static function toArray(_arg1:Object):Array{ if (!_arg1){ return ([]); }; if ((_arg1 is Array)){ return ((_arg1 as Array)); }; return ([_arg1]); } } }//package mx.utils
Section 339
//Base64Encoder (mx.utils.Base64Encoder) package mx.utils { import flash.utils.*; public class Base64Encoder { private var _line:uint; private var _count:uint; private var _buffers:Array; public var insertNewLines:Boolean;// = true private var _work:Array; private static const MAX_BUFFER_SIZE:uint = 0xFFFF; private static const ALPHABET_CHAR_CODES:Array = [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47]; public static const CHARSET_UTF_8:String = "UTF-8"; private static const ESCAPE_CHAR_CODE:Number = 61; public static var newLine:int = 10; public function Base64Encoder(){ _work = [0, 0, 0]; super(); reset(); } public function flush():String{ if (_count > 0){ encodeBlock(); }; var _local1:String = drain(); reset(); return (_local1); } public function toString():String{ return (flush()); } public function reset():void{ _buffers = []; _buffers.push([]); _count = 0; _line = 0; _work[0] = 0; _work[1] = 0; _work[2] = 0; } public function encodeBytes(_arg1:ByteArray, _arg2:uint=0, _arg3:uint=0):void{ if (_arg3 == 0){ _arg3 = _arg1.length; }; var _local4:uint = _arg1.position; _arg1.position = _arg2; var _local5:uint = _arg2; while (_local5 < _arg3) { _work[_count] = _arg1[_local5]; _count++; if ((((_count == _work.length)) || ((((_arg2 + _arg3) - _local5) == 1)))){ encodeBlock(); _count = 0; _work[0] = 0; _work[1] = 0; _work[2] = 0; }; _local5++; }; _arg1.position = _local4; } public function encode(_arg1:String, _arg2:uint=0, _arg3:uint=0):void{ if (_arg3 == 0){ _arg3 = _arg1.length; }; var _local4:uint = _arg2; while (_local4 < (_arg2 + _arg3)) { _work[_count] = _arg1.charCodeAt(_local4); _count++; if ((((_count == _work.length)) || ((((_arg2 + _arg3) - _local4) == 1)))){ encodeBlock(); _count = 0; _work[0] = 0; _work[1] = 0; _work[2] = 0; }; _local4++; }; } private function encodeBlock():void{ var _local1:Array = (_buffers[(_buffers.length - 1)] as Array); if (_local1.length >= MAX_BUFFER_SIZE){ _local1 = []; _buffers.push(_local1); }; _local1.push(ALPHABET_CHAR_CODES[((_work[0] & 0xFF) >> 2)]); _local1.push(ALPHABET_CHAR_CODES[(((_work[0] & 3) << 4) | ((_work[1] & 240) >> 4))]); if (_count > 1){ _local1.push(ALPHABET_CHAR_CODES[(((_work[1] & 15) << 2) | ((_work[2] & 192) >> 6))]); } else { _local1.push(ESCAPE_CHAR_CODE); }; if (_count > 2){ _local1.push(ALPHABET_CHAR_CODES[(_work[2] & 63)]); } else { _local1.push(ESCAPE_CHAR_CODE); }; if (insertNewLines){ if ((_line = (_line + 4)) == 76){ _local1.push(newLine); _line = 0; }; }; } public function encodeUTFBytes(_arg1:String):void{ var _local2:ByteArray = new ByteArray(); _local2.writeUTFBytes(_arg1); _local2.position = 0; encodeBytes(_local2); } public function drain():String{ var _local3:Array; var _local1 = ""; var _local2:uint; while (_local2 < _buffers.length) { _local3 = (_buffers[_local2] as Array); _local1 = (_local1 + String.fromCharCode.apply(null, _local3)); _local2++; }; _buffers = []; _buffers.push([]); return (_local1); } } }//package mx.utils
Section 340
//ColorUtil (mx.utils.ColorUtil) package mx.utils { public class ColorUtil { mx_internal static const VERSION:String = "3.0.0.0"; public static function adjustBrightness2(_arg1:uint, _arg2:Number):uint{ var _local3:Number; var _local4:Number; var _local5:Number; if (_arg2 == 0){ return (_arg1); }; if (_arg2 < 0){ _arg2 = ((100 + _arg2) / 100); _local3 = (((_arg1 >> 16) & 0xFF) * _arg2); _local4 = (((_arg1 >> 8) & 0xFF) * _arg2); _local5 = ((_arg1 & 0xFF) * _arg2); } else { _arg2 = (_arg2 / 100); _local3 = ((_arg1 >> 16) & 0xFF); _local4 = ((_arg1 >> 8) & 0xFF); _local5 = (_arg1 & 0xFF); _local3 = (_local3 + ((0xFF - _local3) * _arg2)); _local4 = (_local4 + ((0xFF - _local4) * _arg2)); _local5 = (_local5 + ((0xFF - _local5) * _arg2)); _local3 = Math.min(_local3, 0xFF); _local4 = Math.min(_local4, 0xFF); _local5 = Math.min(_local5, 0xFF); }; return ((((_local3 << 16) | (_local4 << 8)) | _local5)); } public static function rgbMultiply(_arg1:uint, _arg2:uint):uint{ var _local3:Number = ((_arg1 >> 16) & 0xFF); var _local4:Number = ((_arg1 >> 8) & 0xFF); var _local5:Number = (_arg1 & 0xFF); var _local6:Number = ((_arg2 >> 16) & 0xFF); var _local7:Number = ((_arg2 >> 8) & 0xFF); var _local8:Number = (_arg2 & 0xFF); return ((((((_local3 * _local6) / 0xFF) << 16) | (((_local4 * _local7) / 0xFF) << 8)) | ((_local5 * _local8) / 0xFF))); } public static function adjustBrightness(_arg1:uint, _arg2:Number):uint{ var _local3:Number = Math.max(Math.min((((_arg1 >> 16) & 0xFF) + _arg2), 0xFF), 0); var _local4:Number = Math.max(Math.min((((_arg1 >> 8) & 0xFF) + _arg2), 0xFF), 0); var _local5:Number = Math.max(Math.min(((_arg1 & 0xFF) + _arg2), 0xFF), 0); return ((((_local3 << 16) | (_local4 << 8)) | _local5)); } } }//package mx.utils
Section 341
//DescribeTypeCache (mx.utils.DescribeTypeCache) package mx.utils { import mx.binding.*; import flash.utils.*; public class DescribeTypeCache { mx_internal static const VERSION:String = "3.0.0.0"; private static var cacheHandlers:Object = {}; private static var typeCache:Object = {}; public static function describeType(_arg1):DescribeTypeCacheRecord{ var _local2:String; var _local3:XML; var _local4:DescribeTypeCacheRecord; if ((_arg1 is String)){ _local2 = _arg1; } else { _local2 = getQualifiedClassName(_arg1); }; if ((_local2 in typeCache)){ return (typeCache[_local2]); }; if ((_arg1 is String)){ _arg1 = getDefinitionByName(_arg1); }; _local3 = describeType(_arg1); _local4 = new DescribeTypeCacheRecord(); _local4.typeDescription = _local3; _local4.typeName = _local2; typeCache[_local2] = _local4; return (_local4); } public static function registerCacheHandler(_arg1:String, _arg2:Function):void{ cacheHandlers[_arg1] = _arg2; } static function extractValue(_arg1:String, _arg2:DescribeTypeCacheRecord){ if ((_arg1 in cacheHandlers)){ return (cacheHandlers[_arg1](_arg2)); }; return (undefined); } private static function bindabilityInfoHandler(_arg1:DescribeTypeCacheRecord){ return (new BindabilityInfo(_arg1.typeDescription)); } registerCacheHandler("bindabilityInfo", bindabilityInfoHandler); } }//package mx.utils
Section 342
//DescribeTypeCacheRecord (mx.utils.DescribeTypeCacheRecord) package mx.utils { import flash.utils.*; public dynamic class DescribeTypeCacheRecord extends Proxy { public var typeDescription:XML; public var typeName:String; private var cache:Object; public function DescribeTypeCacheRecord(){ cache = {}; super(); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ var _local2:* = cache[_arg1]; if (_local2 === undefined){ _local2 = DescribeTypeCache.extractValue(_arg1, this); cache[_arg1] = _local2; }; return (_local2); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ if ((_arg1 in cache)){ return (true); }; var _local2:* = DescribeTypeCache.extractValue(_arg1, this); if (_local2 === undefined){ return (false); }; cache[_arg1] = _local2; return (true); } } }//package mx.utils
Section 343
//GraphicsUtil (mx.utils.GraphicsUtil) package mx.utils { import flash.display.*; import mx.core.*; public class GraphicsUtil { mx_internal static const VERSION:String = "3.0.0.0"; public static function drawRoundRectComplex(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number):void{ var _local10:Number = (_arg2 + _arg4); var _local11:Number = (_arg3 + _arg5); var _local12:Number = ((_arg4 < _arg5)) ? (_arg4 * 2) : (_arg5 * 2); _arg6 = ((_arg6 < _local12)) ? _arg6 : _local12; _arg7 = ((_arg7 < _local12)) ? _arg7 : _local12; _arg8 = ((_arg8 < _local12)) ? _arg8 : _local12; _arg9 = ((_arg9 < _local12)) ? _arg9 : _local12; var _local13:Number = (_arg9 * 0.292893218813453); var _local14:Number = (_arg9 * 0.585786437626905); _arg1.moveTo(_local10, (_local11 - _arg9)); _arg1.curveTo(_local10, (_local11 - _local14), (_local10 - _local13), (_local11 - _local13)); _arg1.curveTo((_local10 - _local14), _local11, (_local10 - _arg9), _local11); _local13 = (_arg8 * 0.292893218813453); _local14 = (_arg8 * 0.585786437626905); _arg1.lineTo((_arg2 + _arg8), _local11); _arg1.curveTo((_arg2 + _local14), _local11, (_arg2 + _local13), (_local11 - _local13)); _arg1.curveTo(_arg2, (_local11 - _local14), _arg2, (_local11 - _arg8)); _local13 = (_arg6 * 0.292893218813453); _local14 = (_arg6 * 0.585786437626905); _arg1.lineTo(_arg2, (_arg3 + _arg6)); _arg1.curveTo(_arg2, (_arg3 + _local14), (_arg2 + _local13), (_arg3 + _local13)); _arg1.curveTo((_arg2 + _local14), _arg3, (_arg2 + _arg6), _arg3); _local13 = (_arg7 * 0.292893218813453); _local14 = (_arg7 * 0.585786437626905); _arg1.lineTo((_local10 - _arg7), _arg3); _arg1.curveTo((_local10 - _local14), _arg3, (_local10 - _local13), (_arg3 + _local13)); _arg1.curveTo(_local10, (_arg3 + _local14), _local10, (_arg3 + _arg7)); _arg1.lineTo(_local10, (_local11 - _arg9)); } } }//package mx.utils
Section 344
//IXMLNotifiable (mx.utils.IXMLNotifiable) package mx.utils { public interface IXMLNotifiable { function xmlNotification(_arg1:Object, _arg2:String, _arg3:Object, _arg4:Object, _arg5:Object):void; } }//package mx.utils
Section 345
//LoaderUtil (mx.utils.LoaderUtil) package mx.utils { import flash.display.*; public class LoaderUtil { public static function normalizeURL(_arg1:LoaderInfo):String{ var _local2:String = _arg1.url; var _local3:Array = _local2.split("/[[DYNAMIC]]/"); return (_local3[0]); } } }//package mx.utils
Section 346
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static var counter:int = 0; public static function displayObjectToString(_arg1:DisplayObject):String{ var _local2:String; var _local4:String; var _local5:Array; var _local3:DisplayObject = _arg1; while (_local3 != null) { if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){ break; }; _local4 = _local3.name; if ((_local3 is IRepeaterClient)){ _local5 = IRepeaterClient(_local3).instanceIndices; if (_local5){ _local4 = (_local4 + (("[" + _local5.join("][")) + "]")); }; }; _local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2); _local3 = _local3.parent; }; return (_local2); } public static function createUniqueName(_arg1:Object):String{ if (!_arg1){ return (null); }; var _local2:String = getQualifiedClassName(_arg1); var _local3:int = _local2.indexOf("::"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 2)); }; var _local4:int = _local2.charCodeAt((_local2.length - 1)); if ((((_local4 >= 48)) && ((_local4 <= 57)))){ _local2 = (_local2 + "_"); }; return ((_local2 + counter++)); } } }//package mx.utils
Section 347
//object_proxy (mx.utils.object_proxy) package mx.utils { public namespace object_proxy = "http://www.adobe.com/2006/actionscript/flash/objectproxy"; }//package mx.utils
Section 348
//ObjectProxy (mx.utils.ObjectProxy) package mx.utils { import mx.core.*; import flash.events.*; import mx.events.*; import flash.utils.*; public dynamic class ObjectProxy extends Proxy implements IExternalizable, IPropertyChangeNotifier { private var _id:String; protected var notifiers:Object; protected var propertyList:Array; private var _proxyLevel:int; private var _type:QName; protected var dispatcher:EventDispatcher; protected var proxyClass:Class; private var _item:Object; public function ObjectProxy(_arg1:Object=null, _arg2:String=null, _arg3:int=-1){ proxyClass = ObjectProxy; super(); if (!_arg1){ _arg1 = {}; }; _item = _arg1; _proxyLevel = _arg3; notifiers = {}; dispatcher = new EventDispatcher(this); if (_arg2){ _id = _arg2; }; } public function dispatchEvent(_arg1:Event):Boolean{ return (dispatcher.dispatchEvent(_arg1)); } public function hasEventListener(_arg1:String):Boolean{ return (dispatcher.hasEventListener(_arg1)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local4:IPropertyChangeNotifier; var _local5:PropertyChangeEvent; var _local3:* = _item[_arg1]; if (_local3 !== _arg2){ _item[_arg1] = _arg2; _local4 = IPropertyChangeNotifier(notifiers[_arg1]); if (_local4){ _local4.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeHandler); delete notifiers[_arg1]; }; if (dispatcher.hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE)){ if ((_arg1 is QName)){ _arg1 = QName(_arg1).localName; }; _local5 = PropertyChangeEvent.createUpdateEvent(this, _arg1.toString(), _local3, _arg2); dispatcher.dispatchEvent(_local5); }; }; } public function willTrigger(_arg1:String):Boolean{ return (dispatcher.willTrigger(_arg1)); } public function readExternal(_arg1:IDataInput):void{ var _local2:Object = _arg1.readObject(); _item = _local2; } public function writeExternal(_arg1:IDataOutput):void{ _arg1.writeObject(_item); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ var _local2:*; if (notifiers[_arg1.toString()]){ return (notifiers[_arg1]); }; _local2 = _item[_arg1]; if (_local2){ if ((((_proxyLevel == 0)) || (ObjectUtil.isSimple(_local2)))){ return (_local2); }; _local2 = getComplexProperty(_arg1, _local2); }; return (_local2); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ return ((_arg1 in _item)); } public function get uid():String{ if (_id === null){ _id = UIDUtil.createUID(); }; return (_id); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ if (_arg1 == 0){ setupPropertyList(); }; if (_arg1 < propertyList.length){ return ((_arg1 + 1)); }; return (0); } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return (propertyList[(_arg1 - 1)]); } public function set uid(_arg1:String):void{ _id = _arg1; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function callProperty(_arg1, ... _args){ return (_item[_arg1].apply(_item, _args)); } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ dispatcher.removeEventListener(_arg1, _arg2, _arg3); } protected function setupPropertyList():void{ var _local1:String; if (getQualifiedClassName(_item) == "Object"){ propertyList = []; for (_local1 in _item) { propertyList.push(_local1); }; } else { propertyList = ObjectUtil.getClassInfo(_item, null, {includeReadOnly:true, uris:["*"]}).properties; }; } object_proxy function getComplexProperty(_arg1, _arg2){ if ((_arg2 is IPropertyChangeNotifier)){ _arg2.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeHandler); notifiers[_arg1] = _arg2; return (_arg2); }; if (getQualifiedClassName(_arg2) == "Object"){ _arg2 = new proxyClass(_item[_arg1], null, ((_proxyLevel > 0)) ? (_proxyLevel - 1) : _proxyLevel); _arg2.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeHandler); notifiers[_arg1] = _arg2; return (_arg2); }; return (_arg2); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{ var _local5:PropertyChangeEvent; var _local2:IPropertyChangeNotifier = IPropertyChangeNotifier(notifiers[_arg1]); if (_local2){ _local2.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeHandler); delete notifiers[_arg1]; }; var _local3:* = _item[_arg1]; var _local4 = delete _item[_arg1]; if (dispatcher.hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE)){ _local5 = new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE); _local5.kind = PropertyChangeEventKind.DELETE; _local5.property = _arg1; _local5.oldValue = _local3; _local5.source = this; dispatcher.dispatchEvent(_local5); }; return (_local4); } object_proxy function get type():QName{ return (_type); } object_proxy function set type(_arg1:QName):void{ _type = _arg1; } public function propertyChangeHandler(_arg1:PropertyChangeEvent):void{ dispatcher.dispatchEvent(_arg1); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextValue(_arg1:int){ return (_item[propertyList[(_arg1 - 1)]]); } object_proxy function get object():Object{ return (_item); } } }//package mx.utils
Section 349
//ObjectUtil (mx.utils.ObjectUtil) package mx.utils { import mx.collections.*; import flash.utils.*; import flash.xml.*; public class ObjectUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static var defaultToStringExcludes:Array = ["password", "credentials"]; private static var CLASS_INFO_CACHE:Object = {}; private static var refCount:int = 0; public static function isSimple(_arg1:Object):Boolean{ var _local2 = typeof(_arg1); switch (_local2){ case "number": case "string": case "boolean": return (true); case "object": return ((((_arg1 is Date)) || ((_arg1 is Array)))); }; return (false); } private static function internalToString(_arg1:Object, _arg2:int=0, _arg3:Dictionary=null, _arg4:Array=null, _arg5:Array=null):String{ var str:String; var classInfo:Object; var properties:Array; var id:Object; var isArray:Boolean; var prop:*; var j:int; var value = _arg1; var indent = _arg2; var refs = _arg3; var namespaceURIs = _arg4; var exclude = _arg5; var type:String = ((value == null)) ? "null" : typeof(value); switch (type){ case "boolean": case "number": return (value.toString()); case "string": return ((("\"" + value.toString()) + "\"")); case "object": if ((value is Date)){ return (value.toString()); }; if ((value is XMLNode)){ return (value.toString()); }; if ((value is Class)){ return ((("(" + getQualifiedClassName(value)) + ")")); }; classInfo = getClassInfo(value, exclude, {includeReadOnly:true, uris:namespaceURIs}); properties = classInfo.properties; str = (("(" + classInfo.name) + ")"); if (refs == null){ refs = new Dictionary(true); }; id = refs[value]; if (id != null){ str = (str + ("#" + int(id))); return (str); }; if (value != null){ str = (str + ("#" + refCount.toString())); refs[value] = refCount; refCount++; }; isArray = (value is Array); indent = (indent + 2); j = 0; while (j < properties.length) { str = newline(str, indent); prop = properties[j]; if (isArray){ str = (str + "["); }; str = (str + prop.toString()); if (isArray){ str = (str + "] "); } else { str = (str + " = "); }; try { str = (str + internalToString(value[prop], indent, refs, namespaceURIs, exclude)); } catch(e:Error) { str = (str + "?"); }; j = (j + 1); }; indent = (indent - 2); return (str); case "xml": return (value.toString()); default: return ((("(" + type) + ")")); }; } public static function getClassInfo(_arg1:Object, _arg2:Array=null, _arg3:Object=null):Object{ var n:int; var i:int; var result:Object; var cacheKey:String; var className:String; var classAlias:String; var properties:XMLList; var prop:XML; var metadataInfo:Object; var classInfo:XML; var numericIndex:Boolean; var p:String; var pi:Number; var uris:Array; var uri:String; var qName:QName; var j:int; var obj = _arg1; var excludes = _arg2; var options = _arg3; if ((obj is ObjectProxy)){ obj = ObjectProxy(obj).object_proxy::object; }; if (options == null){ options = {includeReadOnly:true, uris:null, includeTransient:true}; }; var propertyNames:Array = []; var dynamic:Boolean; if (typeof(obj) == "xml"){ className = "XML"; properties = obj.text(); if (properties.length()){ propertyNames.push("*"); }; properties = obj.attributes(); } else { classInfo = DescribeTypeCache.describeType(obj).typeDescription; className = classInfo.@name.toString(); classAlias = classInfo.@alias.toString(); dynamic = (classInfo.@isDynamic.toString() == "true"); if (options.includeReadOnly){ properties = (classInfo..accessor.(@access != "writeonly") + classInfo..variable); } else { properties = (classInfo..accessor.(@access == "readwrite") + classInfo..variable); }; numericIndex = false; }; if (!dynamic){ cacheKey = getCacheKey(obj, excludes, options); result = CLASS_INFO_CACHE[cacheKey]; if (result != null){ return (result); }; }; result = {}; result["name"] = className; result["alias"] = classAlias; result["properties"] = propertyNames; result["dynamic"] = dynamic; var _local5 = recordMetadata(properties); metadataInfo = _local5; result["metadata"] = _local5; var excludeObject:Object = {}; if (excludes){ n = excludes.length; i = 0; while (i < n) { excludeObject[excludes[i]] = 1; i = (i + 1); }; }; var isArray = (className == "Array"); if (dynamic){ for (p in obj) { if (excludeObject[p] != 1){ if (isArray){ pi = parseInt(p); if (isNaN(pi)){ propertyNames.push(new QName("", p)); } else { propertyNames.push(pi); }; } else { propertyNames.push(new QName("", p)); }; }; }; numericIndex = ((isArray) && (!(isNaN(Number(p))))); }; if ((((className == "Object")) || (isArray))){ } else { if (className == "XML"){ n = properties.length(); i = 0; while (i < n) { p = properties[i].name(); if (excludeObject[p] != 1){ propertyNames.push(new QName("", ("@" + p))); }; i = (i + 1); }; } else { n = properties.length(); uris = options.uris; i = 0; while (i < n) { prop = properties[i]; p = prop.@name.toString(); uri = prop.@uri.toString(); if (excludeObject[p] == 1){ } else { if (((!(options.includeTransient)) && (internalHasMetadata(metadataInfo, p, "Transient")))){ } else { if (uris != null){ if ((((uris.length == 1)) && ((uris[0] == "*")))){ qName = new QName(uri, p); try { obj[qName]; propertyNames.push(); } catch(e:Error) { }; } else { j = 0; while (j < uris.length) { uri = uris[j]; if (prop.@uri.toString() == uri){ qName = new QName(uri, p); try { obj[qName]; propertyNames.push(qName); } catch(e:Error) { }; }; j = (j + 1); }; }; } else { if (uri.length == 0){ qName = new QName(uri, p); try { obj[qName]; propertyNames.push(qName); } catch(e:Error) { }; }; }; }; }; i = (i + 1); }; }; }; propertyNames.sort((Array.CASEINSENSITIVE | (numericIndex) ? Array.NUMERIC : 0)); i = 0; while (i < (propertyNames.length - 1)) { if (propertyNames[i].toString() == propertyNames[(i + 1)].toString()){ propertyNames.splice(i, 1); i = (i - 1); }; i = (i + 1); }; if (!dynamic){ cacheKey = getCacheKey(obj, excludes, options); CLASS_INFO_CACHE[cacheKey] = result; }; return (result); } private static function arrayCompare(_arg1:Array, _arg2:Array, _arg3:int, _arg4:int, _arg5:Dictionary):int{ var _local7:Object; var _local6:int; if (_arg1.length != _arg2.length){ if (_arg1.length < _arg2.length){ _local6 = -1; } else { _local6 = 1; }; } else { for (_local7 in _arg1) { if (_arg2.hasOwnProperty(_local7)){ _local6 = internalCompare(_arg1[_local7], _arg2[_local7], _arg3, _arg4, _arg5); if (_local6 != 0){ return (_local6); }; } else { return (-1); }; }; for (_local7 in _arg2) { if (!_arg1.hasOwnProperty(_local7)){ return (1); }; }; }; return (_local6); } public static function stringCompare(_arg1:String, _arg2:String, _arg3:Boolean=false):int{ if ((((_arg1 == null)) && ((_arg2 == null)))){ return (0); }; if (_arg1 == null){ return (1); }; if (_arg2 == null){ return (-1); }; if (_arg3){ _arg1 = _arg1.toLocaleLowerCase(); _arg2 = _arg2.toLocaleLowerCase(); }; var _local4:int = _arg1.localeCompare(_arg2); if (_local4 < -1){ _local4 = -1; } else { if (_local4 > 1){ _local4 = 1; }; }; return (_local4); } public static function dateCompare(_arg1:Date, _arg2:Date):int{ if ((((_arg1 == null)) && ((_arg2 == null)))){ return (0); }; if (_arg1 == null){ return (1); }; if (_arg2 == null){ return (-1); }; var _local3:Number = _arg1.getTime(); var _local4:Number = _arg2.getTime(); if (_local3 < _local4){ return (-1); }; if (_local3 > _local4){ return (1); }; return (0); } public static function numericCompare(_arg1:Number, _arg2:Number):int{ if (((isNaN(_arg1)) && (isNaN(_arg2)))){ return (0); }; if (isNaN(_arg1)){ return (1); }; if (isNaN(_arg2)){ return (-1); }; if (_arg1 < _arg2){ return (-1); }; if (_arg1 > _arg2){ return (1); }; return (0); } private static function newline(_arg1:String, _arg2:int=0):String{ var _local3:String = _arg1; _local3 = (_local3 + "\n"); var _local4:int; while (_local4 < _arg2) { _local3 = (_local3 + " "); _local4++; }; return (_local3); } private static function recordMetadata(_arg1:XMLList):Object{ var prop:XML; var propName:String; var metadataList:XMLList; var metadata:Object; var md:XML; var mdName:String; var argsList:XMLList; var value:Object; var arg:XML; var existing:Object; var argKey:String; var argValue:String; var existingArray:Array; var properties = _arg1; var result:Object; try { for each (prop in properties) { propName = prop.attribute("name").toString(); metadataList = prop.metadata; if (metadataList.length() > 0){ if (result == null){ result = {}; }; metadata = {}; result[propName] = metadata; for each (md in metadataList) { mdName = md.attribute("name").toString(); argsList = md.arg; value = {}; for each (arg in argsList) { argKey = arg.attribute("key").toString(); if (argKey != null){ argValue = arg.attribute("value").toString(); value[argKey] = argValue; }; }; existing = metadata[mdName]; if (existing != null){ if ((existing is Array)){ existingArray = (existing as Array); } else { existingArray = []; }; existingArray.push(value); existing = existingArray; } else { existing = value; }; metadata[mdName] = existing; }; }; }; } catch(e:Error) { }; return (result); } public static function compare(_arg1:Object, _arg2:Object, _arg3:int=-1):int{ return (internalCompare(_arg1, _arg2, 0, _arg3, new Dictionary(true))); } private static function listCompare(_arg1:IList, _arg2:IList, _arg3:int, _arg4:int, _arg5:Dictionary):int{ var _local7:int; var _local6:int; if (_arg1.length != _arg2.length){ if (_arg1.length < _arg2.length){ _local6 = -1; } else { _local6 = 1; }; } else { _local7 = 0; while (_local7 < _arg1.length) { _local6 = internalCompare(_arg1.getItemAt(_local7), _arg2.getItemAt(_local7), (_arg3 + 1), _arg4, _arg5); if (_local6 != 0){ _local7 = _arg1.length; }; _local7++; }; }; return (_local6); } private static function internalCompare(_arg1:Object, _arg2:Object, _arg3:int, _arg4:int, _arg5:Dictionary):int{ var _local9:int; var _local10:Boolean; var _local11:Boolean; var _local12:Array; var _local13:Array; var _local14:QName; var _local15:Object; var _local16:Object; var _local17:int; if ((((_arg1 == null)) && ((_arg2 == null)))){ return (0); }; if (_arg1 == null){ return (1); }; if (_arg2 == null){ return (-1); }; if ((_arg1 is ObjectProxy)){ _arg1 = ObjectProxy(_arg1).object_proxy::object; }; if ((_arg2 is ObjectProxy)){ _arg2 = ObjectProxy(_arg2).object_proxy::object; }; var _local6 = typeof(_arg1); var _local7 = typeof(_arg2); var _local8:int; if (_local6 == _local7){ switch (_local6){ case "boolean": _local8 = numericCompare(Number(_arg1), Number(_arg2)); break; case "number": _local8 = numericCompare((_arg1 as Number), (_arg2 as Number)); break; case "string": _local8 = stringCompare((_arg1 as String), (_arg2 as String)); break; case "object": _local9 = ((_arg4 > 0)) ? (_arg4 - 1) : _arg4; _local10 = _arg5[_arg1]; _local11 = _arg5[_arg2]; if (((_local10) && (!(_local11)))){ return (1); }; if (((_local11) && (!(_local10)))){ return (-1); }; if (((_local11) && (_local10))){ return (0); }; _arg5[_arg1] = true; _arg5[_arg2] = true; if (((!((_arg4 == -1))) && ((_arg3 > _arg4)))){ _local8 = stringCompare(_arg1.toString(), _arg2.toString()); } else { if ((((_arg1 is Array)) && ((_arg2 is Array)))){ _local8 = arrayCompare((_arg1 as Array), (_arg2 as Array), _arg3, _arg4, _arg5); } else { if ((((_arg1 is Date)) && ((_arg2 is Date)))){ _local8 = dateCompare((_arg1 as Date), (_arg2 as Date)); } else { if ((((_arg1 is IList)) && ((_arg2 is IList)))){ _local8 = listCompare((_arg1 as IList), (_arg2 as IList), _arg3, _arg4, _arg5); } else { if ((((_arg1 is ByteArray)) && ((_arg2 is ByteArray)))){ _local8 = byteArrayCompare((_arg1 as ByteArray), (_arg2 as ByteArray)); } else { if (getQualifiedClassName(_arg1) == getQualifiedClassName(_arg2)){ _local12 = getClassInfo(_arg1).properties; if (getQualifiedClassName(_arg1) == "Object"){ _local13 = getClassInfo(_arg2).properties; _local8 = arrayCompare(_local12, _local13, _arg3, _local9, _arg5); }; if (_local8 != 0){ return (_local8); }; _local17 = 0; while (_local17 < _local12.length) { _local14 = _local12[_local17]; _local15 = _arg1[_local14]; _local16 = _arg2[_local14]; _local8 = internalCompare(_local15, _local16, (_arg3 + 1), _local9, _arg5); if (_local8 != 0){ _local17 = _local12.length; }; _local17++; }; } else { return (1); }; }; }; }; }; }; break; }; } else { return (stringCompare(_local6, _local7)); }; return (_local8); } public static function hasMetadata(_arg1:Object, _arg2:String, _arg3:String, _arg4:Array=null, _arg5:Object=null):Boolean{ var _local6:Object = getClassInfo(_arg1, _arg4, _arg5); var _local7:Object = _local6["metadata"]; return (internalHasMetadata(_local7, _arg2, _arg3)); } private static function internalHasMetadata(_arg1:Object, _arg2:String, _arg3:String):Boolean{ var _local4:Object; if (_arg1 != null){ _local4 = _arg1[_arg2]; if (_local4 != null){ if (_local4[_arg3] != null){ return (true); }; }; }; return (false); } public static function toString(_arg1:Object, _arg2:Array=null, _arg3:Array=null):String{ if (_arg3 == null){ _arg3 = defaultToStringExcludes; }; refCount = 0; return (internalToString(_arg1, 0, null, _arg2, _arg3)); } private static function byteArrayCompare(_arg1:ByteArray, _arg2:ByteArray):int{ var _local4:int; var _local3:int; if (_arg1.length != _arg2.length){ if (_arg1.length < _arg2.length){ _local3 = -1; } else { _local3 = 1; }; } else { _arg1.position = 0; _arg2.position = 0; _local4 = 0; while (_local4 < _arg1.length) { _local3 = numericCompare(_arg1.readByte(), _arg2.readByte()); if (_local3 != 0){ _local4 = _arg1.length; }; _local4++; }; }; return (_local3); } public static function copy(_arg1:Object):Object{ var _local2:ByteArray = new ByteArray(); _local2.writeObject(_arg1); _local2.position = 0; var _local3:Object = _local2.readObject(); return (_local3); } private static function getCacheKey(_arg1:Object, _arg2:Array=null, _arg3:Object=null):String{ var _local5:uint; var _local6:String; var _local7:String; var _local8:String; var _local4:String = getQualifiedClassName(_arg1); if (_arg2 != null){ _local5 = 0; while (_local5 < _arg2.length) { _local6 = (_arg2[_local5] as String); if (_local6 != null){ _local4 = (_local4 + _local6); }; _local5++; }; }; if (_arg3 != null){ for (_local7 in _arg3) { _local4 = (_local4 + _local7); _local8 = (_arg3[_local7] as String); if (_local8 != null){ _local4 = (_local4 + _local8); }; }; }; return (_local4); } } }//package mx.utils
Section 350
//StringUtil (mx.utils.StringUtil) package mx.utils { import mx.core.*; public class StringUtil { mx_internal static const VERSION:String = "3.0.0.0"; public static function trim(_arg1:String):String{ if (_arg1 == null){ return (""); }; var _local2:int; while (isWhitespace(_arg1.charAt(_local2))) { _local2++; }; var _local3:int = (_arg1.length - 1); while (isWhitespace(_arg1.charAt(_local3))) { _local3--; }; if (_local3 >= _local2){ return (_arg1.slice(_local2, (_local3 + 1))); }; return (""); } public static function isWhitespace(_arg1:String):Boolean{ switch (_arg1){ case " ": case "\t": case "\r": case "\n": case "\f": return (true); default: return (false); }; } public static function substitute(_arg1:String, ... _args):String{ var _local4:Array; if (_arg1 == null){ return (""); }; var _local3:uint = _args.length; if ((((_local3 == 1)) && ((_args[0] is Array)))){ _local4 = (_args[0] as Array); _local3 = _local4.length; } else { _local4 = _args; }; var _local5:int; while (_local5 < _local3) { _arg1 = _arg1.replace(new RegExp((("\\{" + _local5) + "\\}"), "g"), _local4[_local5]); _local5++; }; return (_arg1); } public static function trimArrayElements(_arg1:String, _arg2:String):String{ var _local3:Array; var _local4:int; var _local5:int; if (((!((_arg1 == ""))) && (!((_arg1 == null))))){ _local3 = _arg1.split(_arg2); _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local3[_local5] = StringUtil.trim(_local3[_local5]); _local5++; }; if (_local4 > 0){ _arg1 = _local3.join(_arg2); }; }; return (_arg1); } } }//package mx.utils
Section 351
//UIDUtil (mx.utils.UIDUtil) package mx.utils { import mx.core.*; import flash.utils.*; public class UIDUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static const ALPHA_CHAR_CODES:Array = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70]; private static var uidDictionary:Dictionary = new Dictionary(true); public static function fromByteArray(_arg1:ByteArray):String{ var _local2:Array; var _local3:uint; var _local4:uint; var _local5:int; if (((((!((_arg1 == null))) && ((_arg1.length >= 16)))) && ((_arg1.bytesAvailable >= 16)))){ _local2 = new Array(36); _local3 = 0; _local4 = 0; while (_local4 < 16) { if ((((((((_local4 == 4)) || ((_local4 == 6)))) || ((_local4 == 8)))) || ((_local4 == 10)))){ var _temp1 = _local3; _local3 = (_local3 + 1); var _local6 = _temp1; _local2[_local6] = 45; }; _local5 = _arg1.readByte(); var _temp2 = _local3; _local3 = (_local3 + 1); _local6 = _temp2; _local2[_local6] = ALPHA_CHAR_CODES[((_local5 & 240) >>> 4)]; var _temp3 = _local3; _local3 = (_local3 + 1); var _local7 = _temp3; _local2[_local7] = ALPHA_CHAR_CODES[(_local5 & 15)]; _local4++; }; return (String.fromCharCode.apply(null, _local2)); }; return (null); } public static function isUID(_arg1:String):Boolean{ var _local2:uint; var _local3:Number; if (((!((_arg1 == null))) && ((_arg1.length == 36)))){ _local2 = 0; while (_local2 < 36) { _local3 = _arg1.charCodeAt(_local2); if ((((((((_local2 == 8)) || ((_local2 == 13)))) || ((_local2 == 18)))) || ((_local2 == 23)))){ if (_local3 != 45){ return (false); }; } else { if ((((((_local3 < 48)) || ((_local3 > 70)))) || ((((_local3 > 57)) && ((_local3 < 65)))))){ return (false); }; }; _local2++; }; return (true); }; return (false); } public static function createUID():String{ var _local3:int; var _local4:int; var _local1:Array = new Array(36); var _local2:int; _local3 = 0; while (_local3 < 8) { var _temp1 = _local2; _local2 = (_local2 + 1); var _local7 = _temp1; _local1[_local7] = ALPHA_CHAR_CODES[Math.floor((Math.random() * 16))]; _local3++; }; _local3 = 0; while (_local3 < 3) { var _temp2 = _local2; _local2 = (_local2 + 1); _local7 = _temp2; _local1[_local7] = 45; _local4 = 0; while (_local4 < 4) { var _temp3 = _local2; _local2 = (_local2 + 1); var _local8 = _temp3; _local1[_local8] = ALPHA_CHAR_CODES[Math.floor((Math.random() * 16))]; _local4++; }; _local3++; }; var _temp4 = _local2; _local2 = (_local2 + 1); _local7 = _temp4; _local1[_local7] = 45; var _local5:Number = new Date().getTime(); var _local6:String = ("0000000" + _local5.toString(16).toUpperCase()).substr(-8); _local3 = 0; while (_local3 < 8) { var _temp5 = _local2; _local2 = (_local2 + 1); _local8 = _temp5; _local1[_local8] = _local6.charCodeAt(_local3); _local3++; }; _local3 = 0; while (_local3 < 4) { var _temp6 = _local2; _local2 = (_local2 + 1); _local8 = _temp6; _local1[_local8] = ALPHA_CHAR_CODES[Math.floor((Math.random() * 16))]; _local3++; }; return (String.fromCharCode.apply(null, _local1)); } public static function toByteArray(_arg1:String):ByteArray{ var _local2:ByteArray; var _local3:uint; var _local4:String; var _local5:uint; var _local6:uint; if (isUID(_arg1)){ _local2 = new ByteArray(); _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1.charAt(_local3); if (_local4 == "-"){ } else { _local5 = getDigit(_local4); _local3++; _local6 = getDigit(_arg1.charAt(_local3)); _local2.writeByte((((_local5 << 4) | _local6) & 0xFF)); }; _local3++; }; _local2.position = 0; return (_local2); }; return (null); } private static function getDigit(_arg1:String):uint{ switch (_arg1){ case "A": case "a": return (10); case "B": case "b": return (11); case "C": case "c": return (12); case "D": case "d": return (13); case "E": case "e": return (14); case "F": case "f": return (15); default: return (new uint(_arg1)); }; } public static function getUID(_arg1:Object):String{ var result:String; var xitem:XML; var nodeKind:String; var notificationFunction:Function; var item = _arg1; result = null; if (item == null){ return (result); }; if ((item is IUID)){ result = IUID(item).uid; if ((((result == null)) || ((result.length == 0)))){ result = createUID(); IUID(item).uid = result; }; } else { if ((((item is IPropertyChangeNotifier)) && (!((item is IUIComponent))))){ result = IPropertyChangeNotifier(item).uid; if ((((result == null)) || ((result.length == 0)))){ result = createUID(); IPropertyChangeNotifier(item).uid = result; }; } else { if ((item is String)){ return ((item as String)); }; try { if ((((item is XMLList)) && ((item.length == 1)))){ item = item[0]; }; if ((item is XML)){ xitem = XML(item); nodeKind = xitem.nodeKind(); if ((((nodeKind == "text")) || ((nodeKind == "attribute")))){ return (xitem.toString()); }; notificationFunction = xitem.notification(); if (!(notificationFunction is Function)){ notificationFunction = XMLNotifier.initializeXMLForNotification(); xitem.setNotification(notificationFunction); }; if (notificationFunction["uid"] == undefined){ result = (notificationFunction["uid"] = createUID()); }; result = notificationFunction["uid"]; } else { if (("mx_internal_uid" in item)){ return (item.mx_internal_uid); }; if (("uid" in item)){ return (item.uid); }; result = uidDictionary[item]; if (!result){ result = createUID(); try { item.mx_internal_uid = result; } catch(e:Error) { uidDictionary[item] = result; }; }; }; } catch(e:Error) { result = item.toString(); }; }; }; return (result); } } }//package mx.utils
Section 352
//URLUtil (mx.utils.URLUtil) package mx.utils { import mx.messaging.config.*; public class URLUtil { public static const SERVER_NAME_TOKEN:String = "{server.name}"; private static const SERVER_PORT_REGEX:RegExp = new RegExp("\\{server.port\\}", "g"); private static const SERVER_NAME_REGEX:RegExp = new RegExp("\\{server.name\\}", "g"); public static const SERVER_PORT_TOKEN:String = "{server.port}"; public static function hasUnresolvableTokens():Boolean{ return (!((LoaderConfig.url == null))); } public static function getServerName(_arg1:String):String{ var _local2:String = getServerNameWithPort(_arg1); var _local3:int = _local2.indexOf("]"); _local3 = ((_local3)>-1) ? _local2.indexOf(":", _local3) : _local2.indexOf(":"); if (_local3 > 0){ _local2 = _local2.substring(0, _local3); }; return (_local2); } public static function isHttpsURL(_arg1:String):Boolean{ return (((!((_arg1 == null))) && ((_arg1.indexOf("https://") == 0)))); } private static function internalObjectToString(_arg1:Object, _arg2:String, _arg3:String, _arg4:Boolean):String{ var _local7:String; var _local8:Object; var _local9:String; var _local5 = ""; var _local6:Boolean; for (_local7 in _arg1) { if (_local6){ _local6 = false; } else { _local5 = (_local5 + _arg2); }; _local8 = _arg1[_local7]; _local9 = (_arg3) ? ((_arg3 + ".") + _local7) : _local7; if (_arg4){ _local9 = encodeURIComponent(_local9); }; if ((_local8 is String)){ _local5 = (_local5 + ((_local9 + "=") + (_arg4) ? encodeURIComponent((_local8 as String)) : _local8)); } else { if ((_local8 is Number)){ _local8 = _local8.toString(); if (_arg4){ _local8 = encodeURIComponent((_local8 as String)); }; _local5 = (_local5 + ((_local9 + "=") + _local8)); } else { if ((_local8 is Boolean)){ _local5 = (_local5 + ((_local9 + "=") + (_local8) ? "true" : "false")); } else { if ((_local8 is Array)){ _local5 = (_local5 + internalArrayToString((_local8 as Array), _arg2, _local9, _arg4)); } else { _local5 = (_local5 + internalObjectToString(_local8, _arg2, _local9, _arg4)); }; }; }; }; }; return (_local5); } public static function getFullURL(_arg1:String, _arg2:String):String{ var _local3:Number; if (((!((_arg2 == null))) && (!(URLUtil.isHttpURL(_arg2))))){ if (_arg2.indexOf("./") == 0){ _arg2 = _arg2.substring(2); }; if (URLUtil.isHttpURL(_arg1)){ if (_arg2.charAt(0) == "/"){ _local3 = _arg1.indexOf("/", 8); if (_local3 == -1){ _local3 = _arg1.length; }; } else { _local3 = (_arg1.lastIndexOf("/") + 1); if (_local3 <= 8){ _arg1 = (_arg1 + "/"); _local3 = _arg1.length; }; }; if (_local3 > 0){ _arg2 = (_arg1.substring(0, _local3) + _arg2); }; }; }; return (_arg2); } public static function getServerNameWithPort(_arg1:String):String{ var _local2:int = (_arg1.indexOf("/") + 2); var _local3:int = _arg1.indexOf("/", _local2); return (((_local3 == -1)) ? _arg1.substring(_local2) : _arg1.substring(_local2, _local3)); } public static function replaceProtocol(_arg1:String, _arg2:String):String{ return (_arg1.replace(getProtocol(_arg1), _arg2)); } public static function urisEqual(_arg1:String, _arg2:String):Boolean{ if (((!((_arg1 == null))) && (!((_arg2 == null))))){ _arg1 = StringUtil.trim(_arg1).toLowerCase(); _arg2 = StringUtil.trim(_arg2).toLowerCase(); if (_arg1.charAt((_arg1.length - 1)) != "/"){ _arg1 = (_arg1 + "/"); }; if (_arg2.charAt((_arg2.length - 1)) != "/"){ _arg2 = (_arg2 + "/"); }; }; return ((_arg1 == _arg2)); } public static function getProtocol(_arg1:String):String{ var _local2:int = _arg1.indexOf("/"); var _local3:int = _arg1.indexOf(":/"); if ((((_local3 > -1)) && ((_local3 < _local2)))){ return (_arg1.substring(0, _local3)); }; _local3 = _arg1.indexOf("::"); if ((((_local3 > -1)) && ((_local3 < _local2)))){ return (_arg1.substring(0, _local3)); }; return (""); } private static function internalArrayToString(_arg1:Array, _arg2:String, _arg3:String, _arg4:Boolean):String{ var _local9:Object; var _local10:String; var _local5 = ""; var _local6:Boolean; var _local7:int = _arg1.length; var _local8:int; while (_local8 < _local7) { if (_local6){ _local6 = false; } else { _local5 = (_local5 + _arg2); }; _local9 = _arg1[_local8]; _local10 = ((_arg3 + ".") + _local8); if (_arg4){ _local10 = encodeURIComponent(_local10); }; if ((_local9 is String)){ _local5 = (_local5 + ((_local10 + "=") + (_arg4) ? encodeURIComponent((_local9 as String)) : _local9)); } else { if ((_local9 is Number)){ _local9 = _local9.toString(); if (_arg4){ _local9 = encodeURIComponent((_local9 as String)); }; _local5 = (_local5 + ((_local10 + "=") + _local9)); } else { if ((_local9 is Boolean)){ _local5 = (_local5 + ((_local10 + "=") + (_local9) ? "true" : "false")); } else { if ((_local9 is Array)){ _local5 = (_local5 + internalArrayToString((_local9 as Array), _arg2, _local10, _arg4)); } else { _local5 = (_local5 + internalObjectToString(_local9, _arg2, _local10, _arg4)); }; }; }; }; _local8++; }; return (_local5); } public static function objectToString(_arg1:Object, _arg2:String=";", _arg3:Boolean=true):String{ var _local4:String = internalObjectToString(_arg1, _arg2, null, _arg3); return (_local4); } public static function replaceTokens(_arg1:String):String{ var _local4:String; var _local5:String; var _local6:uint; var _local2:String = ((LoaderConfig.url == null)) ? "" : LoaderConfig.url; if (_arg1.indexOf(SERVER_NAME_TOKEN) > 0){ _local4 = URLUtil.getProtocol(_local2); _local5 = "localhost"; if (_local4.toLowerCase() != "file"){ _local5 = URLUtil.getServerName(_local2); }; _arg1 = _arg1.replace(SERVER_NAME_REGEX, _local5); }; var _local3:int = _arg1.indexOf(SERVER_PORT_TOKEN); if (_local3 > 0){ _local6 = URLUtil.getPort(_local2); if (_local6 > 0){ _arg1 = _arg1.replace(SERVER_PORT_REGEX, _local6); } else { if (_arg1.charAt((_local3 - 1)) == ":"){ _arg1 = (_arg1.substring(0, (_local3 - 1)) + _arg1.substring(_local3)); }; _arg1 = _arg1.replace(SERVER_PORT_REGEX, ""); }; }; return (_arg1); } public static function getPort(_arg1:String):uint{ var _local5:Number; var _local2:String = getServerNameWithPort(_arg1); var _local3:int = _local2.indexOf("]"); _local3 = ((_local3)>-1) ? _local2.indexOf(":", _local3) : _local2.indexOf(":"); var _local4:uint; if (_local3 > 0){ _local5 = Number(_local2.substring((_local3 + 1))); if (!isNaN(_local5)){ _local4 = int(_local5); }; }; return (_local4); } public static function stringToObject(_arg1:String, _arg2:String=";", _arg3:Boolean=true):Object{ var _local8:Array; var _local9:String; var _local10:Object; var _local11:Object; var _local12:int; var _local13:int; var _local14:Object; var _local15:String; var _local16:String; var _local17:Object; var _local4:Object = {}; var _local5:Array = _arg1.split(_arg2); var _local6:int = _local5.length; var _local7:int; while (_local7 < _local6) { _local8 = _local5[_local7].split("="); _local9 = _local8[0]; if (_arg3){ _local9 = decodeURIComponent(_local9); }; _local10 = _local8[1]; if (_arg3){ _local10 = decodeURIComponent((_local10 as String)); }; if (_local10 == "true"){ _local10 = true; } else { if (_local10 == "false"){ _local10 = false; } else { _local14 = int(_local10); if (_local14.toString() == _local10){ _local10 = _local14; } else { _local14 = Number(_local10); if (_local14.toString() == _local10){ _local10 = _local14; }; }; }; }; _local11 = _local4; _local8 = _local9.split("."); _local12 = _local8.length; _local13 = 0; while (_local13 < (_local12 - 1)) { _local15 = _local8[_local13]; if ((((_local11[_local15] == null)) && ((_local13 < (_local12 - 1))))){ _local16 = _local8[(_local13 + 1)]; _local17 = int(_local16); if (_local17.toString() == _local16){ _local11[_local15] = []; } else { _local11[_local15] = {}; }; }; _local11 = _local11[_local15]; _local13++; }; _local11[_local8[_local13]] = _local10; _local7++; }; return (_local4); } public static function replacePort(_arg1:String, _arg2:uint):String{ var _local6:int; var _local3 = ""; var _local4:int = _arg1.indexOf("]"); if (_local4 == -1){ _local4 = _arg1.indexOf(":"); }; var _local5:int = _arg1.indexOf(":", (_local4 + 1)); if (_local5 > -1){ _local5++; _local6 = _arg1.indexOf("/", _local5); _local3 = ((_arg1.substring(0, _local5) + _arg2.toString()) + _arg1.substring(_local6, _arg1.length)); } else { _local6 = _arg1.indexOf("/", _local4); if (_local6 > -1){ if (_arg1.charAt((_local6 + 1)) == "/"){ _local6 = _arg1.indexOf("/", (_local6 + 2)); }; if (_local6 > 0){ _local3 = (((_arg1.substring(0, _local6) + ":") + _arg2.toString()) + _arg1.substring(_local6, _arg1.length)); } else { _local3 = ((_arg1 + ":") + _arg2.toString()); }; } else { _local3 = ((_arg1 + ":") + _arg2.toString()); }; }; return (_local3); } public static function isHttpURL(_arg1:String):Boolean{ return (((!((_arg1 == null))) && ((((_arg1.indexOf("http://") == 0)) || ((_arg1.indexOf("https://") == 0)))))); } } }//package mx.utils
Section 353
//XMLNotifier (mx.utils.XMLNotifier) package mx.utils { import flash.utils.*; public class XMLNotifier { mx_internal static const VERSION:String = "3.0.0.0"; private static var instance:XMLNotifier; public function XMLNotifier(_arg1:XMLNotifierSingleton){ } public function watchXML(_arg1:Object, _arg2:IXMLNotifiable, _arg3:String=null):void{ var _local6:Dictionary; var _local4:XML = XML(_arg1); var _local5:Object = _local4.notification(); if (!(_local5 is Function)){ _local5 = initializeXMLForNotification(); _local4.setNotification((_local5 as Function)); if (((_arg3) && ((_local5["uid"] == null)))){ _local5["uid"] = _arg3; }; }; if (_local5["watched"] == undefined){ _local6 = new Dictionary(true); _local5["watched"] = _local6; } else { _local6 = _local5["watched"]; }; _local6[_arg2] = true; } public function unwatchXML(_arg1:Object, _arg2:IXMLNotifiable):void{ var _local5:Dictionary; var _local3:XML = XML(_arg1); var _local4:Object = _local3.notification(); if (!(_local4 is Function)){ return; }; if (_local4["watched"] != undefined){ _local5 = _local4["watched"]; delete _local5[_arg2]; }; } public static function getInstance():XMLNotifier{ if (!instance){ instance = new XMLNotifier(new XMLNotifierSingleton()); }; return (instance); } mx_internal static function initializeXMLForNotification():Function{ var notificationFunction:Function = function (_arg1:Object, _arg2:String, _arg3:Object, _arg4:Object, _arg5:Object):void{ var _local8:Object; var _local7:Dictionary = arguments.callee.watched; if (_local7 != null){ for (_local8 in _local7) { IXMLNotifiable(_local8).xmlNotification(_arg1, _arg2, _arg3, _arg4, _arg5); }; }; }; return (notificationFunction); } } }//package mx.utils class XMLNotifierSingleton { private function XMLNotifierSingleton(){ } }
Section 354
//IValidatorListener (mx.validators.IValidatorListener) package mx.validators { import mx.events.*; public interface IValidatorListener { function set errorString(_arg1:String):void; function get validationSubField():String; function validationResultHandler(_arg1:ValidationResultEvent):void; function set validationSubField(_arg1:String):void; function get errorString():String; } }//package mx.validators
Section 355
//ValidationResult (mx.validators.ValidationResult) package mx.validators { public class ValidationResult { public var subField:String; public var errorCode:String; public var isError:Boolean; public var errorMessage:String; mx_internal static const VERSION:String = "3.0.0.0"; public function ValidationResult(_arg1:Boolean, _arg2:String="", _arg3:String="", _arg4:String=""){ this.isError = _arg1; this.subField = _arg2; this.errorMessage = _arg4; this.errorCode = _arg3; } } }//package mx.validators
Section 356
//_activeButtonStyleStyle (_activeButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _activeButtonStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".activeButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 357
//_activeTabStyleStyle (_activeTabStyleStyle) package { import mx.core.*; import mx.styles.*; public class _activeTabStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeTabStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".activeTabStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 358
//_advancedDataGridStylesStyle (_advancedDataGridStylesStyle) package { import mx.core.*; import mx.styles.*; public class _advancedDataGridStylesStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".advancedDataGridStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".advancedDataGridStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 359
//_alertButtonStyleStyle (_alertButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _alertButtonStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".alertButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".alertButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 734012; }; }; } } }//package
Section 360
//_AlertStyle (_AlertStyle) package { import mx.core.*; import mx.styles.*; public class _AlertStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Alert"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Alert", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.borderColor = 8821927; this.paddingLeft = 10; this.color = 0xFFFFFF; this.roundedBottomCorners = true; this.paddingRight = 10; this.backgroundAlpha = 0.9; this.paddingBottom = 2; this.borderAlpha = 0.9; this.buttonStyleName = "alertButtonStyle"; this.backgroundColor = 8821927; }; }; } } }//package
Section 361
//_ApplicationStyle (_ApplicationStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ApplicationStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Application"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Application", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 24; this.paddingLeft = 24; this.backgroundGradientAlphas = [1, 1]; this.horizontalAlign = "center"; this.paddingRight = 24; this.backgroundImage = ApplicationBackground; this.paddingBottom = 24; this.backgroundSize = "100%"; this.backgroundColor = 8821927; }; }; } } }//package
Section 362
//_ButtonStyle (_ButtonStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ButtonStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Button"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Button", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.textAlign = "center"; this.skin = ButtonSkin; this.paddingLeft = 10; this.fontWeight = "bold"; this.cornerRadius = 4; this.paddingRight = 10; this.verticalGap = 2; this.horizontalGap = 2; this.paddingBottom = 2; }; }; } } }//package
Section 363
//_ComboBoxStyle (_ComboBoxStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ComboBoxStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ComboBox"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ComboBox", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.skin = ComboBoxArrowSkin; this.paddingLeft = 5; this.fontWeight = "bold"; this.disabledIconColor = 9542041; this.cornerRadius = 5; this.arrowButtonWidth = 22; this.paddingRight = 5; this.leading = 0; this.dropdownStyleName = "comboDropdown"; }; }; } } }//package
Section 364
//_comboDropdownStyle (_comboDropdownStyle) package { import mx.core.*; import mx.styles.*; public class _comboDropdownStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".comboDropdown"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".comboDropdown", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingLeft = 5; this.fontWeight = "normal"; this.cornerRadius = 0; this.paddingRight = 5; this.dropShadowEnabled = true; this.shadowDirection = "center"; this.leading = 0; this.borderThickness = 0; this.shadowDistance = 1; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 365
//_ContainerStyle (_ContainerStyle) package { import mx.core.*; import mx.styles.*; public class _ContainerStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Container"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Container", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.borderStyle = "none"; }; }; } } }//package
Section 366
//_ControlBarStyle (_ControlBarStyle) package { import mx.core.*; import mx.styles.*; public class _ControlBarStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ControlBar"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ControlBar", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 10; this.disabledOverlayAlpha = 0; this.paddingLeft = 10; this.paddingRight = 10; this.verticalAlign = "middle"; this.paddingBottom = 10; this.borderStyle = "controlBar"; }; }; } } }//package
Section 367
//_CursorManagerStyle (_CursorManagerStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _CursorManagerStyle { private static var _embed_css_Assets_swf_mx_skins_cursor_BusyCursor_392666685:Class = _CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_392666685; public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("CursorManager"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("CursorManager", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.busyCursor = BusyCursor; this.busyCursorBackground = _embed_css_Assets_swf_mx_skins_cursor_BusyCursor_392666685; }; }; } } }//package
Section 368
//_CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_392666685 (_CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_392666685) package { import mx.core.*; public class _CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_392666685 extends SpriteAsset { } }//package
Section 369
//_dataGridStylesStyle (_dataGridStylesStyle) package { import mx.core.*; import mx.styles.*; public class _dataGridStylesStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dataGridStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".dataGridStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 370
//_dateFieldPopupStyle (_dateFieldPopupStyle) package { import mx.core.*; import mx.styles.*; public class _dateFieldPopupStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dateFieldPopup"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".dateFieldPopup", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.dropShadowEnabled = true; this.borderThickness = 0; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 371
//_DragManagerStyle (_DragManagerStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _DragManagerStyle { private static var _embed_css_Assets_swf_mx_skins_cursor_DragLink_576759324:Class = _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_576759324; private static var _embed_css_Assets_swf_mx_skins_cursor_DragMove_576717431:Class = _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_576717431; private static var _embed_css_Assets_swf_mx_skins_cursor_DragCopy_578594451:Class = _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_578594451; private static var _embed_css_Assets_swf_mx_skins_cursor_DragReject_854166839:Class = _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_854166839; public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("DragManager"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("DragManager", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.rejectCursor = _embed_css_Assets_swf_mx_skins_cursor_DragReject_854166839; this.defaultDragImageSkin = DefaultDragImage; this.moveCursor = _embed_css_Assets_swf_mx_skins_cursor_DragMove_576717431; this.copyCursor = _embed_css_Assets_swf_mx_skins_cursor_DragCopy_578594451; this.linkCursor = _embed_css_Assets_swf_mx_skins_cursor_DragLink_576759324; }; }; } } }//package
Section 372
//_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_578594451 (_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_578594451) package { import mx.core.*; public class _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_578594451 extends SpriteAsset { } }//package
Section 373
//_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_576759324 (_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_576759324) package { import mx.core.*; public class _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_576759324 extends SpriteAsset { } }//package
Section 374
//_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_576717431 (_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_576717431) package { import mx.core.*; public class _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_576717431 extends SpriteAsset { } }//package
Section 375
//_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_854166839 (_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_854166839) package { import mx.core.*; public class _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_854166839 extends SpriteAsset { } }//package
Section 376
//_errorTipStyle (_errorTipStyle) package { import mx.core.*; import mx.styles.*; public class _errorTipStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".errorTip"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".errorTip", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 4; this.borderColor = 13510953; this.paddingLeft = 4; this.color = 0xFFFFFF; this.fontWeight = "bold"; this.paddingRight = 4; this.shadowColor = 0; this.fontSize = 9; this.paddingBottom = 4; this.borderStyle = "errorTipRight"; }; }; } } }//package
Section 377
//_globalStyle (_globalStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _globalStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("global", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "normal"; this.modalTransparencyBlur = 3; this.verticalGridLineColor = 14015965; this.borderStyle = "inset"; this.buttonColor = 7305079; this.borderCapColor = 9542041; this.textAlign = "left"; this.disabledIconColor = 0x999999; this.stroked = false; this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE]; this.fontStyle = "normal"; this.borderSides = "left top right bottom"; this.borderThickness = 1; this.modalTransparencyDuration = 100; this.useRollOver = true; this.strokeWidth = 1; this.filled = true; this.borderColor = 12040892; this.horizontalGridLines = false; this.horizontalGridLineColor = 0xF7F7F7; this.shadowCapColor = 14015965; this.fontGridFitType = "pixel"; this.horizontalAlign = "left"; this.modalTransparencyColor = 0xDDDDDD; this.disabledColor = 11187123; this.borderSkin = HaloBorder; this.dropShadowColor = 0; this.paddingBottom = 0; this.indentation = 17; this.version = "3.0.0"; this.fontThickness = 0; this.verticalGridLines = true; this.embedFonts = false; this.fontSharpness = 0; this.shadowDirection = "center"; this.textDecoration = "none"; this.selectionDuration = 250; this.bevel = true; this.fillColor = 0xFFFFFF; this.focusBlendMode = "normal"; this.dropShadowEnabled = false; this.textRollOverColor = 2831164; this.textIndent = 0; this.fontSize = 10; this.openDuration = 250; this.closeDuration = 250; this.kerning = false; this.paddingTop = 0; this.highlightAlphas = [0.3, 0]; this.cornerRadius = 0; this.horizontalGap = 8; this.textSelectedColor = 2831164; this.paddingLeft = 0; this.modalTransparency = 0.5; this.roundedBottomCorners = true; this.repeatDelay = 500; this.selectionDisabledColor = 0xDDDDDD; this.fontAntiAliasType = "advanced"; this.focusSkin = HaloFocusRect; this.verticalGap = 6; this.leading = 2; this.shadowColor = 0xEEEEEE; this.backgroundAlpha = 1; this.iconColor = 0x111111; this.focusAlpha = 0.4; this.borderAlpha = 1; this.focusThickness = 2; this.themeColor = 40447; this.backgroundSize = "auto"; this.indicatorGap = 14; this.letterSpacing = 0; this.fontFamily = "Verdana"; this.fillAlphas = [0.6, 0.4, 0.75, 0.65]; this.color = 734012; this.paddingRight = 0; this.errorColor = 0xFF0000; this.verticalAlign = "top"; this.focusRoundedCorners = "tl tr bl br"; this.shadowDistance = 2; this.repeatInterval = 35; }; }; } } }//package
Section 378
//_headerDateTextStyle (_headerDateTextStyle) package { import mx.core.*; import mx.styles.*; public class _headerDateTextStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDateText"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".headerDateText", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.textAlign = "center"; this.fontWeight = "bold"; }; }; } } }//package
Section 379
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle) package { import mx.core.*; import mx.styles.*; public class _headerDragProxyStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDragProxyStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".headerDragProxyStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 380
//_linkButtonStyleStyle (_linkButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _linkButtonStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".linkButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".linkButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.paddingLeft = 2; this.paddingRight = 2; this.paddingBottom = 2; }; }; } } }//package
Section 381
//_ListBaseStyle (_ListBaseStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ListBaseStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ListBase"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ListBase", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.dropIndicatorSkin = ListDropIndicator; this.paddingLeft = 2; this.paddingRight = 0; this.backgroundDisabledColor = 0xDDDDDD; this.paddingBottom = 2; this.borderStyle = "solid"; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 382
//_main_FlexInit (_main_FlexInit) package { import mx.core.*; import mx.styles.*; import mx.effects.*; import mx.collections.*; import mx.messaging.messages.*; import flash.net.*; import mx.utils.*; import mx.messaging.config.*; public class _main_FlexInit { public static function init(_arg1:IFlexModuleFactory):void{ var _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("addedEffect", "added"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("completeEffect", "complete"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("creationCompleteEffect", "creationComplete"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("focusInEffect", "focusIn"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("focusOutEffect", "focusOut"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("hideEffect", "hide"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("itemsChangeEffect", "itemsChange"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("mouseDownEffect", "mouseDown"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("mouseUpEffect", "mouseUp"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("moveEffect", "move"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("removedEffect", "removed"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("resizeEffect", "resize"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("resizeEndEffect", "resizeEnd"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("resizeStartEffect", "resizeStart"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("rollOutEffect", "rollOut"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("rollOverEffect", "rollOver"); _local4 = EffectManager; _local4.mx_internal::registerEffectTrigger("showEffect", "show"); registerClassAlias("flex.messaging.io.ArrayCollection", ArrayCollection); registerClassAlias("flex.messaging.io.ArrayList", ArrayList); registerClassAlias("flex.messaging.config.ConfigMap", ConfigMap); registerClassAlias("flex.messaging.messages.AcknowledgeMessage", AcknowledgeMessage); registerClassAlias("DSK", AcknowledgeMessageExt); registerClassAlias("flex.messaging.messages.AsyncMessage", AsyncMessage); registerClassAlias("DSA", AsyncMessageExt); registerClassAlias("flex.messaging.messages.CommandMessage", CommandMessage); registerClassAlias("DSC", CommandMessageExt); registerClassAlias("flex.messaging.messages.ErrorMessage", ErrorMessage); registerClassAlias("flex.messaging.messages.HTTPMessage", HTTPRequestMessage); registerClassAlias("flex.messaging.messages.MessagePerformanceInfo", MessagePerformanceInfo); registerClassAlias("flex.messaging.io.ObjectProxy", ObjectProxy); var _local2:Array = ["fontWeight", "modalTransparencyBlur", "rollOverColor", "textRollOverColor", "backgroundDisabledColor", "textIndent", "barColor", "fontSize", "kerning", "footerColors", "textAlign", "disabledIconColor", "fontStyle", "dropdownBorderColor", "modalTransparencyDuration", "textSelectedColor", "selectionColor", "modalTransparency", "fontGridFitType", "selectionDisabledColor", "disabledColor", "fontAntiAliasType", "modalTransparencyColor", "alternatingItemColors", "leading", "iconColor", "dropShadowColor", "themeColor", "letterSpacing", "fontFamily", "color", "fontThickness", "errorColor", "headerColors", "fontSharpness", "textDecoration"]; var _local3:int; while (_local3 < _local2.length) { StyleManager.registerInheritingStyle(_local2[_local3]); _local3++; }; } } }//package
Section 383
//_main_mx_managers_SystemManager (_main_mx_managers_SystemManager) package { import mx.core.*; import mx.managers.*; import flash.system.*; public class _main_mx_managers_SystemManager extends SystemManager implements IFlexModuleFactory { override public function create(... _args):Object{ if ((((_args.length > 0)) && (!((_args[0] is String))))){ return (super.create.apply(this, _args)); }; var _local2:String = ((_args.length == 0)) ? "main" : String(_args[0]); var _local3:Class = Class(getDefinitionByName(_local2)); if (!_local3){ return (null); }; var _local4:Object = new (_local3); if ((_local4 is IFlexModule)){ IFlexModule(_local4).moduleFactory = this; }; return (_local4); } override public function info():Object{ return ({compiledLocales:["en_US"], compiledResourceBundleNames:["collections", "containers", "controls", "core", "effects", "logging", "messaging", "rpc", "skins", "styles"], currentDomain:ApplicationDomain.currentDomain, initialize:"initApp()", layout:"absolute", mainClassName:"main", mixins:["_main_FlexInit", "_alertButtonStyleStyle", "_ControlBarStyle", "_ScrollBarStyle", "_activeTabStyleStyle", "_textAreaHScrollBarStyleStyle", "_ToolTipStyle", "_ComboBoxStyle", "_DragManagerStyle", "_TextAreaStyle", "_advancedDataGridStylesStyle", "_comboDropdownStyle", "_ListBaseStyle", "_textAreaVScrollBarStyleStyle", "_ContainerStyle", "_linkButtonStyleStyle", "_globalStyle", "_windowStatusStyle", "_PanelStyle", "_windowStylesStyle", "_activeButtonStyleStyle", "_errorTipStyle", "_richTextEditorTextAreaStyleStyle", "_CursorManagerStyle", "_todayStyleStyle", "_dateFieldPopupStyle", "_TextInputStyle", "_plainStyle", "_dataGridStylesStyle", "_ApplicationStyle", "_SWFLoaderStyle", "_headerDateTextStyle", "_ButtonStyle", "_popUpMenuStyle", "_AlertStyle", "_swatchPanelTextFieldStyle", "_opaquePanelStyle", "_weekDayStyleStyle", "_headerDragProxyStyleStyle", "_mainWatcherSetupUtil"], render:"renderApp(event)"}); } } }//package
Section 384
//_mainWatcherSetupUtil (_mainWatcherSetupUtil) package { import flash.display.*; import mx.core.*; import mx.binding.*; public class _mainWatcherSetupUtil extends Sprite implements IWatcherSetupUtil { public function setup(_arg1:Object, _arg2:Function, _arg3:Array, _arg4:Array):void{ _arg4[1] = new StaticPropertyWatcher("APP_BIND_CHANNEL", {propertyChange:true}, [_arg3[1]], null); _arg4[2] = new StaticPropertyWatcher("cbRadioAvailableData", {propertyChange:true}, [_arg3[2]], null); _arg4[1].updateParent(main); _arg4[2].updateParent(main); } public static function init(_arg1:IFlexModuleFactory):void{ main.watcherSetupUtil = new (_mainWatcherSetupUtil); } } }//package
Section 385
//_opaquePanelStyle (_opaquePanelStyle) package { import mx.core.*; import mx.styles.*; public class _opaquePanelStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".opaquePanel"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".opaquePanel", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.footerColors = [0xE7E7E7, 0xC7C7C7]; this.borderColor = 0xFFFFFF; this.headerColors = [0xE7E7E7, 0xD9D9D9]; this.borderAlpha = 1; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 386
//_PanelStyle (_PanelStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _PanelStyle { public static function init(_arg1:IFlexModuleFactory):void{ var effects:Array; var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Panel"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Panel", style, false); effects = style.mx_internal::effects; if (!effects){ effects = (style.mx_internal::effects = new Array()); }; effects.push("resizeEndEffect"); effects.push("resizeStartEffect"); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.borderColor = 0xE2E2E2; this.paddingLeft = 0; this.roundedBottomCorners = false; this.dropShadowEnabled = true; this.resizeStartEffect = "Dissolve"; this.borderSkin = PanelSkin; this.statusStyleName = "windowStatus"; this.borderAlpha = 0.4; this.borderStyle = "default"; this.paddingBottom = 0; this.resizeEndEffect = "Dissolve"; this.paddingTop = 0; this.borderThicknessRight = 10; this.titleStyleName = "windowStyles"; this.cornerRadius = 4; this.paddingRight = 0; this.borderThicknessLeft = 10; this.titleBackgroundSkin = TitleBackground; this.borderThickness = 0; this.borderThicknessTop = 2; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 387
//_plainStyle (_plainStyle) package { import mx.core.*; import mx.styles.*; public class _plainStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".plain"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".plain", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 0; this.paddingLeft = 0; this.horizontalAlign = "left"; this.paddingRight = 0; this.backgroundImage = ""; this.paddingBottom = 0; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 388
//_popUpMenuStyle (_popUpMenuStyle) package { import mx.core.*; import mx.styles.*; public class _popUpMenuStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".popUpMenu"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".popUpMenu", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.textAlign = "left"; this.fontWeight = "normal"; }; }; } } }//package
Section 389
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle) package { import mx.core.*; import mx.styles.*; public class _richTextEditorTextAreaStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".richTextEditorTextAreaStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".richTextEditorTextAreaStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 390
//_ScrollBarStyle (_ScrollBarStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ScrollBarStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ScrollBar"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ScrollBar", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.trackColors = [9738651, 0xE7E7E7]; this.thumbOffset = 0; this.paddingTop = 0; this.downArrowSkin = ScrollArrowSkin; this.borderColor = 12040892; this.paddingLeft = 0; this.cornerRadius = 4; this.paddingRight = 0; this.trackSkin = ScrollTrackSkin; this.thumbSkin = ScrollThumbSkin; this.paddingBottom = 0; this.upArrowSkin = ScrollArrowSkin; }; }; } } }//package
Section 391
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle) package { import mx.core.*; import mx.styles.*; public class _swatchPanelTextFieldStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".swatchPanelTextField"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".swatchPanelTextField", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.highlightColor = 12897484; this.borderColor = 14015965; this.paddingLeft = 5; this.shadowCapColor = 14015965; this.paddingRight = 5; this.shadowColor = 14015965; this.borderStyle = "inset"; this.buttonColor = 7305079; this.backgroundColor = 0xFFFFFF; this.borderCapColor = 9542041; }; }; } } }//package
Section 392
//_SWFLoaderStyle (_SWFLoaderStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _SWFLoaderStyle { private static var _embed_css_Assets_swf___brokenImage_893972205:Class = _SWFLoaderStyle__embed_css_Assets_swf___brokenImage_893972205; public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("SWFLoader"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("SWFLoader", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.brokenImageSkin = _embed_css_Assets_swf___brokenImage_893972205; this.borderStyle = "none"; this.brokenImageBorderSkin = BrokenImageBorderSkin; }; }; } } }//package
Section 393
//_SWFLoaderStyle__embed_css_Assets_swf___brokenImage_893972205 (_SWFLoaderStyle__embed_css_Assets_swf___brokenImage_893972205) package { import mx.core.*; public class _SWFLoaderStyle__embed_css_Assets_swf___brokenImage_893972205 extends SpriteAsset { } }//package
Section 394
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle) package { import mx.core.*; import mx.styles.*; public class _textAreaHScrollBarStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaHScrollBarStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".textAreaHScrollBarStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 395
//_TextAreaStyle (_TextAreaStyle) package { import mx.core.*; import mx.styles.*; public class _TextAreaStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("TextArea"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("TextArea", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.horizontalScrollBarStyleName = "textAreaHScrollBarStyle"; this.backgroundDisabledColor = 0xDDDDDD; this.borderStyle = "solid"; this.backgroundColor = 0xFFFFFF; this.verticalScrollBarStyleName = "textAreaVScrollBarStyle"; }; }; } } }//package
Section 396
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle) package { import mx.core.*; import mx.styles.*; public class _textAreaVScrollBarStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaVScrollBarStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".textAreaVScrollBarStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 397
//_TextInputStyle (_TextInputStyle) package { import mx.core.*; import mx.styles.*; public class _TextInputStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("TextInput"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("TextInput", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.backgroundDisabledColor = 0xDDDDDD; this.backgroundColor = 0xFFFFFF; }; }; } } }//package
Section 398
//_todayStyleStyle (_todayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _todayStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".todayStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".todayStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.textAlign = "center"; this.color = 0xFFFFFF; }; }; } } }//package
Section 399
//_ToolTipStyle (_ToolTipStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ToolTipStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ToolTip"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ToolTip", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.borderColor = 9542041; this.paddingLeft = 4; this.cornerRadius = 2; this.paddingRight = 4; this.shadowColor = 0; this.fontSize = 9; this.borderSkin = ToolTipBorder; this.backgroundAlpha = 0.95; this.paddingBottom = 2; this.borderStyle = "toolTip"; this.backgroundColor = 16777164; }; }; } } }//package
Section 400
//_weekDayStyleStyle (_weekDayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _weekDayStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".weekDayStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".weekDayStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.textAlign = "center"; this.fontWeight = "bold"; }; }; } } }//package
Section 401
//_windowStatusStyle (_windowStatusStyle) package { import mx.core.*; import mx.styles.*; public class _windowStatusStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStatus"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".windowStatus", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 0x666666; }; }; } } }//package
Section 402
//_windowStylesStyle (_windowStylesStyle) package { import mx.core.*; import mx.styles.*; public class _windowStylesStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".windowStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 403
//en_US$collections_properties (en_US$collections_properties) package { import mx.resources.*; public class en_US$collections_properties extends ResourceBundle { public function en_US$collections_properties(){ super("en_US", "collections"); } override protected function getContent():Object{ var _local1:Object = {findCondition:"Find criteria must contain all sort fields leading up to '{0}'.", noComparatorSortField:"Cannot determine comparator for SortField with name '{0}'.", outOfBounds:"Index '{0}' specified is out of bounds.", nonUnique:"Non-unique values in items.", incorrectAddition:"Attempt to add an item already in the view.", findRestriction:"Find criteria must contain at least one sort field value.", invalidType:"Incorrect type. Must be of type XML or a XMLList that contains one XML object. ", unknownMode:"Unknown find mode.", invalidIndex:"Invalid index: '{0}'.", invalidRemove:"Cannot remove when current is beforeFirst or afterLast.", unknownProperty:"Unknown Property: '{0}'.", invalidInsert:"Cannot insert when current is beforeFirst.", itemNotFound:"Cannot find when view is not sorted.", bookmarkInvalid:"Bookmark no longer valid.", noComparator:"Cannot determine comparator for '{0}'.", invalidCursor:"Cursor no longer valid.", noItems:"No items to search.", bookmarkNotFound:"Bookmark is not from this view."}; return (_local1); } } }//package
Section 404
//en_US$containers_properties (en_US$containers_properties) package { import mx.resources.*; public class en_US$containers_properties extends ResourceBundle { public function en_US$containers_properties(){ super("en_US", "containers"); } override protected function getContent():Object{ var _local1:Object = {noColumnsFound:"No ConstraintColumns found.", noRowsFound:"No ConstraintRows found.", rowNotFound:"ConstraintRow '{0}' not found.", columnNotFound:"ConstraintColumn '{0}' not found."}; return (_local1); } } }//package
Section 405
//en_US$controls_properties (en_US$controls_properties) package { import mx.resources.*; public class en_US$controls_properties extends ResourceBundle { public function en_US$controls_properties(){ super("en_US", "controls"); } override protected function getContent():Object{ var _local1:Object = {undefinedParameter:"CuePoint parameter undefined.", nullURL:"Null URL sent to VideoPlayer.load.", incorrectType:"Type must be 0, 1 or 2.", okLabel:"OK", noLabel:"No", wrongNumParams:"Num params must be number.", wrongDisabled:"Disabled must be number.", wrongTime:"Time must be number.", dayNamesShortest:"S,M,T,W,T,F,S", wrongType:"Type must be number.", firstDayOfWeek:"0", rootNotSMIL:"URL: '{0}' Root node not smil: '{1}'.", errorMessages:"Unable to make connection to server or to find FLV on server.,No matching cue point found.,Illegal cue point.,Invalid seek.,Invalid contentPath.,Invalid XML.,No bitrate match; must be no default FLV.,Cannot delete default VideoPlayer.", unexpectedEnd:"Unexpected end of cuePoint param string.", rootNotFound:"URL: '{0}' No root node found; if file is an flv, it must have a .flv extension.", errWrongContainer:"ERROR: The dataProvider of '{0}' must not contain objects of type flash.display.DisplayObject.", invalidCall:"Cannot call reconnect on an http connection.", cancelLabel:"Cancel", errWrongType:"ERROR: The dataProvider of '{0}' must be String, ViewStack, Array, or IList.", badArgs:"Bad args to _play.", missingRoot:"URL: '{0}' No root node found; if URL is for an FLV, it must have a .flv extension and take no parameters.", notLoadable:"Unable to load '{0}'.", wrongName:"Name cannot be undefined or null.", wrongTimeName:"Time must be number and/or name must not be undefined or null.", yesLabel:"Yes", undefinedArray:"CuePoint.array undefined.", missingProxy:"URL: '{0}' fpad xml requires proxy tag.", unknownInput:"Unknown inputType '{0}'.", missingAttributeSrc:"URL: '{0}' Attribute src is required in '{1}' tag.", yearSymbol:"", wrongIndex:"CuePoint.index must be number between -1 and cuePoint.array.length.", notImplemented:"'{0}' not implemented yet.", label:"LOADING %3%%", wrongFormat:"Unexpected cuePoint parameter format.", tagNotFound:"URL: '{0}' At least one video of ref tag is required.", unsupportedMode:"IMEMode '{0}' not supported.", cannotDisable:"Cannot disable actionscript cue points.", missingAttributes:"URL: '{0}' Tag '{1}' requires attributes id, width, and height. Width and height must be numbers greater than or equal to 0.", notfpad:"URL: '{0}' Root node not fpad."}; return (_local1); } } }//package
Section 406
//en_US$core_properties (en_US$core_properties) package { import mx.resources.*; public class en_US$core_properties extends ResourceBundle { public function en_US$core_properties(){ super("en_US", "core"); } override protected function getContent():Object{ var _local1:Object = {multipleChildSets_ClassAndInstance:"Multiple sets of visual children have been specified for this component (component definition and component instance).", truncationIndicator:"...", notExecuting:"Repeater is not executing.", versionAlreadyRead:"Compatibility version has already been read.", multipleChildSets_ClassAndSubclass:"Multiple sets of visual children have been specified for this component (base component definition and derived component definition).", viewSource:"View Source", badFile:"File does not exist.", stateUndefined:"Undefined state '{0}'.", versionAlreadySet:"Compatibility version has already been set."}; return (_local1); } } }//package
Section 407
//en_US$effects_properties (en_US$effects_properties) package { import mx.resources.*; public class en_US$effects_properties extends ResourceBundle { public function en_US$effects_properties(){ super("en_US", "effects"); } override protected function getContent():Object{ var _local1:Object = {incorrectTrigger:"The Zoom effect can not be triggered by a moveEffect trigger.", incorrectSource:"Source property must be a Class or String."}; return (_local1); } } }//package
Section 408
//en_US$logging_properties (en_US$logging_properties) package { import mx.resources.*; public class en_US$logging_properties extends ResourceBundle { public function en_US$logging_properties(){ super("en_US", "logging"); } override protected function getContent():Object{ var _local1:Object = {invalidTarget:"Invalid target specified.", charsInvalid:"Error for filter '{0}': The following characters are not valid: []~$^&/(){}<>+=_-`!@#%?,:;'\".", charPlacement:"Error for filter '{0}': '*' must be the right most character.", levelLimit:"Level must be less than LogEventLevel.ALL.", invalidChars:"Categories can not contain any of the following characters: []`~,!@#$%*^&()]{}+=|';?><./\".", invalidLen:"Categories must be at least one character in length."}; return (_local1); } } }//package
Section 409
//en_US$messaging_properties (en_US$messaging_properties) package { import mx.resources.*; public class en_US$messaging_properties extends ResourceBundle { public function en_US$messaging_properties(){ super("en_US", "messaging"); } override protected function getContent():Object{ var _local1:Object = {httpRequestError.details:"Error: {0}", errorReadingIExternalizable:"Error encountered while reading IExternalizable. {0}", couldNotLoadCache:"The cache could not be loaded into the message store.", cannotRemoveWhenConfigured:"Channels cannot be removed from a ChannelSet that targets a configured destination.", deliveryInDoubt.details:"Channel disconnected before an acknowledgement was received", requestTimedOut:"Request timed out", securityError:"Security error accessing url", invalidURL:"Invalid URL", messageQueueFailedInitialize:"Message store initialization failed.", noErrorForMessage.details:"Was expecting message '{0}' but received '{1}'.", couldNotSaveCache:"The cache could not be saved.", unknownChannelWithId:"Channel '{0}' does not exist in the configuration.", producerConnectError:"Producer connect error", noAckMessage.details:"Was expecting mx.messaging.messages.AcknowledgeMessage, but received {0}", destinationNotSet:"The MessageAgent's destination must be set to send messages.", requestTimedOut.details:"The request timeout for the sent message was reached without receiving a response from the server.", couldNotRemoveMessageFromQueue:"The message could not be removed from the message store before being sent.", unknownReference:"Unknown reference {0}", noDestinationSpecified:"A destination name must be specified.", wrongMessageQueueForProducerDetails:"The message did not come from the message store associated with this producer.", emptySessionClientId:"Session clientId's must be non-zero in length.", unknownTraitReference:"Unknown trait reference {0}", producerSendErrorDetails:"The producer is not connected and the message cannot be sent.", connectTimedOut:"Connect attempt timed out.", httpRequestError:"HTTP request error", noErrorForMessage:"Didn't receive an error for message", pollingNotSupportedAMF:"StreamingAMFChannel does not support polling. ", pollingNotSupportedHTTP:"StreamingHTTPChannel does not support polling. ", noAvailableChannels:"No Channels are available for use.", ackFailed.details:"Was expecting message '{0}' but received '{1}'.", couldNotLoadCacheIds:"The list of cache ids could not be loaded.", noAMFXBody:"Invalid AMFX packet. Could not find message body", couldNotClearCache:"The cache could not be cleared.", unknownDestination:"Unknown destination '{0}'.", invalidRequestMethod:"Invalid method specified.", failedToSubscribe:"The consumer was not able to subscribe to its target destination.", destinationWithInvalidMessageType:"Destination '{0}' cannot service messages of type '{1}'.", couldNotAddMessageToQueue:"The message store could not store the message and the producer is not connected. The FaultEvent dispatched by the message store provides additional information.", unsupportedAMFXVersion:"Unsupported AMFX version: {0}", producerSendError:"Send failed", cannotAddWhenConfigured:"Channels cannot be added to a ChannelSet that targets a configured destination.", unknownChannelClass:"The channel class '{0}' specified was not found.", pollingIntervalNonPositive:"Channel pollingInterval may only be set to a positive value.", cannotAddNullIdChannelWhenClustered:"Cannot add a channel with null id to ChannelSet when its clustered property is true.", securityError.details:"Destination: {0}", referenceMissingId:"A reference must have an id.", sendFailed:"Send failed", lsoStorageNotAllowed:"The message store cannot initialize because local storage is not allowed. Please ensure that local storage is enabled for the Flash Player and that sufficient storage space is configured.", ackFailed:"Didn't receive an acknowledgement of message", cannotSetClusteredWithdNullChannelIds:"Cannot change clustered property of ChannelSet to true when it contains channels with null ids. ", cannotConnectToDestination:"No connection could be made to the message destination.", reconnectIntervalNegative:"reconnectInterval cannot take a negative value.", noURIAllowed:"Error for DirectHTTPChannel. No URI can be specified.", messageQueueSendError:"Send failed", noServiceForMessageType:"No service is configured to handle messages of type '{0}'.", AMFXTraitsNotFirst:"Invalid object. A single set of traits must be supplied as the first entry in an object.", consumerSubscribeError:"Consumer subscribe error", noChannelForDestination:"Destination '{0}' either does not exist or the destination has no channels defined (and the application does not define any default channels.)", emptyDestinationName:"'{0}' is not a valid destination.", failedToConnect:"The producer was not able to connect to its target destination.", noAMFXNode:"Invalid AMFX packet. Content must start with an <amfx> node", resubscribeIntervalNegative:"resubscribeInterval cannot take a negative value.", noAckMessage:"Didn't receive an acknowledge message", pollingRequestNotAllowed:"Poll request made on '{0}' when polling is not enabled.", queuedMessagesNotAllowedDetails:"This producer does not have an assigned message queue so queued messages cannot be sent.", unknownStringReference:"Unknown string reference {0}", authenticationNotSupported:"Authentication not supported on DirectHTTPChannel (no proxy).", deliveryInDoubt:"Channel disconnected", messageQueueNotInitialized:"The message store has not been initialized.", notImplementingIExternalizable:"Class {0} must implement flash.util.IExternalizable.", receivedNull:"Received null.", unknownDestinationForService:"Unknown destination '{1}' for service with id '{0}'."}; return (_local1); } } }//package
Section 410
//en_US$rpc_properties (en_US$rpc_properties) package { import mx.resources.*; public class en_US$rpc_properties extends ResourceBundle { public function en_US$rpc_properties(){ super("en_US", "rpc"); } override protected function getContent():Object{ var _local1:Object = {noBaseSchemaAddress:"Cannot resolve relative schema import without a fully qualified base address.", unrecognizedPortTypeName:"The WSDL parser couldn't find a portType named '{0}' in namespace '{1}'", noListenerForHeader:"No event listener for header {0}", cannotConnectToDestination:"Couldn't establish a connection to '{0}'", unexpectedException:"Runtime exception {0}", noServiceElement.details:"No <wsdl:service> elements found in WSDL at {0}.", unableToLoadWSDL:"Unable to load WSDL. If currently online, please verify the URI and/or format of the WSDL ({0})", errorWhileLoadingFromParent:"Error while loading imported schema from parent location: {0}", unexpectedSchemaException:"Error while importing schema: {0}", unrecognizedBindingName:"The WSDL parser couldn't find a binding named '{0}' in namespace '{1}'", cannotResetService:"Cannot reset the service of an Operation", mustSpecifyWSDLLocation:"You must specify the WSDL location with useProxy set to false.", urlNotSpecified:"A URL must be specified with useProxy set to false.", unexpectedInputParameter:"Unexpected parameter '{0}' found in input arguments.", noBaseWSDLAddress:"Cannot resolve relative WSDL import without a fully qualified base address.", noListenerForEvent:"An event was received for which no listener was defined. Please add an event listener. {0}", unknownSchemaVersion:"Unknown schema version", missingInputParameter:"Array of input arguments did not contain a required parameter at position {0}", unrecognizedNamespace:"The WSDL parser had no registered document for the namespace '{0}'", multiplePortsFound:"A valid port was not specified. Unable to select a default port as there are multiple ports in the WSDL file.", wsdlDefinitionsNotFirst:"Definitions must be the first element in a WSDL document", xmlEncodeReturnNoXMLNode:"xmlEncode did not return XMLNode", xmlDecodeReturnNull:"xmlDecode returned null", tooFewInputParameters:"Too few parameters - expected at least {0} but found {1}", noPortsInWSDL:"There are no valid ports in the WSDL file for the {0} service.", invalidResultFormat:"Invalid resultFormat '{0}' valid formats are [{1}, {2}, {3}, {4}, {5}]", unrecognizedMessageName:"The WSDL parser couldn't find a message named '{0}' in namespace '{1}'", operationsNotAllowedInService:"Cannot assign operations into an RPC Service ({0})", badSchemaNode:"Bad schema node", noSuchServiceInWSDL:"The requested service '{0}' was not found in the WSDL file.", destinationOrWSDLNotSpecified:"A destination and/or WSDL must be specified.", noBaseWSDLAddress.details:"Please specify the location of the WSDL document for the WebService.", missingInputParameterWithName:"Required parameter '{0}' not found in input arguments.", badElement:"Element {0}:{1} not resolvable", overloadedOperation:"The WSDL contains an overloaded operation ({0}) - we do not currently support this usage.", defaultDecoderFailed:"Default decoder could not decode result", faultyWSDLFormat:"Faulty WSDL format", soapVersionMismatch:"Request implements version: {0}, Response implements version {1}", badType:"Type {0} not resolvable", noSuchService:"Couldn't find service '{0}'", cannotResetOperationName:"Cannot reset the name of an Operation", unknownSchemaElement:"Unknown element: {0}", pendingCallExists:"Attempt to invoke while another call is pending. Either change concurrency options or avoid multiple calls.", noServiceAndPort:"Couldn't find a matching port (service = '{0}', port = '{1}')", noServices:"There are no valid services in the WSDL file.", unknownProtocol:"Unknown protocol '{0}'", unknownSchemaType:"Unknown schema type system", invalidSoapResultFormat:"Invalid resultFormat '{0}'. Valid formats are 'object', 'xml', and 'e4x'", xmlEncodeReturnNull:"xmlEncode returned null", cannotFindType:"Cannot find type for: {0}", noServiceElement:"Could not load WSDL"}; return (_local1); } } }//package
Section 411
//en_US$skins_properties (en_US$skins_properties) package { import mx.resources.*; public class en_US$skins_properties extends ResourceBundle { public function en_US$skins_properties(){ super("en_US", "skins"); } override protected function getContent():Object{ var _local1:Object = {notLoaded:"Unable to load '{0}'."}; return (_local1); } } }//package
Section 412
//en_US$styles_properties (en_US$styles_properties) package { import mx.resources.*; public class en_US$styles_properties extends ResourceBundle { public function en_US$styles_properties(){ super("en_US", "styles"); } override protected function getContent():Object{ var _local1:Object = {unableToLoad:"Unable to load style({0}): {1}."}; return (_local1); } } }//package
Section 413
//main (main) package { import flash.display.*; import flash.geom.*; import flash.media.*; import flash.text.*; import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import mx.styles.*; import mx.controls.*; import mx.binding.*; import mx.collections.*; import mx.rpc.events.*; import mx.rpc.http.mxml.*; import mx.containers.*; import Components.FX.*; import flash.utils.*; import flash.system.*; import flash.accessibility.*; import flash.xml.*; import flash.net.*; import mx.utils.*; import flash.ui.*; import flash.external.*; import flash.debugger.*; import flash.errors.*; import flash.filters.*; import flash.printing.*; import flash.profiler.*; public class main extends Application implements IBindingClient { private var _104545264getSongArtistandName:HTTPService; private var _documentDescriptor_:UIComponentDescriptor; private var _1833928446effects:Array; private var bm:IBrowserManager; mx_internal var _bindingsByDestination:Object; private var _1773027682lblStation:Label; private var _116768vis:Visualization; private var _1928898497explorer:Panel; private var _75304119getNews:HTTPService; private var _878704285txtNews:TextArea; private var _1039864136cbRadioStation:ComboBox; private var _998677422cbGroupingStation:ComboBox; private var _669841928lblAppTime:Label; private var _1534999395songInfo:Button; private var _31578936lblArtistName:Label; mx_internal var _watchers:Array; private var _1087521046lblSongName:Label; private var _493601144playBtn:Button; private var _682165815getSongFeed:HTTPService; public var _main_Image1:Image; private var _799289318getSongID:HTTPService; mx_internal var _bindings:Array; mx_internal var _bindingsBeginWithWord:Object; public static const APP_PATH:String = "http://ng-radio.seilenos.ca/"; public static const VERSION:String = "2.0.0"; private static var _1548164247cbRadioAvailableData:ArrayCollection; public static var CURRENT_SOUND:Sound; private static var _staticBindingEventDispatcher:EventDispatcher = new EventDispatcher(); public static var CURRENT_C2_GREEN:Number; public static var WAIT_RELOAD:Boolean; public static var APP_CHANNEL:String; public static var CURRENT_C1_RED:Number; public static var CURRENT_C2_RED:Number; private static var _watcherSetupUtil:IWatcherSetupUtil; public static var CURRENT_LOADER:URLLoader; public static var CURRENT_ID:String; public static var CURRENT_C1_BLUE:Number; public static var CURRENT_POSITION:Number; mx_internal static var _main_StylesInit_done:Boolean = false; public static var CURRENT_C1_GREEN:Number; public static var DEBUG_COUNT:Number; public static var CURRENT_C2_BLUE:Number; private static var _1753140129APP_BIND_CHANNEL:String; public static var APP_ALARM:Timer; public static var CURRENT_CHANNEL:SoundChannel; public function main(){ _documentDescriptor_ = new UIComponentDescriptor({type:Application, propertiesFactory:function ():Object{ return ({childDescriptors:[new UIComponentDescriptor({type:Visualization, id:"vis", stylesFactory:function ():void{ this.horizontalCenter = "0"; this.verticalCenter = "0"; }, propertiesFactory:function ():Object{ return ({percentWidth:100, percentHeight:100}); }}), new UIComponentDescriptor({type:Panel, id:"explorer", stylesFactory:function ():void{ this.horizontalCenter = "0"; this.verticalCenter = "0"; }, propertiesFactory:function ():Object{ return ({width:600, height:316, childDescriptors:[new UIComponentDescriptor({type:Panel, stylesFactory:function ():void{ this.horizontalCenter = "0"; this.verticalCenter = "0"; }, propertiesFactory:function ():Object{ return ({percentWidth:100, percentHeight:50, title:"Playback Tools", layout:"absolute", childDescriptors:[new UIComponentDescriptor({type:Label, propertiesFactory:function ():Object{ return ({text:"Time :", y:10, x:10}); }}), new UIComponentDescriptor({type:Label, id:"lblAppTime", propertiesFactory:function ():Object{ return ({x:60, y:10}); }}), new UIComponentDescriptor({type:Button, id:"playBtn", events:{click:"__playBtn_click"}, propertiesFactory:function ():Object{ return ({label:"Pause", x:10, y:55}); }}), new UIComponentDescriptor({type:Button, events:{click:"___main_Button2_click"}, propertiesFactory:function ():Object{ return ({label:"Random", x:332, y:55}); }}), new UIComponentDescriptor({type:Button, events:{click:"___main_Button3_click"}, propertiesFactory:function ():Object{ return ({label:"Next", x:413, y:55}); }}), new UIComponentDescriptor({type:Button, events:{click:"___main_Button4_click"}, propertiesFactory:function ():Object{ return ({label:"Previous", x:474, y:55}); }}), new UIComponentDescriptor({type:Button, id:"songInfo", events:{click:"__songInfo_click"}, propertiesFactory:function ():Object{ return ({label:"Song Info", x:468, y:8}); }}), new UIComponentDescriptor({type:Label, propertiesFactory:function ():Object{ return ({x:79, y:59, text:"Song :"}); }}), new UIComponentDescriptor({type:Label, id:"lblSongName", propertiesFactory:function ():Object{ return ({x:129, y:59}); }}), new UIComponentDescriptor({type:Label, id:"lblArtistName", propertiesFactory:function ():Object{ return ({x:129, y:33}); }}), new UIComponentDescriptor({type:Label, propertiesFactory:function ():Object{ return ({x:79, y:33, text:"Artist :"}); }}), new UIComponentDescriptor({type:Label, propertiesFactory:function ():Object{ return ({x:271, y:10, text:"Station :"}); }}), new UIComponentDescriptor({type:Label, id:"lblStation", propertiesFactory:function ():Object{ return ({x:332, y:10}); }})]}); }}), new UIComponentDescriptor({type:Panel, propertiesFactory:function ():Object{ return ({percentWidth:100, percentHeight:50, layout:"absolute", title:"Channel Controls", childDescriptors:[new UIComponentDescriptor({type:ComboBox, id:"cbGroupingStation", events:{change:"__cbGroupingStation_change"}, propertiesFactory:function ():Object{ return ({width:540, x:10, y:10, dataProvider:_main_ArrayCollection1_c()}); }}), new UIComponentDescriptor({type:ComboBox, id:"cbRadioStation", propertiesFactory:function ():Object{ return ({width:540, x:10, y:31}); }}), new UIComponentDescriptor({type:Button, events:{click:"___main_Button6_click"}, propertiesFactory:function ():Object{ return ({label:"Change Station", x:224, y:61}); }})]}); }})]}); }}), new UIComponentDescriptor({type:Image, id:"_main_Image1", stylesFactory:function ():void{ this.horizontalCenter = "0"; }, propertiesFactory:function ():Object{ return ({y:10, alpha:1}); }}), new UIComponentDescriptor({type:TextArea, id:"txtNews", stylesFactory:function ():void{ this.horizontalCenter = "0"; this.verticalCenter = "224"; }, propertiesFactory:function ():Object{ return ({width:600, height:128}); }})]}); }}); _1833928446effects = new Array(); _bindings = []; _watchers = []; _bindingsByDestination = {}; _bindingsBeginWithWord = {}; super(); mx_internal::_document = this; mx_internal::_main_StylesInit(); this.layout = "absolute"; _main_HTTPService4_i(); _main_HTTPService2_i(); _main_HTTPService3_i(); _main_HTTPService1_i(); this.addEventListener("initialize", ___main_Application1_initialize); this.addEventListener("render", ___main_Application1_render); } public function get effects():Array{ return (this._1833928446effects); } public function set effects(_arg1:Array):void{ var _local2:Object = this._1833928446effects; if (_local2 !== _arg1){ this._1833928446effects = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "effects", _local2, _arg1)); }; } private function blueFade(_arg1:Event):void{ _arg1.target.bitmapData.colorTransform(_arg1.target.bitmapData.rect, new ColorTransform(0.6, 0.8, 1, 0.9)); } private function clickSongInfo():void{ var _local1:URLRequest = new URLRequest(("http://www.newgrounds.com/audio/listen/" + CURRENT_ID)); navigateToURL(_local1, "_blank"); } private function _main_HTTPService2_i():HTTPService{ var _local1:HTTPService = new HTTPService(); getSongArtistandName = _local1; _local1.resultFormat = "text"; _local1.showBusyCursor = true; _local1.useProxy = false; _local1.addEventListener("result", __getSongArtistandName_result); _local1.addEventListener("fault", __getSongArtistandName_fault); BindingManager.executeBindings(this, "getSongArtistandName", getSongArtistandName); _local1.initialized(this, "getSongArtistandName"); return (_local1); } private function songId(_arg1:ResultEvent):void{ var _local2:String = _arg1.result.toString(); CURRENT_ID = _local2; } private function horizontalScroll(_arg1:Event):void{ _arg1.target.bitmapData.scroll(-5, 0); } public function set getSongID(_arg1:HTTPService):void{ var _local2:Object = this._799289318getSongID; if (_local2 !== _arg1){ this._799289318getSongID = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "getSongID", _local2, _arg1)); }; } public function __getSongArtistandName_fault(_arg1:FaultEvent):void{ songNotFound(_arg1); } public function ___main_Application1_initialize(_arg1:FlexEvent):void{ initApp(); } public function get getSongArtistandName():HTTPService{ return (this._104545264getSongArtistandName); } private function updateProgress(_arg1:ProgressEvent):void{ explorer.title = (((("Newgrounds Radio v" + VERSION) + " [ Loading ") + Math.floor(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100))) + "% ]"); } public function set playBtn(_arg1:Button):void{ var _local2:Object = this._493601144playBtn; if (_local2 !== _arg1){ this._493601144playBtn = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "playBtn", _local2, _arg1)); }; } public function set getSongArtistandName(_arg1:HTTPService):void{ var _local2:Object = this._104545264getSongArtistandName; if (_local2 !== _arg1){ this._104545264getSongArtistandName = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "getSongArtistandName", _local2, _arg1)); }; } private function playPause():void{ if (CURRENT_POSITION == 0){ CURRENT_POSITION = CURRENT_CHANNEL.position; if (CURRENT_POSITION != 0){ CURRENT_CHANNEL.stop(); } else { CURRENT_POSITION = 0; }; } else { CURRENT_CHANNEL = CURRENT_SOUND.play(CURRENT_POSITION); CURRENT_POSITION = 0; }; } public function __cbGroupingStation_change(_arg1:ListEvent):void{ getAvailableStations(); } public function get vis():Visualization{ return (this._116768vis); } private function _main_bindingsSetup():Array{ var binding:Binding; var result:Array = []; binding = new Binding(this, function ():String{ var _local1:* = ("Newgrounds Radio v" + VERSION); var _local2:* = ((_local1 == undefined)) ? null : String(_local1); return (_local2); }, function (_arg1:String):void{ explorer.title = _arg1; }, "explorer.title"); result[0] = binding; binding = new Binding(this, function ():String{ var _local1:* = APP_BIND_CHANNEL; var _local2:* = ((_local1 == undefined)) ? null : String(_local1); return (_local2); }, function (_arg1:String):void{ lblStation.text = _arg1; }, "lblStation.text"); result[1] = binding; binding = new Binding(this, function ():Object{ return (cbRadioAvailableData); }, function (_arg1:Object):void{ cbRadioStation.dataProvider = _arg1; }, "cbRadioStation.dataProvider"); result[2] = binding; binding = new Binding(this, function ():Object{ return ((APP_PATH + "Images/Ng_Radio.png")); }, function (_arg1:Object):void{ _main_Image1.source = _arg1; }, "_main_Image1.source"); result[3] = binding; binding = new Binding(this, function ():String{ var _local1:* = APP_PATH; var _local2:* = ((_local1 == undefined)) ? null : String(_local1); return (_local2); }, function (_arg1:String):void{ getSongID.url = _arg1; }, "getSongID.url"); result[4] = binding; binding = new Binding(this, function ():String{ var _local1:* = APP_PATH; var _local2:* = ((_local1 == undefined)) ? null : String(_local1); return (_local2); }, function (_arg1:String):void{ getSongArtistandName.url = _arg1; }, "getSongArtistandName.url"); result[5] = binding; binding = new Binding(this, function ():String{ var _local1:* = APP_PATH; var _local2:* = ((_local1 == undefined)) ? null : String(_local1); return (_local2); }, function (_arg1:String):void{ getSongFeed.url = _arg1; }, "getSongFeed.url"); result[6] = binding; binding = new Binding(this, function ():String{ var _local1:* = (APP_PATH + "news.php"); var _local2:* = ((_local1 == undefined)) ? null : String(_local1); return (_local2); }, function (_arg1:String):void{ getNews.url = _arg1; }, "getNews.url"); result[7] = binding; return (result); } private function closeSong():void{ try { getSongArtistandName.cancel(); } finally { }; try { CURRENT_CHANNEL.stop(); } finally { }; if (CURRENT_LOADER.bytesLoaded < CURRENT_LOADER.bytesTotal){ try { CURRENT_SOUND.close(); } finally { }; try { CURRENT_LOADER.close(); } finally { }; }; lblArtistName.text = "Loading..."; lblSongName.text = "Loading..."; } public function get lblSongName():Label{ return (this._1087521046lblSongName); } public function __playBtn_click(_arg1:MouseEvent):void{ playPause(); } public function __getSongFeed_result(_arg1:ResultEvent):void{ songFeedRead(_arg1); } private function _main_HTTPService1_i():HTTPService{ var _local1:HTTPService = new HTTPService(); getSongID = _local1; _local1.resultFormat = "text"; _local1.showBusyCursor = true; _local1.useProxy = false; _local1.addEventListener("result", __getSongID_result); _local1.addEventListener("fault", __getSongID_fault); BindingManager.executeBindings(this, "getSongID", getSongID); _local1.initialized(this, "getSongID"); return (_local1); } mx_internal function _main_StylesInit():void{ var _local1:CSSStyleDeclaration; var _local2:Array; if (mx_internal::_main_StylesInit_done){ return; }; mx_internal::_main_StylesInit_done = true; var _local3 = StyleManager; _local3.mx_internal::initProtoChainRoots(); } private function changeChannel():void{ var _local1:String = cbRadioStation.selectedItem.toString(); APP_BIND_CHANNEL = _local1; switch (cbRadioStation.selectedItem){ case "Drum N Bass": _local1 = "DNG"; break; case "New Wave": _local1 = "NW"; break; case "Video Game": _local1 = "VG"; break; case "Hip Hop - Modern": _local1 = "HipHopM"; break; case "Hip Hop - Olskool": _local1 = "HipHopO"; break; case "R&B": _local1 = "RaB"; break; case "Brit Pop": _local1 = "BritPop"; break; case "Classical Rock": _local1 = "CR"; break; case "General Rock": _local1 = "Rock"; break; case "Heavy Metal": _local1 = "HM"; break; }; bm.setFragment(("channel=" + _local1)); APP_CHANNEL = _local1; clickRand(); } public function set lblSongName(_arg1:Label):void{ var _local2:Object = this._1087521046lblSongName; if (_local2 !== _arg1){ this._1087521046lblSongName = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "lblSongName", _local2, _arg1)); }; } public function set lblStation(_arg1:Label):void{ var _local2:Object = this._1773027682lblStation; if (_local2 !== _arg1){ this._1773027682lblStation = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "lblStation", _local2, _arg1)); }; } public function get explorer():Panel{ return (this._1928898497explorer); } private function songName(_arg1:ResultEvent):void{ var _local2:String = _arg1.result.toString(); lblSongName.text = _local2; } private function newsFeedRead(_arg1:ResultEvent):void{ txtNews.htmlText = _arg1.result.toString(); } public function get getNews():HTTPService{ return (this._75304119getNews); } public function __getSongArtistandName_result(_arg1:ResultEvent):void{ songArtistandName(_arg1); } public function set vis(_arg1:Visualization):void{ var _local2:Object = this._116768vis; if (_local2 !== _arg1){ this._116768vis = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "vis", _local2, _arg1)); }; } public function get cbGroupingStation():ComboBox{ return (this._998677422cbGroupingStation); } public function __getSongFeed_fault(_arg1:FaultEvent):void{ songNotFound(_arg1); } private function changeVisualization(_arg1:TimerEvent):void{ CURRENT_C1_RED = addOrSubtract(CURRENT_C1_RED); CURRENT_C1_GREEN = addOrSubtract(CURRENT_C1_GREEN); CURRENT_C1_BLUE = addOrSubtract(CURRENT_C1_BLUE); CURRENT_C2_RED = addOrSubtract(CURRENT_C2_RED); CURRENT_C2_GREEN = addOrSubtract(CURRENT_C2_GREEN); CURRENT_C2_BLUE = addOrSubtract(CURRENT_C2_BLUE); vis.setStyle("audioFillColor", ("0x" + rgbToHex(CURRENT_C1_RED, CURRENT_C1_GREEN, CURRENT_C1_BLUE).toString())); vis.setStyle("audioLineColor", ("0x" + rgbToHex(CURRENT_C2_RED, CURRENT_C2_GREEN, CURRENT_C2_BLUE).toString())); APP_ALARM.reset(); APP_ALARM.start(); } public function ___main_Button2_click(_arg1:MouseEvent):void{ clickRand(); } public function get songInfo():Button{ return (this._1534999395songInfo); } public function ___main_Button6_click(_arg1:MouseEvent):void{ changeChannel(); } public function set cbRadioStation(_arg1:ComboBox):void{ var _local2:Object = this._1039864136cbRadioStation; if (_local2 !== _arg1){ this._1039864136cbRadioStation = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "cbRadioStation", _local2, _arg1)); }; } public function get txtNews():TextArea{ return (this._878704285txtNews); } public function __getSongID_result(_arg1:ResultEvent):void{ songId(_arg1); } private function _main_HTTPService4_i():HTTPService{ var _local1:HTTPService = new HTTPService(); getNews = _local1; _local1.resultFormat = "text"; _local1.useProxy = false; _local1.addEventListener("result", __getNews_result); BindingManager.executeBindings(this, "getNews", getNews); _local1.initialized(this, "getNews"); return (_local1); } public function set explorer(_arg1:Panel):void{ var _local2:Object = this._1928898497explorer; if (_local2 !== _arg1){ this._1928898497explorer = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "explorer", _local2, _arg1)); }; } private function completeProgress(_arg1:Event):void{ explorer.title = ("Newgrounds Radio v" + VERSION); } public function get playBtn():Button{ return (this._493601144playBtn); } private function songFeedRead(_arg1:ResultEvent):void{ var _local2:String = ((APP_PATH + "proxy.php?url=") + _arg1.result.toString()); CURRENT_SOUND = getSong(_local2); } private function getSong(_arg1:String):Sound{ var _local2:URLRequest = new URLRequest(_arg1); var _local3:URLLoader = new URLLoader(_local2); var _local4:Sound = new Sound(_local2, new SoundLoaderContext(1000, true)); _local3.addEventListener(ProgressEvent.PROGRESS, updateProgress); _local3.addEventListener(Event.COMPLETE, completeProgress); CURRENT_LOADER = _local3; CURRENT_CHANNEL = _local4.play(0, 10); CURRENT_ID = ""; getSongID.url = (APP_PATH + "ajax_song.php"); getSongID.send(); getSongArtistandName.url = (APP_PATH + "ajax_name.php"); getSongArtistandName.send(); WAIT_RELOAD = false; return (_local4); } public function __songInfo_click(_arg1:MouseEvent):void{ clickSongInfo(); } public function ___main_Application1_render(_arg1:Event):void{ renderApp(_arg1); } override public function initialize():void{ var target:main; var watcherSetupUtilClass:Object; mx_internal::setDocumentDescriptor(_documentDescriptor_); var bindings:Array = _main_bindingsSetup(); var watchers:Array = []; target = this; if (_watcherSetupUtil == null){ watcherSetupUtilClass = getDefinitionByName("_mainWatcherSetupUtil"); var _local2 = watcherSetupUtilClass; _local2["init"](null); }; _watcherSetupUtil.setup(this, function (_arg1:String){ return (target[_arg1]); }, bindings, watchers); var i:uint; while (i < bindings.length) { Binding(bindings[i]).execute(); i = (i + 1); }; mx_internal::_bindings = mx_internal::_bindings.concat(bindings); mx_internal::_watchers = mx_internal::_watchers.concat(watchers); super.initialize(); } public function set getNews(_arg1:HTTPService):void{ var _local2:Object = this._75304119getNews; if (_local2 !== _arg1){ this._75304119getNews = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "getNews", _local2, _arg1)); }; } public function set getSongFeed(_arg1:HTTPService):void{ var _local2:Object = this._682165815getSongFeed; if (_local2 !== _arg1){ this._682165815getSongFeed = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "getSongFeed", _local2, _arg1)); }; } private function clickNext():void{ closeSong(); loadNextSong(APP_CHANNEL); } public function get lblStation():Label{ return (this._1773027682lblStation); } private function addOrSubtract(_arg1:Number):Number{ var _local2:Boolean; var _local3:Number = (Math.random() * 10); if (_local3 < 5){ _local2 = false; } else { _local2 = true; }; if ((_arg1 + 1) > 0xFF){ _local2 = true; }; if ((_arg1 - 1) < 0){ _local2 = false; }; if (_local2 == true){ return ((_arg1 - (Math.random() * 10))); }; return ((_arg1 + (Math.random() * 10))); } private function toHex(_arg1:Number):String{ var _local2:String; if ((((_arg1 == 0)) || (isNaN(_arg1)))){ return ("00"); }; _arg1 = Math.max(0, _arg1); _arg1 = Math.min(_arg1, 0xFF); _arg1 = Math.round(_arg1); return (("0123456789ABCDEF".charAt(((_arg1 - (_arg1 % 16)) / 16)) + "0123456789ABCDEF".charAt((_arg1 % 16)))); } public function ___main_Button3_click(_arg1:MouseEvent):void{ clickNext(); } private function songNotFound(_arg1:FaultEvent):void{ Alert.show(_arg1.fault.message, "Could Not Load Song"); } public function set lblArtistName(_arg1:Label):void{ var _local2:Object = this._31578936lblArtistName; if (_local2 !== _arg1){ this._31578936lblArtistName = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "lblArtistName", _local2, _arg1)); }; } public function __getSongID_fault(_arg1:FaultEvent):void{ songNotFound(_arg1); } private function renderApp(_arg1:Event):void{ var _local2:uint = (100 * (CURRENT_CHANNEL.position / CURRENT_SOUND.length)); lblAppTime.text = (((((Math.round(CURRENT_CHANNEL.position).toString() + " / ") + Math.round(CURRENT_SOUND.length).toString()) + " - ") + Math.round(_local2).toString()) + "%"); if (_local2 >= 100){ if (WAIT_RELOAD == false){ closeSong(); loadNextSong(APP_CHANNEL); _arg1.stopImmediatePropagation(); WAIT_RELOAD = true; }; }; if (CURRENT_POSITION == 0){ playBtn.label = "Pause"; } else { playBtn.label = "Play"; }; if (CURRENT_ID == ""){ songInfo.enabled = false; } else { songInfo.enabled = true; }; } private function loadNextSong(_arg1:String):void{ var _local2:String = ((APP_PATH + "ajax_select.php?ret=next&lp=1&station=") + _arg1); getSongFeed.url = _local2; getSongFeed.send(); } private function horizontalBlur(_arg1:Event):void{ _arg1.target.bitmapData.applyFilter(_arg1.target.bitmapData, _arg1.target.bitmapData.rect, new Point(0, 0), new BlurFilter(15, 0)); } public function __getNews_result(_arg1:ResultEvent):void{ newsFeedRead(_arg1); } private function _main_HTTPService3_i():HTTPService{ var _local1:HTTPService = new HTTPService(); getSongFeed = _local1; _local1.resultFormat = "text"; _local1.showBusyCursor = true; _local1.useProxy = false; _local1.addEventListener("result", __getSongFeed_result); _local1.addEventListener("fault", __getSongFeed_fault); BindingManager.executeBindings(this, "getSongFeed", getSongFeed); _local1.initialized(this, "getSongFeed"); return (_local1); } private function reverseChannel(_arg1:String):String{ var _local2:String = _arg1; switch (_local2){ case "DNG": _local2 = "Drum N Bass"; break; case "NW": _local2 = "New Wave"; break; case "VG": _local2 = "Video Game"; break; case "HipHopM": _local2 = "Hip Hop - Modern"; break; case "HipHopO": _local2 = "Hip Hop - Olskool"; break; case "RaB": _local2 = "R&B"; break; case "BritPop": _local2 = "Brit Pop"; break; case "CR": _local2 = "Classical Rock"; break; case "Rock": _local2 = "General Rock"; break; case "HM": _local2 = "Heavy Metal"; break; }; return (_local2); } private function soundCompleteHandler():void{ closeSong(); loadNextSong(APP_CHANNEL); } private function _main_ArrayCollection1_c():ArrayCollection{ var _local1:ArrayCollection = new ArrayCollection(); _local1.source = ["Easy Listening", "Electronic", "Hip Hop, Rap, R&B", "Metal, Rock", "Miscellaneous", "Southern Flavor"]; _local1.initialized(this, null); return (_local1); } private function songArtistandName(_arg1:ResultEvent):void{ var _local3:String; var _local4:String; var _local2:String = _arg1.result.toString(); var _local5:Number = _local2.indexOf("&"); _local4 = _local2.substr((_local5 + 1), _local2.length); _local3 = _local2.substr(0, _local5); lblSongName.text = unescape(_local4); lblArtistName.text = unescape(_local3); } public function get cbRadioStation():ComboBox{ return (this._1039864136cbRadioStation); } public function get lblArtistName():Label{ return (this._31578936lblArtistName); } public function get getSongFeed():HTTPService{ return (this._682165815getSongFeed); } private function clickRand():void{ closeSong(); loadRandomSong(APP_CHANNEL); } public function set cbGroupingStation(_arg1:ComboBox):void{ var _local2:Object = this._998677422cbGroupingStation; if (_local2 !== _arg1){ this._998677422cbGroupingStation = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "cbGroupingStation", _local2, _arg1)); }; } private function rgbToHex(_arg1:Number, _arg2:Number, _arg3:Number):String{ return (((toHex(_arg1) + toHex(_arg2)) + toHex(_arg3))); } private function clickPrev():void{ closeSong(); loadPrevSong(APP_CHANNEL); } public function set songInfo(_arg1:Button):void{ var _local2:Object = this._1534999395songInfo; if (_local2 !== _arg1){ this._1534999395songInfo = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "songInfo", _local2, _arg1)); }; } private function _main_bindingExprs():void{ var _local1:*; _local1 = ("Newgrounds Radio v" + VERSION); _local1 = APP_BIND_CHANNEL; _local1 = cbRadioAvailableData; _local1 = (APP_PATH + "Images/Ng_Radio.png"); _local1 = APP_PATH; _local1 = APP_PATH; _local1 = APP_PATH; _local1 = (APP_PATH + "news.php"); } private function verticalScroll(_arg1:Event):void{ _arg1.target.bitmapData.scroll(0, 5); } public function ___main_Button4_click(_arg1:MouseEvent):void{ clickPrev(); } public function get getSongID():HTTPService{ return (this._799289318getSongID); } public function set txtNews(_arg1:TextArea):void{ var _local2:Object = this._878704285txtNews; if (_local2 !== _arg1){ this._878704285txtNews = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "txtNews", _local2, _arg1)); }; } private function loadPrevSong(_arg1:String):void{ var _local2:String = ((APP_PATH + "ajax_select.php?ret=prev&lp=1&station=") + _arg1); getSongFeed.url = _local2; getSongFeed.send(); } public function set lblAppTime(_arg1:Label):void{ var _local2:Object = this._669841928lblAppTime; if (_local2 !== _arg1){ this._669841928lblAppTime = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "lblAppTime", _local2, _arg1)); }; } private function initApp():void{ getNews.send(); bm = BrowserManager.getInstance(); bm.init("", ("Newgrounds Radio v" + VERSION)); var _local1:Object = URLUtil.stringToObject(bm.fragment, "&"); if (_local1.channel != null){ APP_CHANNEL = _local1.channel; } else { APP_CHANNEL = "Trance"; }; CURRENT_POSITION = 0; WAIT_RELOAD = false; DEBUG_COUNT = 0; CURRENT_ID = ""; lblArtistName.text = "Loading..."; lblSongName.text = "Loading..."; CURRENT_C1_RED = (Math.random() * 0xFF); CURRENT_C1_GREEN = (Math.random() * 0xFF); CURRENT_C1_BLUE = (Math.random() * 0xFF); CURRENT_C2_RED = (Math.random() * 0xFF); CURRENT_C2_GREEN = (Math.random() * 0xFF); CURRENT_C2_BLUE = (Math.random() * 0xFF); APP_ALARM = new Timer(0, 0); APP_ALARM.addEventListener(TimerEvent.TIMER, changeVisualization); APP_ALARM.delay = (5 * 100); APP_ALARM.start(); loadRandomSong(APP_CHANNEL); effects.push(new Array("verticalBlur", verticalBlur)); effects.push(new Array("horizontalBlur", horizontalBlur)); effects.push(new Array("verticalScroll", verticalScroll)); effects.push(new Array("horizontalScroll", horizontalScroll)); effects.push(new Array("blueFade", blueFade)); cbGroupingStation.selectedItem = "Electronic"; getAvailableStations(); cbRadioStation.selectedItem = "Trance"; APP_BIND_CHANNEL = reverseChannel(APP_CHANNEL); } private function getAvailableStations():void{ switch (cbGroupingStation.selectedItem){ case "Electronic": cbRadioAvailableData = new ArrayCollection(["Ambient", "Dance", "Drum N Bass", "House", "Industrial", "New Wave", "Techno", "Trance", "Video Game"]); break; case "Easy Listening": cbRadioAvailableData = new ArrayCollection(["Classical", "Jazz"]); break; case "Hip Hop, Rap, R&B": cbRadioAvailableData = new ArrayCollection(["Hip Hop - Modern", "Hip Hop - Olskool", "R&B"]); break; case "Metal, Rock": cbRadioAvailableData = new ArrayCollection(["Brit Pop", "Classical Rock", "General Rock", "Grunge", "Heavy Metal", "Indie", "Pop", "Punk"]); break; case "Miscellaneous": cbRadioAvailableData = new ArrayCollection(["Funk", "Goth", "Latin", "Miscellaneous", "Ska"]); break; case "Southern Flavor": cbRadioAvailableData = new ArrayCollection(["Bluegrass", "Blues", "Country"]); break; }; } public function get lblAppTime():Label{ return (this._669841928lblAppTime); } private function verticalBlur(_arg1:Event):void{ _arg1.target.bitmapData.applyFilter(_arg1.target.bitmapData, _arg1.target.bitmapData.rect, new Point(0, 0), new BlurFilter(0, 15)); } private function loadRandomSong(_arg1:String):void{ var _local2:String = ((APP_PATH + "ajax_select.php?lp=1&station=") + _arg1); getSongFeed.url = _local2; getSongFeed.send(); } public static function set watcherSetupUtil(_arg1:IWatcherSetupUtil):void{ _slot1._watcherSetupUtil = _arg1; } public static function get staticEventDispatcher():IEventDispatcher{ return (_staticBindingEventDispatcher); } public static function get cbRadioAvailableData():ArrayCollection{ return (_slot1._1548164247cbRadioAvailableData); } public static function set cbRadioAvailableData(_arg1:ArrayCollection):void{ var _local3:IEventDispatcher; var _local2:Object = _slot1._1548164247cbRadioAvailableData; if (_local2 !== _arg1){ _slot1._1548164247cbRadioAvailableData = _arg1; _local3 = _slot1.staticEventDispatcher; if (_local3 != null){ _local3.dispatchEvent(PropertyChangeEvent.createUpdateEvent(_slot1, "cbRadioAvailableData", _local2, _arg1)); }; }; } public static function set APP_BIND_CHANNEL(_arg1:String):void{ var _local3:IEventDispatcher; var _local2:Object = _slot1._1753140129APP_BIND_CHANNEL; if (_local2 !== _arg1){ _slot1._1753140129APP_BIND_CHANNEL = _arg1; _local3 = _slot1.staticEventDispatcher; if (_local3 != null){ _local3.dispatchEvent(PropertyChangeEvent.createUpdateEvent(_slot1, "APP_BIND_CHANNEL", _local2, _arg1)); }; }; } public static function get APP_BIND_CHANNEL():String{ return (_slot1._1753140129APP_BIND_CHANNEL); } } }//package

Library Items

Symbol 1 GraphicUsed by:5
Symbol 2 GraphicUsed by:3
Symbol 3 MovieClipUses:2Used by:5 7 9 10
Symbol 4 GraphicUsed by:5
Symbol 5 MovieClip {_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_854166839} [mx.skins.cursor.DragReject]Uses:1 3 4
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClip {_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_578594451} [mx.skins.cursor.DragCopy]Uses:6 3
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClip {_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_576759324} [mx.skins.cursor.DragLink]Uses:8 3
Symbol 10 MovieClip {_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_576717431} [mx.skins.cursor.DragMove]Uses:3
Symbol 11 GraphicUsed by:12
Symbol 12 MovieClip {_CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_392666685} [mx.skins.cursor.BusyCursor]Uses:11
Symbol 13 BitmapUsed by:14
Symbol 14 GraphicUses:13Used by:15
Symbol 15 MovieClip {_SWFLoaderStyle__embed_css_Assets_swf___brokenImage_893972205} [__brokenImage]Uses:14

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 2Symbol 5 as "mx.skins.cursor.DragReject"
ExportAssets (56)Timeline Frame 2Symbol 7 as "mx.skins.cursor.DragCopy"
ExportAssets (56)Timeline Frame 2Symbol 9 as "mx.skins.cursor.DragLink"
ExportAssets (56)Timeline Frame 2Symbol 10 as "mx.skins.cursor.DragMove"
ExportAssets (56)Timeline Frame 2Symbol 12 as "mx.skins.cursor.BusyCursor"
ExportAssets (56)Timeline Frame 2Symbol 15 as "__brokenImage"
SerialNumber (41)Timeline Frame 1

Labels

"_main_mx_managers_SystemManager"Frame 1
"main"Frame 2




http://swfchan.com/14/65946/info.shtml
Created: 12/4 -2019 07:51:26 Last modified: 12/4 -2019 07:51:26 Server time: 11/05 -2024 08:28:33