Artifact
3f79a22813e07538d4580b08edec35f18830f186:
Attachment "scriptdev.js" to
ticket [05faeed476]
added by
kuntashov
2011-08-23 12:51:35.
0000: 24 65 6e 67 69 6e 65 20 4a 53 63 72 69 70 74 0d $engine JScript.
0010: 0a 24 75 6e 61 6d 65 20 73 63 72 69 70 74 64 65 .$uname scriptde
0020: 76 0d 0a 24 64 6e 61 6d 65 20 d0 e0 e7 f0 e0 e1 v..$dname ......
0030: ee f2 ea e0 20 f1 ea f0 e8 ef f2 ee e2 0d 0a 20 .... ..........
0040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0050: 0d 0a 2f 2a 20 0d 0a 20 2a 20 c0 e2 f2 ee f0 3a ../* .. * .....:
0060: 20 0d 0a 20 2a 0d 0a 20 2a 20 09 09 c0 eb e5 ea .. *.. * ......
0070: f1 e0 ed e4 f0 20 ca f3 ed f2 e0 f8 ee e2 2c 20 ..... ........,
0080: 6b 75 6e 74 61 73 68 6f 76 40 63 6f 6d 70 61 75 kuntashov@compau
0090: 64 2e 72 75 0d 0a 20 2a 0d 0a 20 2a 20 c4 e0 f2 d.ru.. *.. * ...
00a0: e0 20 f1 ee e7 e4 e0 ed e8 ff 3a 0d 0a 20 2a 0d . ........:.. *.
00b0: 0a 20 2a 09 09 31 38 2e 30 38 2e 32 30 31 31 0d . *..18.08.2011.
00c0: 0a 20 2a 20 0d 0a 20 2a 20 ce ef e8 f1 e0 ed e8 . * .. * .......
00d0: e5 3a 20 0d 0a 20 2a 0d 0a 20 2a 20 09 09 2d 20 .: .. *.. * ..-
00e0: c4 ee e1 e0 e2 eb ff e5 f2 20 e2 20 ea ee ed f2 ......... . ....
00f0: e5 ea f1 f2 ed ee e5 20 ec e5 ed fe 20 ee ea ed ....... .... ...
0100: e0 20 d1 ed e5 e3 ee ef e0 f2 e0 20 ef f3 ed ea . ......... ....
0110: f2 20 22 d0 e5 e4 e0 ea f2 e8 f0 ee e2 e0 f2 fc . ".............
0120: 20 f1 ea f0 e8 ef f2 22 2c 0d 0a 20 2a 09 09 ef ......",.. *...
0130: f0 e8 20 e2 fb e1 ee f0 e5 20 ea ee f2 ee f0 ee .. ...... ......
0140: e3 ee 20 e8 f1 f5 ee e4 ed fb e9 20 ea ee e4 20 .. ........ ...
0150: f1 ea f0 e8 ef f2 e0 20 ee f2 ea f0 fb e2 e0 e5 ....... ........
0160: f2 f1 ff 20 e2 20 f3 f1 f2 e0 ed ee e2 eb e5 ed ... . ..........
0170: ed ee ec 20 e2 20 ed e0 f1 f2 f0 ee e9 ea e0 f5 ... . ..........
0180: 0d 0a 20 2a 09 09 f2 e5 ea f1 f2 ee e2 ee ec 20 .. *...........
0190: f0 e5 e4 e0 ea f2 ee f0 e5 2e 0d 0a 20 2a 0d 0a ............ *..
01a0: 20 2a 09 09 2d 20 ce f2 f1 eb e5 e6 e8 e2 e0 e5 *..- ..........
01b0: f2 20 e8 e7 ec e5 ed e5 ed e8 ff 20 e2 20 ee f2 . ......... . ..
01c0: ea f0 fb f2 ee ec 20 ed e0 20 f0 e5 e4 e0 ea f2 ...... .. ......
01d0: e8 f0 ee e2 e0 ed e8 e5 20 f4 e0 e9 eb e5 20 f1 ........ ..... .
01e0: ea f0 e8 ef f2 e0 20 e8 20 e0 e2 f2 ee ec e0 f2 ...... . .......
01f0: e8 f7 e5 f1 ea e8 20 0d 0a 20 2a 09 09 ef e5 f0 ...... .. *.....
0200: e5 e7 e0 e3 f0 f3 e6 e0 e5 f2 20 e5 e3 ee 2c 20 .......... ...,
0210: f2 e0 ea e8 ec 20 ee e1 f0 e0 e7 ee ec 2c 20 e8 ..... ......., .
0220: e7 ec e5 ed e5 ed e8 ff 2c 20 e2 ed e5 f1 e5 ed ........, ......
0230: ed fb e5 20 e2 20 f1 ea f0 e8 ef f2 20 e2 f1 f2 ... . ...... ...
0240: f3 ef e0 fe f2 20 f1 f0 e0 e7 f3 20 e1 e5 e7 0d ..... ..... ....
0250: 0a 20 2a 09 09 ed e5 ee e1 f5 ee e4 e8 ec ee f1 . *.............
0260: f2 e8 20 ef e5 f0 e5 e7 e0 e3 f0 f3 e7 ea e8 20 .. ............
0270: f1 ea f0 e8 ef f2 e0 2e 0d 0a 20 2a 2f 0d 0a 0d .......... */...
0280: 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ./* ************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a **************..
02c0: 20 2a 20 20 cd e0 f1 f2 f0 ee e9 ea e8 20 f1 ea * ......... ..
02d0: f0 e8 ef f2 e0 2e 0d 0a 20 2a 20 2a 2a 2a 2a 2a ........ * *****
02e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0300: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0310: 2a 2a 2a 2a 20 2a 2f 0d 0a 0d 0a 2f 2f 20 c8 ed **** */....// ..
0320: f2 e5 f0 e2 e0 eb 20 ef f0 ee e2 e5 f0 ea e8 20 ...... ........
0330: f0 e5 e4 e0 ea f2 e8 f0 f3 e5 ec fb f5 20 f4 e0 ............. ..
0340: e9 eb ee e2 2e 0d 0a 76 61 72 20 63 68 65 63 6b .......var check
0350: 49 6e 74 65 72 76 61 6c 20 3d 20 32 3b 20 0d 0a Interval = 2; ..
0360: 0d 0a 2f 2f 20 d1 ef e8 f1 ee ea 20 f0 e5 e4 e0 ..// ...... ....
0370: ea f2 e8 f0 f3 e5 ec fb f5 20 f4 e0 e9 eb ee e2 ......... ......
0380: 20 f1 ea f0 e8 ef f2 ee e2 2e 0d 0a 76 61 72 20 ...........var
0390: 64 65 76 46 69 6c 65 73 20 3d 20 6e 65 77 20 41 devFiles = new A
03a0: 72 72 61 79 28 29 3b 0d 0a 0d 0a 2f 2f 20 ca ee rray();....// ..
03b0: ec e0 ed e4 e0 20 e4 eb ff 20 e7 e0 ef f3 f1 ea ..... ... ......
03c0: e0 20 f0 e5 e4 e0 ea f2 ee f0 e0 20 f1 ea f0 e8 . ......... ....
03d0: ef f2 e0 2e 0d 0a 76 61 72 20 72 75 6e 45 64 69 ......var runEdi
03e0: 74 6f 72 43 6d 64 20 3d 20 27 22 44 3a 5c 5c cf torCmd = '"D:\\.
03f0: f0 ee e5 ea f2 fb 5c 5c 44 72 6f 70 62 6f 78 5c ......\\Dropbox\
0400: 5c 41 70 70 73 5c 5c 4e 6f 74 65 70 61 64 2b 2b \Apps\\Notepad++
0410: 50 6f 72 74 61 62 6c 65 5c 5c 4e 6f 74 65 70 61 Portable\\Notepa
0420: 64 2b 2b 50 6f 72 74 61 62 6c 65 2e 65 78 65 22 d++Portable.exe"
0430: 20 22 25 31 22 27 3b 2f 2f 27 6e 6f 74 65 70 61 "%1"';//'notepa
0440: 64 2e 65 78 65 20 22 25 31 22 27 3b 0d 0a 0d 0a d.exe "%1"';....
0450: 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /* *************
0460: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0470: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0480: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 *************..
0490: 2a 20 20 cc e0 ea f0 ee f1 fb 2e 0d 0a 20 2a 20 * .......... *
04a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
04b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
04c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
04d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 2a 2f 0d 0a 0d 0a ********* */....
04e0: 20 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 function macros
04f0: ce f2 ea f0 fb f2 fc 28 29 0d 0a 20 7b 0d 0a 09 .......().. {...
0500: 4d 65 73 73 61 67 65 28 22 d2 e5 f1 f2 22 29 3b Message("....");
0510: 0d 0a 20 7d 0d 0a 0d 0a 2f 2a 20 2a 2a 2a 2a 2a .. }..../* *****
0520: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0530: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0540: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0550: 2a 2a 2a 2a 2a 0d 0a 20 2a 20 20 d0 e5 e0 eb e8 *****.. * .....
0560: e7 e0 f6 e8 ff 20 f4 f3 ed ea f6 e8 ee ed e0 eb ..... ..........
0570: e0 20 f1 ea f0 e8 ef f2 e0 2e 0d 0a 20 2a 20 2a . .......... * *
0580: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0590: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
05a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
05b0: 2a 2a 2a 2a 2a 2a 2a 2a 20 2a 2f 0d 0a 0d 0a 2f ******** */..../
05c0: 2f 20 c2 f0 e5 ec ff 20 ef ee f1 eb e5 e4 ed e5 / ..... ........
05d0: e9 20 ef f0 ee e2 e5 f0 ea e8 0d 0a 76 61 72 20 . ..........var
05e0: 6c 61 73 74 43 68 65 63 6b 54 69 6d 65 20 3d 20 lastCheckTime =
05f0: 6e 65 77 20 44 61 74 65 28 29 2e 67 65 74 54 69 new Date().getTi
0600: 6d 65 28 29 20 2f 20 31 30 30 30 3b 0d 0a 0d 0a me() / 1000;....
0610: 2f 2f 20 cf ee e4 ea eb fe f7 e0 e5 ec 20 e3 eb // .......... ..
0620: ee e1 e0 eb fc ed fb e5 20 ea ee ed f2 e5 ea f1 ........ .......
0630: f2 fb 2e 0d 0a 61 64 64 69 6e 73 2e 62 79 55 6e .....addins.byUn
0640: 69 71 75 65 4e 61 6d 65 28 22 67 6c 6f 62 61 6c iqueName("global
0650: 22 29 2e 6f 62 6a 65 63 74 2e 63 6f 6e 6e 65 63 ").object.connec
0660: 74 47 6c 6f 62 61 6c 73 28 53 65 6c 66 53 63 72 tGlobals(SelfScr
0670: 69 70 74 29 3b 0d 0a 0d 0a 66 75 6e 63 74 69 6f ipt);....functio
0680: 6e 20 44 65 73 69 67 6e 65 72 3a 3a 6f 6e 49 64 n Designer::onId
0690: 6c 65 28 29 0d 0a 7b 0d 0a 09 76 61 72 20 63 75 le()..{...var cu
06a0: 72 54 69 6d 65 20 3d 20 6e 65 77 20 44 61 74 65 rTime = new Date
06b0: 28 29 2e 67 65 74 54 69 6d 65 28 29 20 2f 20 31 ().getTime() / 1
06c0: 30 30 30 3b 0d 0a 09 69 66 20 28 63 75 72 54 69 000;...if (curTi
06d0: 6d 65 20 2d 20 6c 61 73 74 43 68 65 63 6b 54 69 me - lastCheckTi
06e0: 6d 65 20 3e 20 63 68 65 63 6b 49 6e 74 65 72 76 me > checkInterv
06f0: 61 6c 29 20 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 al) .. {..
0700: 20 20 20 20 20 43 68 65 63 6b 46 69 6c 65 73 28 CheckFiles(
0710: 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a );.. }..}....
0720: 66 75 6e 63 74 69 6f 6e 20 43 68 65 63 6b 46 69 function CheckFi
0730: 6c 65 73 28 29 20 0d 0a 7b 0d 0a 20 20 20 20 66 les() ..{.. f
0740: 6f 72 28 76 61 72 20 69 3d 30 3b 20 69 3c 64 65 or(var i=0; i<de
0750: 76 46 69 6c 65 73 2e 6c 65 6e 67 74 68 3b 20 69 vFiles.length; i
0760: 2b 2b 29 20 0d 0a 09 7b 0d 0a 20 20 20 20 20 20 ++) ...{..
0770: 20 20 69 66 20 28 64 65 76 46 69 6c 65 73 5b 69 if (devFiles[i
0780: 5d 2e 43 68 65 63 6b 49 66 4d 6f 64 69 66 69 65 ].CheckIfModifie
0790: 64 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 d())..
07a0: 20 20 64 65 76 46 69 6c 65 73 5b 69 5d 2e 52 65 devFiles[i].Re
07b0: 6c 6f 61 64 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a load();.. }..
07c0: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65 }....function ge
07d0: 74 4d 6f 64 69 66 69 63 61 74 69 6f 6e 53 74 61 tModificationSta
07e0: 6d 70 28 66 29 20 0d 0a 7b 0d 0a 20 20 20 20 69 mp(f) ..{.. i
07f0: 66 20 28 66 2e d1 f3 f9 e5 f1 f2 e2 f3 e5 f2 28 f (f...........(
0800: 29 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 )).. {..
0810: 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 44 61 return new Da
0820: 74 65 28 66 2e cf ee eb f3 f7 e8 f2 fc c2 f0 e5 te(f............
0830: ec ff c8 e7 ec e5 ed e5 ed e8 ff 28 29 29 2e 67 ...........()).g
0840: 65 74 54 69 6d 65 28 29 3b 20 0d 0a 20 20 20 20 etTime(); ..
0850: 7d 0d 0a 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 }.... return
0860: 6e 75 6c 6c 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 null;..}....func
0870: 74 69 6f 6e 20 4f 6e 53 6e 65 67 6f 70 61 74 57 tion OnSnegopatW
0880: 6e 64 45 64 69 74 53 63 72 69 70 74 4d 65 6e 75 ndEditScriptMenu
0890: 49 74 65 6d 28 63 75 72 72 65 6e 74 52 6f 77 29 Item(currentRow)
08a0: 0d 0a 7b 0d 0a 09 76 61 72 20 69 73 41 64 64 69 ..{...var isAddi
08b0: 6e 20 3d 20 63 75 72 72 65 6e 74 52 6f 77 2e 50 n = currentRow.P
08c0: 69 63 74 75 72 65 20 21 3d 20 30 3b 0d 0a 09 0d icture != 0;....
08d0: 0a 09 69 66 20 28 21 69 73 41 64 64 69 6e 29 20 ..if (!isAddin)
08e0: 0d 0a 09 09 72 65 74 75 72 6e 3b 0d 0a 0d 0a 09 ....return;.....
08f0: 76 61 72 20 61 64 64 69 6e 4f 62 6a 65 63 74 20 var addinObject
0900: 3d 20 63 75 72 72 65 6e 74 52 6f 77 2e 6f 62 6a = currentRow.obj
0910: 65 63 74 3b 09 09 0d 0a 09 76 61 72 20 66 75 6c ect;.....var ful
0920: 6c 50 61 74 68 20 3d 20 47 65 74 41 64 64 69 6e lPath = GetAddin
0930: 46 69 6c 65 50 61 74 68 28 61 64 64 69 6e 4f 62 FilePath(addinOb
0940: 6a 65 63 74 29 3b 0d 0a 09 76 61 72 20 63 6f 6d ject);...var com
0950: 6d 61 6e 64 20 3d 20 72 75 6e 45 64 69 74 6f 72 mand = runEditor
0960: 43 6d 64 2e 72 65 70 6c 61 63 65 28 2f 25 31 2f Cmd.replace(/%1/
0970: 2c 20 66 75 6c 6c 50 61 74 68 29 3b 0d 0a 09 0d , fullPath);....
0980: 0a 09 64 65 76 46 69 6c 65 73 2e 70 75 73 68 28 ..devFiles.push(
0990: 6e 65 77 20 41 64 64 69 6e 49 6e 66 6f 28 61 64 new AddinInfo(ad
09a0: 64 69 6e 4f 62 6a 65 63 74 29 29 3b 0d 0a 09 0d dinObject));....
09b0: 0a 09 c7 e0 ef f3 f1 f2 e8 f2 fc cf f0 e8 eb ee ................
09c0: e6 e5 ed e8 e5 28 63 6f 6d 6d 61 6e 64 29 3b 0d .....(command);.
09d0: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 49 .}....function I
09e0: 6e 69 74 53 63 72 69 70 74 41 6e 64 52 75 6e 28 nitScriptAndRun(
09f0: 29 0d 0a 7b 0d 0a 09 2f 2a 20 cf ee ea e0 20 e7 )..{.../* .... .
0a00: e0 e3 eb f3 f8 ea e0 2c 20 ed e0 f1 f2 f0 ee e5 ......., .......
0a10: ed ed e0 ff 20 ed e0 20 ec ee e5 20 ee ea f0 f3 .... .. ... ....
0a20: e6 e5 ed e8 e5 2e 20 2a 2f 0d 0a 09 2f 2f 72 75 ...... */...//ru
0a30: 6e 45 64 69 74 6f 72 43 6d 64 20 3d 20 27 22 44 nEditorCmd = '"D
0a40: 3a 5c 44 72 6f 70 62 6f 78 5c 41 70 70 73 5c 4e :\Dropbox\Apps\N
0a50: 6f 74 65 70 61 64 2b 2b 50 6f 72 74 61 62 6c 65 otepad++Portable
0a60: 5c 4e 6f 74 65 70 61 64 2b 2b 50 6f 72 74 61 62 \Notepad++Portab
0a70: 6c 65 2e 65 78 65 22 20 22 25 31 22 27 3b 0d 0a le.exe" "%1"';..
0a80: 09 2f 2f 64 65 76 46 69 6c 65 73 2e 70 75 73 68 .//devFiles.push
0a90: 28 6e 65 77 20 41 64 64 69 6e 49 6e 66 6f 28 22 (new AddinInfo("
0aa0: 44 3a 5c 5c 6b 75 6e 74 61 73 68 6f 76 5c 5c 44 D:\\kuntashov\\D
0ab0: 72 6f 70 62 6f 78 5c 5c 41 70 70 73 5c 5c 53 6e ropbox\\Apps\\Sn
0ac0: 65 67 6f 70 61 74 5c 5c 53 6e 65 67 6f 70 61 74 egopat\\Snegopat
0ad0: 52 65 70 6f 5c 5c 73 63 72 69 70 74 73 5c 5c 68 Repo\\scripts\\h
0ae0: 65 6c 6c 6f 2e 6a 73 22 29 29 3b 09 0d 0a 09 0d ello.js"));.....
0af0: 0a 09 76 61 72 20 73 6e 65 67 6f 70 61 74 57 6e ..var snegopatWn
0b00: 64 20 3d 20 61 64 64 69 6e 73 2e 62 79 55 6e 69 d = addins.byUni
0b10: 71 75 65 4e 61 6d 65 28 22 73 6e 65 67 6f 70 61 queName("snegopa
0b20: 74 77 6e 64 22 29 2e 6f 62 6a 65 63 74 2e 67 65 twnd").object.ge
0b30: 74 53 6e 65 67 6f 70 61 74 57 6e 64 28 29 3b 0d tSnegopatWnd();.
0b40: 0a 09 73 6e 65 67 6f 70 61 74 57 6e 64 2e 41 64 ..snegopatWnd.Ad
0b50: 64 43 6f 6e 74 65 78 74 4d 65 6e 75 49 74 65 6d dContextMenuItem
0b60: 28 22 d0 e5 e4 e0 ea f2 e8 f0 ee e2 e0 f2 fc 20 (".............
0b70: f1 ea f0 e8 ef f2 2e 2e 2e 22 2c 20 4f 6e 53 6e .........", OnSn
0b80: 65 67 6f 70 61 74 57 6e 64 45 64 69 74 53 63 72 egopatWndEditScr
0b90: 69 70 74 4d 65 6e 75 49 74 65 6d 29 3b 0d 0a 7d iptMenuItem);..}
0ba0: 20 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 47 65 ....function Ge
0bb0: 74 41 64 64 69 6e 46 69 6c 65 50 61 74 68 28 61 tAddinFilePath(a
0bc0: 64 64 69 6e 4f 62 6a 65 63 74 29 0d 0a 7b 0d 0a ddinObject)..{..
0bd0: 09 72 65 74 75 72 6e 20 61 64 64 69 6e 4f 62 6a .return addinObj
0be0: 65 63 74 2e 66 75 6c 6c 50 61 74 68 2e 72 65 70 ect.fullPath.rep
0bf0: 6c 61 63 65 28 2f 5e 5c 77 2b 3a 2f 2c 27 27 29 lace(/^\w+:/,'')
0c00: 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 2a 2a 2a 2a 2a ;..}..../* *****
0c10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0c20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0c30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0c40: 2a 2a 2a 2a 2a 0d 0a 20 2a 20 20 ca eb e0 f1 f1 *****.. * .....
0c50: 20 41 64 64 69 6e 49 6e 66 6f 2e 20 d5 f0 e0 ed AddinInfo. ....
0c60: e8 f2 20 e8 ed f4 ee f0 ec e0 f6 e8 fe 20 ee 20 .. .......... .
0c70: f0 e5 e4 e0 ea f2 e8 f0 f3 e5 ec ee ec 20 e0 e4 ............. ..
0c80: e4 e8 ed e5 2e 0d 0a 20 2a 20 2a 2a 2a 2a 2a 2a ....... * ******
0c90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0ca0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0cb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0cc0: 2a 2a 2a 20 2a 2f 0d 0a 66 75 6e 63 74 69 6f 6e *** */..function
0cd0: 20 41 64 64 69 6e 49 6e 66 6f 28 61 64 64 69 6e AddinInfo(addin
0ce0: 4f 62 6a 65 63 74 29 20 0d 0a 7b 0d 0a 09 74 68 Object) ..{...th
0cf0: 69 73 2e 6f 62 6a 65 63 74 20 3d 20 61 64 64 69 is.object = addi
0d00: 6e 4f 62 6a 65 63 74 3b 0d 0a 20 20 20 20 74 68 nObject;.. th
0d10: 69 73 2e 66 69 6c 65 20 3d 20 76 38 4e 65 77 28 is.file = v8New(
0d20: 22 d4 e0 e9 eb 22 2c 20 47 65 74 41 64 64 69 6e "....", GetAddin
0d30: 46 69 6c 65 50 61 74 68 28 61 64 64 69 6e 4f 62 FilePath(addinOb
0d40: 6a 65 63 74 29 29 3b 0d 0a 20 20 20 20 0d 0a 20 ject));.. ..
0d50: 20 20 20 74 68 69 73 2e 6c 61 73 74 4d 6f 64 69 this.lastModi
0d60: 66 69 65 64 20 3d 20 67 65 74 4d 6f 64 69 66 69 fied = getModifi
0d70: 63 61 74 69 6f 6e 53 74 61 6d 70 28 74 68 69 73 cationStamp(this
0d80: 2e 66 69 6c 65 29 3b 0d 0a 7d 0d 0a 0d 0a 41 64 .file);..}....Ad
0d90: 64 69 6e 49 6e 66 6f 2e 70 72 6f 74 6f 74 79 70 dinInfo.prototyp
0da0: 65 2e 52 65 6c 6f 61 64 20 3d 20 66 75 6e 63 74 e.Reload = funct
0db0: 69 6f 6e 28 29 0d 0a 7b 0d 0a 09 76 61 72 20 75 ion()..{...var u
0dc0: 6e 69 71 75 65 4e 61 6d 65 20 3d 20 74 68 69 73 niqueName = this
0dd0: 2e 6f 62 6a 65 63 74 2e 75 6e 69 71 75 65 4e 61 .object.uniqueNa
0de0: 6d 65 3b 0d 0a 09 76 61 72 20 64 69 73 70 6c 61 me;...var displa
0df0: 79 4e 61 6d 65 20 3d 20 74 68 69 73 2e 6f 62 6a yName = this.obj
0e00: 65 63 74 2e 64 69 73 70 6c 61 79 4e 61 6d 65 3b ect.displayName;
0e10: 0d 0a 09 76 61 72 20 6c 6f 61 64 53 74 72 69 6e ...var loadStrin
0e20: 67 20 3d 20 74 68 69 73 2e 6f 62 6a 65 63 74 2e g = this.object.
0e30: 66 75 6c 6c 50 61 74 68 3b 0d 0a 09 76 61 72 20 fullPath;...var
0e40: 61 64 64 69 6e 47 72 6f 75 70 20 3d 20 74 68 69 addinGroup = thi
0e50: 73 2e 6f 62 6a 65 63 74 2e 67 72 6f 75 70 3b 0d s.object.group;.
0e60: 0a 0d 0a 09 74 72 79 0d 0a 09 7b 0d 0a 09 09 61 ....try...{....a
0e70: 64 64 69 6e 73 2e 75 6e 6c 6f 61 64 41 64 64 69 ddins.unloadAddi
0e80: 6e 28 74 68 69 73 2e 6f 62 6a 65 63 74 29 3b 0d n(this.object);.
0e90: 0a 09 7d 0d 0a 09 63 61 74 63 68 28 65 29 0d 0a ..}...catch(e)..
0ea0: 09 7b 0d 0a 09 09 4d 65 73 73 61 67 65 28 22 ce .{....Message(".
0eb0: f8 e8 e1 ea e0 20 ef f0 e8 20 e2 fb e3 f0 f3 e7 ..... ... ......
0ec0: ea e5 20 e0 e4 e4 e8 ed e0 20 22 20 2b 20 64 69 .. ...... " + di
0ed0: 73 70 6c 61 79 4e 61 6d 65 20 2b 20 22 3a 20 22 splayName + ": "
0ee0: 20 2b 20 65 2e 64 65 73 63 72 69 70 74 69 6f 6e + e.description
0ef0: 29 3b 0d 0a 09 7d 0d 0a 09 0d 0a 09 69 66 28 21 );...}......if(!
0f00: 74 68 69 73 2e 6f 62 6a 65 63 74 2e 75 6e 69 71 this.object.uniq
0f10: 75 65 4e 61 6d 65 2e 6c 65 6e 67 74 68 29 09 2f ueName.length)./
0f20: 2f 20 e0 e4 e4 e8 ed 20 f0 e5 e0 eb fc ed ee 20 / ..... .......
0f30: e2 fb e3 f0 f3 e7 e8 eb f1 ff 0d 0a 09 7b 0d 0a .............{..
0f40: 09 09 74 72 79 0d 0a 09 09 7b 0d 0a 09 09 09 61 ..try....{.....a
0f50: 64 64 69 6e 73 2e 6c 6f 61 64 41 64 64 69 6e 28 ddins.loadAddin(
0f60: 6c 6f 61 64 53 74 72 69 6e 67 2c 20 61 64 64 69 loadString, addi
0f70: 6e 47 72 6f 75 70 29 3b 0d 0a 09 09 7d 0d 0a 09 nGroup);....}...
0f80: 09 63 61 74 63 68 28 65 29 0d 0a 09 09 7b 0d 0a .catch(e)....{..
0f90: 09 09 09 4d 65 73 73 61 67 65 28 22 ce f8 e8 e1 ...Message("....
0fa0: ea e0 20 ef f0 e8 20 e7 e0 e3 f0 f3 e7 ea e5 3a .. ... ........:
0fb0: 20 22 20 2b 20 65 2e 64 65 73 63 72 69 70 74 69 " + e.descripti
0fc0: 6f 6e 29 3b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 09 on);....}...}...
0fd0: 0d 0a 09 64 65 6c 65 74 65 20 74 68 69 73 2e 6f ...delete this.o
0fe0: 62 6a 65 63 74 3b 0d 0a 0d 0a 09 2f 2f 20 cd e0 bject;.....// ..
0ff0: e4 ee 20 ed e0 e9 f2 e8 20 ed ee e2 fb e9 20 ee .. ..... ..... .
1000: e1 fa e5 ea f2 20 e0 e4 e4 e8 ed e0 20 ef ee 20 ..... ...... ..
1010: e5 e3 ee 20 e8 ec e5 ed e8 20 e8 20 e7 e0 ef ee ... ..... . ....
1020: ec ed e8 f2 fc 3a 0d 0a 09 74 68 69 73 2e 6f 62 .....:...this.ob
1030: 6a 65 63 74 20 3d 20 61 64 64 69 6e 73 2e 62 79 ject = addins.by
1040: 55 6e 69 71 75 65 4e 61 6d 65 28 75 6e 69 71 75 UniqueName(uniqu
1050: 65 4e 61 6d 65 29 3b 0d 0a 7d 0d 0a 0d 0a 41 64 eName);..}....Ad
1060: 64 69 6e 49 6e 66 6f 2e 70 72 6f 74 6f 74 79 70 dinInfo.prototyp
1070: 65 2e 43 68 65 63 6b 49 66 4d 6f 64 69 66 69 65 e.CheckIfModifie
1080: 64 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 0d 0a d = function()..
1090: 7b 0d 0a 20 20 20 20 76 61 72 20 63 75 72 53 74 {.. var curSt
10a0: 61 6d 70 20 3d 20 67 65 74 4d 6f 64 69 66 69 63 amp = getModific
10b0: 61 74 69 6f 6e 53 74 61 6d 70 28 74 68 69 73 2e ationStamp(this.
10c0: 66 69 6c 65 29 3b 0d 0a 20 20 20 20 69 66 20 28 file);.. if (
10d0: 63 75 72 53 74 61 6d 70 20 21 3d 20 74 68 69 73 curStamp != this
10e0: 2e 6c 61 73 74 4d 6f 64 69 66 69 65 64 29 20 0d .lastModified) .
10f0: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 . {..
1100: 74 68 69 73 2e 6c 61 73 74 4d 6f 64 69 66 69 65 this.lastModifie
1110: 64 20 3d 20 63 75 72 53 74 61 6d 70 3b 0d 0a 20 d = curStamp;..
1120: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 return tr
1130: 75 65 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 ue;.. }....
1140: 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d return false;.
1150: 0a 7d 0d 0a 0d 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a .}..../* *******
1160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1170: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1180: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1190: 2a 2a 2a 0d 0a 20 2a 20 20 c8 ed e8 f6 e8 e0 eb ***.. * .......
11a0: e8 e7 e0 f6 e8 ff 20 f1 ea f0 e8 ef f2 e0 2e 0d ...... .........
11b0: 0a 20 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a . * ************
11c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
11d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
11e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 2a 2f ************* */
11f0: 0d 0a 0d 0a 20 49 6e 69 74 53 63 72 69 70 74 41 .... InitScriptA
1200: 6e 64 52 75 6e 28 29 3b 0d 0a ndRun();..