Artifact
c042ef6b03675fa80cd1830d8851807f56a3c922:
- File
choiceHelpTopic.js
— part of check-in
[f7aec321c7]
at
2012-04-17 06:15:58
on branch trunk
— Список выбора раздела справки позиционируется точно по размеру окна диалога
(user:
orefkov
size: 1899)
[more...]
0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69 ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 63 68 6f 69 63 pt..$uname choic
0020: 65 48 65 6c 70 54 6f 70 69 63 0d 0a 24 64 6e 61 eHelpTopic..$dna
0030: 6d 65 20 d0 92 d1 8b d0 b1 d1 80 d0 b0 d1 82 d1 me .............
0040: 8c 20 d0 b3 d0 bb d0 b0 d0 b2 d1 83 20 d1 81 d0 . .......... ...
0050: bf d1 80 d0 b0 d0 b2 d0 ba d0 b8 0d 0a 24 61 64 .............$ad
0060: 64 69 6e 20 73 74 64 6c 69 62 0d 0a 0d 0a 2f 2f din stdlib....//
0070: 20 28 63 29 20 d0 90 d0 bb d0 b5 d0 ba d1 81 d0 (c) ...........
0080: b0 d0 bd d0 b4 d1 80 20 d0 9e d1 80 d0 b5 d1 84 ....... ........
0090: d0 ba d0 be d0 b2 0d 0a 2f 2f 20 d0 a1 d0 ba d1 ........// .....
00a0: 80 d0 b8 d0 bf d1 82 20 d0 bf d0 be d0 b7 d0 b2 ....... ........
00b0: d0 be d0 bb d1 8f d0 b5 d1 82 20 d0 b1 d1 8b d1 .......... .....
00c0: 81 d1 82 d1 80 d0 b5 d0 b5 20 d0 b2 d1 8b d0 b1 ......... ......
00d0: d1 80 d0 b0 d1 82 d1 8c 20 d0 bd d1 83 d0 b6 d0 ........ .......
00e0: bd d1 83 d1 8e 20 d0 b3 d0 bb d0 b0 d0 b2 d1 83 ..... ..........
00f0: 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 ba d0 b8 2c ..............,
0100: 20 d0 ba d0 be d0 b3 d0 b4 d0 b0 20 d0 be d0 b4 .......... ....
0110: d0 bd d0 be d0 bc d1 83 20 d1 81 d0 bb d0 be d0 ........ .......
0120: b2 d1 83 0d 0a 2f 2f 20 d1 81 d0 be d0 be d1 82 .....// ........
0130: d0 b2 d0 b5 d1 82 d1 81 d1 82 d0 b2 d1 83 d0 b5 ................
0140: d1 82 20 d0 bd d0 b5 d1 81 d0 ba d0 be d0 bb d1 .. .............
0150: 8c d0 ba d0 be 20 d1 80 d0 b0 d0 b7 d0 b4 d0 b5 ..... ..........
0160: d0 bb d0 be d0 b2 0d 0a 0d 0a 74 72 79 7b 0d 0a ..........try{..
0170: 76 61 72 20 61 70 69 20 3d 20 73 74 64 6c 69 62 var api = stdlib
0180: 2e 72 65 71 75 69 72 65 28 22 77 69 6e 61 70 69 .require("winapi
0190: 2e 6a 73 22 29 0d 0a 76 61 72 20 73 65 6c 20 3d .js")..var sel =
01a0: 20 6e 65 77 20 41 63 74 69 76 65 58 4f 62 6a 65 new ActiveXObje
01b0: 63 74 28 27 53 76 63 73 76 63 2e 53 65 72 76 69 ct('Svcsvc.Servi
01c0: 63 65 27 29 0d 0a 65 76 65 6e 74 73 2e 63 6f 6e ce')..events.con
01d0: 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c 20 22 6f nect(windows, "o
01e0: 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53 65 6c 66 53 nDoModal", SelfS
01f0: 63 72 69 70 74 2e 73 65 6c 66 29 0d 0a 7d 63 61 cript.self)..}ca
0200: 74 63 68 28 65 29 0d 0a 7b 0d 0a 20 20 20 20 4d tch(e)..{.. M
0210: 65 73 73 61 67 65 28 22 63 68 6f 69 63 65 48 65 essage("choiceHe
0220: 6c 70 54 6f 70 69 63 2e 6a 73 3a 20 d0 be d1 88 lpTopic.js: ....
0230: d0 b8 d0 b1 d0 ba d0 b0 20 d0 bf d1 80 d0 b8 20 ........ ......
0240: d0 b8 d0 bd d0 b8 d1 86 d0 b8 d0 b0 d0 bb d0 b8 ................
0250: d0 b7 d0 b0 d1 86 d0 b8 d0 b8 2e 20 22 20 2b 20 ........... " +
0260: 65 2e 64 65 73 63 72 69 70 74 69 6f 6e 29 0d 0a e.description)..
0270: 20 20 20 20 2f 2f 61 64 64 69 6e 73 2e 75 6e 6c //addins.unl
0280: 6f 61 64 41 64 64 69 6e 28 61 64 64 69 6e 73 2e oadAddin(addins.
0290: 62 79 55 6e 69 71 75 65 4e 61 6d 65 28 53 65 6c byUniqueName(Sel
02a0: 66 53 63 72 69 70 74 2e 75 6e 69 71 75 65 4e 61 fScript.uniqueNa
02b0: 6d 65 29 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 me))..}....funct
02c0: 69 6f 6e 20 6f 6e 44 6f 4d 6f 64 61 6c 28 64 6c ion onDoModal(dl
02d0: 67 49 6e 66 6f 29 0d 0a 7b 0d 0a 20 20 20 20 69 gInfo)..{.. i
02e0: 66 28 64 6c 67 49 6e 66 6f 2e 63 61 70 74 69 6f f(dlgInfo.captio
02f0: 6e 20 3d 3d 20 22 d0 92 d1 8b d0 b1 d0 be d1 80 n == "..........
0300: 20 d0 b3 d0 bb d0 b0 d0 b2 d1 8b 22 29 0d 0a 20 ..........")..
0310: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 69 66 {.. if
0320: 28 64 6c 67 49 6e 66 6f 2e 73 74 61 67 65 20 3d (dlgInfo.stage =
0330: 3d 20 6f 70 65 6e 4d 6f 64 61 6c 57 6e 64 29 0d = openModalWnd).
0340: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 . {..
0350: 20 20 20 20 20 20 20 20 76 61 72 20 76 74 20 3d var vt =
0360: 20 64 6c 67 49 6e 66 6f 2e 66 6f 72 6d 2e 67 65 dlgInfo.form.ge
0370: 74 43 6f 6e 74 72 6f 6c 28 22 74 62 6c 54 6f 70 tControl("tblTop
0380: 69 63 73 22 29 2e 76 61 6c 75 65 0d 0a 20 20 20 ics").value..
0390: 20 20 20 20 20 20 20 20 20 69 66 28 76 74 2e 43 if(vt.C
03a0: 6f 75 6e 74 28 29 20 3e 20 33 29 0d 0a 20 20 20 ount() > 3)..
03b0: 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 {..
03c0: 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 var
03d0: 63 68 6f 69 63 65 73 20 3d 20 5b 5d 0d 0a 20 20 choices = []..
03e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f fo
03f0: 72 28 76 61 72 20 72 6f 77 73 20 3d 20 6e 65 77 r(var rows = new
0400: 20 45 6e 75 6d 65 72 61 74 6f 72 28 76 74 29 3b Enumerator(vt);
0410: 20 21 72 6f 77 73 2e 61 74 45 6e 64 28 29 3b 20 !rows.atEnd();
0420: 72 6f 77 73 2e 6d 6f 76 65 4e 65 78 74 28 29 29 rows.moveNext())
0430: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0440: 20 20 20 20 20 20 63 68 6f 69 63 65 73 2e 70 75 choices.pu
0450: 73 68 28 72 6f 77 73 2e 69 74 65 6d 28 29 2e 47 sh(rows.item().G
0460: 65 74 28 30 29 29 0d 0a 20 20 20 20 20 20 20 20 et(0))..
0470: 20 20 20 20 20 20 20 20 76 61 72 20 72 65 63 74 var rect
0480: 20 3d 20 61 70 69 2e 47 65 74 57 69 6e 64 6f 77 = api.GetWindow
0490: 52 65 63 74 28 61 70 69 2e 47 65 74 50 61 72 65 Rect(api.GetPare
04a0: 6e 74 57 69 6e 64 6f 77 28 61 70 69 2e 47 65 74 ntWindow(api.Get
04b0: 50 61 72 65 6e 74 57 69 6e 64 6f 77 28 64 6c 67 ParentWindow(dlg
04c0: 49 6e 66 6f 2e 66 6f 72 6d 2e 67 65 74 43 6f 6e Info.form.getCon
04d0: 74 72 6f 6c 28 2d 31 29 2e 68 77 6e 64 29 29 29 trol(-1).hwnd)))
04e0: 20 20 2f 2f 20 2d 31 20 2d 20 d1 8d d1 82 d0 be // -1 - ......
04f0: 20 d1 81 d0 b0 d0 bc d0 b0 20 d1 84 d0 be d1 80 ........ ......
0500: d0 bc d0 b0 0d 0a 20 20 20 20 20 20 20 20 20 20 ......
0510: 20 20 20 20 20 20 76 61 72 20 63 68 6f 69 63 65 var choice
0520: 20 3d 20 73 65 6c 2e 46 69 6c 74 65 72 56 61 6c = sel.FilterVal
0530: 75 65 28 63 68 6f 69 63 65 73 2e 6a 6f 69 6e 28 ue(choices.join(
0540: 22 5c 72 5c 6e 22 29 2c 20 31 20 7c 20 38 20 7c "\r\n"), 1 | 8 |
0550: 20 33 32 2c 20 27 d0 92 d1 8b d0 b1 d0 b5 d1 80 32, '..........
0560: d0 b8 d1 82 d0 b5 20 d0 b3 d0 bb d0 b0 d0 b2 d1 ...... .........
0570: 83 27 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .',..
0580: 20 20 20 20 20 20 20 20 20 72 65 63 74 2e 6c 65 rect.le
0590: 66 74 2c 20 72 65 63 74 2e 74 6f 70 2c 20 72 65 ft, rect.top, re
05a0: 63 74 2e 77 69 64 74 68 28 29 2c 20 72 65 63 74 ct.width(), rect
05b0: 2e 68 65 69 67 68 74 28 29 29 0d 0a 20 20 20 20 .height())..
05c0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 63 if(c
05d0: 68 6f 69 63 65 2e 6c 65 6e 67 74 68 29 0d 0a 20 hoice.length)..
05e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b {
05f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0600: 20 20 20 20 20 20 76 61 72 20 73 6b 20 3d 20 22 var sk = "
0610: 22 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 "..
0620: 20 20 20 20 20 20 20 66 6f 72 28 76 61 72 20 6b for(var k
0630: 20 69 6e 20 63 68 6f 69 63 65 73 29 0d 0a 20 20 in choices)..
0640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0650: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 {..
0660: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 if(
0670: 63 68 6f 69 63 65 73 5b 6b 5d 20 3d 3d 20 63 68 choices[k] == ch
0680: 6f 69 63 65 29 0d 0a 20 20 20 20 20 20 20 20 20 oice)..
0690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
06a0: 20 20 20 62 72 65 61 6b 0d 0a 20 20 20 20 20 20 break..
06b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
06c0: 20 20 73 6b 20 2b 3d 20 22 7b 44 4f 57 4e 7d 22 sk += "{DOWN}"
06d0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
06e0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 }..
06f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 new
0700: 20 41 63 74 69 76 65 58 4f 62 6a 65 63 74 28 22 ActiveXObject("
0710: 57 53 63 72 69 70 74 2e 53 68 65 6c 6c 22 29 2e WScript.Shell").
0720: 53 65 6e 64 4b 65 79 73 28 73 6b 20 2b 20 22 7e SendKeys(sk + "~
0730: 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ")..
0740: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 }..
0750: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d }.. }.
0760: 0a 20 20 20 20 7d 0d 0a 7d 0d 0a . }..}..