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

Happy New Year!

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

online-text-encrypter.swf

This is the info page for
Flash #137586

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


ActionScript [AS3]
Section 1
//HMAC (com.hurlant.crypto.hash.HMAC) package com.hurlant.crypto.hash { import flash.utils.*; public class HMAC { private var bits:uint; private var hash:IHash; public function HMAC(_arg1:IHash, _arg2:uint=0){ this.hash = _arg1; this.bits = _arg2; } public function toString():String{ return ((("hmac-" + ((bits > 0)) ? (bits + "-") : "") + hash.toString())); } public function getHashSize():uint{ if (bits != 0){ return ((bits / 8)); }; return (hash.getHashSize()); } public function compute(_arg1:ByteArray, _arg2:ByteArray):ByteArray{ var _local3:ByteArray; if (_arg1.length > hash.getInputSize()){ _local3 = hash.hash(_arg1); } else { _local3 = new ByteArray(); _local3.writeBytes(_arg1); }; while (_local3.length < hash.getInputSize()) { _local3[_local3.length] = 0; }; var _local4:ByteArray = new ByteArray(); var _local5:ByteArray = new ByteArray(); var _local6:uint; while (_local6 < _local3.length) { _local4[_local6] = (_local3[_local6] ^ 54); _local5[_local6] = (_local3[_local6] ^ 92); _local6++; }; _local4.position = _local3.length; _local4.writeBytes(_arg2); var _local7:ByteArray = hash.hash(_local4); _local5.position = _local3.length; _local5.writeBytes(_local7); var _local8:ByteArray = hash.hash(_local5); if ((((bits > 0)) && ((bits < (8 * _local8.length))))){ _local8.length = (bits / 8); }; return (_local8); } public function dispose():void{ hash = null; bits = 0; } } }//package com.hurlant.crypto.hash
Section 2
//IHash (com.hurlant.crypto.hash.IHash) package com.hurlant.crypto.hash { import flash.utils.*; public interface IHash { function toString():String; function getHashSize():uint; function getInputSize():uint; function hash(_arg1:ByteArray):ByteArray; } }//package com.hurlant.crypto.hash
Section 3
//MD2 (com.hurlant.crypto.hash.MD2) package com.hurlant.crypto.hash { import flash.utils.*; public class MD2 implements IHash { public static const HASH_SIZE:int = 16; private static const S:Array = [41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6, 19, 98, 167, 5, 243, 192, 199, 115, 140, 152, 147, 43, 217, 188, 76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, 66, 111, 24, 138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251, 245, 142, 187, 47, 238, 122, 169, 104, 121, 145, 21, 178, 7, 63, 148, 194, 16, 137, 11, 34, 95, 33, 128, 127, 93, 154, 90, 144, 50, 39, 53, 62, 204, 231, 191, 247, 151, 3, 0xFF, 25, 48, 179, 72, 165, 181, 209, 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210, 150, 164, 125, 182, 118, 252, 107, 226, 156, 116, 4, 241, 69, 157, 112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, 45, 168, 2, 27, 96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15, 85, 71, 163, 35, 221, 81, 175, 58, 195, 92, 249, 206, 186, 197, 234, 38, 44, 83, 13, 110, 133, 40, 132, 9, 211, 223, 205, 244, 65, 129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, 123, 8, 12, 189, 177, 74, 120, 136, 149, 139, 227, 99, 232, 109, 233, 203, 213, 254, 59, 0, 29, 57, 242, 239, 183, 14, 102, 88, 208, 228, 166, 119, 114, 248, 235, 117, 75, 10, 49, 68, 80, 180, 143, 237, 31, 26, 219, 153, 141, 51, 159, 17, 131, 20]; public function toString():String{ return ("md2"); } public function getInputSize():uint{ return (16); } public function getHashSize():uint{ return (HASH_SIZE); } public function hash(_arg1:ByteArray):ByteArray{ var _local8:uint; var _local9:uint; var _local10:uint; var _local2:uint = _arg1.length; var _local3:uint = (((16 - (_arg1.length % 16))) || (16)); do { _arg1[_arg1.length] = _local3; } while ((_arg1.length % 16) != 0); var _local4:uint = _arg1.length; var _local5:ByteArray = new ByteArray(); var _local6:uint; _local3 = 0; while (_local3 < _local4) { _local8 = 0; while (_local8 < 16) { _local6 = (_local5[_local8] = (_local5[_local8] ^ S[(_arg1[(_local3 + _local8)] ^ _local6)])); _local8++; }; _local3 = (_local3 + 16); }; _arg1.position = _arg1.length; _arg1.writeBytes(_local5); _local4 = (_local4 + 16); var _local7:ByteArray = new ByteArray(); _local3 = 0; while (_local3 < _local4) { _local8 = 0; while (_local8 < 16) { _local7[(32 + _local8)] = ((_local7[(16 + _local8)] = _arg1[(_local3 + _local8)]) ^ _local7[_local8]); _local8++; }; _local9 = 0; _local8 = 0; while (_local8 < 18) { _local10 = 0; while (_local10 < 48) { _local9 = (_local7[_local10] ^ S[_local9]); _local7[_local10] = _local9; _local10++; }; _local9 = ((_local9 + _local8) & 0xFF); _local8++; }; _local3 = (_local3 + 16); }; _local7.length = 16; _arg1.length = _local2; return (_local7); } } }//package com.hurlant.crypto.hash
Section 4
//MD5 (com.hurlant.crypto.hash.MD5) package com.hurlant.crypto.hash { import flash.utils.*; public class MD5 implements IHash { public static const HASH_SIZE:int = 16; private function ff(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{ return (cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function cmn(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint):uint{ return ((rol((((_arg2 + _arg1) + _arg4) + _arg6), _arg5) + _arg3)); } private function hh(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{ return (cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } public function getHashSize():uint{ return (HASH_SIZE); } public function hash(_arg1:ByteArray):ByteArray{ var _local2:uint = (_arg1.length * 8); var _local3:String = _arg1.endian; while ((_arg1.length % 4) != 0) { _arg1[_arg1.length] = 0; }; _arg1.position = 0; var _local4:Array = []; _arg1.endian = Endian.LITTLE_ENDIAN; var _local5:uint; while (_local5 < _arg1.length) { _local4.push(_arg1.readUnsignedInt()); _local5 = (_local5 + 4); }; var _local6:Array = core_md5(_local4, _local2); var _local7:ByteArray = new ByteArray(); _local7.endian = Endian.LITTLE_ENDIAN; _local5 = 0; while (_local5 < 4) { _local7.writeUnsignedInt(_local6[_local5]); _local5++; }; _arg1.length = (_local2 / 8); _arg1.endian = _local3; return (_local7); } private function gg(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{ return (cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public function toString():String{ return ("md5"); } public function getInputSize():uint{ return (64); } private function rol(_arg1:uint, _arg2:uint):uint{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } private function ii(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{ return (cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function core_md5(_arg1:Array, _arg2:uint):Array{ var _local8:uint; var _local9:uint; var _local10:uint; var _local11:uint; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32))); _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2; var _local3:uint = 1732584193; var _local4:uint = 4023233417; var _local5:uint = 2562383102; var _local6:uint = 271733878; var _local7:uint; while (_local7 < _arg1.length) { _arg1[_local7] = ((_arg1[_local7]) || (0)); _arg1[(_local7 + 1)] = ((_arg1[(_local7 + 1)]) || (0)); _arg1[(_local7 + 2)] = ((_arg1[(_local7 + 2)]) || (0)); _arg1[(_local7 + 3)] = ((_arg1[(_local7 + 3)]) || (0)); _arg1[(_local7 + 4)] = ((_arg1[(_local7 + 4)]) || (0)); _arg1[(_local7 + 5)] = ((_arg1[(_local7 + 5)]) || (0)); _arg1[(_local7 + 6)] = ((_arg1[(_local7 + 6)]) || (0)); _arg1[(_local7 + 7)] = ((_arg1[(_local7 + 7)]) || (0)); _arg1[(_local7 + 8)] = ((_arg1[(_local7 + 8)]) || (0)); _arg1[(_local7 + 9)] = ((_arg1[(_local7 + 9)]) || (0)); _arg1[(_local7 + 10)] = ((_arg1[(_local7 + 10)]) || (0)); _arg1[(_local7 + 11)] = ((_arg1[(_local7 + 11)]) || (0)); _arg1[(_local7 + 12)] = ((_arg1[(_local7 + 12)]) || (0)); _arg1[(_local7 + 13)] = ((_arg1[(_local7 + 13)]) || (0)); _arg1[(_local7 + 14)] = ((_arg1[(_local7 + 14)]) || (0)); _arg1[(_local7 + 15)] = ((_arg1[(_local7 + 15)]) || (0)); _local8 = _local3; _local9 = _local4; _local10 = _local5; _local11 = _local6; _local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, 3614090360); _local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, 3905402710); _local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819); _local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, 3250441966); _local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, 4118548399); _local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426); _local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, 2821735955); _local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, 4249261313); _local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416); _local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, 2336552879); _local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, 4294925233); _local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, 2304563134); _local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682); _local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, 4254626195); _local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, 2792965006); _local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329); _local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, 4129170786); _local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, 3225465664); _local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713); _local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, 3921069994); _local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, 3593408605); _local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083); _local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, 3634488961); _local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, 3889429448); _local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438); _local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, 3275163606); _local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, 4107603335); _local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501); _local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, 2850285829); _local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, 4243563512); _local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473); _local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, 2368359562); _local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, 4294588738); _local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, 2272392833); _local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562); _local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, 4259657740); _local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, 2763975236); _local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353); _local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, 4139469664); _local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, 3200236656); _local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174); _local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, 3936430074); _local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, 3572445317); _local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189); _local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, 3654602809); _local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, 3873151461); _local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520); _local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, 3299628645); _local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, 4096336452); _local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415); _local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, 2878612391); _local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, 4237533241); _local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571); _local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, 2399980690); _local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, 4293915773); _local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, 2240044497); _local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359); _local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, 4264355552); _local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, 2734768916); _local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649); _local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, 4149444226); _local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, 3174756917); _local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259); _local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, 3951481745); _local3 = (_local3 + _local8); _local4 = (_local4 + _local9); _local5 = (_local5 + _local10); _local6 = (_local6 + _local11); _local7 = (_local7 + 16); }; return ([_local3, _local4, _local5, _local6]); } } }//package com.hurlant.crypto.hash
Section 5
//SHA1 (com.hurlant.crypto.hash.SHA1) package com.hurlant.crypto.hash { public class SHA1 extends SHABase implements IHash { public static const HASH_SIZE:int = 20; override public function toString():String{ return ("sha1"); } override protected function core(_arg1:Array, _arg2:uint):Array{ var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (24 - (_arg2 % 32)))); _arg1[((((_arg2 + 64) >> 9) << 4) + 15)] = _arg2; var _local3:Array = []; var _local4:uint = 1732584193; var _local5:uint = 4023233417; var _local6:uint = 2562383102; var _local7:uint = 271733878; var _local8:uint = 3285377520; var _local9:uint; while (_local9 < _arg1.length) { _local10 = _local4; _local11 = _local5; _local12 = _local6; _local13 = _local7; _local14 = _local8; _local15 = 0; while (_local15 < 80) { if (_local15 < 16){ _local3[_local15] = ((_arg1[(_local9 + _local15)]) || (0)); } else { _local3[_local15] = rol((((_local3[(_local15 - 3)] ^ _local3[(_local15 - 8)]) ^ _local3[(_local15 - 14)]) ^ _local3[(_local15 - 16)]), 1); }; _local16 = ((((rol(_local4, 5) + ft(_local15, _local5, _local6, _local7)) + _local8) + _local3[_local15]) + kt(_local15)); _local8 = _local7; _local7 = _local6; _local6 = rol(_local5, 30); _local5 = _local4; _local4 = _local16; _local15++; }; _local4 = (_local4 + _local10); _local5 = (_local5 + _local11); _local6 = (_local6 + _local12); _local7 = (_local7 + _local13); _local8 = (_local8 + _local14); _local9 = (_local9 + 16); }; return ([_local4, _local5, _local6, _local7, _local8]); } private function kt(_arg1:uint):uint{ return (((_arg1)<20) ? 1518500249 : ((_arg1)<40) ? 1859775393 : ((_arg1)<60) ? 2400959708 : 3395469782); } override public function getHashSize():uint{ return (HASH_SIZE); } private function ft(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):uint{ if (_arg1 < 20){ return (((_arg2 & _arg3) | (~(_arg2) & _arg4))); }; if (_arg1 < 40){ return (((_arg2 ^ _arg3) ^ _arg4)); }; if (_arg1 < 60){ return ((((_arg2 & _arg3) | (_arg2 & _arg4)) | (_arg3 & _arg4))); }; return (((_arg2 ^ _arg3) ^ _arg4)); } private function rol(_arg1:uint, _arg2:uint):uint{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.hurlant.crypto.hash
Section 6
//SHA224 (com.hurlant.crypto.hash.SHA224) package com.hurlant.crypto.hash { public class SHA224 extends SHA256 { public function SHA224(){ h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]; } override public function getHashSize():uint{ return (28); } override public function toString():String{ return ("sha224"); } } }//package com.hurlant.crypto.hash
Section 7
//SHA256 (com.hurlant.crypto.hash.SHA256) package com.hurlant.crypto.hash { public class SHA256 extends SHABase implements IHash { protected var h:Array; protected static const k:Array = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298]; public function SHA256(){ h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225]; super(); } override public function toString():String{ return ("sha256"); } override public function getHashSize():uint{ return (32); } protected function rrol(_arg1:uint, _arg2:uint):uint{ return (((_arg1 << (32 - _arg2)) | (_arg1 >>> _arg2))); } override protected function core(_arg1:Array, _arg2:uint):Array{ var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:uint; var _local22:uint; var _local23:uint; var _local24:uint; var _local25:uint; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (24 - (_arg2 % 32)))); _arg1[((((_arg2 + 64) >> 9) << 4) + 15)] = _arg2; var _local3:Array = []; var _local4:uint = h[0]; var _local5:uint = h[1]; var _local6:uint = h[2]; var _local7:uint = h[3]; var _local8:uint = h[4]; var _local9:uint = h[5]; var _local10:uint = h[6]; var _local11:uint = h[7]; var _local12:uint; while (_local12 < _arg1.length) { _local13 = _local4; _local14 = _local5; _local15 = _local6; _local16 = _local7; _local17 = _local8; _local18 = _local9; _local19 = _local10; _local20 = _local11; _local21 = 0; while (_local21 < 64) { if (_local21 < 16){ _local3[_local21] = ((_arg1[(_local12 + _local21)]) || (0)); } else { _local24 = ((rrol(_local3[(_local21 - 15)], 7) ^ rrol(_local3[(_local21 - 15)], 18)) ^ (_local3[(_local21 - 15)] >>> 3)); _local25 = ((rrol(_local3[(_local21 - 2)], 17) ^ rrol(_local3[(_local21 - 2)], 19)) ^ (_local3[(_local21 - 2)] >>> 10)); _local3[_local21] = (((_local3[(_local21 - 16)] + _local24) + _local3[(_local21 - 7)]) + _local25); }; _local22 = (((rrol(_local4, 2) ^ rrol(_local4, 13)) ^ rrol(_local4, 22)) + (((_local4 & _local5) ^ (_local4 & _local6)) ^ (_local5 & _local6))); _local23 = ((((_local11 + ((rrol(_local8, 6) ^ rrol(_local8, 11)) ^ rrol(_local8, 25))) + ((_local8 & _local9) ^ (_local10 & ~(_local8)))) + k[_local21]) + _local3[_local21]); _local11 = _local10; _local10 = _local9; _local9 = _local8; _local8 = (_local7 + _local23); _local7 = _local6; _local6 = _local5; _local5 = _local4; _local4 = (_local23 + _local22); _local21++; }; _local4 = (_local4 + _local13); _local5 = (_local5 + _local14); _local6 = (_local6 + _local15); _local7 = (_local7 + _local16); _local8 = (_local8 + _local17); _local9 = (_local9 + _local18); _local10 = (_local10 + _local19); _local11 = (_local11 + _local20); _local12 = (_local12 + 16); }; return ([_local4, _local5, _local6, _local7, _local8, _local9, _local10, _local11]); } } }//package com.hurlant.crypto.hash
Section 8
//SHABase (com.hurlant.crypto.hash.SHABase) package com.hurlant.crypto.hash { import flash.utils.*; public class SHABase implements IHash { public function toString():String{ return ("sha"); } public function getInputSize():uint{ return (64); } public function getHashSize():uint{ return (0); } public function hash(_arg1:ByteArray):ByteArray{ var _local2:uint = _arg1.length; var _local3:String = _arg1.endian; _arg1.endian = Endian.BIG_ENDIAN; var _local4:uint = (_local2 * 8); while ((_arg1.length % 4) != 0) { _arg1[_arg1.length] = 0; }; _arg1.position = 0; var _local5:Array = []; var _local6:uint; while (_local6 < _arg1.length) { _local5.push(_arg1.readUnsignedInt()); _local6 = (_local6 + 4); }; var _local7:Array = core(_local5, _local4); var _local8:ByteArray = new ByteArray(); var _local9:uint = (getHashSize() / 4); _local6 = 0; while (_local6 < _local9) { _local8.writeUnsignedInt(_local7[_local6]); _local6++; }; _arg1.length = _local2; _arg1.endian = _local3; return (_local8); } protected function core(_arg1:Array, _arg2:uint):Array{ return (null); } } }//package com.hurlant.crypto.hash
Section 9
//ARC4 (com.hurlant.crypto.prng.ARC4) package com.hurlant.crypto.prng { import flash.utils.*; import com.hurlant.crypto.symmetric.*; import com.hurlant.util.*; public class ARC4 implements IPRNG, IStreamCipher { private const psize:uint = 0x0100; private var S:ByteArray; private var i:int;// = 0 private var j:int;// = 0 public function ARC4(_arg1:ByteArray=null){ S = new ByteArray(); if (_arg1){ init(_arg1); }; } public function decrypt(_arg1:ByteArray):void{ encrypt(_arg1); } public function init(_arg1:ByteArray):void{ var _local2:int; var _local3:int; var _local4:int; _local2 = 0; while (_local2 < 0x0100) { S[_local2] = _local2; _local2++; }; _local3 = 0; _local2 = 0; while (_local2 < 0x0100) { _local3 = (((_local3 + S[_local2]) + _arg1[(_local2 % _arg1.length)]) & 0xFF); _local4 = S[_local2]; S[_local2] = S[_local3]; S[_local3] = _local4; _local2++; }; this.i = 0; this.j = 0; } public function next():uint{ var _local1:int; i = ((i + 1) & 0xFF); j = ((j + S[i]) & 0xFF); _local1 = S[i]; S[i] = S[j]; S[j] = _local1; return (S[((_local1 + S[i]) & 0xFF)]); } public function encrypt(_arg1:ByteArray):void{ var _local2:uint; while (_local2 < _arg1.length) { var _temp1 = _local2; _local2 = (_local2 + 1); var _local3 = _temp1; _arg1[_local3] = (_arg1[_local3] ^ next()); }; } public function dispose():void{ var _local1:uint; if (S != null){ _local1 = 0; while (_local1 < S.length) { S[_local1] = (Math.random() * 0x0100); _local1++; }; S.length = 0; S = null; }; this.i = 0; this.j = 0; Memory.gc(); } public function getBlockSize():uint{ return (1); } public function getPoolSize():uint{ return (psize); } public function toString():String{ return ("rc4"); } } }//package com.hurlant.crypto.prng
Section 10
//IPRNG (com.hurlant.crypto.prng.IPRNG) package com.hurlant.crypto.prng { import flash.utils.*; public interface IPRNG { function init(_arg1:ByteArray):void; function next():uint; function getPoolSize():uint; function toString():String; function dispose():void; } }//package com.hurlant.crypto.prng
Section 11
//Random (com.hurlant.crypto.prng.Random) package com.hurlant.crypto.prng { import flash.text.*; import flash.utils.*; import com.hurlant.util.*; import flash.system.*; public class Random { private var ready:Boolean;// = false private var pool:ByteArray; private var seeded:Boolean;// = false private var psize:int; private var state:IPRNG; private var pptr:int; public function Random(_arg1:Class=null){ var _local2:uint; super(); if (_arg1 == null){ _arg1 = ARC4; }; state = (new (_arg1) as IPRNG); psize = state.getPoolSize(); pool = new ByteArray(); pptr = 0; while (pptr < psize) { _local2 = (65536 * Math.random()); var _local3 = pptr++; pool[_local3] = (_local2 >>> 8); var _local4 = pptr++; pool[_local4] = (_local2 & 0xFF); }; pptr = 0; seed(); } public function autoSeed():void{ var _local3:Font; var _local1:ByteArray = new ByteArray(); _local1.writeUnsignedInt(System.totalMemory); _local1.writeUTF(Capabilities.serverString); _local1.writeUnsignedInt(getTimer()); _local1.writeUnsignedInt(new Date().getTime()); var _local2:Array = Font.enumerateFonts(true); for each (_local3 in _local2) { _local1.writeUTF(_local3.fontName); _local1.writeUTF(_local3.fontStyle); _local1.writeUTF(_local3.fontType); }; _local1.position = 0; while (_local1.bytesAvailable >= 4) { seed(_local1.readUnsignedInt()); }; } public function seed(_arg1:int=0):void{ if (_arg1 == 0){ _arg1 = new Date().getTime(); }; var _local2 = pptr++; pool[_local2] = (pool[_local2] ^ (_arg1 & 0xFF)); var _local3 = pptr++; pool[_local3] = (pool[_local3] ^ ((_arg1 >> 8) & 0xFF)); var _local4 = pptr++; pool[_local4] = (pool[_local4] ^ ((_arg1 >> 16) & 0xFF)); var _local5 = pptr++; pool[_local5] = (pool[_local5] ^ ((_arg1 >> 24) & 0xFF)); pptr = (pptr % psize); seeded = true; } public function toString():String{ return (("random-" + state.toString())); } public function dispose():void{ var _local1:uint; while (_local1 < pool.length) { pool[_local1] = (Math.random() * 0x0100); _local1++; }; pool.length = 0; pool = null; state.dispose(); state = null; psize = 0; pptr = 0; Memory.gc(); } public function nextBytes(_arg1:ByteArray, _arg2:int):void{ while (_arg2--) { _arg1.writeByte(nextByte()); }; } public function nextByte():int{ if (!ready){ if (!seeded){ autoSeed(); }; state.init(pool); pool.length = 0; pptr = 0; ready = true; }; return (state.next()); } } }//package com.hurlant.crypto.prng
Section 12
//RSAKey (com.hurlant.crypto.rsa.RSAKey) package com.hurlant.crypto.rsa { import flash.utils.*; import com.hurlant.math.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class RSAKey { public var dmp1:BigInteger; protected var canDecrypt:Boolean; public var d:BigInteger; public var e:int; public var dmq1:BigInteger; public var n:BigInteger; public var p:BigInteger; public var q:BigInteger; protected var canEncrypt:Boolean; public var coeff:BigInteger; public function RSAKey(_arg1:BigInteger, _arg2:int, _arg3:BigInteger=null, _arg4:BigInteger=null, _arg5:BigInteger=null, _arg6:BigInteger=null, _arg7:BigInteger=null, _arg8:BigInteger=null){ this.n = _arg1; this.e = _arg2; this.d = _arg3; this.p = _arg4; this.q = _arg5; this.dmp1 = _arg6; this.dmq1 = _arg7; this.coeff = _arg8; canEncrypt = ((!((n == null))) && (!((e == 0)))); canDecrypt = ((canEncrypt) && (!((d == null)))); } public function verify(_arg1:ByteArray, _arg2:ByteArray, _arg3:uint, _arg4:Function=null):void{ _decrypt(doPublic, _arg1, _arg2, _arg3, _arg4, 1); } protected function doPrivate2(_arg1:BigInteger):BigInteger{ if ((((p == null)) && ((q == null)))){ return (_arg1.modPow(d, n)); }; var _local2:BigInteger = _arg1.mod(p).modPow(dmp1, p); var _local3:BigInteger = _arg1.mod(q).modPow(dmq1, q); while (_local2.compareTo(_local3) < 0) { _local2 = _local2.add(p); }; var _local4:BigInteger = _local2.subtract(_local3).multiply(coeff).mod(p).multiply(q).add(_local3); return (_local4); } public function dump():String{ var _local1 = ((((("N=" + n.toString(16)) + "\n") + "E=") + e.toString(16)) + "\n"); if (canDecrypt){ _local1 = (_local1 + (("D=" + d.toString(16)) + "\n")); if (((!((p == null))) && (!((q == null))))){ _local1 = (_local1 + (("P=" + p.toString(16)) + "\n")); _local1 = (_local1 + (("Q=" + q.toString(16)) + "\n")); _local1 = (_local1 + (("DMP1=" + dmp1.toString(16)) + "\n")); _local1 = (_local1 + (("DMQ1=" + dmq1.toString(16)) + "\n")); _local1 = (_local1 + (("IQMP=" + coeff.toString(16)) + "\n")); }; }; return (_local1); } public function decrypt(_arg1:ByteArray, _arg2:ByteArray, _arg3:uint, _arg4:Function=null):void{ _decrypt(doPrivate2, _arg1, _arg2, _arg3, _arg4, 2); } private function _decrypt(_arg1:Function, _arg2:ByteArray, _arg3:ByteArray, _arg4:uint, _arg5:Function, _arg6:int):void{ var _local9:BigInteger; var _local10:BigInteger; var _local11:ByteArray; if (_arg5 == null){ _arg5 = pkcs1unpad; }; if (_arg2.position >= _arg2.length){ _arg2.position = 0; }; var _local7:uint = getBlockSize(); var _local8:int = (_arg2.position + _arg4); while (_arg2.position < _local8) { _local9 = new BigInteger(_arg2, _arg4); _local10 = _arg1(_local9); _local11 = _arg5(_local10, _local7); _arg3.writeBytes(_local11); }; } protected function doPublic(_arg1:BigInteger):BigInteger{ return (_arg1.modPowInt(e, n)); } public function dispose():void{ e = 0; n.dispose(); n = null; Memory.gc(); } private function _encrypt(_arg1:Function, _arg2:ByteArray, _arg3:ByteArray, _arg4:uint, _arg5:Function, _arg6:int):void{ var _local9:BigInteger; var _local10:BigInteger; if (_arg5 == null){ _arg5 = pkcs1pad; }; if (_arg2.position >= _arg2.length){ _arg2.position = 0; }; var _local7:uint = getBlockSize(); var _local8:int = (_arg2.position + _arg4); while (_arg2.position < _local8) { _local9 = new BigInteger(_arg5(_arg2, _local8, _local7, _arg6), _local7); _local10 = _arg1(_local9); _local10.toArray(_arg3); }; } private function rawpad(_arg1:ByteArray, _arg2:int, _arg3:uint):ByteArray{ return (_arg1); } public function encrypt(_arg1:ByteArray, _arg2:ByteArray, _arg3:uint, _arg4:Function=null):void{ _encrypt(doPublic, _arg1, _arg2, _arg3, _arg4, 2); } private function pkcs1pad(_arg1:ByteArray, _arg2:int, _arg3:uint, _arg4:uint=2):ByteArray{ var _local9:int; var _local5:ByteArray = new ByteArray(); var _local6:uint = _arg1.position; _arg2 = Math.min(_arg2, _arg1.length, ((_local6 + _arg3) - 11)); _arg1.position = _arg2; var _local7:int = (_arg2 - 1); while ((((_local7 >= _local6)) && ((_arg3 > 11)))) { --_arg3; var _local10 = _arg3; var _temp1 = _local7; _local7 = (_local7 - 1); _local5[_local10] = _arg1[_temp1]; }; --_arg3; _local10 = _arg3; _local5[_local10] = 0; var _local8:Random = new Random(); while (_arg3 > 2) { _local9 = 0; while (_local9 == 0) { _local9 = ((_arg4)==2) ? _local8.nextByte() : 0xFF; }; --_arg3; var _local11 = _arg3; _local5[_local11] = _local9; }; --_arg3; _local11 = _arg3; _local5[_local11] = _arg4; --_arg3; var _local12 = _arg3; _local5[_local12] = 0; return (_local5); } private function pkcs1unpad(_arg1:BigInteger, _arg2:uint, _arg3:uint=2):ByteArray{ var _local4:ByteArray = _arg1.toByteArray(); var _local5:ByteArray = new ByteArray(); var _local6:int; while ((((_local6 < _local4.length)) && ((_local4[_local6] == 0)))) { _local6++; }; if (((!(((_local4.length - _local6) == (_arg2 - 1)))) || ((_local4[_local6] > 2)))){ trace(((("PKCS#1 unpad: i=" + _local6) + ", expected b[i]==[0,1,2], got b[i]=") + _local4[_local6].toString(16))); return (null); }; _local6++; while (_local4[_local6] != 0) { ++_local6; if (_local6 >= _local4.length){ trace((((("PKCS#1 unpad: i=" + _local6) + ", b[i-1]!=0 (=") + _local4[(_local6 - 1)].toString(16)) + ")")); return (null); }; }; while (++_local6 < _local4.length) { _local5.writeByte(_local4[_local6]); }; _local5.position = 0; return (_local5); } public function getBlockSize():uint{ return (((n.bitLength() + 7) / 8)); } public function toString():String{ return ("rsa"); } public function sign(_arg1:ByteArray, _arg2:ByteArray, _arg3:uint, _arg4:Function=null):void{ _encrypt(doPrivate2, _arg1, _arg2, _arg3, _arg4, 1); } protected function doPrivate(_arg1:BigInteger):BigInteger{ if ((((p == null)) || ((q == null)))){ return (_arg1.modPow(d, n)); }; var _local2:BigInteger = _arg1.mod(p).modPow(dmp1, p); var _local3:BigInteger = _arg1.mod(q).modPow(dmq1, q); while (_local2.compareTo(_local3) < 0) { _local2 = _local2.add(p); }; return (_local2.subtract(_local3).multiply(coeff).mod(p).multiply(q).add(_local3)); } protected static function bigRandom(_arg1:int, _arg2:Random):BigInteger{ if (_arg1 < 2){ return (BigInteger.nbv(1)); }; var _local3:ByteArray = new ByteArray(); _arg2.nextBytes(_local3, (_arg1 >> 3)); _local3.position = 0; var _local4:BigInteger = new BigInteger(_local3); _local4.primify(_arg1, 1); return (_local4); } public static function parsePublicKey(_arg1:String, _arg2:String):RSAKey{ return (new RSAKey(new BigInteger(_arg1, 16), parseInt(_arg2, 16))); } public static function generate(_arg1:uint, _arg2:String):RSAKey{ var _local7:BigInteger; var _local8:BigInteger; var _local9:BigInteger; var _local10:BigInteger; var _local3:Random = new Random(); var _local4:uint = (_arg1 >> 1); var _local5:RSAKey = new RSAKey(null, 0, null); _local5.e = parseInt(_arg2, 16); var _local6:BigInteger = new BigInteger(_arg2, 16); while (true) { while (true) { _local5.p = bigRandom((_arg1 - _local4), _local3); if ((((_local5.p.subtract(BigInteger.ONE).gcd(_local6).compareTo(BigInteger.ONE) == 0)) && (_local5.p.isProbablePrime(10)))){ break; }; }; while (true) { _local5.q = bigRandom(_local4, _local3); if ((((_local5.q.subtract(BigInteger.ONE).gcd(_local6).compareTo(BigInteger.ONE) == 0)) && (_local5.q.isProbablePrime(10)))){ break; }; }; if (_local5.p.compareTo(_local5.q) <= 0){ _local10 = _local5.p; _local5.p = _local5.q; _local5.q = _local10; }; _local7 = _local5.p.subtract(BigInteger.ONE); _local8 = _local5.q.subtract(BigInteger.ONE); _local9 = _local7.multiply(_local8); if (_local9.gcd(_local6).compareTo(BigInteger.ONE) == 0){ _local5.n = _local5.p.multiply(_local5.q); _local5.d = _local6.modInverse(_local9); _local5.dmp1 = _local5.d.mod(_local7); _local5.dmq1 = _local5.d.mod(_local8); _local5.coeff = _local5.q.modInverse(_local5.p); break; }; }; return (_local5); } public static function parsePrivateKey(_arg1:String, _arg2:String, _arg3:String, _arg4:String=null, _arg5:String=null, _arg6:String=null, _arg7:String=null, _arg8:String=null):RSAKey{ if (_arg4 == null){ return (new RSAKey(new BigInteger(_arg1, 16), parseInt(_arg2, 16), new BigInteger(_arg3, 16))); }; return (new RSAKey(new BigInteger(_arg1, 16), parseInt(_arg2, 16), new BigInteger(_arg3, 16), new BigInteger(_arg4, 16), new BigInteger(_arg5, 16), new BigInteger(_arg6, 16), new BigInteger(_arg7), new BigInteger(_arg8))); } } }//package com.hurlant.crypto.rsa
Section 13
//AESKey (com.hurlant.crypto.symmetric.AESKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class AESKey implements ISymmetricKey { private var state:ByteArray; private var tmp:ByteArray; private var Nr:uint; private var keyLength:uint; private var key:ByteArray; private static const _Xtime2:Array = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 27, 25, 31, 29, 19, 17, 23, 21, 11, 9, 15, 13, 3, 1, 7, 5, 59, 57, 63, 61, 51, 49, 55, 53, 43, 41, 47, 45, 35, 33, 39, 37, 91, 89, 95, 93, 83, 81, 87, 85, 75, 73, 79, 77, 67, 65, 71, 69, 123, 121, 127, 125, 115, 113, 119, 117, 107, 105, 111, 109, 99, 97, 103, 101, 155, 153, 159, 157, 147, 145, 151, 149, 139, 137, 143, 141, 131, 129, 135, 133, 187, 185, 191, 189, 179, 177, 183, 181, 171, 169, 175, 173, 163, 161, 167, 165, 219, 217, 223, 221, 211, 209, 215, 213, 203, 201, 207, 205, 195, 193, 199, 197, 251, 249, 0xFF, 253, 243, 241, 247, 245, 235, 233, 239, 237, 227, 225, 231, 229]; private static const _Xtime9:Array = [0, 9, 18, 27, 36, 45, 54, 63, 72, 65, 90, 83, 108, 101, 126, 119, 144, 153, 130, 139, 180, 189, 166, 175, 216, 209, 202, 195, 252, 245, 238, 231, 59, 50, 41, 32, 31, 22, 13, 4, 115, 122, 97, 104, 87, 94, 69, 76, 171, 162, 185, 176, 143, 134, 157, 148, 227, 234, 241, 248, 199, 206, 213, 220, 118, 127, 100, 109, 82, 91, 64, 73, 62, 55, 44, 37, 26, 19, 8, 1, 230, 239, 244, 253, 194, 203, 208, 217, 174, 167, 188, 181, 138, 131, 152, 145, 77, 68, 95, 86, 105, 96, 123, 114, 5, 12, 23, 30, 33, 40, 51, 58, 221, 212, 207, 198, 249, 240, 235, 226, 149, 156, 135, 142, 177, 184, 163, 170, 236, 229, 254, 247, 200, 193, 218, 211, 164, 173, 182, 191, 128, 137, 146, 155, 124, 117, 110, 103, 88, 81, 74, 67, 52, 61, 38, 47, 16, 25, 2, 11, 215, 222, 197, 204, 243, 250, 225, 232, 159, 150, 141, 132, 187, 178, 169, 160, 71, 78, 85, 92, 99, 106, 113, 120, 15, 6, 29, 20, 43, 34, 57, 48, 154, 147, 136, 129, 190, 183, 172, 165, 210, 219, 192, 201, 246, 0xFF, 228, 237, 10, 3, 24, 17, 46, 39, 60, 53, 66, 75, 80, 89, 102, 111, 116, 125, 161, 168, 179, 186, 133, 140, 151, 158, 233, 224, 251, 242, 205, 196, 223, 214, 49, 56, 35, 42, 21, 28, 7, 14, 121, 112, 107, 98, 93, 84, 79, 70]; private static const Nb:uint = 4; private static const _XtimeB:Array = [0, 11, 22, 29, 44, 39, 58, 49, 88, 83, 78, 69, 116, 127, 98, 105, 176, 187, 166, 173, 156, 151, 138, 129, 232, 227, 254, 245, 196, 207, 210, 217, 123, 112, 109, 102, 87, 92, 65, 74, 35, 40, 53, 62, 15, 4, 25, 18, 203, 192, 221, 214, 231, 236, 241, 250, 147, 152, 133, 142, 191, 180, 169, 162, 246, 253, 224, 235, 218, 209, 204, 199, 174, 165, 184, 179, 130, 137, 148, 159, 70, 77, 80, 91, 106, 97, 124, 119, 30, 21, 8, 3, 50, 57, 36, 47, 141, 134, 155, 144, 161, 170, 183, 188, 213, 222, 195, 200, 249, 242, 239, 228, 61, 54, 43, 32, 17, 26, 7, 12, 101, 110, 115, 120, 73, 66, 95, 84, 247, 252, 225, 234, 219, 208, 205, 198, 175, 164, 185, 178, 131, 136, 149, 158, 71, 76, 81, 90, 107, 96, 125, 118, 31, 20, 9, 2, 51, 56, 37, 46, 140, 135, 154, 145, 160, 171, 182, 189, 212, 223, 194, 201, 248, 243, 238, 229, 60, 55, 42, 33, 16, 27, 6, 13, 100, 111, 114, 121, 72, 67, 94, 85, 1, 10, 23, 28, 45, 38, 59, 48, 89, 82, 79, 68, 117, 126, 99, 104, 177, 186, 167, 172, 157, 150, 139, 128, 233, 226, 0xFF, 244, 197, 206, 211, 216, 122, 113, 108, 103, 86, 93, 64, 75, 34, 41, 52, 63, 14, 5, 24, 19, 202, 193, 220, 215, 230, 237, 240, 251, 146, 153, 132, 143, 190, 181, 168, 163]; private static const _XtimeE:Array = [0, 14, 28, 18, 56, 54, 36, 42, 112, 126, 108, 98, 72, 70, 84, 90, 224, 238, 252, 242, 216, 214, 196, 202, 144, 158, 140, 130, 168, 166, 180, 186, 219, 213, 199, 201, 227, 237, 0xFF, 241, 171, 165, 183, 185, 147, 157, 143, 129, 59, 53, 39, 41, 3, 13, 31, 17, 75, 69, 87, 89, 115, 125, 111, 97, 173, 163, 177, 191, 149, 155, 137, 135, 221, 211, 193, 207, 229, 235, 249, 247, 77, 67, 81, 95, 117, 123, 105, 103, 61, 51, 33, 47, 5, 11, 25, 23, 118, 120, 106, 100, 78, 64, 82, 92, 6, 8, 26, 20, 62, 48, 34, 44, 150, 152, 138, 132, 174, 160, 178, 188, 230, 232, 250, 244, 222, 208, 194, 204, 65, 79, 93, 83, 121, 119, 101, 107, 49, 63, 45, 35, 9, 7, 21, 27, 161, 175, 189, 179, 153, 151, 133, 139, 209, 223, 205, 195, 233, 231, 245, 251, 154, 148, 134, 136, 162, 172, 190, 176, 234, 228, 246, 248, 210, 220, 206, 192, 122, 116, 102, 104, 66, 76, 94, 80, 10, 4, 22, 24, 50, 60, 46, 32, 236, 226, 240, 254, 212, 218, 200, 198, 156, 146, 128, 142, 164, 170, 184, 182, 12, 2, 16, 30, 52, 58, 40, 38, 124, 114, 96, 110, 68, 74, 88, 86, 55, 57, 43, 37, 15, 1, 19, 29, 71, 73, 91, 85, 127, 113, 99, 109, 215, 217, 203, 197, 239, 225, 243, 253, 167, 169, 187, 181, 159, 145, 131, 141]; private static const _Xtime2Sbox:Array = [198, 248, 238, 246, 0xFF, 214, 222, 145, 96, 2, 206, 86, 231, 181, 77, 236, 143, 31, 137, 250, 239, 178, 142, 251, 65, 179, 95, 69, 35, 83, 228, 155, 117, 225, 61, 76, 108, 126, 245, 131, 104, 81, 209, 249, 226, 171, 98, 42, 8, 149, 70, 157, 48, 55, 10, 47, 14, 36, 27, 223, 205, 78, 127, 234, 18, 29, 88, 52, 54, 220, 180, 91, 164, 118, 183, 125, 82, 221, 94, 19, 166, 185, 0, 193, 64, 227, 121, 182, 212, 141, 103, 114, 148, 152, 176, 133, 187, 197, 79, 237, 134, 154, 102, 17, 138, 233, 4, 254, 160, 120, 37, 75, 162, 93, 128, 5, 63, 33, 112, 241, 99, 119, 175, 66, 32, 229, 253, 191, 129, 24, 38, 195, 190, 53, 136, 46, 147, 85, 252, 122, 200, 186, 50, 230, 192, 25, 158, 163, 68, 84, 59, 11, 140, 199, 107, 40, 167, 188, 22, 173, 219, 100, 116, 20, 146, 12, 72, 184, 159, 189, 67, 196, 57, 49, 211, 242, 213, 139, 110, 218, 1, 177, 156, 73, 216, 172, 243, 207, 202, 244, 71, 16, 111, 240, 74, 92, 56, 87, 115, 151, 203, 161, 232, 62, 150, 97, 13, 15, 224, 124, 113, 204, 144, 6, 247, 28, 194, 106, 174, 105, 23, 153, 58, 39, 217, 235, 43, 34, 210, 169, 7, 51, 45, 60, 21, 201, 135, 170, 80, 165, 3, 89, 9, 26, 101, 215, 132, 208, 130, 41, 90, 30, 123, 168, 109, 44]; private static const _Xtime3Sbox:Array = [165, 132, 153, 141, 13, 189, 177, 84, 80, 3, 169, 125, 25, 98, 230, 154, 69, 157, 64, 135, 21, 235, 201, 11, 236, 103, 253, 234, 191, 247, 150, 91, 194, 28, 174, 106, 90, 65, 2, 79, 92, 244, 52, 8, 147, 115, 83, 63, 12, 82, 101, 94, 40, 161, 15, 181, 9, 54, 155, 61, 38, 105, 205, 159, 27, 158, 116, 46, 45, 178, 238, 251, 246, 77, 97, 206, 123, 62, 113, 151, 245, 104, 0, 44, 96, 31, 200, 237, 190, 70, 217, 75, 222, 212, 232, 74, 107, 42, 229, 22, 197, 215, 85, 148, 207, 16, 6, 129, 240, 68, 186, 227, 243, 254, 192, 138, 173, 188, 72, 4, 223, 193, 117, 99, 48, 26, 14, 109, 76, 20, 53, 47, 225, 162, 204, 57, 87, 242, 130, 71, 172, 231, 43, 149, 160, 152, 209, 127, 102, 126, 171, 131, 202, 41, 211, 60, 121, 226, 29, 118, 59, 86, 78, 30, 219, 10, 108, 228, 93, 110, 239, 166, 168, 164, 55, 139, 50, 67, 89, 183, 140, 100, 210, 224, 180, 250, 7, 37, 175, 142, 233, 24, 213, 136, 111, 114, 36, 241, 199, 81, 35, 124, 156, 33, 221, 220, 134, 133, 144, 66, 196, 170, 216, 5, 1, 18, 163, 95, 249, 208, 145, 88, 39, 185, 56, 19, 179, 51, 187, 112, 137, 167, 182, 34, 146, 32, 73, 0xFF, 120, 122, 143, 248, 128, 23, 218, 49, 198, 184, 195, 176, 119, 17, 203, 252, 214, 58]; private static const _InvSbox:Array = [82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47, 0xFF, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125]; private static const _XtimeD:Array = [0, 13, 26, 23, 52, 57, 46, 35, 104, 101, 114, 127, 92, 81, 70, 75, 208, 221, 202, 199, 228, 233, 254, 243, 184, 181, 162, 175, 140, 129, 150, 155, 187, 182, 161, 172, 143, 130, 149, 152, 211, 222, 201, 196, 231, 234, 253, 240, 107, 102, 113, 124, 95, 82, 69, 72, 3, 14, 25, 20, 55, 58, 45, 32, 109, 96, 119, 122, 89, 84, 67, 78, 5, 8, 31, 18, 49, 60, 43, 38, 189, 176, 167, 170, 137, 132, 147, 158, 213, 216, 207, 194, 225, 236, 251, 246, 214, 219, 204, 193, 226, 239, 248, 245, 190, 179, 164, 169, 138, 135, 144, 157, 6, 11, 28, 17, 50, 63, 40, 37, 110, 99, 116, 121, 90, 87, 64, 77, 218, 215, 192, 205, 238, 227, 244, 249, 178, 191, 168, 165, 134, 139, 156, 145, 10, 7, 16, 29, 62, 51, 36, 41, 98, 111, 120, 117, 86, 91, 76, 65, 97, 108, 123, 118, 85, 88, 79, 66, 9, 4, 19, 30, 61, 48, 39, 42, 177, 188, 171, 166, 133, 136, 159, 146, 217, 212, 195, 206, 237, 224, 247, 250, 183, 186, 173, 160, 131, 142, 153, 148, 223, 210, 197, 200, 235, 230, 241, 252, 103, 106, 125, 112, 83, 94, 73, 68, 15, 2, 21, 24, 59, 54, 33, 44, 12, 1, 22, 27, 56, 53, 34, 47, 100, 105, 126, 115, 80, 93, 74, 71, 220, 209, 198, 203, 232, 229, 242, 0xFF, 180, 185, 174, 163, 128, 141, 154, 151]; private static const _Sbox:Array = [99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 0xFF, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22]; private static var XtimeE:ByteArray = new ByteArray(); private static var i:uint = 0; private static var Xtime2Sbox:ByteArray = new ByteArray(); private static var Xtime3Sbox:ByteArray = new ByteArray(); private static var _Rcon:Array = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]; private static var Sbox:ByteArray = new ByteArray(); private static var Rcon:ByteArray = new ByteArray(); private static var InvSbox:ByteArray = new ByteArray(); private static var Xtime2:ByteArray = new ByteArray(); private static var Xtime9:ByteArray = new ByteArray(); private static var XtimeB:ByteArray = new ByteArray(); private static var XtimeD:ByteArray = new ByteArray(); public function AESKey(_arg1:ByteArray){ tmp = new ByteArray(); state = new ByteArray(); keyLength = _arg1.length; this.key = new ByteArray(); this.key.writeBytes(_arg1); expandKey(); } public function toString():String{ return (("aes" + (8 * keyLength))); } public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ var _local3:uint; state.position = 0; state.writeBytes(_arg1, _arg2, (Nb * 4)); addRoundKey(key, ((Nr * Nb) * 4)); invShiftRows(); _local3 = Nr; while (_local3--) { addRoundKey(key, ((_local3 * Nb) * 4)); if (_local3){ invMixSubColumns(); }; }; _arg1.position = _arg2; _arg1.writeBytes(state); } protected function invMixSubColumns():void{ var _local1:uint; tmp.length = 0; tmp[0] = (((XtimeE[state[0]] ^ XtimeB[state[1]]) ^ XtimeD[state[2]]) ^ Xtime9[state[3]]); tmp[5] = (((Xtime9[state[0]] ^ XtimeE[state[1]]) ^ XtimeB[state[2]]) ^ XtimeD[state[3]]); tmp[10] = (((XtimeD[state[0]] ^ Xtime9[state[1]]) ^ XtimeE[state[2]]) ^ XtimeB[state[3]]); tmp[15] = (((XtimeB[state[0]] ^ XtimeD[state[1]]) ^ Xtime9[state[2]]) ^ XtimeE[state[3]]); tmp[4] = (((XtimeE[state[4]] ^ XtimeB[state[5]]) ^ XtimeD[state[6]]) ^ Xtime9[state[7]]); tmp[9] = (((Xtime9[state[4]] ^ XtimeE[state[5]]) ^ XtimeB[state[6]]) ^ XtimeD[state[7]]); tmp[14] = (((XtimeD[state[4]] ^ Xtime9[state[5]]) ^ XtimeE[state[6]]) ^ XtimeB[state[7]]); tmp[3] = (((XtimeB[state[4]] ^ XtimeD[state[5]]) ^ Xtime9[state[6]]) ^ XtimeE[state[7]]); tmp[8] = (((XtimeE[state[8]] ^ XtimeB[state[9]]) ^ XtimeD[state[10]]) ^ Xtime9[state[11]]); tmp[13] = (((Xtime9[state[8]] ^ XtimeE[state[9]]) ^ XtimeB[state[10]]) ^ XtimeD[state[11]]); tmp[2] = (((XtimeD[state[8]] ^ Xtime9[state[9]]) ^ XtimeE[state[10]]) ^ XtimeB[state[11]]); tmp[7] = (((XtimeB[state[8]] ^ XtimeD[state[9]]) ^ Xtime9[state[10]]) ^ XtimeE[state[11]]); tmp[12] = (((XtimeE[state[12]] ^ XtimeB[state[13]]) ^ XtimeD[state[14]]) ^ Xtime9[state[15]]); tmp[1] = (((Xtime9[state[12]] ^ XtimeE[state[13]]) ^ XtimeB[state[14]]) ^ XtimeD[state[15]]); tmp[6] = (((XtimeD[state[12]] ^ Xtime9[state[13]]) ^ XtimeE[state[14]]) ^ XtimeB[state[15]]); tmp[11] = (((XtimeB[state[12]] ^ XtimeD[state[13]]) ^ Xtime9[state[14]]) ^ XtimeE[state[15]]); _local1 = 0; while (_local1 < (4 * Nb)) { state[_local1] = InvSbox[tmp[_local1]]; _local1++; }; } protected function invShiftRows():void{ var _local1:uint; state[0] = InvSbox[state[0]]; state[4] = InvSbox[state[4]]; state[8] = InvSbox[state[8]]; state[12] = InvSbox[state[12]]; _local1 = InvSbox[state[13]]; state[13] = InvSbox[state[9]]; state[9] = InvSbox[state[5]]; state[5] = InvSbox[state[1]]; state[1] = _local1; _local1 = InvSbox[state[2]]; state[2] = InvSbox[state[10]]; state[10] = _local1; _local1 = InvSbox[state[6]]; state[6] = InvSbox[state[14]]; state[14] = _local1; _local1 = InvSbox[state[3]]; state[3] = InvSbox[state[7]]; state[7] = InvSbox[state[11]]; state[11] = InvSbox[state[15]]; state[15] = _local1; } public function dispose():void{ var _local1:uint; var _local2:Random = new Random(); _local1 = 0; while (_local1 < key.length) { key[_local1] = _local2.nextByte(); _local1++; }; Nr = _local2.nextByte(); _local1 = 0; while (_local1 < state.length) { state[_local1] = _local2.nextByte(); _local1++; }; _local1 = 0; while (_local1 < tmp.length) { tmp[_local1] = _local2.nextByte(); _local1++; }; key.length = 0; keyLength = 0; state.length = 0; tmp.length = 0; key = null; state = null; tmp = null; Nr = 0; Memory.gc(); } private function expandKey():void{ var _local1:uint; var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:uint = (key.length / 4); Nr = (_local7 + 6); _local6 = _local7; while (_local6 < (Nb * (Nr + 1))) { _local1 = key[((4 * _local6) - 4)]; _local2 = key[((4 * _local6) - 3)]; _local3 = key[((4 * _local6) - 2)]; _local4 = key[((4 * _local6) - 1)]; if (!(_local6 % _local7)){ _local5 = _local4; _local4 = Sbox[_local1]; _local1 = (Sbox[_local2] ^ Rcon[(_local6 / _local7)]); _local2 = Sbox[_local3]; _local3 = Sbox[_local5]; } else { if ((((_local7 > 6)) && (((_local6 % _local7) == 4)))){ _local1 = Sbox[_local1]; _local2 = Sbox[_local2]; _local3 = Sbox[_local3]; _local4 = Sbox[_local4]; }; }; key[((4 * _local6) + 0)] = (key[(((4 * _local6) - (4 * _local7)) + 0)] ^ _local1); key[((4 * _local6) + 1)] = (key[(((4 * _local6) - (4 * _local7)) + 1)] ^ _local2); key[((4 * _local6) + 2)] = (key[(((4 * _local6) - (4 * _local7)) + 2)] ^ _local3); key[((4 * _local6) + 3)] = (key[(((4 * _local6) - (4 * _local7)) + 3)] ^ _local4); _local6++; }; } protected function addRoundKey(_arg1:ByteArray, _arg2:uint):void{ var _local3:uint; _local3 = 0; while (_local3 < 16) { state[_local3] = (state[_local3] ^ _arg1[(_local3 + _arg2)]); _local3++; }; } public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ var _local3:uint; state.position = 0; state.writeBytes(_arg1, _arg2, (Nb * 4)); addRoundKey(key, 0); _local3 = 1; while (_local3 < (Nr + 1)) { if (_local3 < Nr){ mixSubColumns(); } else { shiftRows(); }; addRoundKey(key, ((_local3 * Nb) * 4)); _local3++; }; _arg1.position = _arg2; _arg1.writeBytes(state); } protected function mixSubColumns():void{ tmp.length = 0; tmp[0] = (((Xtime2Sbox[state[0]] ^ Xtime3Sbox[state[5]]) ^ Sbox[state[10]]) ^ Sbox[state[15]]); tmp[1] = (((Sbox[state[0]] ^ Xtime2Sbox[state[5]]) ^ Xtime3Sbox[state[10]]) ^ Sbox[state[15]]); tmp[2] = (((Sbox[state[0]] ^ Sbox[state[5]]) ^ Xtime2Sbox[state[10]]) ^ Xtime3Sbox[state[15]]); tmp[3] = (((Xtime3Sbox[state[0]] ^ Sbox[state[5]]) ^ Sbox[state[10]]) ^ Xtime2Sbox[state[15]]); tmp[4] = (((Xtime2Sbox[state[4]] ^ Xtime3Sbox[state[9]]) ^ Sbox[state[14]]) ^ Sbox[state[3]]); tmp[5] = (((Sbox[state[4]] ^ Xtime2Sbox[state[9]]) ^ Xtime3Sbox[state[14]]) ^ Sbox[state[3]]); tmp[6] = (((Sbox[state[4]] ^ Sbox[state[9]]) ^ Xtime2Sbox[state[14]]) ^ Xtime3Sbox[state[3]]); tmp[7] = (((Xtime3Sbox[state[4]] ^ Sbox[state[9]]) ^ Sbox[state[14]]) ^ Xtime2Sbox[state[3]]); tmp[8] = (((Xtime2Sbox[state[8]] ^ Xtime3Sbox[state[13]]) ^ Sbox[state[2]]) ^ Sbox[state[7]]); tmp[9] = (((Sbox[state[8]] ^ Xtime2Sbox[state[13]]) ^ Xtime3Sbox[state[2]]) ^ Sbox[state[7]]); tmp[10] = (((Sbox[state[8]] ^ Sbox[state[13]]) ^ Xtime2Sbox[state[2]]) ^ Xtime3Sbox[state[7]]); tmp[11] = (((Xtime3Sbox[state[8]] ^ Sbox[state[13]]) ^ Sbox[state[2]]) ^ Xtime2Sbox[state[7]]); tmp[12] = (((Xtime2Sbox[state[12]] ^ Xtime3Sbox[state[1]]) ^ Sbox[state[6]]) ^ Sbox[state[11]]); tmp[13] = (((Sbox[state[12]] ^ Xtime2Sbox[state[1]]) ^ Xtime3Sbox[state[6]]) ^ Sbox[state[11]]); tmp[14] = (((Sbox[state[12]] ^ Sbox[state[1]]) ^ Xtime2Sbox[state[6]]) ^ Xtime3Sbox[state[11]]); tmp[15] = (((Xtime3Sbox[state[12]] ^ Sbox[state[1]]) ^ Sbox[state[6]]) ^ Xtime2Sbox[state[11]]); state.position = 0; state.writeBytes(tmp, 0, (Nb * 4)); } protected function shiftRows():void{ var _local1:uint; state[0] = Sbox[state[0]]; state[4] = Sbox[state[4]]; state[8] = Sbox[state[8]]; state[12] = Sbox[state[12]]; _local1 = Sbox[state[1]]; state[1] = Sbox[state[5]]; state[5] = Sbox[state[9]]; state[9] = Sbox[state[13]]; state[13] = _local1; _local1 = Sbox[state[2]]; state[2] = Sbox[state[10]]; state[10] = _local1; _local1 = Sbox[state[6]]; state[6] = Sbox[state[14]]; state[14] = _local1; _local1 = Sbox[state[15]]; state[15] = Sbox[state[11]]; state[11] = Sbox[state[7]]; state[7] = Sbox[state[3]]; state[3] = _local1; } public function getBlockSize():uint{ return (16); } while (i < 0x0100) { Sbox[i] = _Sbox[i]; InvSbox[i] = _InvSbox[i]; Xtime2Sbox[i] = _Xtime2Sbox[i]; Xtime3Sbox[i] = _Xtime3Sbox[i]; Xtime2[i] = _Xtime2[i]; Xtime9[i] = _Xtime9[i]; XtimeB[i] = _XtimeB[i]; XtimeD[i] = _XtimeD[i]; XtimeE[i] = _XtimeE[i]; i++; }; i = 0; while (i < _Rcon.length) { Rcon[i] = _Rcon[i]; i++; }; } }//package com.hurlant.crypto.symmetric
Section 14
//BlowFishKey (com.hurlant.crypto.symmetric.BlowFishKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class BlowFishKey implements ISymmetricKey { private var S3:Array; private var P:Array; private var S1:Array; private var key:ByteArray;// = null private var S0:Array; private var S2:Array; private static const KP:Array = [608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832, 137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300, 3232508343, 3380367581, 1065670069, 3041331479, 2450970073, 2306472731]; private static const KS0:Array = [3509652390, 2564797868, 805139163, 3491422135, 3101798381, 1780907670, 3128725573, 4046225305, 614570311, 3012652279, 134345442, 2240740374, 1667834072, 1901547113, 2757295779, 4103290238, 227898511, 1921955416, 1904987480, 2182433518, 2069144605, 3260701109, 2620446009, 720527379, 3318853667, 677414384, 3393288472, 3101374703, 2390351024, 1614419982, 1822297739, 2954791486, 3608508353, 3174124327, 2024746970, 1432378464, 3864339955, 2857741204, 1464375394, 1676153920, 1439316330, 715854006, 3033291828, 289532110, 2706671279, 2087905683, 3018724369, 1668267050, 732546397, 1947742710, 3462151702, 2609353502, 2950085171, 1814351708, 2050118529, 680887927, 999245976, 1800124847, 3300911131, 1713906067, 1641548236, 4213287313, 1216130144, 1575780402, 4018429277, 3917837745, 3693486850, 3949271944, 596196993, 3549867205, 258830323, 2213823033, 772490370, 2760122372, 1774776394, 2652871518, 566650946, 4142492826, 1728879713, 2882767088, 1783734482, 3629395816, 2517608232, 2874225571, 1861159788, 326777828, 3124490320, 2130389656, 2716951837, 967770486, 1724537150, 2185432712, 2364442137, 1164943284, 2105845187, 998989502, 3765401048, 2244026483, 1075463327, 1455516326, 1322494562, 910128902, 469688178, 1117454909, 936433444, 3490320968, 3675253459, 1240580251, 122909385, 2157517691, 634681816, 4142456567, 3825094682, 3061402683, 2540495037, 79693498, 3249098678, 1084186820, 1583128258, 426386531, 1761308591, 1047286709, 322548459, 995290223, 1845252383, 2603652396, 3431023940, 2942221577, 3202600964, 3727903485, 1712269319, 422464435, 3234572375, 1170764815, 3523960633, 3117677531, 1434042557, 442511882, 3600875718, 1076654713, 1738483198, 4213154764, 2393238008, 3677496056, 1014306527, 4251020053, 793779912, 2902807211, 842905082, 4246964064, 1395751752, 1040244610, 2656851899, 3396308128, 445077038, 3742853595, 3577915638, 679411651, 2892444358, 2354009459, 1767581616, 3150600392, 3791627101, 3102740896, 284835224, 4246832056, 1258075500, 768725851, 2589189241, 3069724005, 3532540348, 1274779536, 3789419226, 2764799539, 1660621633, 3471099624, 4011903706, 913787905, 3497959166, 737222580, 2514213453, 2928710040, 3937242737, 1804850592, 3499020752, 2949064160, 2386320175, 2390070455, 2415321851, 4061277028, 2290661394, 2416832540, 1336762016, 1754252060, 3520065937, 3014181293, 791618072, 3188594551, 3933548030, 2332172193, 3852520463, 3043980520, 413987798, 3465142937, 3030929376, 4245938359, 2093235073, 3534596313, 375366246, 2157278981, 2479649556, 555357303, 3870105701, 2008414854, 3344188149, 4221384143, 3956125452, 2067696032, 3594591187, 2921233993, 2428461, 544322398, 577241275, 1471733935, 610547355, 4027169054, 1432588573, 1507829418, 2025931657, 3646575487, 545086370, 48609733, 2200306550, 1653985193, 298326376, 1316178497, 3007786442, 2064951626, 458293330, 2589141269, 3591329599, 3164325604, 727753846, 2179363840, 146436021, 1461446943, 4069977195, 705550613, 3059967265, 3887724982, 4281599278, 3313849956, 1404054877, 2845806497, 146425753, 1854211946]; private static const KS1:Array = [1266315497, 3048417604, 3681880366, 3289982499, 2909710000, 1235738493, 2632868024, 2414719590, 3970600049, 1771706367, 1449415276, 3266420449, 422970021, 1963543593, 2690192192, 3826793022, 1062508698, 1531092325, 1804592342, 2583117782, 2714934279, 4024971509, 1294809318, 4028980673, 1289560198, 2221992742, 1669523910, 35572830, 157838143, 1052438473, 1016535060, 1802137761, 1753167236, 1386275462, 3080475397, 2857371447, 1040679964, 2145300060, 2390574316, 1461121720, 2956646967, 4031777805, 4028374788, 33600511, 2920084762, 1018524850, 629373528, 3691585981, 3515945977, 2091462646, 2486323059, 586499841, 988145025, 935516892, 3367335476, 2599673255, 2839830854, 265290510, 3972581182, 2759138881, 3795373465, 1005194799, 847297441, 406762289, 1314163512, 1332590856, 1866599683, 4127851711, 750260880, 613907577, 1450815602, 3165620655, 3734664991, 3650291728, 3012275730, 3704569646, 1427272223, 778793252, 1343938022, 2676280711, 2052605720, 1946737175, 3164576444, 3914038668, 3967478842, 3682934266, 1661551462, 3294938066, 4011595847, 840292616, 3712170807, 616741398, 312560963, 711312465, 1351876610, 322626781, 1910503582, 271666773, 2175563734, 1594956187, 70604529, 3617834859, 1007753275, 1495573769, 4069517037, 2549218298, 2663038764, 504708206, 2263041392, 3941167025, 2249088522, 1514023603, 1998579484, 1312622330, 694541497, 2582060303, 2151582166, 1382467621, 776784248, 2618340202, 3323268794, 2497899128, 2784771155, 503983604, 4076293799, 907881277, 423175695, 432175456, 1378068232, 4145222326, 3954048622, 3938656102, 3820766613, 2793130115, 2977904593, 26017576, 3274890735, 3194772133, 1700274565, 1756076034, 4006520079, 3677328699, 720338349, 1533947780, 354530856, 688349552, 3973924725, 1637815568, 332179504, 3949051286, 53804574, 2852348879, 3044236432, 1282449977, 3583942155, 3416972820, 4006381244, 1617046695, 2628476075, 3002303598, 1686838959, 431878346, 2686675385, 1700445008, 1080580658, 1009431731, 832498133, 3223435511, 2605976345, 2271191193, 2516031870, 1648197032, 4164389018, 2548247927, 300782431, 375919233, 238389289, 3353747414, 2531188641, 2019080857, 1475708069, 455242339, 2609103871, 448939670, 3451063019, 1395535956, 2413381860, 1841049896, 1491858159, 885456874, 4264095073, 4001119347, 1565136089, 3898914787, 1108368660, 540939232, 1173283510, 2745871338, 3681308437, 4207628240, 3343053890, 4016749493, 1699691293, 1103962373, 3625875870, 2256883143, 3830138730, 1031889488, 3479347698, 1535977030, 4236805024, 3251091107, 2132092099, 1774941330, 1199868427, 1452454533, 157007616, 2904115357, 342012276, 595725824, 1480756522, 206960106, 497939518, 591360097, 863170706, 2375253569, 3596610801, 1814182875, 2094937945, 3421402208, 1082520231, 3463918190, 2785509508, 435703966, 3908032597, 1641649973, 2842273706, 3305899714, 1510255612, 2148256476, 2655287854, 3276092548, 4258621189, 236887753, 3681803219, 274041037, 1734335097, 3815195456, 3317970021, 1899903192, 1026095262, 4050517792, 356393447, 2410691914, 3873677099, 3682840055]; private static const KS3:Array = [976866871, 3556439503, 2881648439, 1522871579, 1555064734, 1336096578, 3548522304, 2579274686, 3574697629, 3205460757, 3593280638, 3338716283, 3079412587, 564236357, 2993598910, 1781952180, 1464380207, 3163844217, 3332601554, 1699332808, 1393555694, 1183702653, 3581086237, 1288719814, 691649499, 2847557200, 2895455976, 3193889540, 2717570544, 1781354906, 1676643554, 2592534050, 3230253752, 1126444790, 2770207658, 2633158820, 2210423226, 2615765581, 2414155088, 3127139286, 673620729, 2805611233, 1269405062, 4015350505, 3341807571, 4149409754, 1057255273, 2012875353, 2162469141, 2276492801, 2601117357, 993977747, 3918593370, 2654263191, 753973209, 36408145, 2530585658, 25011837, 3520020182, 2088578344, 530523599, 2918365339, 1524020338, 1518925132, 3760827505, 3759777254, 1202760957, 3985898139, 3906192525, 674977740, 4174734889, 2031300136, 2019492241, 3983892565, 4153806404, 3822280332, 352677332, 2297720250, 60907813, 90501309, 3286998549, 1016092578, 2535922412, 2839152426, 457141659, 509813237, 4120667899, 652014361, 1966332200, 2975202805, 55981186, 2327461051, 676427537, 3255491064, 2882294119, 3433927263, 1307055953, 942726286, 933058658, 2468411793, 3933900994, 4215176142, 1361170020, 2001714738, 2830558078, 3274259782, 1222529897, 1679025792, 2729314320, 3714953764, 1770335741, 151462246, 3013232138, 1682292957, 1483529935, 471910574, 1539241949, 458788160, 3436315007, 1807016891, 3718408830, 978976581, 1043663428, 3165965781, 1927990952, 4200891579, 2372276910, 3208408903, 3533431907, 1412390302, 2931980059, 4132332400, 1947078029, 3881505623, 4168226417, 2941484381, 1077988104, 1320477388, 886195818, 18198404, 3786409000, 2509781533, 112762804, 3463356488, 1866414978, 891333506, 18488651, 661792760, 1628790961, 3885187036, 3141171499, 876946877, 2693282273, 1372485963, 791857591, 2686433993, 3759982718, 3167212022, 3472953795, 2716379847, 445679433, 3561995674, 3504004811, 3574258232, 54117162, 3331405415, 2381918588, 3769707343, 4154350007, 1140177722, 4074052095, 668550556, 3214352940, 367459370, 261225585, 2610173221, 4209349473, 3468074219, 3265815641, 314222801, 3066103646, 3808782860, 282218597, 3406013506, 3773591054, 379116347, 1285071038, 846784868, 2669647154, 3771962079, 3550491691, 2305946142, 453669953, 1268987020, 3317592352, 3279303384, 3744833421, 2610507566, 3859509063, 266596637, 3847019092, 517658769, 3462560207, 3443424879, 370717030, 4247526661, 2224018117, 4143653529, 4112773975, 2788324899, 2477274417, 1456262402, 2901442914, 1517677493, 1846949527, 2295493580, 3734397586, 2176403920, 1280348187, 1908823572, 3871786941, 846861322, 1172426758, 3287448474, 3383383037, 1655181056, 3139813346, 901632758, 1897031941, 2986607138, 3066810236, 3447102507, 1393639104, 373351379, 950779232, 625454576, 3124240540, 4148612726, 2007998917, 544563296, 2244738638, 2330496472, 2058025392, 1291430526, 424198748, 50039436, 29584100, 3605783033, 2429876329, 2791104160, 1057563949, 3255363231, 3075367218, 3463963227, 1469046755, 985887462]; private static const ROUNDS:uint = 16; private static const KS2:Array = [3913112168, 2491498743, 4132185628, 2489919796, 1091903735, 1979897079, 3170134830, 3567386728, 3557303409, 857797738, 1136121015, 1342202287, 507115054, 2535736646, 337727348, 3213592640, 1301675037, 2528481711, 1895095763, 1721773893, 3216771564, 62756741, 2142006736, 835421444, 2531993523, 1442658625, 3659876326, 2882144922, 676362277, 1392781812, 170690266, 3921047035, 1759253602, 3611846912, 1745797284, 664899054, 1329594018, 3901205900, 3045908486, 2062866102, 2865634940, 3543621612, 3464012697, 1080764994, 553557557, 3656615353, 3996768171, 991055499, 499776247, 1265440854, 648242737, 3940784050, 980351604, 3713745714, 1749149687, 3396870395, 4211799374, 3640570775, 1161844396, 3125318951, 1431517754, 545492359, 4268468663, 3499529547, 1437099964, 2702547544, 3433638243, 2581715763, 2787789398, 1060185593, 1593081372, 2418618748, 4260947970, 69676912, 2159744348, 86519011, 2512459080, 3838209314, 1220612927, 3339683548, 133810670, 1090789135, 1078426020, 1569222167, 845107691, 3583754449, 4072456591, 1091646820, 628848692, 1613405280, 3757631651, 526609435, 236106946, 48312990, 2942717905, 3402727701, 1797494240, 859738849, 992217954, 4005476642, 2243076622, 3870952857, 3732016268, 765654824, 3490871365, 2511836413, 1685915746, 3888969200, 1414112111, 2273134842, 3281911079, 4080962846, 172450625, 2569994100, 980381355, 4109958455, 2819808352, 2716589560, 2568741196, 3681446669, 3329971472, 1835478071, 660984891, 3704678404, 4045999559, 3422617507, 3040415634, 1762651403, 1719377915, 3470491036, 2693910283, 3642056355, 3138596744, 1364962596, 2073328063, 1983633131, 926494387, 3423689081, 2150032023, 4096667949, 1749200295, 3328846651, 309677260, 2016342300, 1779581495, 3079819751, 111262694, 1274766160, 443224088, 298511866, 1025883608, 3806446537, 1145181785, 168956806, 3641502830, 3584813610, 1689216846, 3666258015, 3200248200, 1692713982, 2646376535, 4042768518, 1618508792, 1610833997, 3523052358, 4130873264, 2001055236, 3610705100, 2202168115, 4028541809, 2961195399, 1006657119, 2006996926, 3186142756, 1430667929, 3210227297, 1314452623, 4074634658, 4101304120, 2273951170, 1399257539, 3367210612, 3027628629, 1190975929, 2062231137, 2333990788, 2221543033, 2438960610, 1181637006, 548689776, 2362791313, 3372408396, 3104550113, 3145860560, 296247880, 1970579870, 3078560182, 3769228297, 1714227617, 3291629107, 3898220290, 166772364, 1251581989, 493813264, 448347421, 195405023, 2709975567, 677966185, 3703036547, 1463355134, 2715995803, 1338867538, 1343315457, 2802222074, 2684532164, 233230375, 2599980071, 2000651841, 3277868038, 1638401717, 4028070440, 3237316320, 6314154, 819756386, 300326615, 590932579, 1405279636, 3267499572, 3150704214, 2428286686, 3959192993, 3461946742, 1862657033, 1266418056, 963775037, 2089974820, 2263052895, 1917689273, 448879540, 3550394620, 3981727096, 150775221, 3627908307, 1303187396, 508620638, 2975983352, 2726630617, 1817252668, 1876281319, 1457606340, 908771278, 3720792119, 3617206836, 2455994898, 1729034894, 1080033504]; private static const BLOCK_SIZE:uint = 8; private static const P_SZ:uint = (ROUNDS + 2); private static const SBOX_SK:uint = 0x0100; public function BlowFishKey(_arg1:ByteArray){ this.key = _arg1; setKey(_arg1); } private function F(_arg1:uint):uint{ return ((((S0[(_arg1 >>> 24)] + S1[((_arg1 >>> 16) & 0xFF)]) ^ S2[((_arg1 >>> 8) & 0xFF)]) + S3[(_arg1 & 0xFF)])); } private function BytesTo32bits(_arg1:ByteArray, _arg2:uint):uint{ return ((((((_arg1[_arg2] & 0xFF) << 24) | ((_arg1[(_arg2 + 1)] & 0xFF) << 16)) | ((_arg1[(_arg2 + 2)] & 0xFF) << 8)) | (_arg1[(_arg2 + 3)] & 0xFF))); } private function decryptBlock(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray, _arg4:uint):void{ var _local5:uint = BytesTo32bits(_arg1, _arg2); var _local6:uint = BytesTo32bits(_arg1, (_arg2 + 4)); _local5 = (_local5 ^ P[(ROUNDS + 1)]); var _local7:uint = ROUNDS; while (_local7 > 0) { _local6 = (_local6 ^ (F(_local5) ^ P[_local7])); _local5 = (_local5 ^ (F(_local6) ^ P[(_local7 - 1)])); _local7 = (_local7 - 2); }; _local6 = (_local6 ^ P[0]); Bits32ToBytes(_local6, _arg3, _arg4); Bits32ToBytes(_local5, _arg3, (_arg4 + 4)); } public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ decryptBlock(_arg1, _arg2, _arg1, _arg2); } public function getBlockSize():uint{ return (BLOCK_SIZE); } private function setKey(_arg1:ByteArray):void{ var _local5:uint; var _local6:uint; S0 = KS0.concat(); S1 = KS1.concat(); S2 = KS2.concat(); S3 = KS3.concat(); P = KP.concat(); var _local2:uint = _arg1.length; var _local3:uint; var _local4:uint; while (_local4 < P_SZ) { _local5 = 0; _local6 = 0; while (_local6 < 4) { var _temp1 = _local3; _local3 = (_local3 + 1); _local5 = ((_local5 << 8) | (_arg1[_temp1] & 0xFF)); if (_local3 >= _local2){ _local3 = 0; }; _local6++; }; P[_local4] = (P[_local4] ^ _local5); _local4++; }; processTable(0, 0, P); processTable(P[(P_SZ - 2)], P[(P_SZ - 1)], S0); processTable(S0[(SBOX_SK - 2)], S0[(SBOX_SK - 1)], S1); processTable(S1[(SBOX_SK - 2)], S1[(SBOX_SK - 1)], S2); processTable(S2[(SBOX_SK - 2)], S2[(SBOX_SK - 1)], S3); } private function processTable(_arg1:uint, _arg2:uint, _arg3:Array):void{ var _local6:uint; var _local4:uint = _arg3.length; var _local5:uint; while (_local5 < _local4) { _arg1 = (_arg1 ^ P[0]); _local6 = 1; while (_local6 < ROUNDS) { _arg2 = (_arg2 ^ (F(_arg1) ^ P[_local6])); _arg1 = (_arg1 ^ (F(_arg2) ^ P[(_local6 + 1)])); _local6 = (_local6 + 2); }; _arg2 = (_arg2 ^ P[(ROUNDS + 1)]); _arg3[_local5] = _arg2; _arg3[(_local5 + 1)] = _arg1; _arg2 = _arg1; _arg1 = _arg3[_local5]; _local5 = (_local5 + 2); }; } public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ encryptBlock(_arg1, _arg2, _arg1, _arg2); } public function dispose():void{ var _local1:uint; _local1 = 0; while (_local1 < S0.length) { S0[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < S1.length) { S1[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < S2.length) { S2[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < S3.length) { S3[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < P.length) { P[_local1] = 0; _local1++; }; S0 = null; S1 = null; S2 = null; S3 = null; P = null; _local1 = 0; while (_local1 < key.length) { key[_local1] = 0; _local1++; }; key.length = 0; key = null; Memory.gc(); } private function encryptBlock(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray, _arg4:uint):void{ var _local5:uint = BytesTo32bits(_arg1, _arg2); var _local6:uint = BytesTo32bits(_arg1, (_arg2 + 4)); _local5 = (_local5 ^ P[0]); var _local7:uint = 1; while (_local7 < ROUNDS) { _local6 = (_local6 ^ (F(_local5) ^ P[_local7])); _local5 = (_local5 ^ (F(_local6) ^ P[(_local7 + 1)])); _local7 = (_local7 + 2); }; _local6 = (_local6 ^ P[(ROUNDS + 1)]); Bits32ToBytes(_local6, _arg3, _arg4); Bits32ToBytes(_local5, _arg3, (_arg4 + 4)); } private function Bits32ToBytes(_arg1:uint, _arg2:ByteArray, _arg3:uint):void{ _arg2[(_arg3 + 3)] = _arg1; _arg2[(_arg3 + 2)] = (_arg1 >> 8); _arg2[(_arg3 + 1)] = (_arg1 >> 16); _arg2[_arg3] = (_arg1 >> 24); } public function toString():String{ return ("blowfish"); } } }//package com.hurlant.crypto.symmetric
Section 15
//CBCMode (com.hurlant.crypto.symmetric.CBCMode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class CBCMode extends IVMode implements IMode { public function CBCMode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, _arg2); } public function toString():String{ return ((key.toString() + "-cbc")); } public function encrypt(_arg1:ByteArray):void{ var _local4:uint; padding.pad(_arg1); var _local2:ByteArray = getIV4e(); var _local3:uint; while (_local3 < _arg1.length) { _local4 = 0; while (_local4 < blockSize) { _arg1[(_local3 + _local4)] = (_arg1[(_local3 + _local4)] ^ _local2[_local4]); _local4++; }; key.encrypt(_arg1, _local3); _local2.position = 0; _local2.writeBytes(_arg1, _local3, blockSize); _local3 = (_local3 + blockSize); }; } public function decrypt(_arg1:ByteArray):void{ var _local5:uint; var _local2:ByteArray = getIV4d(); var _local3:ByteArray = new ByteArray(); var _local4:uint; while (_local4 < _arg1.length) { _local3.position = 0; _local3.writeBytes(_arg1, _local4, blockSize); key.decrypt(_arg1, _local4); _local5 = 0; while (_local5 < blockSize) { _arg1[(_local4 + _local5)] = (_arg1[(_local4 + _local5)] ^ _local2[_local5]); _local5++; }; _local2.position = 0; _local2.writeBytes(_local3, 0, blockSize); _local4 = (_local4 + blockSize); }; padding.unpad(_arg1); } } }//package com.hurlant.crypto.symmetric
Section 16
//CFB8Mode (com.hurlant.crypto.symmetric.CFB8Mode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class CFB8Mode extends IVMode implements IMode { public function CFB8Mode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, null); } public function toString():String{ return ((key.toString() + "-cfb8")); } public function encrypt(_arg1:ByteArray):void{ var _local5:uint; var _local2:ByteArray = getIV4e(); var _local3:ByteArray = new ByteArray(); var _local4:uint; while (_local4 < _arg1.length) { _local3.position = 0; _local3.writeBytes(_local2); key.encrypt(_local2); _arg1[_local4] = (_arg1[_local4] ^ _local2[0]); _local5 = 0; while (_local5 < (blockSize - 1)) { _local2[_local5] = _local3[(_local5 + 1)]; _local5++; }; _local2[(blockSize - 1)] = _arg1[_local4]; _local4++; }; } public function decrypt(_arg1:ByteArray):void{ var _local5:uint; var _local6:uint; var _local2:ByteArray = getIV4d(); var _local3:ByteArray = new ByteArray(); var _local4:uint; while (_local4 < _arg1.length) { _local5 = _arg1[_local4]; _local3.position = 0; _local3.writeBytes(_local2); key.encrypt(_local2); _arg1[_local4] = (_arg1[_local4] ^ _local2[0]); _local6 = 0; while (_local6 < (blockSize - 1)) { _local2[_local6] = _local3[(_local6 + 1)]; _local6++; }; _local2[(blockSize - 1)] = _local5; _local4++; }; } } }//package com.hurlant.crypto.symmetric
Section 17
//CFBMode (com.hurlant.crypto.symmetric.CFBMode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class CFBMode extends IVMode implements IMode { public function CFBMode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, null); } public function toString():String{ return ((key.toString() + "-cfb")); } public function encrypt(_arg1:ByteArray):void{ var _local5:uint; var _local6:uint; var _local2:uint = _arg1.length; var _local3:ByteArray = getIV4e(); var _local4:uint; while (_local4 < _arg1.length) { key.encrypt(_local3); _local5 = (((_local4 + blockSize))<_local2) ? blockSize : (_local2 - _local4); _local6 = 0; while (_local6 < _local5) { _arg1[(_local4 + _local6)] = (_arg1[(_local4 + _local6)] ^ _local3[_local6]); _local6++; }; _local3.position = 0; _local3.writeBytes(_arg1, _local4, _local5); _local4 = (_local4 + blockSize); }; } public function decrypt(_arg1:ByteArray):void{ var _local6:uint; var _local7:uint; var _local2:uint = _arg1.length; var _local3:ByteArray = getIV4d(); var _local4:ByteArray = new ByteArray(); var _local5:uint; while (_local5 < _arg1.length) { key.encrypt(_local3); _local6 = (((_local5 + blockSize))<_local2) ? blockSize : (_local2 - _local5); _local4.position = 0; _local4.writeBytes(_arg1, _local5, _local6); _local7 = 0; while (_local7 < _local6) { _arg1[(_local5 + _local7)] = (_arg1[(_local5 + _local7)] ^ _local3[_local7]); _local7++; }; _local3.position = 0; _local3.writeBytes(_local4); _local5 = (_local5 + blockSize); }; } } }//package com.hurlant.crypto.symmetric
Section 18
//CTRMode (com.hurlant.crypto.symmetric.CTRMode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class CTRMode extends IVMode implements IMode { public function CTRMode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, _arg2); } private function core(_arg1:ByteArray, _arg2:ByteArray):void{ var _local6:uint; var _local3:ByteArray = new ByteArray(); var _local4:ByteArray = new ByteArray(); _local3.writeBytes(_arg2); var _local5:uint; while (_local5 < _arg1.length) { _local4.position = 0; _local4.writeBytes(_local3); key.encrypt(_local4); _local6 = 0; while (_local6 < blockSize) { _arg1[(_local5 + _local6)] = (_arg1[(_local5 + _local6)] ^ _local4[_local6]); _local6++; }; _local6 = (blockSize - 1); while (_local6 >= 0) { var _local7 = _local3; var _local8 = _local6; var _local9 = (_local7[_local8] + 1); _local7[_local8] = _local9; if (_local3[_local6] != 0){ break; }; _local6--; }; _local5 = (_local5 + blockSize); }; } public function toString():String{ return ((key.toString() + "-ctr")); } public function encrypt(_arg1:ByteArray):void{ padding.pad(_arg1); var _local2:ByteArray = getIV4e(); core(_arg1, _local2); } public function decrypt(_arg1:ByteArray):void{ var _local2:ByteArray = getIV4d(); core(_arg1, _local2); padding.unpad(_arg1); } } }//package com.hurlant.crypto.symmetric
Section 19
//DESKey (com.hurlant.crypto.symmetric.DESKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class DESKey implements ISymmetricKey { protected var encKey:Array; protected var key:ByteArray; protected var decKey:Array; private static const SP8:Array = [268439616, 0x1000, 262144, 268701760, 268435456, 268439616, 64, 268435456, 262208, 268697600, 268701760, 266240, 268701696, 266304, 0x1000, 64, 268697600, 268435520, 268439552, 4160, 266240, 262208, 268697664, 268701696, 4160, 0, 0, 268697664, 268435520, 268439552, 266304, 262144, 266304, 262144, 268701696, 0x1000, 64, 268697664, 0x1000, 266304, 268439552, 64, 268435520, 268697600, 268697664, 268435456, 262144, 268439616, 0, 268701760, 262208, 268435520, 268697600, 268439552, 268439616, 0, 268701760, 266240, 266240, 4160, 4160, 262208, 268435456, 268701696]; private static const bytebit:Array = [128, 64, 32, 16, 8, 4, 2, 1]; private static const bigbyte:Array = [0x800000, 0x400000, 0x200000, 0x100000, 524288, 262144, 131072, 65536, 0x8000, 0x4000, 0x2000, 0x1000, 0x0800, 0x0400, 0x0200, 0x0100, 128, 64, 32, 16, 8, 4, 2, 1]; private static const pc1:Array = [56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3]; private static const pc2:Array = [13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9, 22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1, 40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47, 43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31]; private static const Df_Key:Array = [1, 35, 69, 103, 137, 171, 205, 239, 254, 220, 186, 152, 118, 84, 50, 16, 137, 171, 205, 239, 1, 35, 69, 103]; private static const totrot:Array = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; private static const SP1:Array = [16843776, 0, 65536, 16843780, 16842756, 66564, 4, 65536, 0x0400, 16843776, 16843780, 0x0400, 16778244, 16842756, 16777216, 4, 0x0404, 16778240, 16778240, 66560, 66560, 16842752, 16842752, 16778244, 65540, 16777220, 16777220, 65540, 0, 0x0404, 66564, 16777216, 65536, 16843780, 4, 16842752, 16843776, 16777216, 16777216, 0x0400, 16842756, 65536, 66560, 16777220, 0x0400, 4, 16778244, 66564, 16843780, 65540, 16842752, 16778244, 16777220, 0x0404, 66564, 16843776, 0x0404, 16778240, 16778240, 0, 65540, 66560, 0, 16842756]; private static const SP2:Array = [2148565024, 2147516416, 0x8000, 1081376, 0x100000, 32, 2148532256, 2147516448, 2147483680, 2148565024, 2148564992, 2147483648, 2147516416, 0x100000, 32, 2148532256, 0x108000, 0x100020, 2147516448, 0, 2147483648, 0x8000, 1081376, 2148532224, 0x100020, 2147483680, 0, 0x108000, 32800, 2148564992, 2148532224, 32800, 0, 1081376, 2148532256, 0x100000, 2147516448, 2148532224, 2148564992, 0x8000, 2148532224, 2147516416, 32, 2148565024, 1081376, 32, 0x8000, 2147483648, 32800, 2148564992, 0x100000, 2147483680, 0x100020, 2147516448, 2147483680, 0x100020, 0x108000, 0, 2147516416, 32800, 2147483648, 2148532256, 2148565024, 0x108000]; private static const SP3:Array = [520, 134349312, 0, 134348808, 134218240, 0, 131592, 134218240, 131080, 134217736, 134217736, 131072, 134349320, 131080, 134348800, 520, 134217728, 8, 134349312, 0x0200, 131584, 134348800, 134348808, 131592, 134218248, 131584, 131072, 134218248, 8, 134349320, 0x0200, 134217728, 134349312, 134217728, 131080, 520, 131072, 134349312, 134218240, 0, 0x0200, 131080, 134349320, 134218240, 134217736, 0x0200, 0, 134348808, 134218248, 131072, 134217728, 134349320, 8, 131592, 131584, 134217736, 134348800, 134218248, 520, 134348800, 131592, 8, 134348808, 131584]; private static const SP4:Array = [8396801, 8321, 8321, 128, 8396928, 0x800081, 0x800001, 8193, 0, 0x802000, 0x802000, 8396929, 129, 0, 0x800080, 0x800001, 1, 0x2000, 0x800000, 8396801, 128, 0x800000, 8193, 8320, 0x800081, 1, 8320, 0x800080, 0x2000, 8396928, 8396929, 129, 0x800080, 0x800001, 0x802000, 8396929, 129, 0, 0, 0x802000, 8320, 0x800080, 0x800081, 1, 8396801, 8321, 8321, 128, 8396929, 129, 1, 0x2000, 0x800001, 8193, 8396928, 0x800081, 8193, 8320, 0x800000, 8396801, 128, 0x800000, 0x2000, 8396928]; private static const SP5:Array = [0x0100, 34078976, 34078720, 1107296512, 524288, 0x0100, 1073741824, 34078720, 1074266368, 524288, 33554688, 1074266368, 1107296512, 1107820544, 524544, 1073741824, 33554432, 1074266112, 1074266112, 0, 1073742080, 1107820800, 1107820800, 33554688, 1107820544, 1073742080, 0, 1107296256, 34078976, 33554432, 1107296256, 524544, 524288, 1107296512, 0x0100, 33554432, 1073741824, 34078720, 1107296512, 1074266368, 33554688, 1073741824, 1107820544, 34078976, 1074266368, 0x0100, 33554432, 1107820544, 1107820800, 524544, 1107296256, 1107820800, 34078720, 0, 1074266112, 1107296256, 524544, 33554688, 1073742080, 524288, 0, 1074266112, 34078976, 1073742080]; private static const SP6:Array = [536870928, 541065216, 0x4000, 541081616, 541065216, 16, 541081616, 0x400000, 536887296, 4210704, 0x400000, 536870928, 0x400010, 536887296, 536870912, 16400, 0, 0x400010, 536887312, 0x4000, 0x404000, 536887312, 16, 541065232, 541065232, 0, 4210704, 541081600, 16400, 0x404000, 541081600, 536870912, 536887296, 16, 541065232, 0x404000, 541081616, 0x400000, 16400, 536870928, 0x400000, 536887296, 536870912, 16400, 536870928, 541081616, 0x404000, 541065216, 4210704, 541081600, 0, 541065232, 16, 0x4000, 541065216, 4210704, 0x4000, 0x400010, 536887312, 0, 541081600, 536870912, 0x400010, 536887312]; private static const SP7:Array = [0x200000, 69206018, 67110914, 0, 0x0800, 67110914, 2099202, 69208064, 69208066, 0x200000, 0, 67108866, 2, 67108864, 69206018, 2050, 67110912, 2099202, 0x200002, 67110912, 67108866, 69206016, 69208064, 0x200002, 69206016, 0x0800, 2050, 69208066, 0x200800, 2, 67108864, 0x200800, 67108864, 0x200800, 0x200000, 67110914, 67110914, 69206018, 69206018, 2, 0x200002, 67108864, 67110912, 0x200000, 69208064, 2050, 2099202, 69208064, 2050, 67108866, 69208066, 69206016, 0x200800, 0, 2, 69208066, 0, 2099202, 69206016, 0x0800, 67108866, 67110912, 0x0800, 0x200002]; public function DESKey(_arg1:ByteArray){ this.key = _arg1; this.encKey = generateWorkingKey(true, _arg1, 0); this.decKey = generateWorkingKey(false, _arg1, 0); } protected function generateWorkingKey(_arg1:Boolean, _arg2:ByteArray, _arg3:uint):Array{ var _local7:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; var _local4:Array = []; var _local5:ByteArray = new ByteArray(); var _local6:ByteArray = new ByteArray(); var _local8:uint; while (_local8 < 56) { _local7 = pc1[_local8]; _local5[_local8] = !(((_arg2[(_arg3 + (_local7 >>> 3))] & bytebit[(_local7 & 7)]) == 0)); _local8++; }; var _local9:uint; while (_local9 < 16) { if (_arg1){ _local10 = (_local9 << 1); } else { _local10 = ((15 - _local9) << 1); }; _local11 = (_local10 + 1); _local4[_local10] = (_local4[_local11] = 0); _local8 = 0; while (_local8 < 28) { _local7 = (_local8 + totrot[_local9]); if (_local7 < 28){ _local6[_local8] = _local5[_local7]; } else { _local6[_local8] = _local5[(_local7 - 28)]; }; _local8++; }; _local8 = 28; while (_local8 < 56) { _local7 = (_local8 + totrot[_local9]); if (_local7 < 56){ _local6[_local8] = _local5[_local7]; } else { _local6[_local8] = _local5[(_local7 - 28)]; }; _local8++; }; _local8 = 0; while (_local8 < 24) { if (_local6[pc2[_local8]]){ _local4[_local10] = (_local4[_local10] | bigbyte[_local8]); }; if (_local6[pc2[(_local8 + 24)]]){ _local4[_local11] = (_local4[_local11] | bigbyte[_local8]); }; _local8++; }; _local9++; }; _local9 = 0; while (_local9 != 32) { _local12 = _local4[_local9]; _local13 = _local4[(_local9 + 1)]; _local4[_local9] = (((((_local12 & 0xFC0000) << 6) | ((_local12 & 4032) << 10)) | ((_local13 & 0xFC0000) >>> 10)) | ((_local13 & 4032) >>> 6)); _local4[(_local9 + 1)] = (((((_local12 & 258048) << 12) | ((_local12 & 63) << 16)) | ((_local13 & 258048) >>> 4)) | (_local13 & 63)); _local9 = (_local9 + 2); }; return (_local4); } public function getBlockSize():uint{ return (8); } public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ desFunc(encKey, _arg1, _arg2, _arg1, _arg2); } public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ desFunc(decKey, _arg1, _arg2, _arg1, _arg2); } protected function desFunc(_arg1:Array, _arg2:ByteArray, _arg3:uint, _arg4:ByteArray, _arg5:uint):void{ var _local6:uint; var _local7:uint; var _local8:uint; var _local10:uint; _local8 = ((_arg2[(_arg3 + 0)] & 0xFF) << 24); _local8 = (_local8 | ((_arg2[(_arg3 + 1)] & 0xFF) << 16)); _local8 = (_local8 | ((_arg2[(_arg3 + 2)] & 0xFF) << 8)); _local8 = (_local8 | (_arg2[(_arg3 + 3)] & 0xFF)); _local7 = ((_arg2[(_arg3 + 4)] & 0xFF) << 24); _local7 = (_local7 | ((_arg2[(_arg3 + 5)] & 0xFF) << 16)); _local7 = (_local7 | ((_arg2[(_arg3 + 6)] & 0xFF) << 8)); _local7 = (_local7 | (_arg2[(_arg3 + 7)] & 0xFF)); _local6 = (((_local8 >>> 4) ^ _local7) & 252645135); _local7 = (_local7 ^ _local6); _local8 = (_local8 ^ (_local6 << 4)); _local6 = (((_local8 >>> 16) ^ _local7) & 0xFFFF); _local7 = (_local7 ^ _local6); _local8 = (_local8 ^ (_local6 << 16)); _local6 = (((_local7 >>> 2) ^ _local8) & 858993459); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ (_local6 << 2)); _local6 = (((_local7 >>> 8) ^ _local8) & 0xFF00FF); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ (_local6 << 8)); _local7 = (((_local7 << 1) | ((_local7 >>> 31) & 1)) & 4294967295); _local6 = ((_local8 ^ _local7) & 2863311530); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ _local6); _local8 = (((_local8 << 1) | ((_local8 >>> 31) & 1)) & 4294967295); var _local9:uint; while (_local9 < 8) { _local6 = ((_local7 << 28) | (_local7 >>> 4)); _local6 = (_local6 ^ _arg1[((_local9 * 4) + 0)]); _local10 = SP7[(_local6 & 63)]; _local10 = (_local10 | SP5[((_local6 >>> 8) & 63)]); _local10 = (_local10 | SP3[((_local6 >>> 16) & 63)]); _local10 = (_local10 | SP1[((_local6 >>> 24) & 63)]); _local6 = (_local7 ^ _arg1[((_local9 * 4) + 1)]); _local10 = (_local10 | SP8[(_local6 & 63)]); _local10 = (_local10 | SP6[((_local6 >>> 8) & 63)]); _local10 = (_local10 | SP4[((_local6 >>> 16) & 63)]); _local10 = (_local10 | SP2[((_local6 >>> 24) & 63)]); _local8 = (_local8 ^ _local10); _local6 = ((_local8 << 28) | (_local8 >>> 4)); _local6 = (_local6 ^ _arg1[((_local9 * 4) + 2)]); _local10 = SP7[(_local6 & 63)]; _local10 = (_local10 | SP5[((_local6 >>> 8) & 63)]); _local10 = (_local10 | SP3[((_local6 >>> 16) & 63)]); _local10 = (_local10 | SP1[((_local6 >>> 24) & 63)]); _local6 = (_local8 ^ _arg1[((_local9 * 4) + 3)]); _local10 = (_local10 | SP8[(_local6 & 63)]); _local10 = (_local10 | SP6[((_local6 >>> 8) & 63)]); _local10 = (_local10 | SP4[((_local6 >>> 16) & 63)]); _local10 = (_local10 | SP2[((_local6 >>> 24) & 63)]); _local7 = (_local7 ^ _local10); _local9++; }; _local7 = ((_local7 << 31) | (_local7 >>> 1)); _local6 = ((_local8 ^ _local7) & 2863311530); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ _local6); _local8 = ((_local8 << 31) | (_local8 >>> 1)); _local6 = (((_local8 >>> 8) ^ _local7) & 0xFF00FF); _local7 = (_local7 ^ _local6); _local8 = (_local8 ^ (_local6 << 8)); _local6 = (((_local8 >>> 2) ^ _local7) & 858993459); _local7 = (_local7 ^ _local6); _local8 = (_local8 ^ (_local6 << 2)); _local6 = (((_local7 >>> 16) ^ _local8) & 0xFFFF); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ (_local6 << 16)); _local6 = (((_local7 >>> 4) ^ _local8) & 252645135); _local8 = (_local8 ^ _local6); _local7 = (_local7 ^ (_local6 << 4)); _arg4[(_arg5 + 0)] = ((_local7 >>> 24) & 0xFF); _arg4[(_arg5 + 1)] = ((_local7 >>> 16) & 0xFF); _arg4[(_arg5 + 2)] = ((_local7 >>> 8) & 0xFF); _arg4[(_arg5 + 3)] = (_local7 & 0xFF); _arg4[(_arg5 + 4)] = ((_local8 >>> 24) & 0xFF); _arg4[(_arg5 + 5)] = ((_local8 >>> 16) & 0xFF); _arg4[(_arg5 + 6)] = ((_local8 >>> 8) & 0xFF); _arg4[(_arg5 + 7)] = (_local8 & 0xFF); } public function toString():String{ return ("des"); } public function dispose():void{ var _local1:uint; _local1 = 0; while (_local1 < encKey.length) { encKey[_local1] = 0; _local1++; }; _local1 = 0; while (_local1 < decKey.length) { decKey[_local1] = 0; _local1++; }; encKey = null; decKey = null; _local1 = 0; while (_local1 < key.length) { key[_local1] = 0; _local1++; }; key.length = 0; key = null; Memory.gc(); } } }//package com.hurlant.crypto.symmetric
Section 20
//ECBMode (com.hurlant.crypto.symmetric.ECBMode) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class ECBMode implements IMode, ICipher { private var key:ISymmetricKey; private var padding:IPad; public function ECBMode(_arg1:ISymmetricKey, _arg2:IPad=null){ this.key = _arg1; if (_arg2 == null){ _arg2 = new PKCS5(_arg1.getBlockSize()); } else { _arg2.setBlockSize(_arg1.getBlockSize()); }; this.padding = _arg2; } public function encrypt(_arg1:ByteArray):void{ padding.pad(_arg1); _arg1.position = 0; var _local2:uint = key.getBlockSize(); var _local3:ByteArray = new ByteArray(); var _local4:ByteArray = new ByteArray(); var _local5:uint; while (_local5 < _arg1.length) { _local3.length = 0; _arg1.readBytes(_local3, 0, _local2); key.encrypt(_local3); _local4.writeBytes(_local3); _local5 = (_local5 + _local2); }; _arg1.length = 0; _arg1.writeBytes(_local4); } public function getBlockSize():uint{ return (key.getBlockSize()); } public function decrypt(_arg1:ByteArray):void{ _arg1.position = 0; var _local2:uint = key.getBlockSize(); if ((_arg1.length % _local2) != 0){ throw (new Error(("ECB mode cipher length must be a multiple of blocksize " + _local2))); }; var _local3:ByteArray = new ByteArray(); var _local4:ByteArray = new ByteArray(); var _local5:uint; while (_local5 < _arg1.length) { _local3.length = 0; _arg1.readBytes(_local3, 0, _local2); key.decrypt(_local3); _local4.writeBytes(_local3); _local5 = (_local5 + _local2); }; padding.unpad(_local4); _arg1.length = 0; _arg1.writeBytes(_local4); } public function toString():String{ return ((key.toString() + "-ecb")); } public function dispose():void{ key.dispose(); key = null; padding = null; Memory.gc(); } } }//package com.hurlant.crypto.symmetric
Section 21
//ICipher (com.hurlant.crypto.symmetric.ICipher) package com.hurlant.crypto.symmetric { import flash.utils.*; public interface ICipher { function encrypt(_arg1:ByteArray):void; function getBlockSize():uint; function toString():String; function decrypt(_arg1:ByteArray):void; function dispose():void; } }//package com.hurlant.crypto.symmetric
Section 22
//IMode (com.hurlant.crypto.symmetric.IMode) package com.hurlant.crypto.symmetric { public interface IMode extends ICipher { } }//package com.hurlant.crypto.symmetric
Section 23
//IPad (com.hurlant.crypto.symmetric.IPad) package com.hurlant.crypto.symmetric { import flash.utils.*; public interface IPad { function unpad(_arg1:ByteArray):void; function pad(_arg1:ByteArray):void; function setBlockSize(_arg1:uint):void; } }//package com.hurlant.crypto.symmetric
Section 24
//IStreamCipher (com.hurlant.crypto.symmetric.IStreamCipher) package com.hurlant.crypto.symmetric { public interface IStreamCipher extends ICipher { } }//package com.hurlant.crypto.symmetric
Section 25
//ISymmetricKey (com.hurlant.crypto.symmetric.ISymmetricKey) package com.hurlant.crypto.symmetric { import flash.utils.*; public interface ISymmetricKey { function encrypt(_arg1:ByteArray, _arg2:uint=0):void; function getBlockSize():uint; function toString():String; function decrypt(_arg1:ByteArray, _arg2:uint=0):void; function dispose():void; } }//package com.hurlant.crypto.symmetric
Section 26
//IVMode (com.hurlant.crypto.symmetric.IVMode) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class IVMode { protected var lastIV:ByteArray; protected var iv:ByteArray; protected var blockSize:uint; protected var padding:IPad; protected var prng:Random; protected var key:ISymmetricKey; public function IVMode(_arg1:ISymmetricKey, _arg2:IPad=null){ this.key = _arg1; blockSize = _arg1.getBlockSize(); if (_arg2 == null){ _arg2 = new PKCS5(blockSize); } else { _arg2.setBlockSize(blockSize); }; this.padding = _arg2; prng = new Random(); iv = null; lastIV = new ByteArray(); } public function set IV(_arg1:ByteArray):void{ iv = _arg1; lastIV.length = 0; lastIV.writeBytes(iv); } protected function getIV4d():ByteArray{ var _local1:ByteArray = new ByteArray(); if (iv){ _local1.writeBytes(iv); } else { throw (new Error("an IV must be set before calling decrypt()")); }; return (_local1); } protected function getIV4e():ByteArray{ var _local1:ByteArray = new ByteArray(); if (iv){ _local1.writeBytes(iv); } else { prng.nextBytes(_local1, blockSize); }; lastIV.length = 0; lastIV.writeBytes(_local1); return (_local1); } public function get IV():ByteArray{ return (lastIV); } public function dispose():void{ var _local1:uint; if (iv != null){ _local1 = 0; while (_local1 < iv.length) { iv[_local1] = prng.nextByte(); _local1++; }; iv.length = 0; iv = null; }; if (lastIV != null){ _local1 = 0; while (_local1 < iv.length) { lastIV[_local1] = prng.nextByte(); _local1++; }; lastIV.length = 0; lastIV = null; }; key.dispose(); key = null; padding = null; prng.dispose(); prng = null; Memory.gc(); } public function getBlockSize():uint{ return (key.getBlockSize()); } } }//package com.hurlant.crypto.symmetric
Section 27
//NullPad (com.hurlant.crypto.symmetric.NullPad) package com.hurlant.crypto.symmetric { import flash.utils.*; public class NullPad implements IPad { public function unpad(_arg1:ByteArray):void{ } public function pad(_arg1:ByteArray):void{ } public function setBlockSize(_arg1:uint):void{ } } }//package com.hurlant.crypto.symmetric
Section 28
//OFBMode (com.hurlant.crypto.symmetric.OFBMode) package com.hurlant.crypto.symmetric { import flash.utils.*; public class OFBMode extends IVMode implements IMode { public function OFBMode(_arg1:ISymmetricKey, _arg2:IPad=null){ super(_arg1, null); } private function core(_arg1:ByteArray, _arg2:ByteArray):void{ var _local6:uint; var _local7:uint; var _local3:uint = _arg1.length; var _local4:ByteArray = new ByteArray(); var _local5:uint; while (_local5 < _arg1.length) { key.encrypt(_arg2); _local4.position = 0; _local4.writeBytes(_arg2); _local6 = (((_local5 + blockSize))<_local3) ? blockSize : (_local3 - _local5); _local7 = 0; while (_local7 < _local6) { _arg1[(_local5 + _local7)] = (_arg1[(_local5 + _local7)] ^ _arg2[_local7]); _local7++; }; _arg2.position = 0; _arg2.writeBytes(_local4); _local5 = (_local5 + blockSize); }; } public function toString():String{ return ((key.toString() + "-ofb")); } public function encrypt(_arg1:ByteArray):void{ var _local2:ByteArray = getIV4e(); core(_arg1, _local2); } public function decrypt(_arg1:ByteArray):void{ var _local2:ByteArray = getIV4d(); core(_arg1, _local2); } } }//package com.hurlant.crypto.symmetric
Section 29
//PKCS5 (com.hurlant.crypto.symmetric.PKCS5) package com.hurlant.crypto.symmetric { import flash.utils.*; public class PKCS5 implements IPad { private var blockSize:uint; public function PKCS5(_arg1:uint=0){ this.blockSize = _arg1; } public function pad(_arg1:ByteArray):void{ var _local2:uint = (blockSize - (_arg1.length % blockSize)); var _local3:uint; while (_local3 < _local2) { _arg1[_arg1.length] = _local2; _local3++; }; } public function setBlockSize(_arg1:uint):void{ blockSize = _arg1; } public function unpad(_arg1:ByteArray):void{ var _local4:uint; var _local2:uint = (_arg1.length % blockSize); if (_local2 != 0){ throw (new Error("PKCS#5::unpad: ByteArray.length isn't a multiple of the blockSize")); }; _local2 = _arg1[(_arg1.length - 1)]; var _local3:uint = _local2; while (_local3 > 0) { _local4 = _arg1[(_arg1.length - 1)]; _arg1.length--; if (_local2 != _local4){ throw (new Error((((("PKCS#5:unpad: Invalid padding value. expected [" + _local2) + "], found [") + _local4) + "]"))); }; _local3--; }; } } }//package com.hurlant.crypto.symmetric
Section 30
//SimpleIVMode (com.hurlant.crypto.symmetric.SimpleIVMode) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class SimpleIVMode implements IMode, ICipher { protected var mode:IVMode; protected var cipher:ICipher; public function SimpleIVMode(_arg1:IVMode){ this.mode = _arg1; cipher = (_arg1 as ICipher); } public function encrypt(_arg1:ByteArray):void{ cipher.encrypt(_arg1); var _local2:ByteArray = new ByteArray(); _local2.writeBytes(mode.IV); _local2.writeBytes(_arg1); _arg1.position = 0; _arg1.writeBytes(_local2); } public function decrypt(_arg1:ByteArray):void{ var _local2:ByteArray = new ByteArray(); _local2.writeBytes(_arg1, 0, getBlockSize()); mode.IV = _local2; _local2 = new ByteArray(); _local2.writeBytes(_arg1, getBlockSize()); cipher.decrypt(_local2); _arg1.length = 0; _arg1.writeBytes(_local2); } public function dispose():void{ mode.dispose(); mode = null; cipher = null; Memory.gc(); } public function getBlockSize():uint{ return (mode.getBlockSize()); } public function toString():String{ return (("simple-" + cipher.toString())); } } }//package com.hurlant.crypto.symmetric
Section 31
//TripleDESKey (com.hurlant.crypto.symmetric.TripleDESKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.util.*; public class TripleDESKey extends DESKey { protected var encKey2:Array; protected var encKey3:Array; protected var decKey2:Array; protected var decKey3:Array; public function TripleDESKey(_arg1:ByteArray){ super(_arg1); encKey2 = generateWorkingKey(false, _arg1, 8); decKey2 = generateWorkingKey(true, _arg1, 8); if (_arg1.length > 16){ encKey3 = generateWorkingKey(true, _arg1, 16); decKey3 = generateWorkingKey(false, _arg1, 16); } else { encKey3 = encKey; decKey3 = decKey; }; } override public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ desFunc(encKey, _arg1, _arg2, _arg1, _arg2); desFunc(encKey2, _arg1, _arg2, _arg1, _arg2); desFunc(encKey3, _arg1, _arg2, _arg1, _arg2); } override public function dispose():void{ super.dispose(); var _local1:uint; if (encKey2 != null){ _local1 = 0; while (_local1 < encKey2.length) { encKey2[_local1] = 0; _local1++; }; encKey2 = null; }; if (encKey3 != null){ _local1 = 0; while (_local1 < encKey3.length) { encKey3[_local1] = 0; _local1++; }; encKey3 = null; }; if (decKey2 != null){ _local1 = 0; while (_local1 < decKey2.length) { decKey2[_local1] = 0; _local1++; }; decKey2 = null; }; if (decKey3 != null){ _local1 = 0; while (_local1 < decKey3.length) { decKey3[_local1] = 0; _local1++; }; decKey3 = null; }; Memory.gc(); } override public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ desFunc(decKey3, _arg1, _arg2, _arg1, _arg2); desFunc(decKey2, _arg1, _arg2, _arg1, _arg2); desFunc(decKey, _arg1, _arg2, _arg1, _arg2); } override public function toString():String{ return ("3des"); } } }//package com.hurlant.crypto.symmetric
Section 32
//XTeaKey (com.hurlant.crypto.symmetric.XTeaKey) package com.hurlant.crypto.symmetric { import flash.utils.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class XTeaKey implements ISymmetricKey { public const NUM_ROUNDS:uint = 64; private var k:Array; public function XTeaKey(_arg1:ByteArray){ _arg1.position = 0; k = [_arg1.readUnsignedInt(), _arg1.readUnsignedInt(), _arg1.readUnsignedInt(), _arg1.readUnsignedInt()]; } public function encrypt(_arg1:ByteArray, _arg2:uint=0):void{ var _local5:uint; _arg1.position = _arg2; var _local3:uint = _arg1.readUnsignedInt(); var _local4:uint = _arg1.readUnsignedInt(); var _local6:uint; var _local7:uint = 2654435769; _local5 = 0; while (_local5 < NUM_ROUNDS) { _local3 = (_local3 + ((((_local4 << 4) ^ (_local4 >> 5)) + _local4) ^ (_local6 + k[(_local6 & 3)]))); _local6 = (_local6 + _local7); _local4 = (_local4 + ((((_local3 << 4) ^ (_local3 >> 5)) + _local3) ^ (_local6 + k[((_local6 >> 11) & 3)]))); _local5++; }; _arg1.position = (_arg1.position - 8); _arg1.writeUnsignedInt(_local3); _arg1.writeUnsignedInt(_local4); } public function decrypt(_arg1:ByteArray, _arg2:uint=0):void{ var _local5:uint; _arg1.position = _arg2; var _local3:uint = _arg1.readUnsignedInt(); var _local4:uint = _arg1.readUnsignedInt(); var _local6:uint = 2654435769; var _local7:uint = (_local6 * NUM_ROUNDS); _local5 = 0; while (_local5 < NUM_ROUNDS) { _local4 = (_local4 - ((((_local3 << 4) ^ (_local3 >> 5)) + _local3) ^ (_local7 + k[((_local7 >> 11) & 3)]))); _local7 = (_local7 - _local6); _local3 = (_local3 - ((((_local4 << 4) ^ (_local4 >> 5)) + _local4) ^ (_local7 + k[(_local7 & 3)]))); _local5++; }; _arg1.position = (_arg1.position - 8); _arg1.writeUnsignedInt(_local3); _arg1.writeUnsignedInt(_local4); } public function getBlockSize():uint{ return (8); } public function toString():String{ return ("xtea"); } public function dispose():void{ var _local1:Random = new Random(); var _local2:uint; while (_local2 < k.length) { k[_local2] = _local1.nextByte(); delete k[_local2]; _local2++; }; k = null; Memory.gc(); } public static function parseKey(_arg1:String):XTeaKey{ var _local2:ByteArray = new ByteArray(); _local2.writeUnsignedInt(parseInt(_arg1.substr(0, 8), 16)); _local2.writeUnsignedInt(parseInt(_arg1.substr(8, 8), 16)); _local2.writeUnsignedInt(parseInt(_arg1.substr(16, 8), 16)); _local2.writeUnsignedInt(parseInt(_arg1.substr(24, 8), 16)); _local2.position = 0; return (new XTeaKey(_local2)); } } }//package com.hurlant.crypto.symmetric
Section 33
//Crypto (com.hurlant.crypto.Crypto) package com.hurlant.crypto { import flash.utils.*; import com.hurlant.crypto.symmetric.*; import com.hurlant.crypto.hash.*; import com.hurlant.crypto.rsa.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class Crypto { private var b64:Base64; public static function getCipher(_arg1:String, _arg2:ByteArray, _arg3:IPad=null):ICipher{ var _local5:ICipher; var _local4:Array = _arg1.split("-"); switch (_local4[0]){ case "simple": _local4.shift(); _arg1 = _local4.join("-"); _local5 = getCipher(_arg1, _arg2, _arg3); if ((_local5 is IVMode)){ return (new SimpleIVMode((_local5 as IVMode))); }; return (_local5); case "aes": case "aes128": case "aes192": case "aes256": _local4.shift(); if ((_arg2.length * 8) == _local4[0]){ _local4.shift(); }; return (getMode(_local4[0], new AESKey(_arg2), _arg3)); case "bf": case "blowfish": _local4.shift(); return (getMode(_local4[0], new BlowFishKey(_arg2), _arg3)); case "des": _local4.shift(); if (((!((_local4[0] == "ede"))) && (!((_local4[0] == "ede3"))))){ return (getMode(_local4[0], new DESKey(_arg2), _arg3)); }; if (_local4.length == 1){ _local4.push("ecb"); }; case "3des": case "des3": _local4.shift(); return (getMode(_local4[0], new TripleDESKey(_arg2), _arg3)); case "xtea": _local4.shift(); return (getMode(_local4[0], new XTeaKey(_arg2), _arg3)); case "rc4": _local4.shift(); return (new ARC4(_arg2)); }; return (null); } public static function getHash(_arg1:String):IHash{ switch (_arg1){ case "md2": return (new MD2()); case "md5": return (new MD5()); case "sha": case "sha1": return (new SHA1()); case "sha224": return (new SHA224()); case "sha256": return (new SHA256()); }; return (null); } public static function getRSA(_arg1:String, _arg2:String):RSAKey{ return (RSAKey.parsePublicKey(_arg2, _arg1)); } private static function getMode(_arg1:String, _arg2:ISymmetricKey, _arg3:IPad=null):IMode{ switch (_arg1){ case "ecb": return (new ECBMode(_arg2, _arg3)); case "cfb": return (new CFBMode(_arg2, _arg3)); case "cfb8": return (new CFB8Mode(_arg2, _arg3)); case "ofb": return (new OFBMode(_arg2, _arg3)); case "ctr": return (new CTRMode(_arg2, _arg3)); case "cbc": default: return (new CBCMode(_arg2, _arg3)); }; } public static function getKeySize(_arg1:String):uint{ var _local2:Array = _arg1.split("-"); switch (_local2[0]){ case "simple": _local2.shift(); return (getKeySize(_local2.join("-"))); case "aes128": return (16); case "aes192": return (24); case "aes256": return (32); case "aes": _local2.shift(); return ((parseInt(_local2[0]) / 8)); case "bf": case "blowfish": return (16); case "des": _local2.shift(); switch (_local2[0]){ case "ede": return (16); case "ede3": return (24); default: return (8); }; case "3des": case "des3": return (24); case "xtea": return (8); case "rc4": if (parseInt(_local2[1]) > 0){ return ((parseInt(_local2[1]) / 8)); }; return (16); }; return (0); } public static function getPad(_arg1:String):IPad{ switch (_arg1){ case "null": return (new NullPad()); case "pkcs5": default: return (new PKCS5()); }; } public static function getHMAC(_arg1:String):HMAC{ var _local2:Array = _arg1.split("-"); if (_local2[0] == "hmac"){ _local2.shift(); }; var _local3:uint; if (_local2.length > 1){ _local3 = parseInt(_local2[1]); }; return (new HMAC(getHash(_local2[0]), _local3)); } } }//package com.hurlant.crypto
Section 34
//BarrettReduction (com.hurlant.math.BarrettReduction) package com.hurlant.math { import com.hurlant.math.*; class BarrettReduction implements IReduction { private var r2:BigInteger; private var q3:BigInteger; private var mu:BigInteger; private var m:BigInteger; function BarrettReduction(_arg1:BigInteger){ r2 = new BigInteger(); q3 = new BigInteger(); BigInteger.ONE.dlShiftTo((2 * _arg1.t), r2); mu = r2.divide(_arg1); this.m = _arg1; } public function revert(_arg1:BigInteger):BigInteger{ return (_arg1); } public function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void{ _arg1.squareTo(_arg2); reduce(_arg2); } public function convert(_arg1:BigInteger):BigInteger{ var _local2:BigInteger; if ((((_arg1.s < 0)) || ((_arg1.t > (2 * m.t))))){ return (_arg1.mod(m)); }; if (_arg1.compareTo(m) < 0){ return (_arg1); }; _local2 = new BigInteger(); _arg1.copyTo(_local2); reduce(_local2); return (_local2); } public function reduce(_arg1:BigInteger):void{ var _local2:BigInteger = (_arg1 as BigInteger); _local2.drShiftTo((m.t - 1), r2); if (_local2.t > (m.t + 1)){ _local2.t = (m.t + 1); _local2.clamp(); }; mu.multiplyUpperTo(r2, (m.t + 1), q3); m.multiplyLowerTo(q3, (m.t + 1), r2); while (_local2.compareTo(r2) < 0) { _local2.dAddOffset(1, (m.t + 1)); }; _local2.subTo(r2, _local2); while (_local2.compareTo(m) >= 0) { _local2.subTo(m, _local2); }; } public function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void{ _arg1.multiplyTo(_arg2, _arg3); reduce(_arg3); } } }//package com.hurlant.math
Section 35
//bi_internal (com.hurlant.math.bi_internal) package com.hurlant.math { public namespace bi_internal = "http://crypto.hurlant.com/BigInteger"; }//package com.hurlant.math
Section 36
//BigInteger (com.hurlant.math.BigInteger) package com.hurlant.math { import flash.utils.*; import com.hurlant.crypto.prng.*; import com.hurlant.util.*; public class BigInteger { bi_internal var a:Array; bi_internal var s:int; public var t:int; public static const ONE:BigInteger = nbv(1); public static const ZERO:BigInteger = nbv(0); public static const DM:int = (DV - 1); public static const F1:int = 22; public static const F2:int = 8; public static const lplim:int = ((1 << 26) / lowprimes[(lowprimes.length - 1)]); public static const lowprimes:Array = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 0x0101, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509]; public static const FV:Number = Math.pow(2, BI_FP); public static const BI_FP:int = 52; public static const DV:int = (1 << DB); public static const DB:int = 30; public function BigInteger(_arg1=null, _arg2:int=0){ var _local3:ByteArray; var _local4:int; super(); a = new Array(); if ((_arg1 is String)){ _arg1 = Hex.toArray(_arg1); _arg2 = 0; }; if ((_arg1 is ByteArray)){ _local3 = (_arg1 as ByteArray); _local4 = ((_arg2) || ((_local3.length - _local3.position))); fromArray(_local3, _local4); }; } public function clearBit(_arg1:int):BigInteger{ return (changeBit(_arg1, op_andnot)); } private function op_or(_arg1:int, _arg2:int):int{ return ((_arg1 | _arg2)); } public function negate():BigInteger{ var _local1:BigInteger = nbi(); ZERO.subTo(this, _local1); return (_local1); } public function andNot(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); bitwiseTo(_arg1, op_andnot, _local2); return (_local2); } public function modPow(_arg1:BigInteger, _arg2:BigInteger):BigInteger{ var _local4:int; var _local6:IReduction; var _local12:int; var _local15:BigInteger; var _local16:BigInteger; var _local3:int = _arg1.bitLength(); var _local5:BigInteger = nbv(1); if (_local3 <= 0){ return (_local5); }; if (_local3 < 18){ _local4 = 1; } else { if (_local3 < 48){ _local4 = 3; } else { if (_local3 < 144){ _local4 = 4; } else { if (_local3 < 0x0300){ _local4 = 5; } else { _local4 = 6; }; }; }; }; if (_local3 < 8){ _local6 = new ClassicReduction(_arg2); } else { if (_arg2.isEven()){ _local6 = new BarrettReduction(_arg2); } else { _local6 = new MontgomeryReduction(_arg2); }; }; var _local7:Array = []; var _local8 = 3; var _local9:int = (_local4 - 1); var _local10:int = ((1 << _local4) - 1); _local7[1] = _local6.convert(this); if (_local4 > 1){ _local16 = new BigInteger(); _local6.sqrTo(_local7[1], _local16); while (_local8 <= _local10) { _local7[_local8] = new BigInteger(); _local6.mulTo(_local16, _local7[(_local8 - 2)], _local7[_local8]); _local8 = (_local8 + 2); }; }; var _local11:int = (_arg1.t - 1); var _local13:Boolean; var _local14:BigInteger = new BigInteger(); _local3 = (nbits(_arg1.a[_local11]) - 1); while (_local11 >= 0) { if (_local3 >= _local9){ _local12 = ((_arg1.a[_local11] >> (_local3 - _local9)) & _local10); } else { _local12 = ((_arg1.a[_local11] & ((1 << (_local3 + 1)) - 1)) << (_local9 - _local3)); if (_local11 > 0){ _local12 = (_local12 | (_arg1.a[(_local11 - 1)] >> ((DB + _local3) - _local9))); }; }; _local8 = _local4; while ((_local12 & 1) == 0) { _local12 = (_local12 >> 1); _local8--; }; _local3 = (_local3 - _local8); if (_local3 < 0){ _local3 = (_local3 + DB); _local11--; }; if (_local13){ _local7[_local12].copyTo(_local5); _local13 = false; } else { while (_local8 > 1) { _local6.sqrTo(_local5, _local14); _local6.sqrTo(_local14, _local5); _local8 = (_local8 - 2); }; if (_local8 > 0){ _local6.sqrTo(_local5, _local14); } else { _local15 = _local5; _local5 = _local14; _local14 = _local15; }; _local6.mulTo(_local14, _local7[_local12], _local5); }; while ((((_local11 >= 0)) && (((_arg1.a[_local11] & (1 << _local3)) == 0)))) { _local6.sqrTo(_local5, _local14); _local15 = _local5; _local5 = _local14; _local14 = _local15; --_local3; if (_local3 < 0){ _local3 = (DB - 1); _local11--; }; }; }; return (_local6.revert(_local5)); } public function isProbablePrime(_arg1:int):Boolean{ var _local2:int; var _local4:int; var _local5:int; var _local3:BigInteger = abs(); if ((((_local3.t == 1)) && ((_local3.a[0] <= lowprimes[(lowprimes.length - 1)])))){ _local2 = 0; while (_local2 < lowprimes.length) { if (_local3[0] == lowprimes[_local2]){ return (true); }; _local2++; }; return (false); }; if (_local3.isEven()){ return (false); }; _local2 = 1; while (_local2 < lowprimes.length) { _local4 = lowprimes[_local2]; _local5 = (_local2 + 1); while ((((_local5 < lowprimes.length)) && ((_local4 < lplim)))) { var _temp1 = _local5; _local5 = (_local5 + 1); _local4 = (_local4 * lowprimes[_temp1]); }; _local4 = _local3.modInt(_local4); while (_local2 < _local5) { var _temp2 = _local4; var _temp3 = _local2; _local2 = (_local2 + 1); if ((_temp2 % lowprimes[_temp3]) == 0){ return (false); }; }; }; return (_local3.millerRabin(_arg1)); } public function divide(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); divRemTo(_arg1, _local2, null); return (_local2); } public function mod(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = nbi(); abs().divRemTo(_arg1, null, _local2); if ((((s < 0)) && ((_local2.compareTo(ZERO) > 0)))){ _arg1.subTo(_local2, _local2); }; return (_local2); } protected function addTo(_arg1:BigInteger, _arg2:BigInteger):void{ var _local3:int; var _local4:int; var _local5:int = Math.min(_arg1.t, t); while (_local3 < _local5) { _local4 = (_local4 + (this.a[_local3] + _arg1.a[_local3])); var _temp1 = _local3; _local3 = (_local3 + 1); var _local6 = _temp1; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; if (_arg1.t < t){ _local4 = (_local4 + _arg1.s); while (_local3 < t) { _local4 = (_local4 + this.a[_local3]); var _temp2 = _local3; _local3 = (_local3 + 1); _local6 = _temp2; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; _local4 = (_local4 + s); } else { _local4 = (_local4 + s); while (_local3 < _arg1.t) { _local4 = (_local4 + _arg1.a[_local3]); var _temp3 = _local3; _local3 = (_local3 + 1); _local6 = _temp3; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; _local4 = (_local4 + _arg1.s); }; _arg2.s = ((_local4)<0) ? -1 : 0; if (_local4 > 0){ var _temp4 = _local3; _local3 = (_local3 + 1); _local6 = _temp4; _arg2.a[_local6] = _local4; } else { if (_local4 < -1){ var _temp5 = _local3; _local3 = (_local3 + 1); _local6 = _temp5; _arg2.a[_local6] = (DV + _local4); }; }; _arg2.t = _local3; _arg2.clamp(); } protected function bitwiseTo(_arg1:BigInteger, _arg2:Function, _arg3:BigInteger):void{ var _local4:int; var _local5:int; var _local6:int = Math.min(_arg1.t, t); _local4 = 0; while (_local4 < _local6) { _arg3.a[_local4] = _arg2(this.a[_local4], _arg1.a[_local4]); _local4++; }; if (_arg1.t < t){ _local5 = (_arg1.s & DM); _local4 = _local6; while (_local4 < t) { _arg3.a[_local4] = _arg2(this.a[_local4], _local5); _local4++; }; _arg3.t = t; } else { _local5 = (s & DM); _local4 = _local6; while (_local4 < _arg1.t) { _arg3.a[_local4] = _arg2(_local5, _arg1.a[_local4]); _local4++; }; _arg3.t = _arg1.t; }; _arg3.s = _arg2(s, _arg1.s); _arg3.clamp(); } protected function modInt(_arg1:int):int{ var _local4:int; if (_arg1 <= 0){ return (0); }; var _local2:int = (DV % _arg1); var _local3:int = ((s)<0) ? (_arg1 - 1) : 0; if (t > 0){ if (_local2 == 0){ _local3 = (a[0] % _arg1); } else { _local4 = (t - 1); while (_local4 >= 0) { _local3 = (((_local2 * _local3) + a[_local4]) % _arg1); _local4--; }; }; }; return (_local3); } protected function chunkSize(_arg1:Number):int{ return (Math.floor(((Math.LN2 * DB) / Math.log(_arg1)))); } public function gcd(_arg1:BigInteger):BigInteger{ var _local6:BigInteger; var _local2:BigInteger = ((s)<0) ? negate() : clone(); var _local3:BigInteger = ((_arg1.s)<0) ? _arg1.negate() : _arg1.clone(); if (_local2.compareTo(_local3) < 0){ _local6 = _local2; _local2 = _local3; _local3 = _local6; }; var _local4:int = _local2.getLowestSetBit(); var _local5:int = _local3.getLowestSetBit(); if (_local5 < 0){ return (_local2); }; if (_local4 < _local5){ _local5 = _local4; }; if (_local5 > 0){ _local2.rShiftTo(_local5, _local2); _local3.rShiftTo(_local5, _local3); }; while (_local2.sigNum() > 0) { _local4 = _local2.getLowestSetBit(); if (_local4 > 0){ _local2.rShiftTo(_local4, _local2); }; _local4 = _local3.getLowestSetBit(); if (_local4 > 0){ _local3.rShiftTo(_local4, _local3); }; if (_local2.compareTo(_local3) >= 0){ _local2.subTo(_local3, _local2); _local2.rShiftTo(1, _local2); } else { _local3.subTo(_local2, _local3); _local3.rShiftTo(1, _local3); }; }; if (_local5 > 0){ _local3.lShiftTo(_local5, _local3); }; return (_local3); } bi_internal function dAddOffset(_arg1:int, _arg2:int):void{ while (t <= _arg2) { var _local3 = t++; a[_local3] = 0; }; a[_arg2] = (a[_arg2] + _arg1); while (a[_arg2] >= DV) { a[_arg2] = (a[_arg2] - DV); ++_arg2; if (_arg2 >= t){ _local3 = t++; a[_local3] = 0; }; _local3 = a; var _local4 = _arg2; var _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; }; } bi_internal function lShiftTo(_arg1:int, _arg2:BigInteger):void{ var _local8:int; var _local3:int = (_arg1 % DB); var _local4:int = (DB - _local3); var _local5:int = ((1 << _local4) - 1); var _local6:int = (_arg1 / DB); var _local7 = ((s << _local3) & DM); _local8 = (t - 1); while (_local8 >= 0) { _arg2.a[((_local8 + _local6) + 1)] = ((a[_local8] >> _local4) | _local7); _local7 = ((a[_local8] & _local5) << _local3); _local8--; }; _local8 = (_local6 - 1); while (_local8 >= 0) { _arg2.a[_local8] = 0; _local8--; }; _arg2.a[_local6] = _local7; _arg2.t = ((t + _local6) + 1); _arg2.s = s; _arg2.clamp(); } public function getLowestSetBit():int{ var _local1:int; while (_local1 < t) { if (a[_local1] != 0){ return (((_local1 * DB) + lbit(a[_local1]))); }; _local1++; }; if (s < 0){ return ((t * DB)); }; return (-1); } public function subtract(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); subTo(_arg1, _local2); return (_local2); } public function primify(_arg1:int, _arg2:int):void{ if (!testBit((_arg1 - 1))){ bitwiseTo(BigInteger.ONE.shiftLeft((_arg1 - 1)), op_or, this); }; if (isEven()){ dAddOffset(1, 0); }; while (!(isProbablePrime(_arg2))) { dAddOffset(2, 0); while (bitLength() > _arg1) { subTo(BigInteger.ONE.shiftLeft((_arg1 - 1)), this); }; }; } bi_internal function multiplyLowerTo(_arg1:BigInteger, _arg2:int, _arg3:BigInteger):void{ var _local5:int; var _local4:int = Math.min((t + _arg1.t), _arg2); _arg3.s = 0; _arg3.t = _local4; while (_local4 > 0) { --_local4; var _local6 = _local4; _arg3.a[_local6] = 0; }; _local5 = (_arg3.t - t); while (_local4 < _local5) { _arg3.a[(_local4 + t)] = am(0, _arg1.a[_local4], _arg3, _local4, 0, t); _local4++; }; _local5 = Math.min(_arg1.t, _arg2); while (_local4 < _local5) { am(0, _arg1.a[_local4], _arg3, _local4, 0, (_arg2 - _local4)); _local4++; }; _arg3.clamp(); } public function modPowInt(_arg1:int, _arg2:BigInteger):BigInteger{ var _local3:IReduction; if ((((_arg1 < 0x0100)) || (_arg2.isEven()))){ _local3 = new ClassicReduction(_arg2); } else { _local3 = new MontgomeryReduction(_arg2); }; return (exp(_arg1, _local3)); } bi_internal function intAt(_arg1:String, _arg2:int):int{ return (parseInt(_arg1.charAt(_arg2), 36)); } public function testBit(_arg1:int):Boolean{ var _local2:int = Math.floor((_arg1 / DB)); if (_local2 >= t){ return (!((s == 0))); }; return (!(((a[_local2] & (1 << (_arg1 % DB))) == 0))); } bi_internal function exp(_arg1:int, _arg2:IReduction):BigInteger{ var _local7:BigInteger; if ((((_arg1 > 4294967295)) || ((_arg1 < 1)))){ return (ONE); }; var _local3:BigInteger = nbi(); var _local4:BigInteger = nbi(); var _local5:BigInteger = _arg2.convert(this); var _local6:int = (nbits(_arg1) - 1); _local5.copyTo(_local3); while (--_local6 >= 0) { _arg2.sqrTo(_local3, _local4); if ((_arg1 & (1 << _local6)) > 0){ _arg2.mulTo(_local4, _local5, _local3); } else { _local7 = _local3; _local3 = _local4; _local4 = _local7; }; }; return (_arg2.revert(_local3)); } public function toArray(_arg1:ByteArray):uint{ var _local2 = 8; var _local3:int = ((1 << 8) - 1); var _local4:int; var _local5:int = t; var _local6:int = (DB - ((_local5 * DB) % _local2)); var _local7:Boolean; var _local8:int; var _temp1 = _local5; _local5 = (_local5 - 1); if (_temp1 > 0){ if ((((_local6 < DB)) && (((a[_local5] >> _local6) > 0)))){ _local7 = true; _arg1.writeByte(_local4); _local8++; }; while (_local5 >= 0) { if (_local6 < _local2){ _local4 = ((a[_local5] & ((1 << _local6) - 1)) << (_local2 - _local6)); var _temp2 = _local4; _local5 = (_local5 - 1); _local6 = (_local6 + (DB - _local2)); _local4 = (_temp2 | (a[_local5] >> _local6)); } else { _local6 = (_local6 - _local2); _local4 = ((a[_local5] >> _local6) & _local3); if (_local6 <= 0){ _local6 = (_local6 + DB); _local5--; }; }; if (_local4 > 0){ _local7 = true; }; if (_local7){ _arg1.writeByte(_local4); _local8++; }; }; }; return (_local8); } public function dispose():void{ var _local1:Random = new Random(); var _local2:uint; while (_local2 < a.length) { a[_local2] = _local1.nextByte(); delete a[_local2]; _local2++; }; a = null; t = 0; s = 0; Memory.gc(); } private function lbit(_arg1:int):int{ if (_arg1 == 0){ return (-1); }; var _local2:int; if ((_arg1 & 0xFFFF) == 0){ _arg1 = (_arg1 >> 16); _local2 = (_local2 + 16); }; if ((_arg1 & 0xFF) == 0){ _arg1 = (_arg1 >> 8); _local2 = (_local2 + 8); }; if ((_arg1 & 15) == 0){ _arg1 = (_arg1 >> 4); _local2 = (_local2 + 4); }; if ((_arg1 & 3) == 0){ _arg1 = (_arg1 >> 2); _local2 = (_local2 + 2); }; if ((_arg1 & 1) == 0){ _local2++; }; return (_local2); } bi_internal function divRemTo(_arg1:BigInteger, _arg2:BigInteger=null, _arg3:BigInteger=null):void{ var qd:int; var m = _arg1; var q = _arg2; var r = _arg3; var pm:BigInteger = m.abs(); if (pm.t <= 0){ return; }; var pt:BigInteger = abs(); if (pt.t < pm.t){ if (q != null){ q.fromInt(0); }; if (r != null){ copyTo(r); }; return; }; if (r == null){ r = nbi(); }; var y:BigInteger = nbi(); var ts:int = s; var ms:int = m.s; var nsh:int = (DB - nbits(pm.a[(pm.t - 1)])); if (nsh > 0){ pm.lShiftTo(nsh, y); pt.lShiftTo(nsh, r); } else { pm.copyTo(y); pt.copyTo(r); }; var ys:int = y.t; var y0:int = y.a[(ys - 1)]; if (y0 == 0){ return; }; var yt:Number = ((y0 * (1 << F1)) + ((ys)>1) ? (y.a[(ys - 2)] >> F2) : 0); var d1:Number = (FV / yt); var d2:Number = ((1 << F1) / yt); var e:Number = (1 << F2); var i:int = r.t; var j:int = (i - ys); var t:BigInteger = ((q)==null) ? nbi() : q; y.dlShiftTo(j, t); if (r.compareTo(t) >= 0){ var _local5 = r.t++; r.a[_local5] = 1; r.subTo(t, r); }; ONE.dlShiftTo(ys, t); t.subTo(y, y); while (y.t < ys) { y.(y.t++); //not popped }; while ((j = (j - 1)), (j - 1) >= 0) { i = (i - 1); qd = ((r.a[(i - 1)])==y0) ? DM : ((Number(r.a[i]) * d1) + ((Number(r.a[(i - 1)]) + e) * d2)); if ((r.a[i] = (r.a[i] + y.am(0, qd, r, j, 0, ys))) < qd){ y.dlShiftTo(j, t); r.subTo(t, r); while ((qd = (qd - 1)), r.a[i] < (qd - 1)) { r.subTo(t, r); }; }; }; if (q != null){ r.drShiftTo(ys, q); if (ts != ms){ ZERO.subTo(q, q); }; }; r.t = ys; r.clamp(); if (nsh > 0){ r.rShiftTo(nsh, r); }; if (ts < 0){ ZERO.subTo(r, r); }; } public function remainder(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); divRemTo(_arg1, null, _local2); return (_local2); } bi_internal function multiplyUpperTo(_arg1:BigInteger, _arg2:int, _arg3:BigInteger):void{ _arg2--; var _local4:int = (_arg3.t = ((t + _arg1.t) - _arg2)); _arg3.s = 0; while (--_local4 >= 0) { _arg3.a[_local4] = 0; }; _local4 = Math.max((_arg2 - t), 0); while (_local4 < _arg1.t) { _arg3.a[((t + _local4) - _arg2)] = am((_arg2 - _local4), _arg1.a[_local4], _arg3, 0, 0, ((t + _local4) - _arg2)); _local4++; }; _arg3.clamp(); _arg3.drShiftTo(1, _arg3); } public function divideAndRemainder(_arg1:BigInteger):Array{ var _local2:BigInteger = new BigInteger(); var _local3:BigInteger = new BigInteger(); divRemTo(_arg1, _local2, _local3); return ([_local2, _local3]); } public function valueOf():Number{ var _local1:Number = 1; var _local2:Number = 0; var _local3:uint; while (_local3 < t) { _local2 = (_local2 + (a[_local3] * _local1)); _local1 = (_local1 * DV); _local3++; }; return (_local2); } public function shiftLeft(_arg1:int):BigInteger{ var _local2:BigInteger = new BigInteger(); if (_arg1 < 0){ rShiftTo(-(_arg1), _local2); } else { lShiftTo(_arg1, _local2); }; return (_local2); } public function multiply(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); multiplyTo(_arg1, _local2); return (_local2); } bi_internal function am(_arg1:int, _arg2:int, _arg3:BigInteger, _arg4:int, _arg5:int, _arg6:int):int{ var _local9:int; var _local10:int; var _local11:int; var _local7 = (_arg2 & 32767); var _local8 = (_arg2 >> 15); while (--_arg6 >= 0) { _local9 = (a[_arg1] & 32767); var _temp1 = _arg1; _arg1 = (_arg1 + 1); _local10 = (a[_temp1] >> 15); _local11 = ((_local8 * _local9) + (_local10 * _local7)); _local9 = ((((_local7 * _local9) + ((_local11 & 32767) << 15)) + _arg3.a[_arg4]) + (_arg5 & 1073741823)); _arg5 = ((((_local9 >>> 30) + (_local11 >>> 15)) + (_local8 * _local10)) + (_arg5 >>> 30)); var _temp2 = _arg4; _arg4 = (_arg4 + 1); var _local12 = _temp2; _arg3.a[_local12] = (_local9 & 1073741823); }; return (_arg5); } bi_internal function drShiftTo(_arg1:int, _arg2:BigInteger):void{ var _local3:int; _local3 = _arg1; while (_local3 < t) { _arg2.a[(_local3 - _arg1)] = a[_local3]; _local3++; }; _arg2.t = Math.max((t - _arg1), 0); _arg2.s = s; } public function add(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); addTo(_arg1, _local2); return (_local2); } protected function nbi(){ return (new BigInteger()); } protected function millerRabin(_arg1:int):Boolean{ var _local7:BigInteger; var _local8:int; var _local2:BigInteger = subtract(BigInteger.ONE); var _local3:int = _local2.getLowestSetBit(); if (_local3 <= 0){ return (false); }; var _local4:BigInteger = _local2.shiftRight(_local3); _arg1 = ((_arg1 + 1) >> 1); if (_arg1 > lowprimes.length){ _arg1 = lowprimes.length; }; var _local5:BigInteger = new BigInteger(); var _local6:int; while (_local6 < _arg1) { _local5.fromInt(lowprimes[_local6]); _local7 = _local5.modPow(_local4, this); if (((!((_local7.compareTo(BigInteger.ONE) == 0))) && (!((_local7.compareTo(_local2) == 0))))){ _local8 = 1; while ((((_local8++ < _local3)) && (!((_local7.compareTo(_local2) == 0))))) { _local7 = _local7.modPowInt(2, this); if (_local7.compareTo(BigInteger.ONE) == 0){ return (false); }; }; if (_local7.compareTo(_local2) != 0){ return (false); }; }; _local6++; }; return (true); } bi_internal function dMultiply(_arg1:int):void{ a[t] = am(0, (_arg1 - 1), this, 0, 0, t); t++; clamp(); } private function op_andnot(_arg1:int, _arg2:int):int{ return ((_arg1 & ~(_arg2))); } bi_internal function clamp():void{ var _local1 = (s & DM); while ((((t > 0)) && ((a[(t - 1)] == _local1)))) { t--; }; } bi_internal function invDigit():int{ if (t < 1){ return (0); }; var _local1:int = a[0]; if ((_local1 & 1) == 0){ return (0); }; var _local2 = (_local1 & 3); _local2 = ((_local2 * (2 - ((_local1 & 15) * _local2))) & 15); _local2 = ((_local2 * (2 - ((_local1 & 0xFF) * _local2))) & 0xFF); _local2 = ((_local2 * (2 - (((_local1 & 0xFFFF) * _local2) & 0xFFFF))) & 0xFFFF); _local2 = ((_local2 * (2 - ((_local1 * _local2) % DV))) % DV); return (((_local2)>0) ? (DV - _local2) : -(_local2)); } protected function changeBit(_arg1:int, _arg2:Function):BigInteger{ var _local3:BigInteger = BigInteger.ONE.shiftLeft(_arg1); bitwiseTo(_local3, _arg2, _local3); return (_local3); } public function equals(_arg1:BigInteger):Boolean{ return ((compareTo(_arg1) == 0)); } public function compareTo(_arg1:BigInteger):int{ var _local2:int = (s - _arg1.s); if (_local2 != 0){ return (_local2); }; var _local3:int = t; _local2 = (_local3 - _arg1.t); if (_local2 != 0){ return (_local2); }; while (--_local3 >= 0) { _local2 = (a[_local3] - _arg1.a[_local3]); if (_local2 != 0){ return (_local2); }; }; return (0); } public function shiftRight(_arg1:int):BigInteger{ var _local2:BigInteger = new BigInteger(); if (_arg1 < 0){ lShiftTo(-(_arg1), _local2); } else { rShiftTo(_arg1, _local2); }; return (_local2); } bi_internal function multiplyTo(_arg1:BigInteger, _arg2:BigInteger):void{ var _local3:BigInteger = abs(); var _local4:BigInteger = _arg1.abs(); var _local5:int = _local3.t; _arg2.t = (_local5 + _local4.t); while (--_local5 >= 0) { _arg2.a[_local5] = 0; }; _local5 = 0; while (_local5 < _local4.t) { _arg2.a[(_local5 + _local3.t)] = _local3.am(0, _local4.a[_local5], _arg2, _local5, 0, _local3.t); _local5++; }; _arg2.s = 0; _arg2.clamp(); if (s != _arg1.s){ ZERO.subTo(_arg2, _arg2); }; } public function bitCount():int{ var _local1:int; var _local2 = (s & DM); var _local3:int; while (_local3 < t) { _local1 = (_local1 + cbit((a[_local3] ^ _local2))); _local3++; }; return (_local1); } protected function toRadix(_arg1:uint=10):String{ if ((((((sigNum() == 0)) || ((_arg1 < 2)))) || ((_arg1 > 32)))){ return ("0"); }; var _local2:int = chunkSize(_arg1); var _local3:Number = Math.pow(_arg1, _local2); var _local4:BigInteger = nbv(_local3); var _local5:BigInteger = nbi(); var _local6:BigInteger = nbi(); var _local7 = ""; divRemTo(_local4, _local5, _local6); while (_local5.sigNum() > 0) { _local7 = ((_local3 + _local6.intValue()).toString(_arg1).substr(1) + _local7); _local5.divRemTo(_local4, _local5, _local6); }; return ((_local6.intValue().toString(_arg1) + _local7)); } private function cbit(_arg1:int):int{ var _local2:uint; while (_arg1 != 0) { _arg1 = (_arg1 & (_arg1 - 1)); _local2++; }; return (_local2); } bi_internal function rShiftTo(_arg1:int, _arg2:BigInteger):void{ var _local7:int; _arg2.s = s; var _local3:int = (_arg1 / DB); if (_local3 >= t){ _arg2.t = 0; return; }; var _local4:int = (_arg1 % DB); var _local5:int = (DB - _local4); var _local6:int = ((1 << _local4) - 1); _arg2.a[0] = (a[_local3] >> _local4); _local7 = (_local3 + 1); while (_local7 < t) { _arg2.a[((_local7 - _local3) - 1)] = (_arg2.a[((_local7 - _local3) - 1)] | ((a[_local7] & _local6) << _local5)); _arg2.a[(_local7 - _local3)] = (a[_local7] >> _local4); _local7++; }; if (_local4 > 0){ _arg2.a[((t - _local3) - 1)] = (_arg2.a[((t - _local3) - 1)] | ((s & _local6) << _local5)); }; _arg2.t = (t - _local3); _arg2.clamp(); } public function modInverse(_arg1:BigInteger):BigInteger{ var _local2:Boolean = _arg1.isEven(); if (((((isEven()) && (_local2))) || ((_arg1.sigNum() == 0)))){ return (BigInteger.ZERO); }; var _local3:BigInteger = _arg1.clone(); var _local4:BigInteger = clone(); var _local5:BigInteger = nbv(1); var _local6:BigInteger = nbv(0); var _local7:BigInteger = nbv(0); var _local8:BigInteger = nbv(1); while (_local3.sigNum() != 0) { while (_local3.isEven()) { _local3.rShiftTo(1, _local3); if (_local2){ if (((!(_local5.isEven())) || (!(_local6.isEven())))){ _local5.addTo(this, _local5); _local6.subTo(_arg1, _local6); }; _local5.rShiftTo(1, _local5); } else { if (!_local6.isEven()){ _local6.subTo(_arg1, _local6); }; }; _local6.rShiftTo(1, _local6); }; while (_local4.isEven()) { _local4.rShiftTo(1, _local4); if (_local2){ if (((!(_local7.isEven())) || (!(_local8.isEven())))){ _local7.addTo(this, _local7); _local8.subTo(_arg1, _local8); }; _local7.rShiftTo(1, _local7); } else { if (!_local8.isEven()){ _local8.subTo(_arg1, _local8); }; }; _local8.rShiftTo(1, _local8); }; if (_local3.compareTo(_local4) >= 0){ _local3.subTo(_local4, _local3); if (_local2){ _local5.subTo(_local7, _local5); }; _local6.subTo(_local8, _local6); } else { _local4.subTo(_local3, _local4); if (_local2){ _local7.subTo(_local5, _local7); }; _local8.subTo(_local6, _local8); }; }; if (_local4.compareTo(BigInteger.ONE) != 0){ return (BigInteger.ZERO); }; if (_local8.compareTo(_arg1) >= 0){ return (_local8.subtract(_arg1)); }; if (_local8.sigNum() < 0){ _local8.addTo(_arg1, _local8); } else { return (_local8); }; if (_local8.sigNum() < 0){ return (_local8.add(_arg1)); }; return (_local8); } bi_internal function fromArray(_arg1:ByteArray, _arg2:int):void{ var _local7:int; var _local3:int = _arg1.position; var _local4:int = (_local3 + _arg2); var _local5:int; var _local6 = 8; t = 0; s = 0; while (--_local4 >= _local3) { _local7 = ((_local4 < _arg1.length)) ? _arg1[_local4] : 0; if (_local5 == 0){ var _local8 = t++; a[_local8] = _local7; } else { if ((_local5 + _local6) > DB){ a[(t - 1)] = (a[(t - 1)] | ((_local7 & ((1 << (DB - _local5)) - 1)) << _local5)); _local8 = t++; a[_local8] = (_local7 >> (DB - _local5)); } else { a[(t - 1)] = (a[(t - 1)] | (_local7 << _local5)); }; }; _local5 = (_local5 + _local6); if (_local5 >= DB){ _local5 = (_local5 - DB); }; }; clamp(); _arg1.position = Math.min((_local3 + _arg2), _arg1.length); } bi_internal function copyTo(_arg1:BigInteger):void{ var _local2:int = (t - 1); while (_local2 >= 0) { _arg1.a[_local2] = a[_local2]; _local2--; }; _arg1.t = t; _arg1.s = s; } public function intValue():int{ if (s < 0){ if (t == 1){ return ((a[0] - DV)); }; if (t == 0){ return (-1); }; } else { if (t == 1){ return (a[0]); }; if (t == 0){ return (0); }; }; return ((((a[1] & ((1 << (32 - DB)) - 1)) << DB) | a[0])); } public function min(_arg1:BigInteger):BigInteger{ return (((compareTo(_arg1))<0) ? this : _arg1); } public function bitLength():int{ if (t <= 0){ return (0); }; return (((DB * (t - 1)) + nbits((a[(t - 1)] ^ (s & DM))))); } public function shortValue():int{ return (((t)==0) ? s : ((a[0] << 16) >> 16)); } public function and(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); bitwiseTo(_arg1, op_and, _local2); return (_local2); } public function byteValue():int{ return (((t)==0) ? s : ((a[0] << 24) >> 24)); } public function not():BigInteger{ var _local1:BigInteger = new BigInteger(); var _local2:int; while (_local2 < t) { _local1[_local2] = (DM & ~(a[_local2])); _local2++; }; _local1.t = t; _local1.s = ~(s); return (_local1); } bi_internal function subTo(_arg1:BigInteger, _arg2:BigInteger):void{ var _local3:int; var _local4:int; var _local5:int = Math.min(_arg1.t, t); while (_local3 < _local5) { _local4 = (_local4 + (a[_local3] - _arg1.a[_local3])); var _temp1 = _local3; _local3 = (_local3 + 1); var _local6 = _temp1; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; if (_arg1.t < t){ _local4 = (_local4 - _arg1.s); while (_local3 < t) { _local4 = (_local4 + a[_local3]); var _temp2 = _local3; _local3 = (_local3 + 1); _local6 = _temp2; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; _local4 = (_local4 + s); } else { _local4 = (_local4 + s); while (_local3 < _arg1.t) { _local4 = (_local4 - _arg1.a[_local3]); var _temp3 = _local3; _local3 = (_local3 + 1); _local6 = _temp3; _arg2.a[_local6] = (_local4 & DM); _local4 = (_local4 >> DB); }; _local4 = (_local4 - _arg1.s); }; _arg2.s = ((_local4)<0) ? -1 : 0; if (_local4 < -1){ var _temp4 = _local3; _local3 = (_local3 + 1); _local6 = _temp4; _arg2.a[_local6] = (DV + _local4); } else { if (_local4 > 0){ var _temp5 = _local3; _local3 = (_local3 + 1); _local6 = _temp5; _arg2.a[_local6] = _local4; }; }; _arg2.t = _local3; _arg2.clamp(); } public function clone():BigInteger{ var _local1:BigInteger = new BigInteger(); this.copyTo(_local1); return (_local1); } public function pow(_arg1:int):BigInteger{ return (exp(_arg1, new NullReduction())); } public function flipBit(_arg1:int):BigInteger{ return (changeBit(_arg1, op_xor)); } public function xor(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); bitwiseTo(_arg1, op_xor, _local2); return (_local2); } public function or(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); bitwiseTo(_arg1, op_or, _local2); return (_local2); } public function max(_arg1:BigInteger):BigInteger{ return (((compareTo(_arg1))>0) ? this : _arg1); } bi_internal function fromInt(_arg1:int):void{ t = 1; s = ((_arg1)<0) ? -1 : 0; if (_arg1 > 0){ a[0] = _arg1; } else { if (_arg1 < -1){ a[0] = (_arg1 + DV); } else { t = 0; }; }; } bi_internal function isEven():Boolean{ return ((((t)>0) ? (a[0] & 1) : s == 0)); } public function toString(_arg1:Number=16):String{ var _local2:int; if (s < 0){ return (("-" + negate().toString(_arg1))); }; switch (_arg1){ case 2: _local2 = 1; break; case 4: _local2 = 2; break; case 8: _local2 = 3; break; case 16: _local2 = 4; break; case 32: _local2 = 5; break; }; var _local3:int = ((1 << _local2) - 1); var _local4:int; var _local5:Boolean; var _local6 = ""; var _local7:int = t; var _local8:int = (DB - ((_local7 * DB) % _local2)); var _temp1 = _local7; _local7 = (_local7 - 1); if (_temp1 > 0){ if ((((_local8 < DB)) && (((a[_local7] >> _local8) > 0)))){ _local5 = true; _local6 = _local4.toString(36); }; while (_local7 >= 0) { if (_local8 < _local2){ _local4 = ((a[_local7] & ((1 << _local8) - 1)) << (_local2 - _local8)); var _temp2 = _local4; _local7 = (_local7 - 1); _local8 = (_local8 + (DB - _local2)); _local4 = (_temp2 | (a[_local7] >> _local8)); } else { _local8 = (_local8 - _local2); _local4 = ((a[_local7] >> _local8) & _local3); if (_local8 <= 0){ _local8 = (_local8 + DB); _local7--; }; }; if (_local4 > 0){ _local5 = true; }; if (_local5){ _local6 = (_local6 + _local4.toString(36)); }; }; }; return ((_local5) ? _local6 : "0"); } public function setBit(_arg1:int):BigInteger{ return (changeBit(_arg1, op_or)); } public function abs():BigInteger{ return (((s)<0) ? negate() : this); } bi_internal function nbits(_arg1:int):int{ var _local3:int; var _local2 = 1; _local3 = (_arg1 >>> 16); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 16); }; _local3 = (_arg1 >> 8); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 8); }; _local3 = (_arg1 >> 4); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 4); }; _local3 = (_arg1 >> 2); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 2); }; _local3 = (_arg1 >> 1); if (_local3 != 0){ _arg1 = _local3; _local2 = (_local2 + 1); }; return (_local2); } public function sigNum():int{ if (s < 0){ return (-1); }; if ((((t <= 0)) || ((((t == 1)) && ((a[0] <= 0)))))){ return (0); }; return (1); } public function toByteArray():ByteArray{ var _local4:int; var _local1:int = t; var _local2:ByteArray = new ByteArray(); _local2[0] = s; var _local3:int = (DB - ((_local1 * DB) % 8)); var _local5:int; var _temp1 = _local1; _local1 = (_local1 - 1); if (_temp1 > 0){ if ((((_local3 < DB)) && (!(((a[_local1] >> _local3) == ((s & DM) >> _local3)))))){ var _temp2 = _local5; _local5 = (_local5 + 1); var _local6 = _temp2; _local2[_local6] = (_local4 | (s << (DB - _local3))); }; while (_local1 >= 0) { if (_local3 < 8){ _local4 = ((a[_local1] & ((1 << _local3) - 1)) << (8 - _local3)); var _temp3 = _local4; _local1 = (_local1 - 1); _local3 = (_local3 + (DB - 8)); _local4 = (_temp3 | (a[_local1] >> _local3)); } else { _local3 = (_local3 - 8); _local4 = ((a[_local1] >> _local3) & 0xFF); if (_local3 <= 0){ _local3 = (_local3 + DB); _local1--; }; }; if ((_local4 & 128) != 0){ _local4 = (_local4 | -256); }; if ((((_local5 == 0)) && (!(((s & 128) == (_local4 & 128)))))){ _local5++; }; if ((((_local5 > 0)) || (!((_local4 == s))))){ var _temp4 = _local5; _local5 = (_local5 + 1); _local6 = _temp4; _local2[_local6] = _local4; }; }; }; return (_local2); } bi_internal function squareTo(_arg1:BigInteger):void{ var _local4:int; var _local2:BigInteger = abs(); var _local3:int = (_arg1.t = (2 * _local2.t)); while (--_local3 >= 0) { _arg1.a[_local3] = 0; }; _local3 = 0; while (_local3 < (_local2.t - 1)) { _local4 = _local2.am(_local3, _local2.a[_local3], _arg1, (2 * _local3), 0, 1); if ((_arg1.a[(_local3 + _local2.t)] = (_arg1.a[(_local3 + _local2.t)] + _local2.am((_local3 + 1), (2 * _local2.a[_local3]), _arg1, ((2 * _local3) + 1), _local4, ((_local2.t - _local3) - 1)))) >= DV){ _arg1.a[(_local3 + _local2.t)] = (_arg1.a[(_local3 + _local2.t)] - DV); _arg1.a[((_local3 + _local2.t) + 1)] = 1; }; _local3++; }; if (_arg1.t > 0){ _arg1.a[(_arg1.t - 1)] = (_arg1.a[(_arg1.t - 1)] + _local2.am(_local3, _local2.a[_local3], _arg1, (2 * _local3), 0, 1)); }; _arg1.s = 0; _arg1.clamp(); } private function op_and(_arg1:int, _arg2:int):int{ return ((_arg1 & _arg2)); } protected function fromRadix(_arg1:String, _arg2:int=10):void{ var _local9:int; fromInt(0); var _local3:int = chunkSize(_arg2); var _local4:Number = Math.pow(_arg2, _local3); var _local5:Boolean; var _local6:int; var _local7:int; var _local8:int; while (_local8 < _arg1.length) { _local9 = intAt(_arg1, _local8); if (_local9 < 0){ if ((((_arg1.charAt(_local8) == "-")) && ((sigNum() == 0)))){ _local5 = true; }; } else { _local7 = ((_arg2 * _local7) + _local9); ++_local6; if (_local6 >= _local3){ dMultiply(_local4); dAddOffset(_local7, 0); _local6 = 0; _local7 = 0; }; }; _local8++; }; if (_local6 > 0){ dMultiply(Math.pow(_arg2, _local6)); dAddOffset(_local7, 0); }; if (_local5){ BigInteger.ZERO.subTo(this, this); }; } bi_internal function dlShiftTo(_arg1:int, _arg2:BigInteger):void{ var _local3:int; _local3 = (t - 1); while (_local3 >= 0) { _arg2.a[(_local3 + _arg1)] = a[_local3]; _local3--; }; _local3 = (_arg1 - 1); while (_local3 >= 0) { _arg2.a[_local3] = 0; _local3--; }; _arg2.t = (t + _arg1); _arg2.s = s; } private function op_xor(_arg1:int, _arg2:int):int{ return ((_arg1 ^ _arg2)); } public static function nbv(_arg1:int):BigInteger{ var _local2:BigInteger = new (BigInteger); _local2.fromInt(_arg1); return (_local2); } } }//package com.hurlant.math
Section 37
//ClassicReduction (com.hurlant.math.ClassicReduction) package com.hurlant.math { import com.hurlant.math.*; class ClassicReduction implements IReduction { private var m:BigInteger; function ClassicReduction(_arg1:BigInteger){ this.m = _arg1; } public function revert(_arg1:BigInteger):BigInteger{ return (_arg1); } public function reduce(_arg1:BigInteger):void{ _arg1.divRemTo(m, null, _arg1); } public function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void{ _arg1.multiplyTo(_arg2, _arg3); reduce(_arg3); } public function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void{ _arg1.squareTo(_arg2); reduce(_arg2); } public function convert(_arg1:BigInteger):BigInteger{ if ((((_arg1.s < 0)) || ((_arg1.compareTo(m) >= 0)))){ return (_arg1.mod(m)); }; return (_arg1); } } }//package com.hurlant.math
Section 38
//IReduction (com.hurlant.math.IReduction) package com.hurlant.math { import com.hurlant.math.*; interface IReduction { function revert(_arg1:BigInteger):BigInteger; function reduce(_arg1:BigInteger):void; function convert(_arg1:BigInteger):BigInteger; function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void; function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void; } }//package com.hurlant.math
Section 39
//MontgomeryReduction (com.hurlant.math.MontgomeryReduction) package com.hurlant.math { import com.hurlant.math.*; class MontgomeryReduction implements IReduction { private var mp:int; private var mph:int; private var mpl:int; private var mt2:int; private var m:BigInteger; private var um:int; function MontgomeryReduction(_arg1:BigInteger){ this.m = _arg1; mp = _arg1.invDigit(); mpl = (mp & 32767); mph = (mp >> 15); um = ((1 << (BigInteger.DB - 15)) - 1); mt2 = (2 * _arg1.t); } public function convert(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); _arg1.abs().dlShiftTo(m.t, _local2); _local2.divRemTo(m, null, _local2); if ((((_arg1.s < 0)) && ((_local2.compareTo(BigInteger.ZERO) > 0)))){ m.subTo(_local2, _local2); }; return (_local2); } public function revert(_arg1:BigInteger):BigInteger{ var _local2:BigInteger = new BigInteger(); _arg1.copyTo(_local2); reduce(_local2); return (_local2); } public function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void{ _arg1.squareTo(_arg2); reduce(_arg2); } public function reduce(_arg1:BigInteger):void{ var _local3:int; var _local4:int; while (_arg1.t <= mt2) { var _local5 = _arg1.t++; _arg1.a[_local5] = 0; }; var _local2:int; while (_local2 < m.t) { _local3 = (_arg1.a[_local2] & 32767); _local4 = (((_local3 * mpl) + ((((_local3 * mph) + ((_arg1.a[_local2] >> 15) * mpl)) & um) << 15)) & BigInteger.DM); _local3 = (_local2 + m.t); _arg1.a[_local3] = (_arg1.a[_local3] + m.am(0, _local4, _arg1, _local2, 0, m.t)); while (_arg1.a[_local3] >= BigInteger.DV) { _arg1.a[_local3] = (_arg1.a[_local3] - BigInteger.DV); _local5 = _arg1.a; ++_local3; var _local6 = _local3; var _local7 = (_local5[_local6] + 1); _local5[_local6] = _local7; }; _local2++; }; _arg1.clamp(); _arg1.drShiftTo(m.t, _arg1); if (_arg1.compareTo(m) >= 0){ _arg1.subTo(m, _arg1); }; } public function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void{ _arg1.multiplyTo(_arg2, _arg3); reduce(_arg3); } } }//package com.hurlant.math
Section 40
//NullReduction (com.hurlant.math.NullReduction) package com.hurlant.math { public class NullReduction implements IReduction { public function convert(_arg1:BigInteger):BigInteger{ return (_arg1); } public function sqrTo(_arg1:BigInteger, _arg2:BigInteger):void{ _arg1.squareTo(_arg2); } public function mulTo(_arg1:BigInteger, _arg2:BigInteger, _arg3:BigInteger):void{ _arg1.multiplyTo(_arg2, _arg3); } public function revert(_arg1:BigInteger):BigInteger{ return (_arg1); } public function reduce(_arg1:BigInteger):void{ } } }//package com.hurlant.math
Section 41
//Base64 (com.hurlant.util.Base64) package com.hurlant.util { import flash.utils.*; public class Base64 { public static const version:String = "1.0.0"; private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; public function Base64(){ throw (new Error("Base64 class is static container only")); } public static function encode(_arg1:String):String{ var _local2:ByteArray = new ByteArray(); _local2.writeUTFBytes(_arg1); return (encodeByteArray(_local2)); } public static function encodeByteArray(_arg1:ByteArray):String{ var _local3:Array; var _local5:uint; var _local6:uint; var _local7:uint; var _local2 = ""; var _local4:Array = new Array(4); _arg1.position = 0; while (_arg1.bytesAvailable > 0) { _local3 = new Array(); _local5 = 0; while ((((_local5 < 3)) && ((_arg1.bytesAvailable > 0)))) { _local3[_local5] = _arg1.readUnsignedByte(); _local5++; }; _local4[0] = ((_local3[0] & 252) >> 2); _local4[1] = (((_local3[0] & 3) << 4) | (_local3[1] >> 4)); _local4[2] = (((_local3[1] & 15) << 2) | (_local3[2] >> 6)); _local4[3] = (_local3[2] & 63); _local6 = _local3.length; while (_local6 < 3) { _local4[(_local6 + 1)] = 64; _local6++; }; _local7 = 0; while (_local7 < _local4.length) { _local2 = (_local2 + BASE64_CHARS.charAt(_local4[_local7])); _local7++; }; }; return (_local2); } public static function decode(_arg1:String):String{ var _local2:ByteArray = decodeToByteArray(_arg1); return (_local2.readUTFBytes(_local2.length)); } public static function decodeToByteArray(_arg1:String):ByteArray{ var _local6:uint; var _local7:uint; var _local2:ByteArray = new ByteArray(); var _local3:Array = new Array(4); var _local4:Array = new Array(3); var _local5:uint; while (_local5 < _arg1.length) { _local6 = 0; while ((((_local6 < 4)) && (((_local5 + _local6) < _arg1.length)))) { _local3[_local6] = BASE64_CHARS.indexOf(_arg1.charAt((_local5 + _local6))); _local6++; }; _local4[0] = ((_local3[0] << 2) + ((_local3[1] & 48) >> 4)); _local4[1] = (((_local3[1] & 15) << 4) + ((_local3[2] & 60) >> 2)); _local4[2] = (((_local3[2] & 3) << 6) + _local3[3]); _local7 = 0; while (_local7 < _local4.length) { if (_local3[(_local7 + 1)] == 64){ break; }; _local2.writeByte(_local4[_local7]); _local7++; }; _local5 = (_local5 + 4); }; _local2.position = 0; return (_local2); } } }//package com.hurlant.util
Section 42
//Hex (com.hurlant.util.Hex) package com.hurlant.util { import flash.utils.*; public class Hex { public static function fromString(_arg1:String, _arg2:Boolean=false):String{ var _local3:ByteArray = new ByteArray(); _local3.writeUTFBytes(_arg1); return (fromArray(_local3, _arg2)); } public static function toString(_arg1:String):String{ var _local2:ByteArray = toArray(_arg1); return (_local2.readUTFBytes(_local2.length)); } public static function toArray(_arg1:String):ByteArray{ _arg1 = _arg1.replace(/\s|:/gm, ""); var _local2:ByteArray = new ByteArray(); if ((_arg1.length & (1 == 1))){ _arg1 = ("0" + _arg1); }; var _local3:uint; while (_local3 < _arg1.length) { _local2[(_local3 / 2)] = parseInt(_arg1.substr(_local3, 2), 16); _local3 = (_local3 + 2); }; return (_local2); } public static function fromArray(_arg1:ByteArray, _arg2:Boolean=false):String{ var _local3 = ""; var _local4:uint; while (_local4 < _arg1.length) { _local3 = (_local3 + ("0" + _arg1[_local4].toString(16)).substr(-2, 2)); if (_arg2){ if (_local4 < (_arg1.length - 1)){ _local3 = (_local3 + ":"); }; }; _local4++; }; return (_local3); } } }//package com.hurlant.util
Section 43
//Memory (com.hurlant.util.Memory) package com.hurlant.util { import flash.system.*; import flash.net.*; public class Memory { public static function gc():void{ try { new LocalConnection().connect("foo"); new LocalConnection().connect("foo"); } catch(e) { }; } public static function get used():uint{ return (System.totalMemory); } } }//package com.hurlant.util
Section 44
//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 45
//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 46
//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 47
//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 48
//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 49
//IBindingClient (mx.binding.IBindingClient) package mx.binding { public interface IBindingClient { } }//package mx.binding
Section 50
//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 51
//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 52
//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 53
//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 54
//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 55
//ArrayList (mx.collections.ArrayList) package mx.collections { import mx.core.*; import mx.events.*; import flash.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 56
//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 57
//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 58
//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 59
//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 60
//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 61
//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 62
//ListCollectionView (mx.collections.ListCollectionView) package mx.collections { import mx.core.*; import mx.events.*; import flash.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 mx.events.*; import flash.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 63
//ModifiedCollectionView (mx.collections.ModifiedCollectionView) package mx.collections { import mx.events.*; import flash.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 mx.events.*; import flash.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 64
//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 65
//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 66
//XMLListAdapter (mx.collections.XMLListAdapter) package mx.collections { import mx.events.*; import flash.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 67
//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 68
//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 69
//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 70
//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 71
//CanvasLayout (mx.containers.utilityClasses.CanvasLayout) package mx.containers.utilityClasses { import mx.core.*; import mx.events.*; import flash.display.*; import flash.geom.*; 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 72
//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 73
//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 74
//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 75
//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 76
//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 77
//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 78
//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 79
//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 80
//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 81
//HBox (mx.containers.HBox) package mx.containers { import mx.core.*; public class HBox extends Box { mx_internal static const VERSION:String = "3.0.0.0"; public function HBox(){ mx_internal::layoutObject.direction = BoxDirection.HORIZONTAL; } override public function set direction(_arg1:String):void{ } } }//package mx.containers
Section 82
//Panel (mx.containers.Panel) package mx.containers { import mx.core.*; import mx.events.*; import mx.automation.*; import flash.events.*; import flash.display.*; import flash.geom.*; import mx.styles.*; import mx.controls.*; import flash.text.*; 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 83
//TabNavigator (mx.containers.TabNavigator) package mx.containers { import mx.core.*; import flash.events.*; import flash.display.*; import mx.managers.*; import mx.styles.*; import mx.controls.*; public class TabNavigator extends ViewStack implements IFocusManagerComponent { protected var tabBar:TabBar; mx_internal static const VERSION:String = "3.0.0.0"; private static const MIN_TAB_WIDTH:Number = 30; private static var _tabBarStyleFilters:Object = {firstTabStyleName:"firstTabStyleName", horizontalAlign:"horizontalAlign", horizontalGap:"horizontalGap", lastTabStyleName:"lastTabStyleName", selectedTabTextStyleName:"selectedTabTextStyleName", tabStyleName:"tabStyleName", tabWidth:"tabWidth", verticalAlign:"verticalAlign", verticalGap:"verticalGap"}; public function TabNavigator(){ tabEnabled = true; historyManagementEnabled = true; } override protected function get contentHeight():Number{ var _local1:EdgeMetrics = viewMetricsAndPadding; var _local2:Number = _local1.top; var _local3:Number = _local1.bottom; if (isNaN(_local2)){ _local2 = 0; }; if (isNaN(_local3)){ _local3 = 0; }; return ((((unscaledHeight - tabBarHeight) - _local2) - _local3)); } mx_internal function getTabBar():TabBar{ return (tabBar); } override protected function layoutChrome(_arg1:Number, _arg2:Number):void{ var _local3:Number; super.layoutChrome(_arg1, _arg2); if (border){ _local3 = tabBarHeight; border.setActualSize(_arg1, (_arg2 - _local3)); border.move(0, _local3); }; } private function get tabBarHeight():Number{ var _local1:Number = getStyle("tabHeight"); if (isNaN(_local1)){ _local1 = tabBar.getExplicitOrMeasuredHeight(); }; return ((_local1 - borderMetrics.top)); } override protected function get contentY():Number{ var _local1:Number = getStyle("paddingTop"); if (isNaN(_local1)){ _local1 = 0; }; return ((tabBarHeight + _local1)); } override protected function commitProperties():void{ super.commitProperties(); if (((((((tabBar) && (!((tabBar.dataProvider == this))))) && ((numChildren > 0)))) && (getChildAt(0)))){ tabBar.dataProvider = this; }; } override protected function adjustFocusRect(_arg1:DisplayObject=null):void{ super.adjustFocusRect(_arg1); var _local2:IFlexDisplayObject = IFlexDisplayObject(getFocusObject()); if (_local2){ _local2.setActualSize(_local2.width, (_local2.height - tabBarHeight)); _local2.move(_local2.x, (_local2.y + tabBarHeight)); if ((_local2 is IInvalidating)){ IInvalidating(_local2).validateNow(); } else { if ((_local2 is IProgrammaticSkin)){ IProgrammaticSkin(_local2).validateNow(); }; }; }; } override protected function focusOutHandler(_arg1:FocusEvent):void{ super.focusOutHandler(_arg1); if (((focusManager) && ((_arg1.target == this)))){ focusManager.defaultButtonEnabled = true; }; } override protected function createChildren():void{ super.createChildren(); if (!tabBar){ tabBar = new TabBar(); tabBar.name = "tabBar"; tabBar.focusEnabled = false; tabBar.styleName = new StyleProxy(this, tabBarStyleFilters); rawChildren.addChild(tabBar); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ tabBar.setStyle("paddingTop", 0); tabBar.setStyle("paddingBottom", 0); tabBar.setStyle("borderStyle", "none"); }; }; } override public function get baselinePosition():Number{ var _local4:Container; if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (super.baselinePosition); }; if (!validateBaselinePosition()){ return (NaN); }; var _local1 = (numChildren == 0); if (_local1){ _local4 = new Container(); addChild(_local4); validateNow(); }; var _local2:Button = getTabAt(0); var _local3:Number = ((tabBar.y + _local2.y) + _local2.baselinePosition); if (_local1){ removeChildAt(0); validateNow(); }; return (_local3); } override protected function measure():void{ var _local1:Number; if (((vsPreferredWidth) && (!(resizeToContent)))){ measuredMinWidth = vsMinWidth; measuredMinHeight = vsMinHeight; measuredWidth = vsPreferredWidth; measuredHeight = vsPreferredHeight; return; }; super.measure(); _local1 = tabBarHeight; measuredMinHeight = (measuredMinHeight + _local1); measuredHeight = (measuredHeight + _local1); var _local2:Number = getStyle("tabWidth"); if (isNaN(_local2)){ _local2 = 0; }; var _local3:Number = (numChildren * Math.max(_local2, MIN_TAB_WIDTH)); var _local4:EdgeMetrics = viewMetrics; _local3 = (_local3 + (_local4.left + _local4.right)); if (numChildren > 1){ _local3 = (_local3 + (getStyle("horizontalGap") * (numChildren - 1))); }; if (measuredWidth < _local3){ measuredWidth = _local3; }; if (((selectedChild) && ((Container(selectedChild).numChildrenCreated == -1)))){ return; }; if (numChildren == 0){ return; }; vsMinWidth = measuredMinWidth; vsMinHeight = measuredMinHeight; vsPreferredWidth = measuredWidth; vsPreferredHeight = measuredHeight; } protected function get tabBarStyleFilters():Object{ return (_tabBarStyleFilters); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (focusManager.getFocus() == this){ tabBar.dispatchEvent(_arg1); }; } override protected function focusInHandler(_arg1:FocusEvent):void{ super.focusInHandler(_arg1); if (_arg1.target == this){ focusManager.defaultButtonEnabled = false; }; } public function getTabAt(_arg1:int):Button{ return (Button(tabBar.getChildAt(_arg1))); } override public function drawFocus(_arg1:Boolean):void{ var _local3:int; var _local4:int; super.drawFocus(_arg1); if (!parent){ return; }; var _local2:DisplayObject = IUIComponent(parent).focusPane; if (((_arg1) && (!(isEffectStarted)))){ if (_local2){ if ((parent is Container)){ _local3 = Container(parent).rawChildren.numChildren; _local4 = Container(parent).firstChildIndex; Container(parent).rawChildren.setChildIndex(_local2, Math.max(0, ((_local4)==_local3) ? (_local3 - 1) : _local4)); } else { parent.setChildIndex(_local2, 0); }; }; } else { if (_local2){ if ((parent is Container)){ Container(parent).rawChildren.setChildIndex(_local2, (Container(parent).rawChildren.numChildren - 1)); } else { parent.setChildIndex(_local2, (parent.numChildren - 1)); }; }; }; tabBar.drawFocus(_arg1); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); var _local3:EdgeMetrics = borderMetrics; var _local4:EdgeMetrics = viewMetrics; var _local5:Number = ((_arg1 - _local4.left) - _local4.right); var _local6:Number = (tabBarHeight + _local3.top); var _local7:Number = tabBar.getExplicitOrMeasuredWidth(); tabBar.setActualSize(Math.min(_local5, _local7), _local6); var _local8:Number = getStyle("tabOffset"); switch (getStyle("horizontalAlign")){ case "left": tabBar.move((0 + _local8), tabBar.y); break; case "right": tabBar.move(((_arg1 - tabBar.width) + _local8), tabBar.y); break; case "center": tabBar.move((((_arg1 - tabBar.width) / 2) + _local8), tabBar.y); }; } } }//package mx.containers
Section 84
//VBox (mx.containers.VBox) package mx.containers { import mx.core.*; public class VBox extends Box { mx_internal static const VERSION:String = "3.0.0.0"; public function VBox(){ mx_internal::layoutObject.direction = BoxDirection.VERTICAL; } override public function set direction(_arg1:String):void{ } } }//package mx.containers
Section 85
//ViewStack (mx.containers.ViewStack) package mx.containers { import mx.core.*; import mx.events.*; import mx.automation.*; import flash.events.*; import flash.display.*; import mx.managers.*; import mx.effects.*; import mx.graphics.*; public class ViewStack extends Container implements IHistoryManagerClient { private var dispatchChangeEventPending:Boolean;// = false private var historyManagementEnabledChanged:Boolean;// = false mx_internal var vsPreferredHeight:Number; private var initialSelectedIndex:int;// = -1 private var firstTime:Boolean;// = true mx_internal var _historyManagementEnabled:Boolean;// = false private var overlayChild:Container; private var overlayTargetArea:RoundedRectangle; private var proposedSelectedIndex:int;// = -1 private var needToInstantiateSelectedChild:Boolean;// = false private var bSaveState:Boolean;// = false mx_internal var vsMinHeight:Number; private var bInLoadState:Boolean;// = false mx_internal var vsPreferredWidth:Number; private var _resizeToContent:Boolean;// = false mx_internal var vsMinWidth:Number; private var lastIndex:int;// = -1 private var _selectedIndex:int;// = -1 mx_internal static const VERSION:String = "3.0.0.0"; public function ViewStack(){ addEventListener(ChildExistenceChangedEvent.CHILD_ADD, childAddHandler); addEventListener(ChildExistenceChangedEvent.CHILD_REMOVE, childRemoveHandler); } protected function get contentHeight():Number{ var _local1:EdgeMetrics = viewMetricsAndPadding; return (((unscaledHeight - _local1.top) - _local1.bottom)); } public function set selectedChild(_arg1:Container):void{ var _local2:int = getChildIndex(DisplayObject(_arg1)); if ((((_local2 >= 0)) && ((_local2 < numChildren)))){ selectedIndex = _local2; }; } private function systemManager_addedHandler(_arg1:Event):void{ if ((((_arg1.target is DisplayObjectContainer)) && (DisplayObjectContainer(_arg1.target).contains(this)))){ if (historyManagementEnabled){ HistoryManager.register(this); }; }; } override mx_internal function setActualCreationPolicies(_arg1:String):void{ var _local2:int; var _local3:Container; super.setActualCreationPolicies(_arg1); if ((((_arg1 == ContainerCreationPolicy.ALL)) && ((numChildren > 0)))){ _local2 = 0; while (_local2 < numChildren) { _local3 = (getChildAt(_local2) as Container); if (((_local3) && ((_local3.numChildrenCreated == -1)))){ _local3.createComponentsFromDescriptors(); }; _local2++; }; }; } private function dispatchChangeEvent(_arg1:int, _arg2:int):void{ var _local3:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.CHANGE); _local3.oldIndex = _arg1; _local3.newIndex = _arg2; _local3.relatedObject = getChildAt(_arg2); dispatchEvent(_local3); } protected function get contentY():Number{ return (getStyle("paddingTop")); } protected function commitSelectedIndex(_arg1:int):void{ var _local3:Container; var _local4:Effect; if (numChildren == 0){ _selectedIndex = -1; return; }; if (_arg1 < 0){ _arg1 = 0; } else { if (_arg1 > (numChildren - 1)){ _arg1 = (numChildren - 1); }; }; if (((!((lastIndex == -1))) && ((lastIndex < numChildren)))){ Container(getChildAt(lastIndex)).endEffectsStarted(); }; if (_selectedIndex != -1){ selectedChild.endEffectsStarted(); }; lastIndex = _selectedIndex; if (_arg1 == lastIndex){ return; }; _selectedIndex = _arg1; if (initialSelectedIndex == -1){ initialSelectedIndex = _selectedIndex; }; if (((!((lastIndex == -1))) && (!((_arg1 == -1))))){ dispatchChangeEventPending = true; }; var _local2:Boolean; if (((!((lastIndex == -1))) && ((lastIndex < numChildren)))){ _local3 = Container(getChildAt(lastIndex)); _local3.setVisible(false); if (_local3.getStyle("hideEffect")){ _local4 = EffectManager.lastEffectCreated; if (_local4){ _local4.addEventListener(EffectEvent.EFFECT_END, hideEffectEndHandler); _local2 = true; }; }; }; if (!_local2){ hideEffectEndHandler(null); }; } private function instantiateSelectedChild():void{ if (!selectedChild){ return; }; if (((selectedChild) && ((selectedChild.numChildrenCreated == -1)))){ if (initialized){ selectedChild.addEventListener(FlexEvent.CREATION_COMPLETE, childCreationCompleteHandler); }; selectedChild.createComponentsFromDescriptors(true); }; if ((selectedChild is IInvalidating)){ IInvalidating(selectedChild).invalidateSize(); }; invalidateSize(); invalidateDisplayList(); } private function initializeHandler(_arg1:FlexEvent):void{ overlayChild.removeEventListener(FlexEvent.INITIALIZE, initializeHandler); UIComponent(overlayChild).addOverlay(overlayColor, overlayTargetArea); } public function set historyManagementEnabled(_arg1:Boolean):void{ if (_arg1 != _historyManagementEnabled){ _historyManagementEnabled = _arg1; historyManagementEnabledChanged = true; invalidateProperties(); }; } override public function get horizontalScrollPolicy():String{ return (ScrollPolicy.OFF); } private function childAddHandler(_arg1:ChildExistenceChangedEvent):void{ var _local4:IUIComponent; var _local2:DisplayObject = _arg1.relatedObject; var _local3:int = getChildIndex(_local2); if ((_local2 is IUIComponent)){ _local4 = IUIComponent(_local2); _local4.visible = false; }; if ((((numChildren == 1)) && ((proposedSelectedIndex == -1)))){ proposedSelectedIndex = 0; invalidateProperties(); } else { if ((((_local3 <= _selectedIndex)) && ((numChildren > 1)))){ selectedIndex++; }; }; if ((_local2 as IAutomationObject)){ }; IAutomationObject(_local2).showInAutomationHierarchy = true; } public function get resizeToContent():Boolean{ return (_resizeToContent); } private function systemManager_removedHandler(_arg1:Event):void{ if ((((_arg1.target is DisplayObjectContainer)) && (DisplayObjectContainer(_arg1.target).contains(this)))){ HistoryManager.unregister(this); }; } public function saveState():Object{ var _local1:int = ((_selectedIndex == -1)) ? 0 : _selectedIndex; return ({selectedIndex:_local1}); } override public function get autoLayout():Boolean{ return (true); } override mx_internal function removeOverlay():void{ if (overlayChild){ UIComponent(overlayChild).removeOverlay(); overlayChild = null; }; } private function childCreationCompleteHandler(_arg1:FlexEvent):void{ _arg1.target.removeEventListener(FlexEvent.CREATION_COMPLETE, childCreationCompleteHandler); _arg1.target.dispatchEvent(new FlexEvent(FlexEvent.SHOW)); } public function get selectedChild():Container{ if (selectedIndex == -1){ return (null); }; return (Container(getChildAt(selectedIndex))); } private function hideEffectEndHandler(_arg1:EffectEvent):void{ if (_arg1){ _arg1.currentTarget.removeEventListener(EffectEvent.EFFECT_END, hideEffectEndHandler); }; needToInstantiateSelectedChild = true; invalidateProperties(); if (bSaveState){ HistoryManager.save(); bSaveState = false; }; } override public function set horizontalScrollPolicy(_arg1:String):void{ } public function get historyManagementEnabled():Boolean{ return (_historyManagementEnabled); } public function loadState(_arg1:Object):void{ var _local2:int = (_arg1) ? int(_arg1.selectedIndex) : 0; if (_local2 == -1){ _local2 = initialSelectedIndex; }; if (_local2 == -1){ _local2 = 0; }; if (_local2 != _selectedIndex){ bInLoadState = true; selectedIndex = _local2; bInLoadState = false; }; } protected function get contentWidth():Number{ var _local1:EdgeMetrics = viewMetricsAndPadding; return (((unscaledWidth - _local1.left) - _local1.right)); } override protected function commitProperties():void{ super.commitProperties(); if (historyManagementEnabledChanged){ if (historyManagementEnabled){ HistoryManager.register(this); } else { HistoryManager.unregister(this); }; historyManagementEnabledChanged = false; }; if (proposedSelectedIndex != -1){ commitSelectedIndex(proposedSelectedIndex); proposedSelectedIndex = -1; }; if (needToInstantiateSelectedChild){ instantiateSelectedChild(); needToInstantiateSelectedChild = false; }; if (dispatchChangeEventPending){ dispatchChangeEvent(lastIndex, selectedIndex); dispatchChangeEventPending = false; }; if (firstTime){ firstTime = false; systemManager.addEventListener(Event.ADDED, systemManager_addedHandler, false, 0, true); systemManager.addEventListener(Event.REMOVED, systemManager_removedHandler, false, 0, true); }; } public function set resizeToContent(_arg1:Boolean):void{ if (_arg1 != _resizeToContent){ _resizeToContent = _arg1; if (_arg1){ invalidateSize(); }; }; } override public function createComponentsFromDescriptors(_arg1:Boolean=true):void{ if (actualCreationPolicy == ContainerCreationPolicy.ALL){ super.createComponentsFromDescriptors(); return; }; var _local2:int = numChildren; var _local3:int = (childDescriptors) ? childDescriptors.length : 0; var _local4:int; while (_local4 < _local3) { createComponentFromDescriptor(childDescriptors[_local4], false); _local4++; }; numChildrenCreated = (numChildren - _local2); processedDescriptors = true; } override protected function measure():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local8:Container; super.measure(); _local1 = 0; _local2 = 0; _local3 = 0; _local4 = 0; if (((vsPreferredWidth) && (!(_resizeToContent)))){ measuredMinWidth = vsMinWidth; measuredMinHeight = vsMinHeight; measuredWidth = vsPreferredWidth; measuredHeight = vsPreferredHeight; return; }; if ((((numChildren > 0)) && (!((selectedIndex == -1))))){ _local8 = Container(getChildAt(selectedIndex)); _local1 = _local8.minWidth; _local3 = _local8.getExplicitOrMeasuredWidth(); _local2 = _local8.minHeight; _local4 = _local8.getExplicitOrMeasuredHeight(); }; var _local5:EdgeMetrics = viewMetricsAndPadding; var _local6:Number = (_local5.left + _local5.right); _local1 = (_local1 + _local6); _local3 = (_local3 + _local6); var _local7:Number = (_local5.top + _local5.bottom); _local2 = (_local2 + _local7); _local4 = (_local4 + _local7); measuredMinWidth = _local1; measuredMinHeight = _local2; measuredWidth = _local3; measuredHeight = _local4; if (((selectedChild) && ((Container(selectedChild).numChildrenCreated == -1)))){ return; }; if (numChildren == 0){ return; }; vsMinWidth = _local1; vsMinHeight = _local2; vsPreferredWidth = _local3; vsPreferredHeight = _local4; } override public function set verticalScrollPolicy(_arg1:String):void{ } public function set selectedIndex(_arg1:int):void{ if (_arg1 == selectedIndex){ return; }; proposedSelectedIndex = _arg1; invalidateProperties(); if (((((historyManagementEnabled) && (!((_selectedIndex == -1))))) && (!(bInLoadState)))){ bSaveState = true; }; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } override mx_internal function addOverlay(_arg1:uint, _arg2:RoundedRectangle=null):void{ if (overlayChild){ removeOverlay(); }; overlayChild = selectedChild; if (!overlayChild){ return; }; overlayColor = _arg1; overlayTargetArea = _arg2; if (((selectedChild) && ((selectedChild.numChildrenCreated == -1)))){ selectedChild.addEventListener(FlexEvent.INITIALIZE, initializeHandler); } else { initializeHandler(null); }; } override public function set autoLayout(_arg1:Boolean):void{ } override public function get verticalScrollPolicy():String{ return (ScrollPolicy.OFF); } public function get selectedIndex():int{ return (((proposedSelectedIndex == -1)) ? _selectedIndex : proposedSelectedIndex); } private function childRemoveHandler(_arg1:ChildExistenceChangedEvent):void{ var _local2:DisplayObject = _arg1.relatedObject; var _local3:int = getChildIndex(_local2); if (_local3 > selectedIndex){ return; }; var _local4:int = selectedIndex; if ((((_local3 < _local4)) || ((_local4 == (numChildren - 1))))){ if (_local4 == 0){ selectedIndex = -1; _selectedIndex = -1; } else { selectedIndex--; }; } else { if (_local3 == _local4){ needToInstantiateSelectedChild = true; invalidateProperties(); }; }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local8:Container; var _local9:Number; var _local10:Number; super.updateDisplayList(_arg1, _arg2); var _local3:int = numChildren; var _local4:Number = contentWidth; var _local5:Number = contentHeight; var _local6:Number = contentX; var _local7:Number = contentY; if (selectedIndex != -1){ _local8 = Container(getChildAt(selectedIndex)); _local9 = _local4; _local10 = _local5; if (!isNaN(_local8.percentWidth)){ if (_local9 > _local8.maxWidth){ _local9 = _local8.maxWidth; }; } else { if (_local9 > _local8.explicitWidth){ _local9 = _local8.explicitWidth; }; }; if (!isNaN(_local8.percentHeight)){ if (_local10 > _local8.maxHeight){ _local10 = _local8.maxHeight; }; } else { if (_local10 > _local8.explicitHeight){ _local10 = _local8.explicitHeight; }; }; if (((!((_local8.width == _local9))) || (!((_local8.height == _local10))))){ _local8.setActualSize(_local9, _local10); }; if (((!((_local8.x == _local6))) || (!((_local8.y == _local7))))){ _local8.move(_local6, _local7); }; _local8.visible = true; }; } protected function get contentX():Number{ return (getStyle("paddingLeft")); } } }//package mx.containers
Section 86
//AlertForm (mx.controls.alertClasses.AlertForm) package mx.controls.alertClasses { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import mx.controls.*; import flash.text.*; 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 87
//ButtonBarButton (mx.controls.buttonBarClasses.ButtonBarButton) package mx.controls.buttonBarClasses { import mx.core.*; import mx.controls.*; public class ButtonBarButton extends Button { private var inLayoutContents:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; override mx_internal function layoutContents(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ inLayoutContents = true; super.layoutContents(_arg1, _arg2, _arg3); inLayoutContents = false; } override public function determineTextFormatFromStyles():UITextFormat{ if (((inLayoutContents) && (selected))){ return (textField.getUITextFormat()); }; return (super.determineTextFormatFromStyles()); } } }//package mx.controls.buttonBarClasses
Section 88
//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 89
//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 90
//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 91
//IListItemRenderer (mx.controls.listClasses.IListItemRenderer) package mx.controls.listClasses { import mx.core.*; import flash.events.*; import mx.managers.*; import mx.styles.*; public interface IListItemRenderer extends IDataRenderer, IEventDispatcher, IFlexDisplayObject, ILayoutManagerClient, ISimpleStyleClient, IUIComponent { } }//package mx.controls.listClasses
Section 92
//ListBase (mx.controls.listClasses.ListBase) package mx.controls.listClasses { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import flash.geom.*; import mx.styles.*; import mx.effects.*; import flash.utils.*; import mx.collections.*; import mx.utils.*; import flash.ui.*; import mx.skins.halo.*; import mx.controls.dataGridClasses.*; import mx.collections.errors.*; 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 93
//ListBaseContentHolder (mx.controls.listClasses.ListBaseContentHolder) package mx.controls.listClasses { import mx.core.*; import flash.display.*; 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 94
//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 95
//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 96
//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 97
//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 98
//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 99
//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 100
//ListItemDragProxy (mx.controls.listClasses.ListItemDragProxy) package mx.controls.listClasses { import mx.core.*; import flash.display.*; 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 101
//ListItemRenderer (mx.controls.listClasses.ListItemRenderer) package mx.controls.listClasses { import mx.core.*; import mx.events.*; import flash.display.*; import flash.geom.*; 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 102
//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 103
//ScrollBar (mx.controls.scrollClasses.ScrollBar) package mx.controls.scrollClasses { import mx.core.*; import mx.events.*; import flash.events.*; import flash.geom.*; 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 104
//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 105
//ScrollThumb (mx.controls.scrollClasses.ScrollThumb) package mx.controls.scrollClasses { import mx.events.*; import flash.events.*; import flash.geom.*; 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 106
//Tab (mx.controls.tabBarClasses.Tab) package mx.controls.tabBarClasses { import mx.core.*; import flash.display.*; import mx.styles.*; import mx.controls.*; import flash.text.*; public class Tab extends Button { private var focusSkin:IFlexDisplayObject; mx_internal static const VERSION:String = "3.0.0.0"; public function Tab(){ focusEnabled = false; } override public function drawFocus(_arg1:Boolean):void{ var _local2:Boolean; var _local3:Class; if (((((_arg1) && (!(selected)))) && (!(isEffectStarted)))){ if (!focusSkin){ _local2 = false; _local3 = getStyle(overSkinName); if (!_local3){ _local3 = getStyle(skinName); _local2 = true; }; if (_local3){ focusSkin = new (_local3); DisplayObject(focusSkin).name = overSkinName; if ((focusSkin is ISimpleStyleClient)){ ISimpleStyleClient(focusSkin).styleName = this; }; addChild(DisplayObject(focusSkin)); if (((((_local2) && (!((focusSkin is IProgrammaticSkin))))) && ((focusSkin is IStateClient)))){ IStateClient(focusSkin).currentState = "over"; }; }; }; invalidateDisplayList(); validateNow(); } else { if (focusSkin){ removeChild(DisplayObject(focusSkin)); focusSkin = null; }; }; } override mx_internal function layoutContents(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ super.layoutContents(_arg1, _arg2, _arg3); if (selected){ textField.y++; if (currentIcon){ currentIcon.y++; }; }; if (currentSkin){ setChildIndex(DisplayObject(currentSkin), (numChildren - 1)); }; if (((focusSkin) && (!(selected)))){ focusSkin.setActualSize(_arg1, _arg2); setChildIndex(DisplayObject(focusSkin), (numChildren - 1)); }; if (currentIcon){ setChildIndex(DisplayObject(currentIcon), (numChildren - 1)); }; if (textField){ setChildIndex(DisplayObject(textField), (numChildren - 1)); }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ super.updateDisplayList(_arg1, _arg2); if (currentIcon){ currentIcon.scaleX = 1; currentIcon.scaleY = 1; }; viewIcon(); } override public function measureText(_arg1:String):TextLineMetrics{ return (((textField.styleName)==this) ? super.measureText(_arg1) : textField.getUITextFormat().measureText(_arg1)); } override mx_internal function viewIcon():void{ var _local1:Number; super.viewIcon(); if (currentIcon){ if (((!((height == 0))) && ((currentIcon.height > (height - 4))))){ _local1 = ((height - 4) / currentIcon.height); currentIcon.scaleX = _local1; currentIcon.scaleY = _local1; invalidateSize(); if (height > 0){ layoutContents(width, height, false); }; }; }; } } }//package mx.controls.tabBarClasses
Section 107
//Alert (mx.controls.Alert) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; 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 108
//Button (mx.controls.Button) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import mx.styles.*; import flash.text.*; 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 109
//ButtonBar (mx.controls.ButtonBar) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import mx.styles.*; import flash.ui.*; import mx.containers.*; import mx.controls.buttonBarClasses.*; public class ButtonBar extends NavBar implements IFocusManagerComponent { mx_internal var simulatedClickTriggerEvent:Event;// = null mx_internal var focusedIndex:int;// = 0 private var directionChanged:Boolean;// = false mx_internal var buttonWidthProp:String;// = "buttonWidth" private var oldUnscaledHeight:Number; mx_internal var buttonStyleNameProp:String;// = "buttonStyleName" mx_internal var lastButtonStyleNameProp:String;// = "lastButtonStyleName" private var recalcButtonWidths:Boolean;// = false private var oldUnscaledWidth:Number; private var recalcButtonHeights:Boolean;// = false mx_internal var buttonHeightProp:String;// = "buttonHeight" mx_internal var firstButtonStyleNameProp:String;// = "firstButtonStyleName" mx_internal static const VERSION:String = "3.0.0.0"; public function ButtonBar(){ tabEnabled = true; navItemFactory = new ClassFactory(ButtonBarButton); addEventListener("scaleXChanged", scaleChangedHandler); addEventListener("scaleYChanged", scaleChangedHandler); addEventListener(ChildExistenceChangedEvent.CHILD_REMOVE, childRemoveHandler); } override public function get borderMetrics():EdgeMetrics{ return (EdgeMetrics.EMPTY); } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ var _local2:Button; if (_arg1.eventPhase != EventPhase.AT_TARGET){ return; }; switch (_arg1.keyCode){ case Keyboard.SPACE: if (focusedIndex != -1){ _local2 = Button(getChildAt(focusedIndex)); _local2.dispatchEvent(_arg1); }; _arg1.stopPropagation(); break; }; } mx_internal function nextIndex(_arg1:int):int{ var _local2:int = numChildren; if (_local2 == 0){ return (-1); }; return (((_arg1 == (_local2 - 1))) ? 0 : (_arg1 + 1)); } private function calcFullWidth():Number{ var _local6:Number; var _local8:Number; var _local1:int = numChildren; var _local2:Number = 0; if (_local1 == 0){ return (0); }; if (_local1 > 1){ _local2 = getStyle("horizontalGap"); }; var _local3 = (direction == BoxDirection.HORIZONTAL); var _local4:Number = getStyle(buttonWidthProp); var _local5:IUIComponent = IUIComponent(getChildAt(0)); if (_local4){ _local6 = (isNaN(_local5.explicitWidth)) ? _local4 : _local5.explicitWidth; } else { _local6 = _local5.getExplicitOrMeasuredWidth(); }; var _local7 = 1; while (_local7 < _local1) { _local5 = IUIComponent(getChildAt(_local7)); if (_local4){ _local8 = (isNaN(_local5.explicitWidth)) ? _local4 : _local5.explicitWidth; } else { _local8 = _local5.getExplicitOrMeasuredWidth(); }; if (_local3){ _local6 = (_local6 + (_local2 + _local8)); } else { _local6 = Math.max(_local6, _local8); }; _local7++; }; return (_local6); } override protected function clickHandler(_arg1:MouseEvent):void{ if (simulatedClickTriggerEvent == null){ focusedIndex = getChildIndex(DisplayObject(_arg1.currentTarget)); drawButtonFocus(focusedIndex, true); }; super.clickHandler(_arg1); } override protected function createNavItem(_arg1:String, _arg2:Class=null):IFlexDisplayObject{ var _local8:CSSStyleDeclaration; var _local9:Boolean; var _local10:Button; var _local3:Button = Button(navItemFactory.newInstance()); _local3.focusEnabled = false; var _local4:String = getStyle(buttonStyleNameProp); var _local5:String = getStyle(firstButtonStyleNameProp); var _local6:String = getStyle(lastButtonStyleNameProp); if (!_local4){ _local4 = "ButtonBarButton"; }; if (!_local5){ _local5 = _local4; }; if (!_local6){ _local6 = _local4; }; var _local7:int = numChildren; if (_local7 == 0){ _local3.styleName = _local4; } else { _local3.styleName = _local6; _local8 = StyleManager.getStyleDeclaration(("." + _local6)); if (((_local8) && (!(_local8.getStyle("focusRoundedCorners"))))){ _local3.setStyle("focusRoundedCorners", "tr br"); }; _local9 = (_local7 == 1); _local10 = Button(getChildAt((_local9) ? 0 : (_local7 - 1))); if (_local9){ _local10.styleName = _local5; _local8 = StyleManager.getStyleDeclaration(("." + _local5)); if (((_local8) && (!(_local8.getStyle("focusRoundedCorners"))))){ _local10.setStyle("focusRoundedCorners", "tl bl"); }; } else { _local10.styleName = _local4; _local8 = StyleManager.getStyleDeclaration(("." + _local4)); if (((_local8) && (!(_local8.getStyle("focusRoundedCorners"))))){ _local10.setStyle("focusRoundedCorners", ""); }; }; _local10.changeSkins(); _local10.invalidateDisplayList(); }; _local3.label = _arg1; _local3.setStyle("icon", _arg2); _local3.addEventListener(MouseEvent.CLICK, clickHandler); addChild(_local3); recalcButtonWidths = (recalcButtonHeights = true); return (_local3); } override public function styleChanged(_arg1:String):void{ var _local3:String; var _local4:String; var _local5:String; var _local6:String; var _local7:int; var _local8:int; var _local2:Boolean = (((_arg1 == null)) || ((_arg1 == "styleName"))); super.styleChanged(_arg1); if (((((((_local2) || ((_arg1 == buttonStyleNameProp)))) || ((_arg1 == firstButtonStyleNameProp)))) || ((_arg1 == lastButtonStyleNameProp)))){ _local3 = getStyle(buttonStyleNameProp); _local4 = getStyle(firstButtonStyleNameProp); _local5 = getStyle(lastButtonStyleNameProp); if (!_local3){ _local3 = "ButtonBarButton"; }; if (!_local4){ _local4 = _local3; }; if (!_local5){ _local5 = _local3; }; _local7 = numChildren; _local8 = 0; while (_local8 < _local7) { if (_local8 == 0){ _local6 = _local4; } else { if (_local8 == (_local7 - 1)){ _local6 = _local5; } else { _local6 = _local3; }; }; Button(getChildAt(_local8)).styleName = _local6; _local8++; }; recalcButtonWidths = (recalcButtonHeights = true); }; if (_arg1 == buttonWidthProp){ recalcButtonWidths = true; } else { if (_arg1 == buttonHeightProp){ recalcButtonHeights = true; }; }; } override protected function commitProperties():void{ var _local1:int; var _local2:int; super.commitProperties(); if (directionChanged){ directionChanged = false; _local1 = numChildren; _local2 = 0; while (_local2 < _local1) { Button(getChildAt(_local2)).changeSkins(); _local2++; }; }; } private function calcFullHeight():Number{ var _local2:Number; var _local6:Number; var _local8:Number; var _local1:int = numChildren; if (_local1 == 0){ return (0); }; if (_local1 > 1){ _local2 = getStyle("verticalGap"); }; var _local3 = (direction == BoxDirection.VERTICAL); var _local4:Number = getStyle(buttonHeightProp); var _local5:IUIComponent = IUIComponent(getChildAt(0)); if (_local4){ _local6 = (isNaN(_local5.explicitHeight)) ? _local4 : _local5.explicitHeight; } else { _local6 = _local5.getExplicitOrMeasuredHeight(); }; var _local7 = 1; while (_local7 < _local1) { _local5 = IUIComponent(getChildAt(_local7)); if (_local4){ _local8 = (isNaN(_local5.explicitHeight)) ? _local4 : _local5.explicitHeight; } else { _local8 = _local5.getExplicitOrMeasuredHeight(); }; if (_local3){ _local6 = (_local6 + (_local2 + _local8)); } else { _local6 = Math.max(_local6, _local8); }; _local7++; }; return (_local6); } override protected function resetNavItems():void{ recalcButtonWidths = (recalcButtonHeights = true); invalidateDisplayList(); } override public function get viewMetrics():EdgeMetrics{ return (EdgeMetrics.EMPTY); } mx_internal function prevIndex(_arg1:int):int{ var _local2:int = numChildren; return (((_arg1 == 0)) ? (_local2 - 1) : (_arg1 - 1)); } private function scaleChangedHandler(_arg1:Event):void{ var _local3:Button; var _local2:int; while (_local2 < numChildren) { _local3 = (getChildAt(_local2) as Button); if (_local3){ _local3.explicitWidth = NaN; _local3.minWidth = NaN; _local3.maxWidth = NaN; _local3.explicitHeight = NaN; _local3.minHeight = NaN; _local3.maxHeight = NaN; }; _local2++; }; } mx_internal function drawButtonFocus(_arg1:int, _arg2:Boolean):void{ var _local3:Button; if (_arg1 < numChildren){ _local3 = Button(getChildAt(_arg1)); _local3.drawFocus(((_arg2) && (focusManager.showFocusIndicator))); if (_arg2){ dispatchEvent(new Event("focusDraw")); }; if (((!(_arg2)) && (!((_local3.phase == ButtonPhase.UP))))){ _local3.phase = ButtonPhase.UP; }; }; } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:Button; if (_arg1.eventPhase != EventPhase.AT_TARGET){ return; }; switch (_arg1.keyCode){ case Keyboard.DOWN: case Keyboard.RIGHT: focusManager.showFocusIndicator = true; drawButtonFocus(focusedIndex, false); focusedIndex = nextIndex(focusedIndex); if (focusedIndex != -1){ drawButtonFocus(focusedIndex, true); }; _arg1.stopPropagation(); break; case Keyboard.UP: case Keyboard.LEFT: focusManager.showFocusIndicator = true; drawButtonFocus(focusedIndex, false); focusedIndex = prevIndex(focusedIndex); if (focusedIndex != -1){ drawButtonFocus(focusedIndex, true); }; _arg1.stopPropagation(); break; case Keyboard.SPACE: if (focusedIndex != -1){ _local2 = Button(getChildAt(focusedIndex)); _local2.dispatchEvent(_arg1); }; _arg1.stopPropagation(); break; }; } override protected function measure():void{ var _local1:EdgeMetrics; super.measure(); _local1 = viewMetricsAndPadding; measuredWidth = ((calcFullWidth() + _local1.left) + _local1.right); measuredHeight = ((calcFullHeight() + _local1.top) + _local1.bottom); if (getStyle(buttonWidthProp)){ measuredMinWidth = measuredWidth; }; if (getStyle(buttonHeightProp)){ measuredMinHeight = measuredHeight; }; } private function childRemoveHandler(_arg1:ChildExistenceChangedEvent):void{ var _local8:Button; var _local2:DisplayObject = _arg1.relatedObject; var _local3:int = getChildIndex(_local2); var _local4:int = numChildren; if (_local4 < 2){ return; }; var _local5:String = getStyle(buttonStyleNameProp); var _local6:String = getStyle(firstButtonStyleNameProp); var _local7:String = getStyle(lastButtonStyleNameProp); if (!_local5){ _local5 = "buttonBarButtonStyle"; }; if (!_local6){ _local6 = _local5; }; if (!_local7){ _local7 = _local5; }; if ((((_local3 == 0)) || ((_local3 == (_local4 - 1))))){ _local8 = Button(getChildAt(((_local3 == (_local4 - 1))) ? (_local4 - 2) : 0)); _local8.styleName = ((_local3 == 0)) ? _local6 : _local7; _local8.changeSkins(); _local8.invalidateDisplayList(); }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local3:Boolean; var _local16:int; var _local17:Button; var _local18:Number; var _local19:int; var _local20:int; var _local21:Number; var _local22:int; var _local23:int; var _local24:int; var _local25:Number; _local3 = (direction == BoxDirection.HORIZONTAL); var _local4 = !(_local3); var _local5:Number = getStyle(buttonWidthProp); var _local6:Number = getStyle(buttonHeightProp); var _local7:Number = _local6; var _local8:EdgeMetrics = viewMetricsAndPadding; var _local9:int = numChildren; var _local10:Number = getStyle("horizontalGap"); var _local11:Number = getStyle("verticalGap"); var _local12:Number = (((_local3) && ((numChildren > 0)))) ? (_local10 * (_local9 - 1)) : 0; var _local13:Number = (((_local4) && ((numChildren > 0)))) ? (_local11 * (_local9 - 1)) : 0; var _local14:Number = (((_arg1 - _local8.left) - _local8.right) - _local12); var _local15:Number = (((_arg2 - _local8.top) - _local8.bottom) - _local13); if (((!(_local14)) || (!(_local15)))){ return; }; if (border){ border.visible = false; }; if (_arg1 != oldUnscaledWidth){ recalcButtonWidths = true; oldUnscaledWidth = _arg1; }; if (_arg2 != oldUnscaledHeight){ recalcButtonHeights = true; oldUnscaledHeight = _arg2; }; if (recalcButtonWidths){ recalcButtonWidths = false; if (((isNaN(_local5)) && (_local4))){ _local5 = _local14; }; _local18 = (_local14 - (calcFullWidth() - _local12)); _local19 = ((_local9 > 0)) ? (_local14 / _local9) : 0; _local20 = 0; _local21 = 0; _local22 = 0; if (((!((_local18 == 0))) && (_local3))){ _local16 = 0; while (_local16 < _local9) { _local17 = Button(getChildAt(_local16)); if (isNaN(_local17.explicitWidth)){ _local23 = _local17.measuredWidth; _local21 = (_local21 + _local23); if (_local23 > _local19){ _local20++; } else { _local22 = (_local22 + _local23); }; }; _local16++; }; } else { _local21 = _local14; }; _local16 = 0; while (_local16 < _local9) { _local17 = Button(getChildAt(_local16)); if (isNaN(_local17.explicitWidth)){ _local17.minWidth = 0; if (!isNaN(_local5)){ _local17.minWidth = (_local17.maxWidth = _local5); _local17.percentWidth = ((_local5 / Math.min(_local14, _local21)) * 100); } else { if (_local18 < 0){ _local24 = _local17.measuredWidth; if (_local24 > _local19){ _local24 = ((_local14 - _local22) / _local20); }; _local17.percentWidth = ((Number(_local24) / _local14) * 100); } else { if (_local18 > 0){ _local17.percentWidth = ((_local17.measuredWidth / _local21) * 100); } else { _local17.percentWidth = NaN; }; }; }; if (_local4){ _local17.percentWidth = 100; }; }; _local16++; }; }; if (recalcButtonHeights){ recalcButtonHeights = false; if (((isNaN(_local7)) && (_local3))){ _local7 = _local15; }; _local18 = (_local15 - (calcFullHeight() - _local13)); _local25 = 0; if (((!((_local18 == 0))) && (_local4))){ _local16 = 0; while (_local16 < _local9) { _local17 = Button(getChildAt(_local16)); if (isNaN(_local17.explicitHeight)){ _local25 = (_local25 + _local17.measuredHeight); }; _local16++; }; }; _local16 = 0; while (_local16 < _local9) { _local17 = Button(getChildAt(_local16)); if (isNaN(_local17.explicitHeight)){ _local17.minHeight = 0; if (!isNaN(_local7)){ _local17.minHeight = _local7; _local17.percentHeight = ((_local7 / Math.min(_local25, _local15)) * 100); }; if (!isNaN(_local6)){ _local17.maxHeight = _local6; }; if (_local3){ _local17.percentHeight = 100; } else { if (_local18 < 0){ _local17.percentHeight = ((_local17.measuredHeight / _local25) * 100); } else { if (_local18 > 0){ _local17.percentHeight = ((_local17.measuredHeight / _local25) * 100); } else { _local17.percentHeight = NaN; }; }; }; }; _local16++; }; }; super.updateDisplayList(_arg1, _arg2); } override public function drawFocus(_arg1:Boolean):void{ drawButtonFocus(focusedIndex, _arg1); } override public function set direction(_arg1:String):void{ if (((initialized) && (!((_arg1 == direction))))){ directionChanged = true; invalidateProperties(); }; super.direction = _arg1; } } }//package mx.controls
Section 110
//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 111
//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 112
//ComboBase (mx.controls.ComboBase) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; 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 113
//ComboBox (mx.controls.ComboBox) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import mx.managers.*; import flash.geom.*; import mx.styles.*; import flash.text.*; import mx.effects.*; import mx.controls.listClasses.*; import mx.collections.*; 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 114
//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 115
//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 116
//Label (mx.controls.Label) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; 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 117
//LinkButton (mx.controls.LinkButton) package mx.controls { import mx.core.*; import flash.text.*; public class LinkButton extends Button { mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var createAccessibilityImplementation:Function; public function LinkButton(){ buttonMode = true; extraSpacing = 4; } override protected function measure():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:TextLineMetrics; super.measure(); if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local1 = 8; _local2 = 8; if (label){ _local7 = measureText(label); _local1 = (_local1 + _local7.width); _local2 = (_local2 + _local7.height); }; _local1 = (_local1 + (getStyle("paddingLeft") + getStyle("paddingRight"))); viewIcon(); viewSkin(); _local3 = (currentIcon) ? currentIcon.width : 0; _local4 = (currentIcon) ? currentIcon.height : 0; _local5 = 0; _local6 = 0; if ((((labelPlacement == ButtonLabelPlacement.LEFT)) || ((labelPlacement == ButtonLabelPlacement.RIGHT)))){ if (((label) && ((label.length > 0)))){ _local5 = (_local1 + _local3); } else { _local5 = _local3; }; if (_local3 != 0){ _local5 = (_local5 + getStyle("horizontalGap")); }; _local6 = Math.max(_local2, _local4); } else { _local5 = Math.max(_local1, _local3); if (((label) && ((label.length > 0)))){ _local6 = (_local2 + _local4); } else { _local6 = _local4; }; if (_local4 != 0){ _local6 = (_local6 + getStyle("verticalGap")); }; }; if (((label) && (!((label == ""))))){ _local5 = (_local5 + extraSpacing); }; _local5 = Math.max(20, _local5); _local6 = Math.max(14, _local6); measuredMinWidth = (measuredWidth = _local5); measuredMinHeight = (measuredHeight = _local6); }; } override public function set emphasized(_arg1:Boolean):void{ } override protected function initializeAccessibility():void{ if (createAccessibilityImplementation != null){ createAccessibilityImplementation(this); }; } } }//package mx.controls
Section 118
//List (mx.controls.List) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import flash.geom.*; import mx.styles.*; import mx.controls.scrollClasses.*; import flash.utils.*; import mx.controls.listClasses.*; import mx.collections.*; 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 119
//NavBar (mx.controls.NavBar) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.collections.*; import mx.containers.*; public class NavBar extends Box { private var _labelField:String;// = "label" private var _iconField:String;// = "icon" private var _dataProvider:IList; private var measurementHasBeenCalled:Boolean;// = false private var _toolTipField:String;// = "toolTip" mx_internal var navItemFactory:IFactory; private var pendingTargetStack:Object; private var lastToolTip:String;// = null private var _labelFunction:Function; mx_internal var targetStack:ViewStack; private var _selectedIndex:int;// = -1 private var dataProviderChanged:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; public function NavBar(){ navItemFactory = new ClassFactory(Button); super(); direction = BoxDirection.HORIZONTAL; showInAutomationHierarchy = true; } public function get iconField():String{ return (_iconField); } override public function set enabled(_arg1:Boolean):void{ var _local2:int; var _local3:int; if (_arg1 != enabled){ super.enabled = _arg1; _local2 = numChildren; _local3 = 0; while (_local3 < _local2) { if (targetStack){ Button(getChildAt(_local3)).enabled = ((_arg1) && (Container(targetStack.getChildAt(_local3)).enabled)); } else { Button(getChildAt(_local3)).enabled = _arg1; }; _local3++; }; }; } protected function updateNavItemIcon(_arg1:int, _arg2:Class):void{ var _local3:Button = Button(getChildAt(_arg1)); _local3.setStyle("icon", _arg2); } private function childIndexChangeHandler(_arg1:IndexChangedEvent):void{ if (_arg1.target == this){ return; }; setChildIndex(getChildAt(_arg1.oldIndex), _arg1.newIndex); resetNavItems(); } protected function hiliteSelectedNavItem(_arg1:int):void{ } private function checkPendingTargetStack():void{ if (pendingTargetStack){ _setTargetViewStack(pendingTargetStack); pendingTargetStack = null; }; } private function setTargetViewStack(_arg1:Object):void{ if (((!(measurementHasBeenCalled)) && (_arg1))){ pendingTargetStack = _arg1; invalidateProperties(); } else { _setTargetViewStack(_arg1); }; } override public function get baselinePosition():Number{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ return (super.baselinePosition); }; if (!validateBaselinePosition()){ return (NaN); }; if (numChildren == 0){ return (super.baselinePosition); }; var _local1:Button = Button(getChildAt(0)); validateNow(); return ((_local1.y + _local1.baselinePosition)); } private function enabledChangedHandler(_arg1:Event):void{ var _local2:int = targetStack.getChildIndex(DisplayObject(_arg1.target)); Button(getChildAt(_local2)).enabled = ((enabled) && (_arg1.target.enabled)); } private function labelChangedHandler(_arg1:Event):void{ var _local2:int = targetStack.getChildIndex(DisplayObject(_arg1.target)); updateNavItemLabel(_local2, Container(_arg1.target).label); } override protected function createChildren():void{ super.createChildren(); if (dataProviderChanged){ createNavChildren(); dataProviderChanged = false; }; } override public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{ super.notifyStyleChangeInChildren(_arg1, true); } protected function clickHandler(_arg1:MouseEvent):void{ var _local2:int = getChildIndex(DisplayObject(_arg1.currentTarget)); if (targetStack){ targetStack.selectedIndex = _local2; }; _selectedIndex = _local2; var _local3:ItemClickEvent = new ItemClickEvent(ItemClickEvent.ITEM_CLICK); _local3.label = Button(_arg1.currentTarget).label; _local3.index = _local2; _local3.relatedObject = InteractiveObject(_arg1.currentTarget); _local3.item = (_dataProvider) ? _dataProvider.getItemAt(_local2) : null; dispatchEvent(_local3); _arg1.stopImmediatePropagation(); } override public function get horizontalScrollPolicy():String{ return (ScrollPolicy.OFF); } public function set iconField(_arg1:String):void{ _iconField = _arg1; if (_dataProvider){ dataProvider = _dataProvider; }; dispatchEvent(new Event("iconFieldChanged")); } private function childAddHandler(_arg1:ChildExistenceChangedEvent):void{ if (_arg1.target == this){ return; }; if (_arg1.relatedObject.parent != targetStack){ return; }; var _local2:Container = Container(_arg1.relatedObject); var _local3:Button = Button(createNavItem(itemToLabel(_local2), _local2.icon)); var _local4:int = _local2.parent.getChildIndex(DisplayObject(_local2)); setChildIndex(_local3, _local4); if (_local2.toolTip){ _local3.toolTip = _local2.toolTip; _local2.toolTip = null; }; _local2.addEventListener("labelChanged", labelChangedHandler); _local2.addEventListener("iconChanged", iconChangedHandler); _local2.addEventListener("enabledChanged", enabledChangedHandler); _local2.addEventListener("toolTipChanged", toolTipChangedHandler); _local3.enabled = ((enabled) && (_local2.enabled)); } 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)); }; if ((data is Number)){ return (data.toString()); }; return (""); } private function createNavChildren():void{ var item:Object; var navItem:Button; var label:String; var iconValue:Object; var icon:Class; if (!_dataProvider){ return; }; var n:int = _dataProvider.length; var i:int; while (i < n) { item = _dataProvider.getItemAt(i); if ((item is String)){ navItem = Button(createNavItem(String(item))); } else { label = itemToLabel(item); if (iconField){ iconValue = null; try { iconValue = item[iconField]; } catch(e:Error) { }; icon = ((iconValue is String)) ? Class(systemManager.getDefinitionByName(String(iconValue))) : Class(iconValue); navItem = Button(createNavItem(label, icon)); } else { navItem = Button(createNavItem(label, null)); }; if (toolTipField){ try { navItem.toolTip = ((item[toolTipField] === undefined)) ? null : item[toolTipField]; } catch(e:Error) { }; }; }; navItem.enabled = enabled; i = (i + 1); }; } public function set toolTipField(_arg1:String):void{ _toolTipField = _arg1; if (_dataProvider){ dataProvider = _dataProvider; }; dispatchEvent(new Event("toolTipFieldChanged")); } private function _setTargetViewStack(_arg1:Object):void{ var _local2:ViewStack; var _local6:Container; var _local7:Button; if ((_arg1 is ViewStack)){ _local2 = ViewStack(_arg1); } else { if (_arg1){ _local2 = parentDocument[_arg1]; } else { _local2 = null; }; }; if (targetStack){ targetStack.removeEventListener(ChildExistenceChangedEvent.CHILD_ADD, childAddHandler); targetStack.removeEventListener(ChildExistenceChangedEvent.CHILD_REMOVE, childRemoveHandler); targetStack.removeEventListener(Event.CHANGE, changeHandler); targetStack.removeEventListener(IndexChangedEvent.CHILD_INDEX_CHANGE, childIndexChangeHandler); }; removeAllChildren(); _selectedIndex = -1; targetStack = _local2; if (!targetStack){ return; }; targetStack.addEventListener(ChildExistenceChangedEvent.CHILD_ADD, childAddHandler); targetStack.addEventListener(ChildExistenceChangedEvent.CHILD_REMOVE, childRemoveHandler); targetStack.addEventListener(Event.CHANGE, changeHandler); targetStack.addEventListener(IndexChangedEvent.CHILD_INDEX_CHANGE, childIndexChangeHandler); var _local3:int = targetStack.numChildren; var _local4:int; while (_local4 < _local3) { _local6 = Container(targetStack.getChildAt(_local4)); _local7 = Button(createNavItem(itemToLabel(_local6), _local6.icon)); if (_local6.toolTip){ _local7.toolTip = _local6.toolTip; _local6.toolTip = null; }; _local6.addEventListener("labelChanged", labelChangedHandler); _local6.addEventListener("iconChanged", iconChangedHandler); _local6.addEventListener("enabledChanged", enabledChangedHandler); _local6.addEventListener("toolTipChanged", toolTipChangedHandler); _local7.enabled = ((enabled) && (_local6.enabled)); _local4++; }; var _local5:int = targetStack.selectedIndex; if ((((_local5 == -1)) && ((targetStack.numChildren > 0)))){ _local5 = 0; }; if (_local5 != -1){ hiliteSelectedNavItem(_local5); }; invalidateDisplayList(); } private function toolTipChangedHandler(_arg1:Event):void{ var _local2:int = targetStack.getChildIndex(DisplayObject(_arg1.target)); var _local3:UIComponent = UIComponent(getChildAt(_local2)); if (UIComponent(_arg1.target).toolTip){ _local3.toolTip = UIComponent(_arg1.target).toolTip; lastToolTip = UIComponent(_arg1.target).toolTip; UIComponent(_arg1.target).toolTip = null; } else { if (!lastToolTip){ _local3.toolTip = UIComponent(_arg1.target).toolTip; lastToolTip = "placeholder"; UIComponent(_arg1.target).toolTip = null; } else { lastToolTip = null; }; }; } protected function createNavItem(_arg1:String, _arg2:Class=null):IFlexDisplayObject{ return (null); } public function get dataProvider():Object{ return ((targetStack) ? targetStack : _dataProvider); } protected function updateNavItemLabel(_arg1:int, _arg2:String):void{ var _local3:Button = Button(getChildAt(_arg1)); _local3.label = _arg2; } override public function set horizontalScrollPolicy(_arg1:String):void{ } override protected function commitProperties():void{ super.commitProperties(); if (!measurementHasBeenCalled){ checkPendingTargetStack(); measurementHasBeenCalled = true; }; if (dataProviderChanged){ dataProviderChanged = false; createNavChildren(); }; if (blocker){ blocker.visible = false; }; } public function set labelField(_arg1:String):void{ _labelField = _arg1; if (_dataProvider){ dataProvider = _dataProvider; }; dispatchEvent(new Event("labelFieldChanged")); } private function iconChangedHandler(_arg1:Event):void{ var _local2:int = targetStack.getChildIndex(DisplayObject(_arg1.target)); updateNavItemIcon(_local2, Container(_arg1.target).icon); } protected function resetNavItems():void{ } public function get toolTipField():String{ return (_toolTipField); } public function set labelFunction(_arg1:Function):void{ _labelFunction = _arg1; invalidateDisplayList(); dispatchEvent(new Event("labelFunctionChanged")); } public function get labelField():String{ return (_labelField); } override public function set verticalScrollPolicy(_arg1:String):void{ } private function childRemoveHandler(_arg1:ChildExistenceChangedEvent):void{ if (_arg1.target == this){ return; }; var _local2:ViewStack = ViewStack(_arg1.target); removeChildAt(_local2.getChildIndex(_arg1.relatedObject)); callLater(resetNavItems); } public function get labelFunction():Function{ return (_labelFunction); } override public function get verticalScrollPolicy():String{ return (ScrollPolicy.OFF); } public function set dataProvider(_arg1:Object):void{ var _local2:String; var _local3:String; if (((((((((_arg1) && (!((_arg1 is String))))) && (!((_arg1 is ViewStack))))) && (!((_arg1 is Array))))) && (!((_arg1 is IList))))){ _local2 = resourceManager.getString("controls", "errWrongContainer", [id]); throw (new Error(_local2)); }; if ((((_arg1 is String)) && (((document) && (document[_arg1]))))){ _arg1 = document[_arg1]; }; if ((((_arg1 is String)) || ((_arg1 is ViewStack)))){ setTargetViewStack(_arg1); return; }; if ((((((((_arg1 is IList)) && ((IList(_arg1).length > 0)))) && ((IList(_arg1).getItemAt(0) is DisplayObject)))) || ((((((_arg1 is Array)) && (((_arg1 as Array).length > 0)))) && ((_arg1[0] is DisplayObject)))))){ _local3 = (id) ? (((className + " '") + id) + "'") : ("a " + className); _local2 = resourceManager.getString("controls", "errWrongType", [_local3]); throw (new Error(_local2)); }; setTargetViewStack(null); removeAllChildren(); if ((_arg1 is IList)){ _dataProvider = IList(_arg1); } else { if ((_arg1 is Array)){ _dataProvider = new ArrayCollection((_arg1 as Array)); } else { _dataProvider = null; }; }; dataProviderChanged = true; invalidateProperties(); if (_dataProvider){ _dataProvider.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler, false, 0, true); }; if (inheritingStyles == UIComponent.STYLE_UNINITIALIZED){ return; }; dispatchEvent(new Event("collectionChange")); } private function changeHandler(_arg1:Event):void{ if (_arg1.target == dataProvider){ hiliteSelectedNavItem(Object(_arg1.target).selectedIndex); }; } private function collectionChangeHandler(_arg1:Event):void{ dataProvider = dataProvider; } public function set selectedIndex(_arg1:int):void{ _selectedIndex = _arg1; if (targetStack){ targetStack.selectedIndex = _arg1; }; dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); } public function get selectedIndex():int{ return (_selectedIndex); } } }//package mx.controls
Section 120
//TabBar (mx.controls.TabBar) package mx.controls { import mx.core.*; import flash.events.*; import flash.display.*; import mx.controls.tabBarClasses.*; public class TabBar extends ToggleButtonBar { mx_internal static const VERSION:String = "3.0.0.0"; mx_internal static var createAccessibilityImplementation:Function; public function TabBar(){ buttonHeightProp = "tabHeight"; buttonStyleNameProp = "tabStyleName"; firstButtonStyleNameProp = "firstTabStyleName"; lastButtonStyleNameProp = "lastTabStyleName"; buttonWidthProp = "tabWidth"; navItemFactory = new ClassFactory(Tab); selectedButtonTextStyleNameProp = "selectedTabTextStyleName"; } override protected function clickHandler(_arg1:MouseEvent):void{ if (getChildIndex(DisplayObject(_arg1.currentTarget)) == selectedIndex){ Button(_arg1.currentTarget).selected = true; _arg1.stopImmediatePropagation(); return; }; super.clickHandler(_arg1); } override protected function createNavItem(_arg1:String, _arg2:Class=null):IFlexDisplayObject{ var _local3:IFlexDisplayObject = super.createNavItem(_arg1, _arg2); DisplayObject(_local3).addEventListener(MouseEvent.MOUSE_DOWN, tab_mouseDownHandler); DisplayObject(_local3).addEventListener(MouseEvent.DOUBLE_CLICK, tab_doubleClickHandler); return (_local3); } private function tab_doubleClickHandler(_arg1:MouseEvent):void{ Button(_arg1.currentTarget).selected = true; } private function tab_mouseDownHandler(_arg1:MouseEvent):void{ selectButton(_arg1.currentTarget.parent.getChildIndex(_arg1.currentTarget), true, _arg1); } override protected function initializeAccessibility():void{ if (TabBar.createAccessibilityImplementation != null){ TabBar.createAccessibilityImplementation(this); }; } } }//package mx.controls
Section 121
//Text (mx.controls.Text) package mx.controls { import mx.core.*; import mx.events.*; public class Text extends Label { private var widthChanged:Boolean;// = true private var lastUnscaledWidth:Number;// = NAN mx_internal static const VERSION:String = "3.0.0.0"; public function Text(){ selectable = true; truncateToFit = false; addEventListener(FlexEvent.UPDATE_COMPLETE, updateCompleteHandler); } private function measureUsingWidth(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local5:Number; var _local6:Boolean; _local2 = getStyle("paddingLeft"); _local3 = getStyle("paddingTop"); var _local4:Number = getStyle("paddingRight"); _local5 = getStyle("paddingBottom"); textField.validateNow(); textField.autoSize = "left"; if (!isNaN(_arg1)){ textField.width = ((_arg1 - _local2) - _local4); measuredWidth = (Math.ceil(textField.textWidth) + UITextField.TEXT_WIDTH_PADDING); measuredHeight = (Math.ceil(textField.textHeight) + UITextField.TEXT_HEIGHT_PADDING); } else { _local6 = textField.wordWrap; textField.wordWrap = false; measuredWidth = (Math.ceil(textField.textWidth) + UITextField.TEXT_WIDTH_PADDING); measuredHeight = (Math.ceil(textField.textHeight) + UITextField.TEXT_HEIGHT_PADDING); textField.wordWrap = _local6; }; textField.autoSize = "none"; measuredWidth = (measuredWidth + (_local2 + _local4)); measuredHeight = (measuredHeight + (_local3 + _local5)); if (isNaN(explicitWidth)){ measuredMinWidth = DEFAULT_MEASURED_MIN_WIDTH; measuredMinHeight = DEFAULT_MEASURED_MIN_HEIGHT; } else { measuredMinWidth = measuredWidth; measuredMinHeight = measuredHeight; }; } override public function set percentWidth(_arg1:Number):void{ if (_arg1 != percentWidth){ widthChanged = true; invalidateProperties(); invalidateSize(); }; super.percentWidth = _arg1; } override public function set explicitWidth(_arg1:Number):void{ if (_arg1 != explicitWidth){ widthChanged = true; invalidateProperties(); invalidateSize(); }; super.explicitWidth = _arg1; } private function updateCompleteHandler(_arg1:FlexEvent):void{ lastUnscaledWidth = NaN; } override protected function childrenCreated():void{ super.childrenCreated(); textField.wordWrap = true; textField.multiline = true; textField.mouseWheelEnabled = false; } override protected function commitProperties():void{ super.commitProperties(); if (widthChanged){ textField.wordWrap = ((!(isNaN(percentWidth))) || (!(isNaN(explicitWidth)))); widthChanged = false; }; } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local7:Boolean; if (isSpecialCase()){ _local7 = ((isNaN(lastUnscaledWidth)) || (!((lastUnscaledWidth == _arg1)))); lastUnscaledWidth = _arg1; if (_local7){ invalidateSize(); return; }; }; 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; if (Math.floor(width) < Math.floor(measuredWidth)){ textField.wordWrap = true; }; } override protected function measure():void{ if (isSpecialCase()){ if (!isNaN(lastUnscaledWidth)){ measureUsingWidth(lastUnscaledWidth); } else { measuredWidth = 0; measuredHeight = 0; }; return; }; measureUsingWidth(explicitWidth); } private function isSpecialCase():Boolean{ var _local1:Number = getStyle("left"); var _local2:Number = getStyle("right"); return (((((((!(isNaN(percentWidth))) || (((!(isNaN(_local1))) && (!(isNaN(_local2))))))) && (isNaN(explicitHeight)))) && (isNaN(percentHeight)))); } } }//package mx.controls
Section 122
//TextArea (mx.controls.TextArea) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import flash.text.*; import mx.controls.listClasses.*; import flash.accessibility.*; import flash.system.*; 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 123
//TextInput (mx.controls.TextInput) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import mx.styles.*; import flash.text.*; import mx.controls.listClasses.*; import flash.accessibility.*; import flash.ui.*; import flash.system.*; 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 124
//ToggleButtonBar (mx.controls.ToggleButtonBar) package mx.controls { import mx.core.*; import mx.events.*; import flash.events.*; import flash.ui.*; public class ToggleButtonBar extends ButtonBar { mx_internal var selectedButtonTextStyleNameProp:String;// = "selectedButtonTextStyleName" private var initializeSelectedButton:Boolean;// = true private var _toggleOnClick:Boolean;// = false private var _selectedIndex:int;// = -2 private var selectedIndexChanged:Boolean;// = false mx_internal static const VERSION:String = "3.0.0.0"; override protected function createNavItem(_arg1:String, _arg2:Class=null):IFlexDisplayObject{ var _local3:Button = Button(super.createNavItem(_arg1, _arg2)); _local3.toggle = true; return (_local3); } override public function styleChanged(_arg1:String):void{ var _local3:Button; var _local4:String; var _local2:Boolean = (((_arg1 == null)) || ((_arg1 == "styleName"))); super.styleChanged(_arg1); if (((_local2) || ((_arg1 == selectedButtonTextStyleNameProp)))){ if (((!((selectedIndex == -1))) && ((selectedIndex < numChildren)))){ _local3 = Button(getChildAt(selectedIndex)); if (_local3){ _local4 = getStyle(selectedButtonTextStyleNameProp); _local3.getTextField().styleName = (_local4) ? _local4 : "activeButtonStyle"; }; }; }; } override protected function resetNavItems():void{ var _local4:Button; var _local1:String = getStyle(selectedButtonTextStyleNameProp); var _local2:int = numChildren; var _local3:int; while (_local3 < _local2) { _local4 = Button(getChildAt(_local3)); if (_local3 == selectedIndex){ _local4.selected = true; _local4.getTextField().styleName = (_local1) ? _local1 : "activeButtonStyle"; } else { _local4.selected = false; _local4.getTextField().styleName = _local4; }; _local3++; }; super.resetNavItems(); } mx_internal function selectButton(_arg1:int, _arg2:Boolean=false, _arg3:Event=null):void{ _selectedIndex = _arg1; if (_arg2){ drawButtonFocus(focusedIndex, false); focusedIndex = _arg1; drawButtonFocus(focusedIndex, false); }; var _local4:Button = Button(getChildAt(_arg1)); simulatedClickTriggerEvent = _arg3; _local4.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); simulatedClickTriggerEvent = null; } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ } override protected function commitProperties():void{ super.commitProperties(); if (selectedIndexChanged){ hiliteSelectedNavItem(_selectedIndex); super.selectedIndex = _selectedIndex; selectedIndexChanged = false; }; } override protected function hiliteSelectedNavItem(_arg1:int):void{ var _local2:Button; var _local3:String; if (((!((selectedIndex == -1))) && ((selectedIndex < numChildren)))){ _local2 = Button(getChildAt(selectedIndex)); _local2.selected = false; _local2.getTextField().styleName = _local2; _local2.invalidateDisplayList(); _local2.invalidateSize(); }; super.selectedIndex = _arg1; if (_arg1 > -1){ _local2 = Button(getChildAt(selectedIndex)); _local2.selected = true; _local3 = getStyle(selectedButtonTextStyleNameProp); _local2.getTextField().styleName = (_local3) ? _local3 : "activeButtonStyle"; _local2.invalidateDisplayList(); }; } override protected function clickHandler(_arg1:MouseEvent):void{ var _local2:int = getChildIndex(Button(_arg1.currentTarget)); _selectedIndex = _local2; if (((_toggleOnClick) && ((_local2 == selectedIndex)))){ selectedIndex = -1; hiliteSelectedNavItem(-1); } else { hiliteSelectedNavItem(_local2); }; super.clickHandler(_arg1); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2 = -1; var _local3:Boolean; var _local4:int = numChildren; switch (_arg1.keyCode){ case Keyboard.PAGE_DOWN: _local2 = nextIndex(selectedIndex); break; case Keyboard.PAGE_UP: if (selectedIndex != -1){ _local2 = prevIndex(selectedIndex); } else { if (_local4 > 0){ _local2 = 0; }; }; break; case Keyboard.HOME: if (_local4 > 0){ _local2 = 0; }; break; case Keyboard.END: if (_local4 > 0){ _local2 = (_local4 - 1); }; break; case Keyboard.SPACE: case Keyboard.ENTER: if (focusedIndex != -1){ _local2 = focusedIndex; _local3 = false; }; break; default: super.keyDownHandler(_arg1); }; if (_local2 != -1){ selectButton(_local2, _local3, _arg1); }; _arg1.stopPropagation(); } public function set toggleOnClick(_arg1:Boolean):void{ _toggleOnClick = _arg1; } override public function set selectedIndex(_arg1:int):void{ if (_arg1 == selectedIndex){ return; }; if (numChildren == 0){ _selectedIndex = _arg1; selectedIndexChanged = true; }; if (_arg1 < numChildren){ _selectedIndex = _arg1; selectedIndexChanged = true; invalidateProperties(); dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT)); }; } public function get toggleOnClick():Boolean{ return (_toggleOnClick); } override public function get selectedIndex():int{ return (super.selectedIndex); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local3:int; super.updateDisplayList(_arg1, _arg2); if (initializeSelectedButton){ initializeSelectedButton = false; _local3 = _selectedIndex; if (_local3 == -2){ if (numChildren > 0){ _local3 = 0; } else { _local3 = -1; }; }; hiliteSelectedNavItem(_local3); }; } } }//package mx.controls
Section 125
//ToolTip (mx.controls.ToolTip) package mx.controls { import mx.core.*; import flash.display.*; import mx.styles.*; import flash.text.*; 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 126
//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 127
//Application (mx.core.Application) package mx.core { import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import mx.styles.*; import mx.effects.*; import flash.utils.*; import mx.containers.utilityClasses.*; import flash.ui.*; import flash.system.*; import flash.external.*; import flash.net.*; 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 128
//ApplicationGlobals (mx.core.ApplicationGlobals) package mx.core { public class ApplicationGlobals { public static var application:Object; } }//package mx.core
Section 129
//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 130
//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 131
//Container (mx.core.Container) package mx.core { import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import flash.geom.*; import mx.styles.*; import mx.controls.*; import flash.text.*; 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 132
//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 133
//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 134
//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 135
//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 136
//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 137
//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 138
//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 139
//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 140
//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 141
//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 142
//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 143
//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 144
//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 145
//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 146
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 147
//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 148
//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 149
//IConstraintClient (mx.core.IConstraintClient) package mx.core { public interface IConstraintClient { function setConstraintValue(_arg1:String, _arg2):void; function getConstraintValue(_arg1:String); } }//package mx.core
Section 150
//IContainer (mx.core.IContainer) package mx.core { import flash.display.*; import mx.managers.*; import flash.geom.*; import flash.text.*; import flash.media.*; 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 151
//IDataRenderer (mx.core.IDataRenderer) package mx.core { public interface IDataRenderer { function get data():Object; function set data(_arg1:Object):void; } }//package mx.core
Section 152
//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 153
//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 154
//IFactory (mx.core.IFactory) package mx.core { public interface IFactory { function newInstance(); } }//package mx.core
Section 155
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 156
//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 157
//IFlexModule (mx.core.IFlexModule) package mx.core { public interface IFlexModule { function set moduleFactory(_arg1:IFlexModuleFactory):void; function get moduleFactory():IFlexModuleFactory; } }//package mx.core
Section 158
//IFlexModuleFactory (mx.core.IFlexModuleFactory) package mx.core { public interface IFlexModuleFactory { function create(... _args):Object; function info():Object; } }//package mx.core
Section 159
//IFontContextComponent (mx.core.IFontContextComponent) package mx.core { public interface IFontContextComponent { function get fontContext():IFlexModuleFactory; function set fontContext(_arg1:IFlexModuleFactory):void; } }//package mx.core
Section 160
//IIMESupport (mx.core.IIMESupport) package mx.core { public interface IIMESupport { function set imeMode(_arg1:String):void; function get imeMode():String; } }//package mx.core
Section 161
//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 162
//IMXMLObject (mx.core.IMXMLObject) package mx.core { public interface IMXMLObject { function initialized(_arg1:Object, _arg2:String):void; } }//package mx.core
Section 163
//IProgrammaticSkin (mx.core.IProgrammaticSkin) package mx.core { public interface IProgrammaticSkin { function validateNow():void; function validateDisplayList():void; } }//package mx.core
Section 164
//IPropertyChangeNotifier (mx.core.IPropertyChangeNotifier) package mx.core { import flash.events.*; public interface IPropertyChangeNotifier extends IEventDispatcher, IUID { } }//package mx.core
Section 165
//IRawChildrenContainer (mx.core.IRawChildrenContainer) package mx.core { public interface IRawChildrenContainer { function get rawChildren():IChildList; } }//package mx.core
Section 166
//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 167
//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 168
//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 169
//IStateClient (mx.core.IStateClient) package mx.core { public interface IStateClient { function get currentState():String; function set currentState(_arg1:String):void; } }//package mx.core
Section 170
//ITextFieldFactory (mx.core.ITextFieldFactory) package mx.core { import flash.text.*; public interface ITextFieldFactory { function createTextField(_arg1:IFlexModuleFactory):TextField; } }//package mx.core
Section 171
//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 172
//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 173
//IUID (mx.core.IUID) package mx.core { public interface IUID { function get uid():String; function set uid(_arg1:String):void; } }//package mx.core
Section 174
//IUITextField (mx.core.IUITextField) package mx.core { import flash.display.*; import mx.managers.*; import flash.geom.*; import mx.styles.*; import flash.text.*; 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 175
//LayoutContainer (mx.core.LayoutContainer) package mx.core { import flash.events.*; import mx.containers.utilityClasses.*; import mx.containers.*; 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 176
//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 177
//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 178
//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 179
//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 180
//ScrollControlBase (mx.core.ScrollControlBase) package mx.core { import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import flash.geom.*; 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 181
//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 182
//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 183
//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 184
//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 185
//UIComponent (mx.core.UIComponent) package mx.core { import mx.events.*; import mx.automation.*; import flash.events.*; import flash.display.*; import mx.managers.*; import mx.resources.*; import flash.geom.*; import mx.styles.*; import mx.controls.*; import flash.text.*; import mx.states.*; import mx.effects.*; import mx.graphics.*; import mx.binding.*; import flash.utils.*; import mx.utils.*; import mx.validators.*; import flash.system.*; 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 186
//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 187
//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 188
//UIComponentGlobals (mx.core.UIComponentGlobals) package mx.core { import flash.display.*; import mx.managers.*; import flash.geom.*; 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 189
//UITextField (mx.core.UITextField) package mx.core { import mx.automation.*; import flash.events.*; import flash.display.*; import mx.managers.*; import mx.resources.*; import mx.styles.*; import flash.text.*; 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 190
//UITextFormat (mx.core.UITextFormat) package mx.core { import mx.managers.*; import flash.text.*; 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 191
//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 192
//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 193
//FadeInstance (mx.effects.effectClasses.FadeInstance) package mx.effects.effectClasses { import mx.core.*; import mx.events.*; import flash.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 194
//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 195
//MoveInstance (mx.effects.effectClasses.MoveInstance) package mx.effects.effectClasses { import mx.core.*; import mx.events.*; import flash.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 196
//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 197
//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 198
//ZoomInstance (mx.effects.effectClasses.ZoomInstance) package mx.effects.effectClasses { import mx.core.*; import mx.events.*; import flash.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 199
//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 200
//Effect (mx.effects.Effect) package mx.effects { import mx.core.*; import mx.events.*; import flash.events.*; import mx.managers.*; 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 201
//EffectInstance (mx.effects.EffectInstance) package mx.effects { import mx.core.*; import mx.events.*; import flash.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 202
//EffectManager (mx.effects.EffectManager) package mx.effects { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; 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 203
//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 204
//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 205
//IAbstractEffect (mx.effects.IAbstractEffect) package mx.effects { import flash.events.*; public interface IAbstractEffect extends IEventDispatcher { } }//package mx.effects
Section 206
//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 207
//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 208
//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 209
//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 210
//Tween (mx.effects.Tween) package mx.effects { import mx.core.*; import mx.events.*; import flash.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 211
//TweenEffect (mx.effects.TweenEffect) package mx.effects { import mx.events.*; import flash.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 212
//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 213
//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 214
//ChildExistenceChangedEvent (mx.events.ChildExistenceChangedEvent) package mx.events { import flash.events.*; import flash.display.*; 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 215
//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 216
//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 217
//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 218
//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 219
//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 220
//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 221
//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 222
//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 223
//FlexMouseEvent (mx.events.FlexMouseEvent) package mx.events { import flash.events.*; import flash.display.*; 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 224
//IndexChangedEvent (mx.events.IndexChangedEvent) package mx.events { import flash.events.*; import flash.display.*; 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 225
//ItemClickEvent (mx.events.ItemClickEvent) package mx.events { import flash.events.*; import flash.display.*; public class ItemClickEvent extends Event { public var relatedObject:InteractiveObject; public var index:int; public var label:String; public var item:Object; mx_internal static const VERSION:String = "3.0.0.0"; public static const ITEM_CLICK:String = "itemClick"; public function ItemClickEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null, _arg5:int=-1, _arg6:InteractiveObject=null, _arg7:Object=null){ super(_arg1, _arg2, _arg3); this.label = _arg4; this.index = _arg5; this.relatedObject = _arg6; this.item = _arg7; } override public function clone():Event{ return (new ItemClickEvent(type, bubbles, cancelable, label, index, relatedObject, item)); } } }//package mx.events
Section 226
//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 227
//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 228
//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 229
//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 230
//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 231
//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 232
//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 233
//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 234
//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 235
//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 236
//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 237
//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 238
//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 239
//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 240
//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 241
//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 242
//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 243
//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 244
//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 245
//DragProxy (mx.managers.dragClasses.DragProxy) package mx.managers.dragClasses { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import mx.managers.*; import flash.geom.*; 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 246
//PriorityQueue (mx.managers.layoutClasses.PriorityQueue) package mx.managers.layoutClasses { import mx.core.*; import flash.display.*; 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 247
//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 248
//BrowserManagerImpl (mx.managers.BrowserManagerImpl) package mx.managers { import mx.core.*; import mx.events.*; import flash.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 249
//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 250
//CursorManagerImpl (mx.managers.CursorManagerImpl) package mx.managers { import mx.core.*; import flash.events.*; import flash.display.*; import mx.styles.*; import flash.text.*; 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 251
//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 252
//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 253
//DragManagerImpl (mx.managers.DragManagerImpl) package mx.managers { import mx.core.*; import flash.events.*; import flash.display.*; import flash.geom.*; 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 254
//FocusManager (mx.managers.FocusManager) package mx.managers { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import flash.text.*; import flash.ui.*; import flash.system.*; 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 255
//HistoryManager (mx.managers.HistoryManager) package mx.managers { import mx.core.*; public class HistoryManager { mx_internal static const VERSION:String = "3.0.0.0"; private static var implClassDependency:HistoryManagerImpl; private static var _impl:IHistoryManager; public static function save():void{ impl.save(); } private static function get impl():IHistoryManager{ if (!_impl){ _impl = IHistoryManager(Singleton.getInstance("mx.managers::IHistoryManager")); }; return (_impl); } public static function register(_arg1:IHistoryManagerClient):void{ impl.register(_arg1); } public static function unregister(_arg1:IHistoryManagerClient):void{ impl.unregister(_arg1); } public static function initialize(_arg1:ISystemManager):void{ } } }//package mx.managers
Section 256
//HistoryManagerGlobals (mx.managers.HistoryManagerGlobals) package mx.managers { import flash.display.*; public class HistoryManagerGlobals { public static var loaderInfo:LoaderInfo; } }//package mx.managers
Section 257
//HistoryManagerImpl (mx.managers.HistoryManagerImpl) package mx.managers { import mx.core.*; import mx.events.*; import flash.display.*; import flash.utils.*; public class HistoryManagerImpl implements IHistoryManager { private var registeredObjects:Array; private var pendingQueryString:String; private var pendingStates:Object; private var registrationMap:Dictionary; private static const NAME_VALUE_SEPARATOR:String = "="; private static const HANDSHAKE_INTERVAL:int = 500; private static const ID_NAME_SEPARATOR:String = "-"; private static const MAX_HANDSHAKE_TRIES:int = 100; mx_internal static const VERSION:String = "3.0.0.0"; private static const PROPERTY_SEPARATOR:String = "&"; private static var instance:IHistoryManager; private static var appID:String; private static var historyURL:String; private static var systemManager:ISystemManager; public function HistoryManagerImpl(){ var _local1:LoaderInfo; var _local2:String; registeredObjects = []; pendingStates = {}; super(); if (instance){ throw (new Error("Instance already exists.")); }; if (appID){ return; }; if (!ApplicationGlobals.application.historyManagementEnabled){ return; }; if (HistoryManagerGlobals.loaderInfo){ _local1 = HistoryManagerGlobals.loaderInfo; } else { _local1 = DisplayObject(systemManager).loaderInfo; }; if (HistoryManagerGlobals.loaderInfo){ _local2 = HistoryManagerGlobals.loaderInfo.url; } else { _local2 = DisplayObject(systemManager).loaderInfo.url; }; appID = calcCRC(_local2); BrowserManager.getInstance().addEventListener(BrowserChangeEvent.BROWSER_URL_CHANGE, browserURLChangeHandler); BrowserManager.getInstance().initForHistoryManager(); } public function registered():void{ } public function unregister(_arg1:IHistoryManagerClient):void{ if (!ApplicationGlobals.application.historyManagementEnabled){ return; }; var _local2 = -1; var _local3:int = registeredObjects.length; var _local4:int; while (_local4 < _local3) { if (registeredObjects[_local4] == _arg1){ _local2 = _local4; break; }; _local4++; }; if (_local2 >= 0){ registeredObjects.splice(_local2, 1); }; if (((_arg1) && (registrationMap))){ delete registrationMap[_arg1]; }; } private function updateCRC(_arg1:uint, _arg2:uint):uint{ var _local6:Boolean; var _local3:uint = 4129; var _local4:uint = 128; var _local5:int; while (_local5 < 8) { _local6 = !(((_arg1 & 0x8000) == 0)); _arg1 = (_arg1 << 1); _arg1 = (_arg1 & 0xFFFF); if ((_arg2 & _local4) != 0){ _arg1++; }; if (_local6){ _arg1 = (_arg1 ^ _local3); }; _local4 = (_local4 >> 1); _local5++; }; return (_arg1); } private function submitQuery():void{ if (pendingQueryString){ BrowserManager.getInstance().setFragment(pendingQueryString); pendingQueryString = null; ApplicationGlobals.application.resetHistory = true; }; } public function browserURLChangeHandler(_arg1:BrowserChangeEvent):void{ var _local2:String; var _local3:String; var _local9:Array; var _local10:int; var _local11:String; var _local12:Object; var _local13:IHistoryManagerClient; if (!ApplicationGlobals.application.historyManagementEnabled){ return; }; var _local4:Array = _arg1.url.split(PROPERTY_SEPARATOR); var _local5:Object = {}; var _local6:int = _local4.length; var _local7:int; while (_local7 < _local6) { _local9 = _local4[_local7].split(NAME_VALUE_SEPARATOR); _local5[_local9[0]] = parseString(_local9[1]); _local7++; }; var _local8:Object = {}; for (_local2 in _local5) { _local10 = _local2.indexOf(ID_NAME_SEPARATOR); if (_local10 > -1){ _local3 = _local2.substr(0, _local10); _local11 = _local2.substr((_local10 + 1), _local2.length); _local12 = _local5[_local2]; if (!_local8[_local3]){ _local8[_local3] = {}; }; _local8[_local3][_local11] = _local12; }; }; _local6 = registeredObjects.length; _local7 = 0; while (_local7 < _local6) { _local13 = registeredObjects[_local7]; _local3 = getRegistrationInfo(_local13).crc; _local13.loadState(_local8[_local3]); delete _local8[_local3]; _local7++; }; for (_local2 in _local8) { pendingStates[_local2] = _local8[_local2]; }; } public function registerHandshake():void{ } private function getRegistrationInfo(_arg1:IHistoryManagerClient):RegistrationInfo{ return ((registrationMap) ? registrationMap[_arg1] : null); } private function getPath(_arg1:IHistoryManagerClient):String{ return (_arg1.toString()); } public function load(_arg1:Object):void{ } private function depthCompare(_arg1:Object, _arg2:Object):int{ var _local3:RegistrationInfo = getRegistrationInfo(IHistoryManagerClient(_arg1)); var _local4:RegistrationInfo = getRegistrationInfo(IHistoryManagerClient(_arg2)); if (((!(_local3)) || (!(_local4)))){ return (0); }; if (_local3.depth > _local4.depth){ return (1); }; if (_local3.depth < _local4.depth){ return (-1); }; return (0); } public function register(_arg1:IHistoryManagerClient):void{ if (!ApplicationGlobals.application.historyManagementEnabled){ return; }; unregister(_arg1); registeredObjects.push(_arg1); var _local2:String = getPath(_arg1); var _local3:String = calcCRC(_local2); var _local4:int = calcDepth(_local2); if (!registrationMap){ registrationMap = new Dictionary(true); }; registrationMap[_arg1] = new RegistrationInfo(_local3, _local4); registeredObjects.sort(depthCompare); if (pendingStates[_local3]){ _arg1.loadState(pendingStates[_local3]); delete pendingStates[_local3]; }; } private function parseString(_arg1:String):Object{ if (_arg1 == "true"){ return (true); }; if (_arg1 == "false"){ return (false); }; var _local2:int = parseInt(_arg1); if (_local2.toString() == _arg1){ return (_local2); }; var _local3:Number = parseFloat(_arg1); if (_local3.toString() == _arg1){ return (_local3); }; return (_arg1); } private function calcDepth(_arg1:String):int{ return (_arg1.split(".").length); } public function loadInitialState():void{ } public function save():void{ var _local5:IHistoryManagerClient; var _local6:Object; var _local7:String; var _local8:String; var _local9:Object; if (!ApplicationGlobals.application.historyManagementEnabled){ return; }; var _local1:Boolean; var _local2:String = ("app=" + appID); var _local3:int = registeredObjects.length; var _local4:int; while (_local4 < _local3) { _local5 = registeredObjects[_local4]; _local6 = _local5.saveState(); _local7 = getRegistrationInfo(_local5).crc; for (_local8 in _local6) { _local9 = _local6[_local8]; if (_local2.length > 0){ _local2 = (_local2 + PROPERTY_SEPARATOR); }; _local2 = (_local2 + _local7); _local2 = (_local2 + ID_NAME_SEPARATOR); _local2 = (_local2 + escape(_local8)); _local2 = (_local2 + NAME_VALUE_SEPARATOR); _local2 = (_local2 + escape(_local9.toString())); _local1 = true; }; _local4++; }; if (_local1){ pendingQueryString = _local2; ApplicationGlobals.application.callLater(this.submitQuery); }; } private function calcCRC(_arg1:String):String{ var _local5:uint; var _local6:uint; var _local7:uint; var _local2:uint = 0xFFFF; var _local3:int = _arg1.length; var _local4:int; while (_local4 < _local3) { _local5 = _arg1.charCodeAt(_local4); _local6 = (_local5 & 0xFF); _local7 = (_local5 >> 8); if (_local7 != 0){ _local2 = updateCRC(_local2, _local7); }; _local2 = updateCRC(_local2, _local6); _local4++; }; _local2 = updateCRC(_local2, 0); _local2 = updateCRC(_local2, 0); return (_local2.toString(16)); } public static function getInstance():IHistoryManager{ if (!instance){ systemManager = SystemManagerGlobals.topLevelSystemManagers[0]; instance = new (HistoryManagerImpl); }; return (instance); } } }//package mx.managers class RegistrationInfo { public var depth:int; public var crc:String; mx_internal static const VERSION:String = "3.0.0.0"; private function RegistrationInfo(_arg1:String, _arg2:int){ this.crc = _arg1; this.depth = _arg2; } }
Section 258
//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 259
//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 260
//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 261
//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 262
//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 263
//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 264
//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 265
//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 266
//IHistoryManager (mx.managers.IHistoryManager) package mx.managers { public interface IHistoryManager { function registered():void; function register(_arg1:IHistoryManagerClient):void; function registerHandshake():void; function load(_arg1:Object):void; function loadInitialState():void; function unregister(_arg1:IHistoryManagerClient):void; function save():void; } }//package mx.managers
Section 267
//IHistoryManagerClient (mx.managers.IHistoryManagerClient) package mx.managers { public interface IHistoryManagerClient { function loadState(_arg1:Object):void; function saveState():Object; function toString():String; } }//package mx.managers
Section 268
//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 269
//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 270
//IPopUpManager (mx.managers.IPopUpManager) package mx.managers { import mx.core.*; import flash.display.*; 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 271
//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 272
//IToolTipManager2 (mx.managers.IToolTipManager2) package mx.managers { import mx.core.*; import flash.display.*; 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 273
//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 274
//LayoutManager (mx.managers.LayoutManager) package mx.managers { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; 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 275
//PopUpManager (mx.managers.PopUpManager) package mx.managers { import mx.core.*; import flash.display.*; 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 276
//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 277
//PopUpManagerImpl (mx.managers.PopUpManagerImpl) package mx.managers { import mx.core.*; import mx.events.*; import mx.automation.*; import flash.events.*; import flash.display.*; import flash.geom.*; 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.events.*; import flash.display.*; import flash.geom.*; 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 278
//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 279
//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 flash.system.*; import mx.resources.*; 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 280
//SystemManagerGlobals (mx.managers.SystemManagerGlobals) package mx.managers { public class SystemManagerGlobals { public static var topLevelSystemManagers:Array = []; public static var bootstrapLoaderInfoURL:String; } }//package mx.managers
Section 281
//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 282
//ToolTipManager (mx.managers.ToolTipManager) package mx.managers { import mx.core.*; import flash.events.*; import flash.display.*; 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 283
//ToolTipManagerImpl (mx.managers.ToolTipManagerImpl) package mx.managers { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import flash.geom.*; 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 284
//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 285
//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 286
//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 287
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals) package mx.modules { public class ModuleManagerGlobals { public static var managerSingleton:Object = null; } }//package mx.modules
Section 288
//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 289
//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 290
//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 291
//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 292
//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 293
//IResourceModule (mx.resources.IResourceModule) package mx.resources { public interface IResourceModule { function get resourceBundles():Array; } }//package mx.resources
Section 294
//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 295
//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 296
//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 297
//IResponder (mx.rpc.IResponder) package mx.rpc { public interface IResponder { function fault(_arg1:Object):void; function result(_arg1:Object):void; } }//package mx.rpc
Section 298
//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 299
//BusyCursor (mx.skins.halo.BusyCursor) package mx.skins.halo { import mx.core.*; import flash.events.*; import flash.display.*; 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 300
//ButtonBarButtonSkin (mx.skins.halo.ButtonBarButtonSkin) package mx.skins.halo { import mx.core.*; import flash.display.*; import mx.styles.*; import flash.utils.*; import mx.utils.*; import mx.containers.*; import mx.skins.*; public class ButtonBarButtonSkin extends Border { mx_internal static const VERSION:String = "3.0.0.0"; private static var bbars:Object = {}; 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 _local13:Number; var _local22:int; var _local23:Array; var _local24:Array; var _local25:Array; var _local26: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 = (parent as IButton).emphasized; }; var _local14:Object = (((((parent) && (parent.parent))) && (isButtonBar(parent.parent)))) ? parent.parent : null; var _local15:Boolean; var _local16:int; if (_local14){ if (_local14.direction == BoxDirection.VERTICAL){ _local15 = false; }; _local22 = _local14.getChildIndex(parent); _local16 = ((_local22 == 0)) ? -1 : ((_local22 == (_local14.numChildren - 1))) ? 1 : 0; }; var _local17:Object = getCornerRadius(_local16, _local15, _local4); var _local18:Object = getCornerRadius(_local16, _local15, _local4); var _local19:Object = getCornerRadius(_local16, _local15, (_local4 - 1)); var _local20:Object = getCornerRadius(_local16, _local15, (_local4 - 2)); var _local21:Object = getCornerRadius(_local16, _local15, (_local4 - 3)); graphics.clear(); switch (name){ case "selectedUpSkin": case "selectedOverSkin": drawRoundRect(0, 0, _arg1, _arg2, _local18, [_local8, _local11], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:2, y:2, w:(_arg1 - 4), h:(_arg2 - 4), r:_local20}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local19, [_local6[1], _local6[1]], [_local5[0], _local5[1]], verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2))); break; case "upSkin": _local23 = [_local6[0], _local6[1]]; _local24 = [_local5[0], _local5[1]]; if (_local12){ drawRoundRect(0, 0, _arg1, _arg2, _local18, [_local8, _local11], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:2, y:2, w:(_arg1 - 4), h:(_arg2 - 4), r:_local20}); drawRoundRect(2, 2, (_arg1 - 4), (_arg2 - 4), _local20, _local23, _local24, verticalGradientMatrix(1, 1, (_arg1 - 2), (_arg2 - 2))); if (!(_local17 is Number)){ _local17.bl = (_local17.br = 0); }; drawRoundRect(2, 2, (_arg1 - 4), ((_arg2 - 4) / 2), _local17, [0xFFFFFF, 0xFFFFFF], _local7, verticalGradientMatrix(2, 2, (_arg1 - 2), ((_arg2 - 4) / 2))); } else { drawRoundRect(0, 0, _arg1, _arg2, _local18, [_local3, _local10], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:_local19}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local19, _local23, _local24, verticalGradientMatrix(1, 1, (_arg1 - 2), (_arg2 - 2))); if (!(_local17 is Number)){ _local17.bl = (_local17.br = 0); }; drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), _local17, [0xFFFFFF, 0xFFFFFF], _local7, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); }; break; case "overSkin": if (_local6.length > 2){ _local25 = [_local6[2], _local6[3]]; } else { _local25 = [_local6[0], _local6[1]]; }; if (_local5.length > 2){ _local26 = [_local5[2], _local5[3]]; } else { _local26 = [_local5[0], _local5[1]]; }; drawRoundRect(0, 0, _arg1, _arg2, _local18, [_local8, _local9.themeColDrk1], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:_local19}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local19, _local25, _local26, verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2))); if (!(_local17 is Number)){ _local17.bl = (_local17.br = 0); }; drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), _local17, [0xFFFFFF, 0xFFFFFF], _local7, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); break; case "downSkin": case "selectedDownSkin": drawRoundRect(0, 0, _arg1, _arg2, _local18, [_local8, _local9.themeColDrk1], 1, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local19, [_local9.fillColorPress1, _local9.fillColorPress2], 1, verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2))); if (!(_local17 is Number)){ _local17.bl = (_local17.br = 0); }; drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), _local17, [0xFFFFFF, 0xFFFFFF], _local7, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); break; case "disabledSkin": case "selectedDisabledSkin": drawRoundRect(0, 0, _arg1, _arg2, _local4, [_local3, _local10], 0.6, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local19, [_local6[0], _local6[1]], 0.8, verticalGradientMatrix(0, 0, (_arg1 - 2), (_arg2 - 2))); break; }; } private function getCornerRadius(_arg1:int, _arg2:Boolean, _arg3:Number):Object{ if (_arg1 == 0){ return (0); }; _arg3 = Math.max(0, _arg3); if (_arg2){ if (_arg1 == -1){ return ({tl:_arg3, tr:0, bl:_arg3, br:0}); }; return ({tl:0, tr:_arg3, bl:0, br:_arg3}); //unresolved jump }; if (_arg1 == -1){ return ({tl:_arg3, tr:_arg3, bl:0, br:0}); }; return ({tl:0, tr:0, bl:_arg3, br:_arg3}); } private static function isButtonBar(_arg1:Object):Boolean{ var s:String; var x:XML; var parent = _arg1; s = getQualifiedClassName(parent); if (bbars[s] == 1){ return (true); }; if (bbars[s] == 0){ return (false); }; if (s == "mx.controls::ButtonBar"){ (bbars[s] == 1); return (true); }; x = describeType(parent); var xmllist:XMLList = x.extendsClass.(@type == "mx.controls::ButtonBar"); if (xmllist.length() == 0){ bbars[s] = 0; return (false); }; bbars[s] = 1; return (true); } 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); _local5.innerEdgeColor1 = ColorUtil.adjustBrightness2(_arg2, -10); _local5.innerEdgeColor2 = ColorUtil.adjustBrightness2(_arg3, -25); }; return (cache[_local4]); } } }//package mx.skins.halo
Section 301
//ButtonSkin (mx.skins.halo.ButtonSkin) package mx.skins.halo { import mx.core.*; import flash.display.*; 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 302
//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 303
//DefaultDragImage (mx.skins.halo.DefaultDragImage) package mx.skins.halo { import mx.core.*; import flash.display.*; 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 304
//HaloBorder (mx.skins.halo.HaloBorder) package mx.skins.halo { import mx.core.*; import flash.display.*; 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 305
//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 306
//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 307
//LinkButtonSkin (mx.skins.halo.LinkButtonSkin) package mx.skins.halo { import mx.core.*; import mx.skins.*; public class LinkButtonSkin extends Border { 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("cornerRadius"); var _local4:uint = getStyle("rollOverColor"); var _local5:uint = getStyle("selectionColor"); graphics.clear(); switch (name){ case "upSkin": drawRoundRect(0, 0, _arg1, _arg2, _local3, 0, 0); break; case "overSkin": drawRoundRect(0, 0, _arg1, _arg2, _local3, _local4, 1); break; case "downSkin": drawRoundRect(0, 0, _arg1, _arg2, _local3, _local5, 1); break; case "disabledSkin": drawRoundRect(0, 0, _arg1, _arg2, _local3, 0, 0); break; }; } override public function get borderMetrics():EdgeMetrics{ return (EdgeMetrics.EMPTY); } } }//package mx.skins.halo
Section 308
//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 309
//PanelSkin (mx.skins.halo.PanelSkin) package mx.skins.halo { import mx.core.*; import flash.display.*; 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 310
//ScrollArrowSkin (mx.skins.halo.ScrollArrowSkin) package mx.skins.halo { import mx.core.*; import flash.display.*; 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 311
//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 312
//ScrollTrackSkin (mx.skins.halo.ScrollTrackSkin) package mx.skins.halo { import mx.core.*; import flash.display.*; 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 313
//TabSkin (mx.skins.halo.TabSkin) package mx.skins.halo { import mx.core.*; import flash.display.*; import mx.styles.*; import flash.utils.*; import mx.utils.*; import mx.skins.*; public class TabSkin extends Border { private var _borderMetrics:EdgeMetrics; mx_internal static const VERSION:String = "3.0.0.0"; private static var cache:Object = {}; private static var tabnavs:Object = {}; public function TabSkin(){ _borderMetrics = new EdgeMetrics(1, 1, 1, 1); super(); } override public function get measuredWidth():Number{ return (UIComponent.DEFAULT_MEASURED_MIN_WIDTH); } 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; var _local25:DisplayObjectContainer; super.updateDisplayList(_arg1, _arg2); var _local3:Number = getStyle("backgroundAlpha"); var _local4:Number = getStyle("backgroundColor"); var _local5:uint = getStyle("borderColor"); var _local6:Number = getStyle("cornerRadius"); var _local7:Array = getStyle("fillAlphas"); var _local8:Array = getStyle("fillColors"); StyleManager.getColorNames(_local8); var _local9:Array = getStyle("highlightAlphas"); var _local10:uint = getStyle("themeColor"); var _local11:Array = []; _local11[0] = ColorUtil.adjustBrightness2(_local8[0], -5); _local11[1] = ColorUtil.adjustBrightness2(_local8[1], -5); var _local12:Object = calcDerivedStyles(_local10, _local5, _local11[0], _local11[1], _local8[0], _local8[1]); var _local13:Boolean = ((((((!((parent == null))) && (!((parent.parent == null))))) && (!((parent.parent.parent == null))))) && (isTabNavigator(parent.parent.parent))); var _local14:Number = 1; if (_local13){ _local14 = Object(parent.parent.parent).borderMetrics.top; }; var _local15:Boolean = ((((_local13) && (!((IStyleClient(parent.parent.parent).getStyle("borderStyle") == "none"))))) && ((_local14 >= 0))); var _local16:Number = Math.max((_local6 - 2), 0); var _local17:Object = {tl:_local6, tr:_local6, bl:0, br:0}; var _local18:Object = {tl:_local16, tr:_local16, bl:0, br:0}; graphics.clear(); switch (name){ case "upSkin": _local19 = [_local11[0], _local11[1]]; _local20 = [_local7[0], _local7[1]]; drawRoundRect(0, 0, _arg1, (_arg2 - 1), _local17, [_local12.borderColorDrk1, _local5], 1, verticalGradientMatrix(0, 0, _arg1, _arg2), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:_local18}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local18, _local19, _local20, verticalGradientMatrix(0, 2, (_arg1 - 2), (_arg2 - 6))); drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), _local18, [0xFFFFFF, 0xFFFFFF], _local9, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); if (_local15){ drawRoundRect(0, (_arg2 - _local14), _arg1, _local14, 0, _local5, _local7[1]); }; drawRoundRect(0, (_arg2 - 2), _arg1, 1, 0, 0, 0.09); drawRoundRect(0, (_arg2 - 3), _arg1, 1, 0, 0, 0.03); break; case "overSkin": 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 - 1), _local17, [_local10, _local12.themeColDrk2], 1, verticalGradientMatrix(0, 0, _arg1, (_arg2 - 6)), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:_local18}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local18, [_local12.falseFillColorBright1, _local12.falseFillColorBright2], _local22, verticalGradientMatrix(2, 2, (_arg1 - 2), (_arg2 - 2))); drawRoundRect(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2), _local18, [0xFFFFFF, 0xFFFFFF], _local9, verticalGradientMatrix(1, 1, (_arg1 - 2), ((_arg2 - 2) / 2))); if (_local15){ drawRoundRect(0, (_arg2 - _local14), _arg1, _local14, 0, _local5, _local7[1]); }; drawRoundRect(0, (_arg2 - 2), _arg1, 1, 0, 0, 0.09); drawRoundRect(0, (_arg2 - 3), _arg1, 1, 0, 0, 0.03); break; case "disabledSkin": _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 - 1), _local17, [_local12.borderColorDrk1, _local5], 0.5, verticalGradientMatrix(0, 0, _arg1, (_arg2 - 6))); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local18, _local23, _local24, verticalGradientMatrix(0, 2, (_arg1 - 2), (_arg2 - 2))); if (_local15){ drawRoundRect(0, (_arg2 - _local14), _arg1, _local14, 0, _local5, _local7[1]); }; drawRoundRect(0, (_arg2 - 2), _arg1, 1, 0, 0, 0.09); drawRoundRect(0, (_arg2 - 3), _arg1, 1, 0, 0, 0.03); break; case "downSkin": case "selectedUpSkin": case "selectedDownSkin": case "selectedOverSkin": case "selectedDisabledSkin": if (isNaN(_local4)){ _local25 = parent; while (_local25) { if ((_local25 is IStyleClient)){ _local4 = IStyleClient(_local25).getStyle("backgroundColor"); }; if (!isNaN(_local4)){ break; }; _local25 = _local25.parent; }; if (isNaN(_local4)){ _local4 = 0xFFFFFF; }; }; drawRoundRect(0, 0, _arg1, (_arg2 - 1), _local17, [_local12.borderColorDrk1, _local5], 1, verticalGradientMatrix(0, 0, _arg1, (_arg2 - 2)), GradientType.LINEAR, null, {x:1, y:1, w:(_arg1 - 2), h:(_arg2 - 2), r:_local18}); drawRoundRect(1, 1, (_arg1 - 2), (_arg2 - 2), _local18, _local4, _local3); if (_local15){ drawRoundRect(1, (_arg2 - _local14), (_arg1 - 2), _local14, 0, _local4, _local3); }; break; }; } override public function get measuredHeight():Number{ return (UIComponent.DEFAULT_MEASURED_MIN_HEIGHT); } override public function get borderMetrics():EdgeMetrics{ return (_borderMetrics); } private static function calcDerivedStyles(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint):Object{ var _local8:Object; var _local7:String = HaloColors.getCacheKey(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); if (!cache[_local7]){ _local8 = (cache[_local7] = {}); HaloColors.addHaloColors(_local8, _arg1, _arg5, _arg6); _local8.borderColorDrk1 = ColorUtil.adjustBrightness2(_arg2, 10); _local8.falseFillColorBright1 = ColorUtil.adjustBrightness(_arg3, 15); _local8.falseFillColorBright2 = ColorUtil.adjustBrightness(_arg4, 15); }; return (cache[_local7]); } private static function isTabNavigator(_arg1:Object):Boolean{ var s:String; var x:XML; var parent = _arg1; s = getQualifiedClassName(parent); if (tabnavs[s] == 1){ return (true); }; if (tabnavs[s] == 0){ return (false); }; if (s == "mx.containers::TabNavigator"){ (tabnavs[s] == 1); return (true); }; x = describeType(parent); var xmllist:XMLList = x.extendsClass.(@type == "mx.containers::TabNavigator"); if (xmllist.length() == 0){ tabnavs[s] = 0; return (false); }; tabnavs[s] = 1; return (true); } } }//package mx.skins.halo
Section 314
//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 315
//ToolTipBorder (mx.skins.halo.ToolTipBorder) package mx.skins.halo { import mx.core.*; import flash.display.*; 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 316
//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 317
//ProgrammaticSkin (mx.skins.ProgrammaticSkin) package mx.skins { import mx.core.*; import flash.display.*; import mx.managers.*; import flash.geom.*; 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 318
//RectangularBorder (mx.skins.RectangularBorder) package mx.skins { import mx.core.*; import flash.events.*; import flash.display.*; import mx.resources.*; import flash.geom.*; 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 319
//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 320
//State (mx.states.State) package mx.states { import mx.events.*; import flash.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 321
//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 322
//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 323
//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 324
//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 325
//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 326
//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 327
//IStyleModule (mx.styles.IStyleModule) package mx.styles { public interface IStyleModule { function unload():void; } }//package mx.styles
Section 328
//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 329
//StyleManagerImpl (mx.styles.StyleManagerImpl) package mx.styles { import mx.core.*; import mx.managers.*; import flash.events.*; import mx.events.*; import flash.system.*; import mx.resources.*; 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 330
//StyleProtoChain (mx.styles.StyleProtoChain) package mx.styles { import mx.core.*; import flash.display.*; 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 331
//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 332
//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 333
//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 334
//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 335
//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 336
//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 337
//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 338
//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 339
//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 340
//ObjectProxy (mx.utils.ObjectProxy) package mx.utils { import mx.core.*; import mx.events.*; import flash.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 341
//ObjectUtil (mx.utils.ObjectUtil) package mx.utils { import flash.utils.*; import mx.collections.*; 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 342
//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 343
//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 344
//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 345
//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 346
//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 347
//_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 348
//_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 349
//_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 350
//_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.roundedBottomCorners = true; this.color = 0xFFFFFF; this.buttonStyleName = "alertButtonStyle"; this.backgroundColor = 8821927; this.borderAlpha = 0.9; this.paddingLeft = 10; this.paddingBottom = 2; this.backgroundAlpha = 0.9; this.paddingRight = 10; }; }; } } }//package
Section 351
//_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.backgroundSize = "100%"; this.paddingTop = 24; this.backgroundColor = 8821927; this.backgroundImage = ApplicationBackground; this.horizontalAlign = "center"; this.backgroundGradientAlphas = [1, 1]; this.paddingLeft = 24; this.paddingBottom = 24; this.paddingRight = 24; }; }; } } }//package
Section 352
//_ButtonBarButtonStyle (_ButtonBarButtonStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _ButtonBarButtonStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ButtonBarButton"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ButtonBarButton", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.upSkin = null; this.selectedDownSkin = null; this.overSkin = null; this.downSkin = null; this.selectedDisabledSkin = null; this.selectedUpSkin = null; this.disabledSkin = null; this.horizontalGap = 1; this.skin = ButtonBarButtonSkin; this.selectedOverSkin = null; }; }; } } }//package
Section 353
//_ButtonBarStyle (_ButtonBarStyle) package { import mx.core.*; import mx.styles.*; public class _ButtonBarStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("ButtonBar"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("ButtonBar", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.textAlign = "center"; this.horizontalAlign = "center"; this.verticalAlign = "middle"; this.verticalGap = 0; this.horizontalGap = 0; }; }; } } }//package
Section 354
//_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.fontWeight = "bold"; this.paddingTop = 2; this.cornerRadius = 4; this.textAlign = "center"; this.verticalGap = 2; this.horizontalGap = 2; this.skin = ButtonSkin; this.paddingLeft = 10; this.paddingBottom = 2; this.paddingRight = 10; }; }; } } }//package
Section 355
//_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.fontWeight = "bold"; this.disabledIconColor = 9542041; this.dropdownStyleName = "comboDropdown"; this.leading = 0; this.arrowButtonWidth = 22; this.cornerRadius = 5; this.skin = ComboBoxArrowSkin; this.paddingLeft = 5; this.paddingRight = 5; }; }; } } }//package
Section 356
//_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.shadowDirection = "center"; this.fontWeight = "normal"; this.dropShadowEnabled = true; this.leading = 0; this.backgroundColor = 0xFFFFFF; this.shadowDistance = 1; this.cornerRadius = 0; this.borderThickness = 0; this.paddingLeft = 5; this.paddingRight = 5; }; }; } } }//package
Section 357
//_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 358
//_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.disabledOverlayAlpha = 0; this.borderStyle = "controlBar"; this.paddingTop = 10; this.verticalAlign = "middle"; this.paddingLeft = 10; this.paddingBottom = 10; this.paddingRight = 10; }; }; } } }//package
Section 359
//_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_2108249303:Class = _CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_2108249303; 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_2108249303; }; }; } } }//package
Section 360
//_CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_2108249303 (_CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_2108249303) package { import mx.core.*; public class _CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_2108249303 extends SpriteAsset { } }//package
Section 361
//_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 362
//_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.backgroundColor = 0xFFFFFF; this.borderThickness = 0; }; }; } } }//package
Section 363
//_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_DragReject_1208438613:Class = _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_1208438613; private static var _embed_css_Assets_swf_mx_skins_cursor_DragMove_1856160029:Class = _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_1856160029; private static var _embed_css_Assets_swf_mx_skins_cursor_DragCopy_1856396385:Class = _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_1856396385; private static var _embed_css_Assets_swf_mx_skins_cursor_DragLink_1856134390:Class = _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_1856134390; 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.copyCursor = _embed_css_Assets_swf_mx_skins_cursor_DragCopy_1856396385; this.moveCursor = _embed_css_Assets_swf_mx_skins_cursor_DragMove_1856160029; this.rejectCursor = _embed_css_Assets_swf_mx_skins_cursor_DragReject_1208438613; this.linkCursor = _embed_css_Assets_swf_mx_skins_cursor_DragLink_1856134390; this.defaultDragImageSkin = DefaultDragImage; }; }; } } }//package
Section 364
//_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_1856396385 (_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_1856396385) package { import mx.core.*; public class _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_1856396385 extends SpriteAsset { } }//package
Section 365
//_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_1856134390 (_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_1856134390) package { import mx.core.*; public class _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_1856134390 extends SpriteAsset { } }//package
Section 366
//_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_1856160029 (_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_1856160029) package { import mx.core.*; public class _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_1856160029 extends SpriteAsset { } }//package
Section 367
//_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_1208438613 (_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_1208438613) package { import mx.core.*; public class _DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_1208438613 extends SpriteAsset { } }//package
Section 368
//_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.fontWeight = "bold"; this.borderStyle = "errorTipRight"; this.paddingTop = 4; this.borderColor = 13510953; this.color = 0xFFFFFF; this.fontSize = 9; this.shadowColor = 0; this.paddingLeft = 4; this.paddingBottom = 4; this.paddingRight = 4; }; }; } } }//package
Section 369
//_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.fillColor = 0xFFFFFF; this.kerning = false; this.iconColor = 0x111111; this.textRollOverColor = 2831164; this.horizontalAlign = "left"; this.shadowCapColor = 14015965; this.backgroundAlpha = 1; this.filled = true; this.textDecoration = "none"; this.roundedBottomCorners = true; this.fontThickness = 0; this.focusBlendMode = "normal"; this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE]; this.horizontalGap = 8; this.borderCapColor = 9542041; this.buttonColor = 7305079; this.indentation = 17; this.selectionDisabledColor = 0xDDDDDD; this.closeDuration = 250; this.embedFonts = false; this.paddingTop = 0; this.letterSpacing = 0; this.focusAlpha = 0.4; this.bevel = true; this.fontSize = 10; this.shadowColor = 0xEEEEEE; this.borderAlpha = 1; this.paddingLeft = 0; this.fontWeight = "normal"; this.indicatorGap = 14; this.focusSkin = HaloFocusRect; this.dropShadowEnabled = false; this.leading = 2; this.borderSkin = HaloBorder; this.fontSharpness = 0; this.modalTransparencyDuration = 100; this.borderThickness = 1; this.backgroundSize = "auto"; this.borderStyle = "inset"; this.borderColor = 12040892; this.fontAntiAliasType = "advanced"; this.errorColor = 0xFF0000; this.shadowDistance = 2; this.horizontalGridLineColor = 0xF7F7F7; this.stroked = false; this.modalTransparencyColor = 0xDDDDDD; this.cornerRadius = 0; this.verticalAlign = "top"; this.textIndent = 0; this.fillAlphas = [0.6, 0.4, 0.75, 0.65]; this.verticalGridLineColor = 14015965; this.themeColor = 40447; this.version = "3.0.0"; this.shadowDirection = "center"; this.modalTransparency = 0.5; this.repeatInterval = 35; this.openDuration = 250; this.textAlign = "left"; this.fontFamily = "Verdana"; this.textSelectedColor = 2831164; this.paddingBottom = 0; this.strokeWidth = 1; this.fontGridFitType = "pixel"; this.horizontalGridLines = false; this.useRollOver = true; this.verticalGridLines = true; this.repeatDelay = 500; this.fontStyle = "normal"; this.dropShadowColor = 0; this.focusThickness = 2; this.verticalGap = 6; this.disabledColor = 11187123; this.paddingRight = 0; this.focusRoundedCorners = "tl tr bl br"; this.borderSides = "left top right bottom"; this.disabledIconColor = 0x999999; this.modalTransparencyBlur = 3; this.color = 734012; this.selectionDuration = 250; this.highlightAlphas = [0.3, 0]; }; }; } } }//package
Section 370
//_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.fontWeight = "bold"; this.textAlign = "center"; }; }; } } }//package
Section 371
//_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 372
//_LinkButtonStyle (_LinkButtonStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _LinkButtonStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("LinkButton"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("LinkButton", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.upSkin = null; this.selectedDownSkin = null; this.overSkin = null; this.downSkin = null; this.selectedDisabledSkin = null; this.selectedUpSkin = null; this.disabledSkin = null; this.skin = LinkButtonSkin; this.paddingLeft = 7; this.selectedOverSkin = null; this.paddingRight = 7; }; }; } } }//package
Section 373
//_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.paddingBottom = 2; this.paddingRight = 2; }; }; } } }//package
Section 374
//_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.borderStyle = "solid"; this.paddingTop = 2; this.backgroundColor = 0xFFFFFF; this.backgroundDisabledColor = 0xDDDDDD; this.dropIndicatorSkin = ListDropIndicator; this.paddingLeft = 2; this.paddingBottom = 2; this.paddingRight = 0; }; }; } } }//package
Section 375
//_Main_FlexInit (_Main_FlexInit) package { import mx.core.*; import mx.styles.*; import mx.effects.*; import mx.collections.*; import mx.utils.*; import flash.net.*; 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("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.io.ObjectProxy", ObjectProxy); var _local2:Array = ["fontAntiAliasType", "errorColor", "kerning", "backgroundDisabledColor", "iconColor", "modalTransparencyColor", "textRollOverColor", "textIndent", "themeColor", "modalTransparency", "textDecoration", "headerColors", "fontThickness", "textAlign", "fontFamily", "textSelectedColor", "selectionDisabledColor", "fontGridFitType", "letterSpacing", "rollOverColor", "fontStyle", "dropShadowColor", "fontSize", "selectionColor", "disabledColor", "dropdownBorderColor", "fontWeight", "disabledIconColor", "modalTransparencyBlur", "leading", "color", "alternatingItemColors", "fontSharpness", "barColor", "modalTransparencyDuration", "footerColors"]; var _local3:int; while (_local3 < _local2.length) { StyleManager.registerInheritingStyle(_local2[_local3]); _local3++; }; } } }//package
Section 376
//_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", "skins", "styles"], currentDomain:ApplicationDomain.currentDomain, mainClassName:"Main", mixins:["_Main_FlexInit", "_richTextEditorTextAreaStyleStyle", "_LinkButtonStyle", "_ControlBarStyle", "_alertButtonStyleStyle", "_textAreaVScrollBarStyleStyle", "_headerDateTextStyle", "_globalStyle", "_ListBaseStyle", "_todayStyleStyle", "_AlertStyle", "_TabBarStyle", "_windowStylesStyle", "_ApplicationStyle", "_ToolTipStyle", "_ButtonBarButtonStyle", "_CursorManagerStyle", "_opaquePanelStyle", "_TextInputStyle", "_errorTipStyle", "_dateFieldPopupStyle", "_ComboBoxStyle", "_dataGridStylesStyle", "_TabStyle", "_popUpMenuStyle", "_headerDragProxyStyleStyle", "_TabNavigatorStyle", "_activeTabStyleStyle", "_PanelStyle", "_DragManagerStyle", "_ContainerStyle", "_windowStatusStyle", "_ScrollBarStyle", "_TextAreaStyle", "_swatchPanelTextFieldStyle", "_ButtonBarStyle", "_textAreaHScrollBarStyleStyle", "_plainStyle", "_activeButtonStyleStyle", "_comboDropdownStyle", "_ButtonStyle", "_weekDayStyleStyle", "_linkButtonStyleStyle"]}); } } }//package
Section 377
//_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.borderColor = 0xFFFFFF; this.backgroundColor = 0xFFFFFF; this.headerColors = [0xE7E7E7, 0xD9D9D9]; this.footerColors = [0xE7E7E7, 0xC7C7C7]; this.borderAlpha = 1; }; }; } } }//package
Section 378
//_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.statusStyleName = "windowStatus"; this.borderStyle = "default"; this.paddingTop = 0; this.borderColor = 0xE2E2E2; this.backgroundColor = 0xFFFFFF; this.cornerRadius = 4; this.titleBackgroundSkin = TitleBackground; this.borderAlpha = 0.4; this.borderThicknessTop = 2; this.paddingLeft = 0; this.resizeEndEffect = "Dissolve"; this.paddingRight = 0; this.titleStyleName = "windowStyles"; this.roundedBottomCorners = false; this.borderThicknessRight = 10; this.dropShadowEnabled = true; this.resizeStartEffect = "Dissolve"; this.borderSkin = PanelSkin; this.borderThickness = 0; this.borderThicknessLeft = 10; this.paddingBottom = 0; }; }; } } }//package
Section 379
//_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.backgroundColor = 0xFFFFFF; this.backgroundImage = ""; this.horizontalAlign = "left"; this.paddingLeft = 0; this.paddingBottom = 0; this.paddingRight = 0; }; }; } } }//package
Section 380
//_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.fontWeight = "normal"; this.textAlign = "left"; }; }; } } }//package
Section 381
//_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 382
//_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.thumbOffset = 0; this.paddingTop = 0; this.borderColor = 12040892; this.trackColors = [9738651, 0xE7E7E7]; this.trackSkin = ScrollTrackSkin; this.downArrowSkin = ScrollArrowSkin; this.cornerRadius = 4; this.upArrowSkin = ScrollArrowSkin; this.paddingLeft = 0; this.paddingBottom = 0; this.thumbSkin = ScrollThumbSkin; this.paddingRight = 0; }; }; } } }//package
Section 383
//_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.borderStyle = "inset"; this.borderColor = 14015965; this.highlightColor = 12897484; this.backgroundColor = 0xFFFFFF; this.shadowCapColor = 14015965; this.shadowColor = 14015965; this.paddingLeft = 5; this.buttonColor = 7305079; this.borderCapColor = 9542041; this.paddingRight = 5; }; }; } } }//package
Section 384
//_TabBarStyle (_TabBarStyle) package { import mx.core.*; import mx.styles.*; public class _TabBarStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("TabBar"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("TabBar", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.selectedTabTextStyleName = "activeTabStyle"; this.textAlign = "center"; this.horizontalAlign = "left"; this.verticalAlign = "top"; this.verticalGap = -1; this.horizontalGap = -1; }; }; } } }//package
Section 385
//_TabNavigatorStyle (_TabNavigatorStyle) package { import mx.core.*; import mx.styles.*; public class _TabNavigatorStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("TabNavigator"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("TabNavigator", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.borderStyle = "solid"; this.paddingTop = 10; this.borderColor = 11187123; this.backgroundColor = 0xFFFFFF; this.horizontalAlign = "left"; this.horizontalGap = -1; this.tabOffset = 0; }; }; } } }//package
Section 386
//_TabStyle (_TabStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _TabStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Tab"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("Tab", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.upSkin = null; this.selectedDownSkin = null; this.overSkin = null; this.downSkin = null; this.selectedDisabledSkin = null; this.paddingTop = 1; this.selectedUpSkin = null; this.disabledSkin = null; this.skin = TabSkin; this.paddingBottom = 1; this.selectedOverSkin = null; }; }; } } }//package
Section 387
//_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 388
//_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.borderStyle = "solid"; this.verticalScrollBarStyleName = "textAreaVScrollBarStyle"; this.backgroundColor = 0xFFFFFF; this.horizontalScrollBarStyleName = "textAreaHScrollBarStyle"; this.backgroundDisabledColor = 0xDDDDDD; }; }; } } }//package
Section 389
//_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 390
//_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.backgroundColor = 0xFFFFFF; this.backgroundDisabledColor = 0xDDDDDD; }; }; } } }//package
Section 391
//_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.color = 0xFFFFFF; this.textAlign = "center"; }; }; } } }//package
Section 392
//_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.borderStyle = "toolTip"; this.paddingTop = 2; this.borderColor = 9542041; this.backgroundColor = 16777164; this.borderSkin = ToolTipBorder; this.cornerRadius = 2; this.fontSize = 9; this.shadowColor = 0; this.paddingLeft = 4; this.paddingBottom = 2; this.backgroundAlpha = 0.95; this.paddingRight = 4; }; }; } } }//package
Section 393
//_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.fontWeight = "bold"; this.textAlign = "center"; }; }; } } }//package
Section 394
//_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 395
//_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 396
//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 397
//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 398
//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 399
//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 400
//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 401
//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 402
//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 403
//Main (Main) package { import mx.core.*; import mx.events.*; import flash.events.*; import flash.display.*; import flash.geom.*; import mx.styles.*; import mx.controls.*; import flash.text.*; import flash.media.*; import mx.binding.*; import flash.utils.*; import com.hurlant.crypto.symmetric.*; import flash.accessibility.*; import com.hurlant.crypto.prng.*; import flash.ui.*; import mx.containers.*; import com.hurlant.util.*; import com.hurlant.crypto.*; import flash.system.*; import flash.external.*; import flash.net.*; import flash.debugger.*; import flash.errors.*; import flash.filters.*; import flash.printing.*; import flash.profiler.*; import flash.xml.*; public class Main extends Application { private var _100358090input:TextArea; private var _1929903926keyFormat:ComboBox; private var _619728003modeType:ComboBox; private var _1608151244encType:ComboBox; private var _106079key:TextArea; private var currentInput:ByteArray; private var _507152296outputFormat:ComboBox; private var _1005512447output:TextArea; private var currentResult:ByteArray; private var _documentDescriptor_:UIComponentDescriptor; mx_internal static var _Main_StylesInit_done:Boolean = false; public function Main(){ _documentDescriptor_ = new UIComponentDescriptor({type:Application, propertiesFactory:function ():Object{ return ({childDescriptors:[new UIComponentDescriptor({type:Panel, stylesFactory:function ():void{ this.paddingTop = 10; this.paddingLeft = 10; this.paddingRight = 10; this.paddingBottom = 10; }, propertiesFactory:function ():Object{ return ({title:"Online Text Encrypter v0.1 - Powered by As3 Crypto Library", percentHeight:100, percentWidth:100, childDescriptors:[new UIComponentDescriptor({type:Text, propertiesFactory:function ():Object{ return ({percentWidth:100, htmlText:"Select <b>encryption algorithm and mode</b>, if you have no idea about <b>cryptography</b>, <font color=\"#ff0000\"><b>don't change any option</b></font>, just simply input <b>plain text or cryptograph</b>, then click <b>Encypt/Decrypt</b>."}); }}), new UIComponentDescriptor({type:TabNavigator, propertiesFactory:function ():Object{ return ({percentWidth:100, percentHeight:100, childDescriptors:[new UIComponentDescriptor({type:VBox, stylesFactory:function ():void{ this.paddingLeft = 10; this.paddingRight = 10; this.paddingTop = 10; this.paddingBottom = 10; }, propertiesFactory:function ():Object{ return ({label:"Encryption and Decryption", childDescriptors:[new UIComponentDescriptor({type:HBox, stylesFactory:function ():void{ this.paddingBottom = 5; }, propertiesFactory:function ():Object{ return ({percentWidth:100, childDescriptors:[new UIComponentDescriptor({type:Label, propertiesFactory:function ():Object{ return ({text:"Encryption:", width:80}); }}), new UIComponentDescriptor({type:ComboBox, id:"encType", propertiesFactory:function ():Object{ return ({labelField:"@label", width:120, toolTip:"select algorithm", dataProvider:new XMLList("<item label=\"AES\" value=\"aes\"></item><item label=\"BlowFish\" value=\"blowfish\"></item><item label=\"3DES\" value=\"des3\"></item><item label=\"DES\" value=\"des\"></item><item label=\"RC4\" value=\"rc4\"></item><item label=\"XTEA\" value=\"xtea\"></item>")}); }}), new UIComponentDescriptor({type:Label, propertiesFactory:function ():Object{ return ({text:"Mode:", width:80}); }}), new UIComponentDescriptor({type:ComboBox, id:"modeType", propertiesFactory:function ():Object{ return ({labelField:"@label", width:120, toolTip:"select mode", dataProvider:new XMLList("<item label=\"CBC\" value=\"cbc\"></item><item label=\"CFB\" value=\"cfb\"></item><item label=\"CFB 8\" value=\"cfb8\"></item><item label=\"OFB\" value=\"ofb\"></item><item label=\"CTR\" value=\"ctr\"></item><item label=\"ECB\" value=\"ecb\"></item>")}); }})]}); }}), new UIComponentDescriptor({type:HBox, stylesFactory:function ():void{ this.paddingBottom = 5; }, propertiesFactory:function ():Object{ return ({percentWidth:100, childDescriptors:[new UIComponentDescriptor({type:Label, propertiesFactory:function ():Object{ return ({x:10, y:62, text:"Key Format:", width:80}); }}), new UIComponentDescriptor({type:ComboBox, id:"keyFormat", propertiesFactory:function ():Object{ return ({labelField:"@label", width:120, toolTip:"select key format", dataProvider:new XMLList("<item label=\"Text\" value=\"text\"></item><item label=\"Hex\" value=\"hex\"></item><item label=\"Base64\" value=\"b64\"></item>")}); }}), new UIComponentDescriptor({type:Button, events:{click:"___Main_Button1_click"}, propertiesFactory:function ():Object{ return ({label:"Generate 64 bits", width:150, toolTip:"generate 16 ascii password"}); }}), new UIComponentDescriptor({type:Button, events:{click:"___Main_Button2_click"}, propertiesFactory:function ():Object{ return ({label:"Generate 128 bits", width:150, toolTip:"generate 32 ascii password"}); }}), new UIComponentDescriptor({type:Button, events:{click:"___Main_Button3_click"}, propertiesFactory:function ():Object{ return ({label:"Generate 192 bits", width:150, toolTip:"generate 48 ascii password"}); }}), new UIComponentDescriptor({type:Button, events:{click:"___Main_Button4_click"}, propertiesFactory:function ():Object{ return ({label:"Generate 256 bits", width:150, toolTip:"generate 64 ascii password"}); }})]}); }}), new UIComponentDescriptor({type:HBox, stylesFactory:function ():void{ this.paddingBottom = 5; }, propertiesFactory:function ():Object{ return ({percentWidth:100, childDescriptors:[new UIComponentDescriptor({type:TextArea, id:"key", propertiesFactory:function ():Object{ return ({percentWidth:100, height:25}); }})]}); }}), new UIComponentDescriptor({type:HBox, stylesFactory:function ():void{ this.paddingBottom = 5; }, propertiesFactory:function ():Object{ return ({percentWidth:100, childDescriptors:[new UIComponentDescriptor({type:Label, propertiesFactory:function ():Object{ return ({text:"Plain Text:", width:80}); }}), new UIComponentDescriptor({type:Button, events:{click:"___Main_Button5_click"}, propertiesFactory:function ():Object{ return ({name:"clear", label:"Clear", width:100, toolTip:"clear plain text"}); }}), new UIComponentDescriptor({type:Button, events:{click:"___Main_Button6_click"}, propertiesFactory:function ():Object{ return ({name:"copy", label:"Copy to clipboard", width:150, toolTip:"copy plain text to clipboard"}); }})]}); }}), new UIComponentDescriptor({type:TextArea, id:"input", stylesFactory:function ():void{ this.fontSize = 12; }, propertiesFactory:function ():Object{ return ({percentWidth:100, percentHeight:100}); }}), new UIComponentDescriptor({type:HBox, stylesFactory:function ():void{ this.paddingTop = 5; this.paddingBottom = 5; }, propertiesFactory:function ():Object{ return ({percentWidth:100, childDescriptors:[new UIComponentDescriptor({type:Label, propertiesFactory:function ():Object{ return ({text:"Cipher Text:", width:80}); }}), new UIComponentDescriptor({type:ComboBox, id:"outputFormat", events:{change:"__outputFormat_change"}, propertiesFactory:function ():Object{ return ({labelField:"@label", width:120, toolTip:"select cipher text format", dataProvider:new XMLList("<item label=\"Hex\" value=\"hex\"></item><item label=\"Base64\" value=\"b64\"></item>")}); }})]}); }}), new UIComponentDescriptor({type:HBox, stylesFactory:function ():void{ this.paddingBottom = 5; }, propertiesFactory:function ():Object{ return ({percentWidth:100, height:80, childDescriptors:[new UIComponentDescriptor({type:TextArea, id:"output", stylesFactory:function ():void{ this.fontSize = 12; }, propertiesFactory:function ():Object{ return ({percentWidth:100, percentHeight:100}); }})]}); }}), new UIComponentDescriptor({type:HBox, stylesFactory:function ():void{ this.paddingBottom = 5; }, propertiesFactory:function ():Object{ return ({percentWidth:100, childDescriptors:[new UIComponentDescriptor({type:Button, events:{click:"___Main_Button7_click"}, propertiesFactory:function ():Object{ return ({label:"Encrypt", width:100, toolTip:"encrypt plain text"}); }}), new UIComponentDescriptor({type:Button, events:{click:"___Main_Button8_click"}, propertiesFactory:function ():Object{ return ({label:"Decrypt", width:100, toolTip:"decrypt cipher text"}); }}), new UIComponentDescriptor({type:Button, events:{click:"___Main_Button9_click"}, propertiesFactory:function ():Object{ return ({label:"Copy to clipboard", width:150, toolTip:"copy cipher text to clipboard"}); }}), new UIComponentDescriptor({type:Button, events:{click:"___Main_Button10_click"}, propertiesFactory:function ():Object{ return ({label:"Email", width:100}); }})]}); }})]}); }})]}); }}), new UIComponentDescriptor({type:LinkButton, events:{click:"___Main_LinkButton1_click"}, stylesFactory:function ():void{ this.color = 0xFF; }, propertiesFactory:function ():Object{ return ({label:"More Free Web Apps"}); }})]}); }})]}); }}); super(); mx_internal::_document = this; mx_internal::_Main_StylesInit(); } public function ___Main_Button10_click(_arg1:MouseEvent):void{ messageBox("under development..."); } public function ___Main_Button2_click(_arg1:MouseEvent):void{ genKey(128); } public function ___Main_Button4_click(_arg1:MouseEvent):void{ genKey(0x0100); } public function ___Main_Button8_click(_arg1:MouseEvent):void{ decrypt(); } public function set output(_arg1:TextArea):void{ var _local2:Object = this._1005512447output; if (_local2 !== _arg1){ this._1005512447output = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "output", _local2, _arg1)); }; } public function get modeType():ComboBox{ return (this._619728003modeType); } private function decrypt():void{ var _local2:ByteArray; var _local5:ByteArray; var _local1:String = key.text; var _local3:String = String(keyFormat.selectedItem.@value); switch (_local3){ case "hex": _local2 = Hex.toArray(_local1); break; case "b64": _local2 = Base64.decodeToByteArray(_local1); break; default: _local2 = Hex.toArray(Hex.fromString(_local1)); break; }; var _local4:String = output.text; var _local6:String = String(outputFormat.selectedItem.@value); switch (_local6){ case "hex": _local5 = Hex.toArray(_local4); break; case "b64": _local5 = Base64.decodeToByteArray(_local4); break; default: _local5 = Hex.toArray(Hex.fromString(_local4)); break; }; var _local7:String = ((encType.selectedItem.@value + "-") + modeType.selectedItem.@value); _local7 = ("simple-" + _local7); var _local8:IPad = new NullPad(); var _local9:ICipher = Crypto.getCipher(_local7, _local2, _local8); _local8.setBlockSize(_local9.getBlockSize()); _local9.decrypt(_local5); currentInput = _local5; displayInput(); } override public function initialize():void{ mx_internal::setDocumentDescriptor(_documentDescriptor_); super.initialize(); } public function set input(_arg1:TextArea):void{ var _local2:Object = this._100358090input; if (_local2 !== _arg1){ this._100358090input = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "input", _local2, _arg1)); }; } 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(); } public function ___Main_Button6_click(_arg1:MouseEvent):void{ toClipboard(input.text); } public function get output():TextArea{ return (this._1005512447output); } public function __outputFormat_change(_arg1:ListEvent):void{ displayOutput(); } private function displayInput():void{ var _local1:String; if (currentInput == null){ return; }; var _local2:String = String("text"); switch (_local2){ case "hex": _local1 = Hex.fromArray(currentInput); break; case "b64": _local1 = Base64.encodeByteArray(currentInput); break; default: _local1 = Hex.toString(Hex.fromArray(currentInput)); break; }; input.text = _local1; } public function set outputFormat(_arg1:ComboBox):void{ var _local2:Object = this._507152296outputFormat; if (_local2 !== _arg1){ this._507152296outputFormat = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "outputFormat", _local2, _arg1)); }; } public function get encType():ComboBox{ return (this._1608151244encType); } public function get keyFormat():ComboBox{ return (this._1929903926keyFormat); } public function set key(_arg1:TextArea):void{ var _local2:Object = this._106079key; if (_local2 !== _arg1){ this._106079key = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "key", _local2, _arg1)); }; } public function ___Main_Button1_click(_arg1:MouseEvent):void{ genKey(64); } private function messageBox(_arg1:String):void{ Alert.show(_arg1, "Email"); } public function ___Main_Button7_click(_arg1:MouseEvent):void{ encrypt(); } public function ___Main_Button9_click(_arg1:MouseEvent):void{ toClipboard(output.text); } public function ___Main_Button5_click(_arg1:MouseEvent):void{ input.text = ""; } public function ___Main_Button3_click(_arg1:MouseEvent):void{ genKey(192); } public function get outputFormat():ComboBox{ return (this._507152296outputFormat); } public function get input():TextArea{ return (this._100358090input); } private function toClipboard(_arg1:String):void{ if (_arg1 == ""){ return; }; System.setClipboard(_arg1); Alert.show("All text is copied to system clipboard!", "Information"); } public function get key():TextArea{ return (this._106079key); } private function displayOutput():void{ var _local1:String; if (currentResult == null){ return; }; var _local2:String = String(outputFormat.selectedItem.@value); switch (_local2){ case "hex": _local1 = Hex.fromArray(currentResult); break; case "b64": _local1 = Base64.encodeByteArray(currentResult); break; default: _local1 = Hex.toString(Hex.fromArray(currentResult)); break; }; output.text = _local1; } public function ___Main_LinkButton1_click(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.7pas.com")); } public function set encType(_arg1:ComboBox):void{ var _local2:Object = this._1608151244encType; if (_local2 !== _arg1){ this._1608151244encType = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "encType", _local2, _arg1)); }; } public function set keyFormat(_arg1:ComboBox):void{ var _local2:Object = this._1929903926keyFormat; if (_local2 !== _arg1){ this._1929903926keyFormat = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "keyFormat", _local2, _arg1)); }; } private function genKey(_arg1:int):void{ keyFormat.selectedIndex = 1; var _local2:Random = new Random(); var _local3:ByteArray = new ByteArray(); _local2.nextBytes(_local3, (_arg1 / 8)); key.text = Hex.fromArray(_local3); } private function encrypt():void{ var _local2:ByteArray; var _local5:ByteArray; var _local1:String = key.text; var _local3:String = String(keyFormat.selectedItem.@value); switch (_local3){ case "hex": _local2 = Hex.toArray(_local1); break; case "b64": _local2 = Base64.decodeToByteArray(_local1); break; default: _local2 = Hex.toArray(Hex.fromString(_local1)); }; var _local4:String = input.text; var _local6:String = String("text"); switch (_local6){ case "hex": _local5 = Hex.toArray(_local4); break; case "b64": _local5 = Base64.decodeToByteArray(_local4); break; default: _local5 = Hex.toArray(Hex.fromString(_local4)); }; var _local7:String = ((encType.selectedItem.@value + "-") + modeType.selectedItem.@value); _local7 = ("simple-" + _local7); var _local8:IPad = new NullPad(); var _local9:ICipher = Crypto.getCipher(_local7, _local2, _local8); _local8.setBlockSize(_local9.getBlockSize()); _local9.encrypt(_local5); currentResult = _local5; displayOutput(); } public function set modeType(_arg1:ComboBox):void{ var _local2:Object = this._619728003modeType; if (_local2 !== _arg1){ this._619728003modeType = _arg1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "modeType", _local2, _arg1)); }; } } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip {_CursorManagerStyle__embed_css_Assets_swf_mx_skins_cursor_BusyCursor_2108249303} [mx.skins.cursor.BusyCursor]Uses:1
Symbol 3 GraphicUsed by:6
Symbol 4 GraphicUsed by:5
Symbol 5 MovieClipUses:4Used by:6 8 11 12
Symbol 6 MovieClip {_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragCopy_1856396385} [mx.skins.cursor.DragCopy]Uses:3 5
Symbol 7 GraphicUsed by:8
Symbol 8 MovieClip {_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragLink_1856134390} [mx.skins.cursor.DragLink]Uses:7 5
Symbol 9 GraphicUsed by:11
Symbol 10 GraphicUsed by:11
Symbol 11 MovieClip {_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragReject_1208438613} [mx.skins.cursor.DragReject]Uses:9 5 10
Symbol 12 MovieClip {_DragManagerStyle__embed_css_Assets_swf_mx_skins_cursor_DragMove_1856160029} [mx.skins.cursor.DragMove]Uses:5

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1456 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 2 as "mx.skins.cursor.BusyCursor"
ExportAssets (56)Timeline Frame 2Symbol 6 as "mx.skins.cursor.DragCopy"
ExportAssets (56)Timeline Frame 2Symbol 8 as "mx.skins.cursor.DragLink"
ExportAssets (56)Timeline Frame 2Symbol 11 as "mx.skins.cursor.DragReject"
ExportAssets (56)Timeline Frame 2Symbol 12 as "mx.skins.cursor.DragMove"
SerialNumber (41)Timeline Frame 1

Labels

"_Main_mx_managers_SystemManager"Frame 1
"Main"Frame 2




http://swfchan.com/28/137586/info.shtml
Created: 8/2 -2019 19:50:23 Last modified: 8/2 -2019 19:50:23 Server time: 03/01 -2025 03:04:31