Hex Artifact Content Вы: nobody
Вход

Artifact 1fee8940d2b73f903879c94036db48027c8be116:


0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69  ...$engine JScri
0010: 70 74 0a 24 75 6e 61 6d 65 20 74 79 70 65 5f 66  pt.$uname type_f
0020: 69 6e 64 65 72 0a 24 64 6e 61 6d 65 20 d0 91 d1  inder.$dname ...
0030: 8b d1 81 d1 82 d1 80 d1 8b d0 b9 20 d0 bf d0 be  ........... ....
0040: d0 b8 d1 81 d0 ba 20 d1 82 d0 b8 d0 bf d0 b0 0a  ...... .........
0050: 24 61 64 64 69 6e 20 67 6c 6f 62 61 6c 0a 24 61  $addin global.$a
0060: 64 64 69 6e 20 73 74 64 6c 69 62 0a 24 61 64 64  ddin stdlib.$add
0070: 69 6e 20 73 74 64 63 6f 6d 6d 61 6e 64 73 0a 24  in stdcommands.$
0080: 61 64 64 69 6e 20 68 6f 74 6b 65 79 73 20 68 6b  addin hotkeys hk
0090: 0a 0a 2f 2f 20 28 63 29 20 d0 90 d0 bb d0 b5 d0  ..// (c) .......
00a0: ba d1 81 d0 b0 d0 bd d0 b4 d1 80 20 d0 9e d1 80  ........... ....
00b0: d0 b5 d1 84 d0 ba d0 be d0 b2 0a 2f 2f 20 d0 a1  ...........// ..
00c0: d0 ba d1 80 d0 b8 d0 bf d1 82 2c 20 d0 be d0 b1  .........., ....
00d0: d0 bb d0 b5 d0 b3 d1 87 d0 b0 d1 8e d1 89 d0 b8  ................
00e0: d0 b9 20 d1 80 d0 b0 d0 b1 d0 be d1 82 d1 83 20  .. ............ 
00f0: d0 b2 20 d0 b4 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0  .. .............
0100: b5 20 d0 b2 d1 8b d0 b1 d0 be d1 80 d0 b0 20 d1  . ............ .
0110: 82 d0 b8 d0 bf d0 b0 0a 0a 67 6c 6f 62 61 6c 2e  .........global.
0120: 63 6f 6e 6e 65 63 74 47 6c 6f 62 61 6c 73 28 53  connectGlobals(S
0130: 65 6c 66 53 63 72 69 70 74 29 0a 77 61 70 69 20  elfScript).wapi 
0140: 3d 20 73 74 64 6c 69 62 2e 72 65 71 75 69 72 65  = stdlib.require
0150: 28 22 77 69 6e 61 70 69 2e 6a 73 22 29 3b 0a 73  ("winapi.js");.s
0160: 74 64 6c 69 62 2e 72 65 71 75 69 72 65 28 22 54  tdlib.require("T
0170: 65 78 74 43 68 61 6e 67 65 73 57 61 74 63 68 65  extChangesWatche
0180: 72 2e 6a 73 22 2c 20 53 65 6c 66 53 63 72 69 70  r.js", SelfScrip
0190: 74 29 3b 0d 0a 0a 65 76 65 6e 74 73 2e 63 6f 6e  t);...events.con
01a0: 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c 20 22 6f  nect(windows, "o
01b0: 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53 65 6c 66 53  nDoModal", SelfS
01c0: 63 72 69 70 74 2e 73 65 6c 66 29 0a 0a 76 61 72  cript.self)..var
01d0: 20 66 6f 72 6d 2c 20 74 79 70 65 54 72 65 65 43   form, typeTreeC
01e0: 74 72 6c 2c 20 6d 75 6c 74 79 54 79 70 65 43 74  trl, multyTypeCt
01f0: 72 6c 2c 20 71 75 69 63 6b 53 65 6c 2c 20 74 63  rl, quickSel, tc
0200: 2c 20 69 6e 69 74 4e 61 6d 65 2c 20 68 6b 49 44  , initName, hkID
0210: 2c 20 76 38 46 6f 72 6d 2c 20 66 4f 6e 6c 79 53  , v8Form, fOnlyS
0220: 65 6c 65 63 74 65 64 20 3d 20 66 61 6c 73 65 0a  elected = false.
0230: 0a 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 49 6e  .function calcIn
0240: 69 74 4e 61 6d 65 28 29 0a 7b 0a 20 20 20 20 69  itName().{.    i
0250: 6e 69 74 4e 61 6d 65 20 3d 20 27 27 0d 0a 20 20  nitName = ''..  
0260: 20 20 76 61 72 20 72 20 3d 20 74 79 70 65 54 72    var r = typeTr
0270: 65 65 43 74 72 6c 2e 65 78 74 49 6e 74 65 72 66  eeCtrl.extInterf
0280: 61 63 65 2e 63 75 72 72 65 6e 74 52 6f 77 0a 20  ace.currentRow. 
0290: 20 20 20 69 66 28 72 29 0a 20 20 20 20 7b 0a 20     if(r).    {. 
02a0: 20 20 20 20 20 20 20 66 6f 72 28 3b 3b 29 0a 20         for(;;). 
02b0: 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20         {.       
02c0: 20 20 20 20 20 69 6e 69 74 4e 61 6d 65 20 3d 20       initName = 
02d0: 72 2e 67 65 74 43 65 6c 6c 41 70 70 65 61 72 61  r.getCellAppeara
02e0: 6e 63 65 28 30 29 2e 74 65 78 74 20 2b 20 69 6e  nce(0).text + in
02f0: 69 74 4e 61 6d 65 0a 20 20 20 20 20 20 20 20 20  itName.         
0300: 20 20 20 69 66 28 72 2e 70 61 72 65 6e 74 29 0a     if(r.parent).
0310: 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20              {.  
0320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e                in
0330: 69 74 4e 61 6d 65 20 3d 20 27 2e 27 20 2b 20 69  itName = '.' + i
0340: 6e 69 74 4e 61 6d 65 0a 20 20 20 20 20 20 20 20  nitName.        
0350: 20 20 20 20 20 20 20 20 72 20 3d 20 72 2e 70 61          r = r.pa
0360: 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20  rent.           
0370: 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65   }.            e
0380: 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  lse.            
0390: 20 20 20 20 62 72 65 61 6b 0a 20 20 20 20 20 20      break.      
03a0: 20 20 7d 20 20 20 20 20 20 20 20 0a 20 20 20 20    }        .    
03b0: 7d 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 69 6e  }.}..function in
03c0: 69 74 46 6f 72 6d 28 29 0a 7b 0a 20 20 20 20 2f  itForm().{.    /
03d0: 2f 20 d0 97 d0 b0 d0 b3 d1 80 d1 83 d0 b7 d0 b8  / ..............
03e0: d0 bc 20 d0 b8 20 d0 bd d0 b0 d1 81 d1 82 d1 80  .. .. ..........
03f0: d0 be d0 b8 d0 bc 20 d1 84 d0 be d1 80 d0 bc d1  ...... .........
0400: 83 0a 20 20 20 20 66 6f 72 6d 20 3d 20 6c 6f 61  ..    form = loa
0410: 64 53 63 72 69 70 74 46 6f 72 6d 28 53 65 6c 66  dScriptForm(Self
0420: 53 63 72 69 70 74 2e 66 75 6c 6c 50 61 74 68 2e  Script.fullPath.
0430: 72 65 70 6c 61 63 65 28 2f 6a 73 24 2f 2c 20 27  replace(/js$/, '
0440: 73 73 66 27 29 2c 20 53 65 6c 66 53 63 72 69 70  ssf'), SelfScrip
0450: 74 2e 73 65 6c 66 29 0d 0a 20 20 20 20 66 6f 72  t.self)..    for
0460: 6d 2e d0 9a d0 bb d1 8e d1 87 d0 a1 d0 be d1 85  m...............
0470: d1 80 d0 b0 d0 bd d0 b5 d0 bd d0 b8 d1 8f d0 9f  ................
0480: d0 be d0 bb d0 be d0 b6 d0 b5 d0 bd d0 b8 d1 8f  ................
0490: d0 9e d0 ba d0 bd d0 b0 20 3d 20 53 65 6c 66 53  ........ = SelfS
04a0: 63 72 69 70 74 2e 75 6e 69 71 75 65 4e 61 6d 65  cript.uniqueName
04b0: 0d 0a 20 20 20 20 66 6f 72 6d 2e 54 79 70 65 73  ..    form.Types
04c0: 2e 43 6f 6c 75 6d 6e 73 2e 41 64 64 28 22 64 61  .Columns.Add("da
04d0: 74 61 22 29 0d 0a 20 20 20 20 66 6f 72 6d 2e 54  ta")..    form.T
04e0: 79 70 65 73 2e 43 6f 6c 75 6d 6e 73 2e 41 64 64  ypes.Columns.Add
04f0: 28 22 70 69 63 74 75 72 65 22 29 0d 0a 20 20 20  ("picture")..   
0500: 20 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 43   form.Controls.C
0510: 6d 64 73 2e d0 9a d0 bd d0 be d0 bf d0 ba d0 b8  mds.............
0520: 2e 53 68 6f 77 53 74 64 2e d0 a1 d0 be d1 87 d0  .ShowStd........
0530: b5 d1 82 d0 b0 d0 bd d0 b8 d0 b5 d0 9a d0 bb d0  ................
0540: b0 d0 b2 d0 b8 d1 88 20 3d 20 73 74 64 6c 69 62  ....... = stdlib
0550: 2e 76 38 68 6f 74 6b 65 79 28 31 33 2c 20 34 29  .v8hotkey(13, 4)
0560: 0d 0a 20 20 20 20 66 6f 72 6d 2e 43 6f 6e 74 72  ..    form.Contr
0570: 6f 6c 73 2e 43 6d 64 73 2e d0 9a d0 bd d0 be d0  ols.Cmds........
0580: bf d0 ba d0 b8 2e 4f 6b 2e d0 a1 d0 be d1 87 d0  ......Ok........
0590: b5 d1 82 d0 b0 d0 bd d0 b8 d0 b5 d0 9a d0 bb d0  ................
05a0: b0 d0 b2 d0 b8 d1 88 20 3d 20 73 74 64 6c 69 62  ....... = stdlib
05b0: 2e 76 38 68 6f 74 6b 65 79 28 31 33 2c 20 30 29  .v8hotkey(13, 0)
05c0: 0d 0a 20 20 20 20 74 63 20 3d 20 6e 65 77 20 54  ..    tc = new T
05d0: 65 78 74 43 68 61 6e 67 65 73 57 61 74 63 68 65  extChangesWatche
05e0: 72 28 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0  r(form..........
05f0: b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1  ................
0600: 8b 2e 50 61 74 74 65 72 6e 2c 20 33 2c 20 75 70  ..Pattern, 3, up
0610: 64 61 74 65 4c 69 73 74 29 0d 0a 20 20 20 20 63  dateList)..    c
0620: 61 6c 63 49 6e 69 74 4e 61 6d 65 28 29 0d 0a 7d  alcInitName()..}
0630: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 77 61 6c  ....function wal
0640: 6b 54 79 70 65 54 72 65 65 28 66 29 0a 7b 0a 20  kTypeTree(f).{. 
0650: 20 20 20 76 61 72 20 67 72 69 64 20 3d 20 74 79     var grid = ty
0660: 70 65 54 72 65 65 43 74 72 6c 2e 65 78 74 49 6e  peTreeCtrl.extIn
0670: 74 65 72 66 61 63 65 0a 20 20 20 20 66 75 6e 63  terface.    func
0680: 74 69 6f 6e 20 66 6f 72 41 6c 6c 54 79 70 65 73  tion forAllTypes
0690: 28 70 61 72 65 6e 74 2c 20 70 72 65 66 69 78 2c  (parent, prefix,
06a0: 20 66 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20   f).    {.      
06b0: 20 20 76 61 72 20 72 6f 77 20 3d 20 70 61 72 65    var row = pare
06c0: 6e 74 2e 66 69 72 73 74 43 68 69 6c 64 0a 20 20  nt.firstChild.  
06d0: 20 20 20 20 20 20 77 68 69 6c 65 28 72 6f 77 29        while(row)
06e0: 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20  .        {.     
06f0: 20 20 20 20 20 20 20 76 61 72 20 63 61 20 3d 20         var ca = 
0700: 72 6f 77 2e 67 65 74 43 65 6c 6c 41 70 70 65 61  row.getCellAppea
0710: 72 61 6e 63 65 28 30 29 0a 20 20 20 20 20 20 20  rance(0).       
0720: 20 20 20 20 20 76 61 72 20 66 75 6c 6c 4e 61 6d       var fullNam
0730: 65 20 3d 20 70 72 65 66 69 78 20 2b 20 63 61 2e  e = prefix + ca.
0740: 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20  text.           
0750: 20 69 66 28 28 21 66 4f 6e 6c 79 53 65 6c 65 63   if((!fOnlySelec
0760: 74 65 64 20 7c 7c 20 67 72 69 64 2e 69 73 43 65  ted || grid.isCe
0770: 6c 6c 43 68 65 63 6b 65 64 28 72 6f 77 2c 20 30  llChecked(row, 0
0780: 29 29 20 26 26 20 66 28 66 75 6c 6c 4e 61 6d 65  )) && f(fullName
0790: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b  )).            {
07a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
07b0: 20 76 61 72 20 72 20 3d 20 66 6f 72 6d 2e 54 79   var r = form.Ty
07c0: 70 65 73 2e 41 64 64 28 29 0a 20 20 20 20 20 20  pes.Add().      
07d0: 20 20 20 20 20 20 20 20 20 20 72 2e 54 79 70 65            r.Type
07e0: 20 3d 20 66 75 6c 6c 4e 61 6d 65 0a 20 20 20 20   = fullName.    
07f0: 20 20 20 20 20 20 20 20 20 20 20 20 72 2e 70 69              r.pi
0800: 63 74 75 72 65 20 3d 20 63 61 2e 70 69 63 74 75  cture = ca.pictu
0810: 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  re.             
0820: 20 20 20 72 2e 64 61 74 61 20 3d 20 72 6f 77 0a     r.data = row.
0830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0840: 69 66 28 66 75 6c 6c 4e 61 6d 65 20 3d 3d 20 69  if(fullName == i
0850: 6e 69 74 4e 61 6d 65 29 0a 20 20 20 20 20 20 20  nitName).       
0860: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72               for
0870: 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 54 79 70 65 73  m.Controls.Types
0880: 2e 43 75 72 72 65 6e 74 52 6f 77 20 3d 20 72 0a  .CurrentRow = r.
0890: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20              }.  
08a0: 20 20 20 20 20 20 20 20 20 20 69 66 28 72 6f 77            if(row
08b0: 2e 66 69 72 73 74 43 68 69 6c 64 29 0a 20 20 20  .firstChild).   
08c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72               for
08d0: 41 6c 6c 54 79 70 65 73 28 72 6f 77 2c 20 66 75  AllTypes(row, fu
08e0: 6c 6c 4e 61 6d 65 20 2b 20 22 2e 22 2c 20 66 29  llName + ".", f)
08f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 77  .            row
0900: 20 3d 20 72 6f 77 2e 6e 65 78 74 0a 20 20 20 20   = row.next.    
0910: 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20      }.    }.    
0920: 66 6f 72 41 6c 6c 54 79 70 65 73 28 67 72 69 64  forAllTypes(grid
0930: 2e 64 61 74 61 53 6f 75 72 63 65 2e 72 6f 6f 74  .dataSource.root
0940: 2c 20 27 27 2c 20 66 29 0a 7d 0d 0a 0a 66 75 6e  , '', f).}...fun
0950: 63 74 69 6f 6e 20 75 70 64 61 74 65 4c 69 73 74  ction updateList
0960: 28 70 61 74 74 65 72 6e 29 0a 7b 0a 20 20 20 20  (pattern).{.    
0970: 66 6f 72 6d 2e 54 79 70 65 73 2e 43 6c 65 61 72  form.Types.Clear
0980: 28 29 0a 20 20 20 20 70 61 74 74 65 72 6e 20 3d  ().    pattern =
0990: 20 70 61 74 74 65 72 6e 2e 72 65 70 6c 61 63 65   pattern.replace
09a0: 28 2f 5c 73 2b 2f 67 2c 20 27 20 27 29 2e 72 65  (/\s+/g, ' ').re
09b0: 70 6c 61 63 65 28 2f 5e 5c 73 7c 5c 73 24 2f 67  place(/^\s|\s$/g
09c0: 2c 20 27 27 29 0a 20 20 20 20 69 66 28 21 70 61  , '').    if(!pa
09d0: 74 74 65 72 6e 2e 6c 65 6e 67 74 68 29 0a 20 20  ttern.length).  
09e0: 20 20 20 20 20 20 77 61 6c 6b 54 79 70 65 54 72        walkTypeTr
09f0: 65 65 28 66 75 6e 63 74 69 6f 6e 28 29 7b 72 65  ee(function(){re
0a00: 74 75 72 6e 20 74 72 75 65 7d 29 0a 20 20 20 20  turn true}).    
0a10: 65 6c 73 65 0a 20 20 20 20 7b 0a 20 20 20 20 20  else.    {.     
0a20: 20 20 20 76 61 72 20 66 69 6c 74 65 72 73 20 3d     var filters =
0a30: 20 70 61 74 74 65 72 6e 2e 74 6f 4c 6f 77 65 72   pattern.toLower
0a40: 43 61 73 65 28 29 2e 73 70 6c 69 74 28 27 20 27  Case().split(' '
0a50: 29 0a 20 20 20 20 20 20 20 20 77 61 6c 6b 54 79  ).        walkTy
0a60: 70 65 54 72 65 65 28 66 75 6e 63 74 69 6f 6e 28  peTree(function(
0a70: 74 65 78 74 29 20 7b 0a 20 20 20 20 20 20 20 20  text) {.        
0a80: 20 20 20 20 74 65 78 74 20 3d 20 74 65 78 74 2e      text = text.
0a90: 74 6f 4c 6f 77 65 72 43 61 73 65 28 29 3b 0a 20  toLowerCase();. 
0aa0: 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 28 76             for(v
0ab0: 61 72 20 6b 20 69 6e 20 66 69 6c 74 65 72 73 29  ar k in filters)
0ac0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20  .            {. 
0ad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
0ae0: 66 28 74 65 78 74 2e 69 6e 64 65 78 4f 66 28 66  f(text.indexOf(f
0af0: 69 6c 74 65 72 73 5b 6b 5d 29 20 3d 3d 20 2d 31  ilters[k]) == -1
0b00: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
0b10: 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c        return fal
0b20: 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d  se.            }
0b30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74  .            ret
0b40: 75 72 6e 20 74 72 75 65 0a 20 20 20 20 20 20 20  urn true.       
0b50: 20 7d 29 0a 20 20 20 20 7d 0a 20 20 20 20 69 66   }).    }.    if
0b60: 28 21 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e  (!form.Controls.
0b70: 54 79 70 65 73 2e 43 75 72 72 65 6e 74 52 6f 77  Types.CurrentRow
0b80: 20 26 26 20 66 6f 72 6d 2e 54 79 70 65 73 2e 43   && form.Types.C
0b90: 6f 75 6e 74 28 29 29 0a 20 20 20 20 20 20 20 20  ount()).        
0ba0: 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 54 79  form.Controls.Ty
0bb0: 70 65 73 2e 43 75 72 72 65 6e 74 52 6f 77 20 3d  pes.CurrentRow =
0bc0: 20 66 6f 72 6d 2e 54 79 70 65 73 2e 47 65 74 28   form.Types.Get(
0bd0: 30 29 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e  0).}....function
0be0: 20 d0 9f d1 80 d0 b8 d0 9e d1 82 d0 ba d1 80 d1   ...............
0bf0: 8b d1 82 d0 b8 d0 b8 28 29 0d 0a 7b 0d 0a 20 20  .......()..{..  
0c00: 20 20 66 6f 72 6d 2e 50 61 74 74 65 72 6e 20 3d    form.Pattern =
0c10: 20 27 27 0d 0a 20 20 20 20 74 63 2e 73 74 61 72   ''..    tc.star
0c20: 74 28 29 0d 0a 20 20 20 20 75 70 64 61 74 65 4c  t()..    updateL
0c30: 69 73 74 28 27 27 29 0d 0a 7d 0d 0a 0d 0a 66 75  ist('')..}....fu
0c40: 6e 63 74 69 6f 6e 20 d0 9f d1 80 d0 b8 d0 97 d0  nction .........
0c50: b0 d0 ba d1 80 d1 8b d1 82 d0 b8 d0 b8 28 29 0d  .............().
0c60: 0a 7b 0d 0a 20 20 20 20 74 63 2e 73 74 6f 70 28  .{..    tc.stop(
0c70: 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e  )..}....function
0c80: 20 43 6d 64 73 4f 6b 28 d0 9a d0 bd d0 be d0 bf   CmdsOk(........
0c90: d0 ba d0 b0 29 0a 7b 0a 20 20 20 20 76 61 72 20  ....).{.    var 
0ca0: 63 72 20 3d 20 66 6f 72 6d 2e 43 6f 6e 74 72 6f  cr = form.Contro
0cb0: 6c 73 2e 54 79 70 65 73 2e d0 a2 d0 b5 d0 ba d1  ls.Types........
0cc0: 83 d1 89 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0  ................
0cd0: ba d0 b0 0a 20 20 20 20 69 66 28 63 72 29 0a 20  ....    if(cr). 
0ce0: 20 20 20 20 20 20 20 66 6f 72 6d 2e d0 97 d0 b0         form.....
0cf0: d0 ba d1 80 d1 8b d1 82 d1 8c 28 7b 72 65 73 75  ..........({resu
0d00: 6c 74 3a 20 74 72 75 65 2c 20 73 65 6c 65 63 74  lt: true, select
0d10: 65 64 52 6f 77 3a 20 63 72 2e 64 61 74 61 7d 29  edRow: cr.data})
0d20: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 43  .}....function C
0d30: 6d 64 73 53 68 6f 77 53 74 64 28 d0 9a d0 bd d0  mdsShowStd(.....
0d40: be d0 bf d0 ba d0 b0 29 0a 7b 0a 20 20 20 20 66  .......).{.    f
0d50: 6f 72 6d 2e d0 97 d0 b0 d0 ba d1 80 d1 8b d1 82  orm.............
0d60: d1 8c 28 7b 72 65 73 75 6c 74 3a 66 61 6c 73 65  ..({result:false
0d70: 7d 29 0a 7d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20  }).}...function 
0d80: 50 61 74 74 65 72 6e d0 a0 d0 b5 d0 b3 d1 83 d0  Pattern.........
0d90: bb d0 b8 d1 80 d0 be d0 b2 d0 b0 d0 bd d0 b8 d0  ................
0da0: b5 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82  .(..............
0db0: 2c 20 d0 9d d0 b0 d0 bf d1 80 d0 b0 d0 b2 d0 bb  , ..............
0dc0: d0 b5 d0 bd d0 b8 d0 b5 2c 20 d0 a1 d1 82 d0 b0  ........, ......
0dd0: d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d0 b0 d1 8f  ................
0de0: d0 9e d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba  ................
0df0: d0 b0 29 0a 7b 0a 20 20 20 20 76 61 72 20 74 61  ..).{.    var ta
0e00: 62 20 3d 20 66 6f 72 6d 2e 54 79 70 65 73 2c 20  b = form.Types, 
0e10: 74 70 20 3d 20 66 6f 72 6d 2e 43 6f 6e 74 72 6f  tp = form.Contro
0e20: 6c 73 2e 54 79 70 65 73 0a 20 20 20 20 69 66 28  ls.Types.    if(
0e30: 21 74 70 2e d0 a2 d0 b5 d0 ba d1 83 d1 89 d0 b0  !tp.............
0e40: d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 29 0d  ..............).
0e50: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0d  .        return.
0e60: 0a 20 20 20 20 76 61 72 20 63 75 72 52 6f 77 20  .    var curRow 
0e70: 3d 20 74 61 62 2e d0 98 d0 bd d0 b4 d0 b5 d0 ba  = tab...........
0e80: d1 81 28 74 70 2e d0 a2 d0 b5 d0 ba d1 83 d1 89  ..(tp...........
0e90: d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0  ................
0ea0: 29 2c 20 6e 65 77 52 6f 77 20 3d 20 63 75 72 52  ), newRow = curR
0eb0: 6f 77 0d 0a 20 20 20 20 0d 0a 20 20 20 20 69 66  ow..    ..    if
0ec0: 28 2d 31 20 3d 3d 20 d0 9d d0 b0 d0 bf d1 80 d0  (-1 == .........
0ed0: b0 d0 b2 d0 bb d0 b5 d0 bd d0 b8 d0 b5 2e 76 61  ..............va
0ee0: 6c 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20  l)..    {..     
0ef0: 20 20 20 69 66 28 63 75 72 52 6f 77 20 21 3d 20     if(curRow != 
0f00: 74 61 62 2e d0 9a d0 be d0 bb d0 b8 d1 87 d0 b5  tab.............
0f10: d1 81 d1 82 d0 b2 d0 be 28 29 20 2d 20 31 29 0d  ........() - 1).
0f20: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77  .            new
0f30: 52 6f 77 2b 2b 0d 0a 20 20 20 20 7d 0d 0a 20 20  Row++..    }..  
0f40: 20 20 65 6c 73 65 0d 0a 20 20 20 20 7b 0d 0a 20    else..    {.. 
0f50: 20 20 20 20 20 20 20 69 66 28 63 75 72 52 6f 77         if(curRow
0f60: 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20   > 0)..         
0f70: 20 20 20 6e 65 77 52 6f 77 2d 2d 0d 0a 20 20 20     newRow--..   
0f80: 20 7d 0d 0a 20 20 20 20 69 66 28 6e 65 77 52 6f   }..    if(newRo
0f90: 77 20 21 3d 20 63 75 72 52 6f 77 29 0d 0a 20 20  w != curRow)..  
0fa0: 20 20 20 20 20 20 74 70 2e d0 a2 d0 b5 d0 ba d1        tp........
0fb0: 83 d1 89 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0  ................
0fc0: ba d0 b0 20 3d 20 74 61 62 2e d0 9f d0 be d0 bb  ... = tab.......
0fd0: d1 83 d1 87 d0 b8 d1 82 d1 8c 28 6e 65 77 52 6f  ..........(newRo
0fe0: 77 29 0d 0a 20 20 20 20 d0 a1 d1 82 d0 b0 d0 bd  w)..    ........
0ff0: d0 b4 d0 b0 d1 80 d1 82 d0 bd d0 b0 d1 8f d0 9e  ................
1000: d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba d0 b0  ................
1010: 2e 76 61 6c 20 3d 20 66 61 6c 73 65 0d 0a 7d 0d  .val = false..}.
1020: 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 54 79 70 65  ...function Type
1030: 73 d0 92 d1 8b d0 b1 d0 be d1 80 28 d0 ad d0 bb  s..........(....
1040: d0 b5 d0 bc d0 b5 d0 bd d1 82 2c 20 d0 92 d1 8b  .........., ....
1050: d0 b1 d1 80 d0 b0 d0 bd d0 bd d0 b0 d1 8f d0 a1  ................
1060: d1 82 d1 80 d0 be d0 ba d0 b0 2c 20 d0 9a d0 be  .........., ....
1070: d0 bb d0 be d0 bd d0 ba d0 b0 2c 20 d0 a1 d1 82  .........., ....
1080: d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d0 b0  ................
1090: d1 8f d0 9e d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82  ................
10a0: d0 ba d0 b0 29 0a 7b 0a 20 20 20 20 43 6d 64 73  ....).{.    Cmds
10b0: 4f 6b 28 29 0a 7d 0d 0a 0a 66 75 6e 63 74 69 6f  Ok().}...functio
10c0: 6e 20 54 79 70 65 73 d0 9f d1 80 d0 b8 d0 92 d1  n Types.........
10d0: 8b d0 b2 d0 be d0 b4 d0 b5 d0 a1 d1 82 d1 80 d0  ................
10e0: be d0 ba d0 b8 28 d0 ad d0 bb d0 b5 d0 bc d0 b5  .....(..........
10f0: d0 bd d1 82 2c 20 d0 9e d1 84 d0 be d1 80 d0 bc  ...., ..........
1100: d0 bb d0 b5 d0 bd d0 b8 d0 b5 d0 a1 d1 82 d1 80  ................
1110: d0 be d0 ba d0 b8 2c 20 d0 94 d0 b0 d0 bd d0 bd  ......, ........
1120: d1 8b d0 b5 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8  ................
1130: 29 0a 7b 0a 20 20 20 20 69 66 28 d0 94 d0 b0 d0  ).{.    if(.....
1140: bd d0 bd d1 8b d0 b5 d0 a1 d1 82 d1 80 d0 be d0  ................
1150: ba d0 b8 2e 76 61 6c 2e 70 69 63 74 75 72 65 29  ....val.picture)
1160: 0a 20 20 20 20 20 20 20 20 d0 9e d1 84 d0 be d1  .        .......
1170: 80 d0 bc d0 bb d0 b5 d0 bd d0 b8 d0 b5 d0 a1 d1  ................
1180: 82 d1 80 d0 be d0 ba d0 b8 2e 76 61 6c 2e 43 65  ..........val.Ce
1190: 6c 6c 73 2e 54 79 70 65 2e 53 65 74 50 69 63 74  lls.Type.SetPict
11a0: 75 72 65 28 d0 94 d0 b0 d0 bd d0 bd d1 8b d0 b5  ure(............
11b0: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e 76 61 6c  .............val
11c0: 2e 70 69 63 74 75 72 65 29 0a 7d 0d 0a 0a 66 75  .picture).}...fu
11d0: 6e 63 74 69 6f 6e 20 50 61 74 74 65 72 6e d0 9d  nction Pattern..
11e0: d0 b0 d1 87 d0 b0 d0 bb d0 be d0 92 d1 8b d0 b1  ................
11f0: d0 be d1 80 d0 b0 28 d0 ad d0 bb d0 b5 d0 bc d0  ......(.........
1200: b5 d0 bd d1 82 2c 20 d0 a1 d1 82 d0 b0 d0 bd d0  ....., .........
1210: b4 d0 b0 d1 80 d1 82 d0 bd d0 b0 d1 8f d0 9e d0  ................
1220: b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba d0 b0 29  ...............)
1230: 0a 7b 0a 7d 0d 0a 0a 0a 2f 2f 20 d0 97 d0 b4 d0  .{.}....// .....
1240: b5 d1 81 d1 8c 20 d0 bc d1 8b 20 d0 b1 d1 83 d0  ..... .... .....
1250: b4 d0 b5 d0 bc 20 d0 be d1 82 d0 bb d0 b0 d0 b2  ..... ..........
1260: d0 bb d0 b8 d0 b2 d0 b0 d1 82 d1 8c 20 d0 be d1  ............ ...
1270: 82 d0 ba d1 80 d1 8b d1 82 d0 b8 d0 b5 20 d0 b8  ............. ..
1280: 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b d1 82 d0 b8 d0   ...............
1290: b5 20 d0 bc d0 be d0 b4 d0 b0 d0 bb d1 8c d0 bd  . ..............
12a0: d0 be d0 b3 d0 be 20 d0 b4 d0 b8 d0 b0 d0 bb d0  ...... .........
12b0: be d0 b3 d0 b0 0a 2f 2f 20 d1 80 d0 b5 d0 b4 d0  ......// .......
12c0: b0 d0 ba d1 82 d0 b8 d1 80 d0 be d0 b2 d0 b0 d0  ................
12d0: bd d0 b8 d1 8f 20 d1 82 d0 b8 d0 bf d0 b0 2e 0a  ..... ..........
12e0: 66 75 6e 63 74 69 6f 6e 20 6f 6e 44 6f 4d 6f 64  function onDoMod
12f0: 61 6c 28 64 6c 67 49 6e 66 6f 29 0a 7b 0a 20 20  al(dlgInfo).{.  
1300: 20 20 2f 2f 20 d0 9f d1 80 d0 b8 d0 b2 d1 8f d0    // ...........
1310: b7 d1 8b d0 b2 d0 b0 d1 82 d1 8c d1 81 d1 8f 20  ............... 
1320: d0 ba 20 d0 b7 d0 b0 d0 b3 d0 be d0 bb d0 be d0  .. .............
1330: b2 d0 ba d1 83 20 d0 b4 d0 b8 d0 b0 d0 bb d0 be  ..... ..........
1340: d0 b3 d0 b0 20 d0 bd d0 b5 20 d0 be d1 87 d0 b5  .... .... ......
1350: d0 bd d1 8c 20 d1 85 d0 be d1 80 d0 be d1 88 d0  .... ...........
1360: be 2c 20 d0 be d0 bd 20 d0 bc d0 be d0 b6 d0 b5  ., .... ........
1370: d1 82 20 d0 b1 d1 8b d1 82 d1 8c 20 d0 b4 d1 80  .. ........ ....
1380: d1 83 d0 b3 d0 b8 d0 bc 0a 20 20 20 20 2f 2f 20  .........    // 
1390: d0 b2 20 d0 b4 d1 80 d1 83 d0 b3 d0 be d0 b9 20  .. ............ 
13a0: d0 bb d0 be d0 ba d0 b0 d0 bb d0 b8 d0 b7 d0 b0  ................
13b0: d1 86 d0 b8 d0 b8 2e 20 d0 90 20 d1 82 d0 b0 d0  ....... .. .....
13c0: ba d0 be d0 b9 20 d1 81 d0 be d1 81 d1 82 d0 b0  ..... ..........
13d0: d0 b2 20 d0 ba d0 be d0 bd d1 82 d1 80 d0 be d0  .. .............
13e0: bb d0 be d0 b2 20 d0 b3 d0 be d0 b2 d0 be d1 80  ..... ..........
13f0: d0 b8 d1 82 20 d0 be 20 d1 82 d0 be d0 bc 2c 20  .... .. ......, 
1400: d1 87 d1 82 d0 be 20 d0 be d1 82 d0 ba d1 80 d1  ...... .........
1410: 8b d0 bb d1 81 d1 8f 0a 20 20 20 20 2f 2f 20 d0  ........    // .
1420: b4 d0 b8 d0 b0 d0 bb d0 be d0 b3 20 d0 b2 d1 8b  ........... ....
1430: d0 b1 d0 be d1 80 d0 b0 20 d1 82 d0 b8 d0 bf d0  ........ .......
1440: b0 2e 0a 20 20 20 20 74 72 79 7b 0a 20 20 20 20  ...    try{.    
1450: 20 20 20 20 76 61 72 20 74 74 20 3d 20 64 6c 67      var tt = dlg
1460: 49 6e 66 6f 2e 66 6f 72 6d 2e 67 65 74 43 6f 6e  Info.form.getCon
1470: 74 72 6f 6c 28 27 54 79 70 65 54 72 65 65 27 29  trol('TypeTree')
1480: 0a 20 20 20 20 20 20 20 20 76 61 72 20 6d 74 20  .        var mt 
1490: 3d 20 64 6c 67 49 6e 66 6f 2e 66 6f 72 6d 2e 67  = dlgInfo.form.g
14a0: 65 74 43 6f 6e 74 72 6f 6c 28 27 43 68 65 63 6b  etControl('Check
14b0: 44 6f 6d 61 69 6e 45 6e 61 62 6c 65 27 29 0a 20  DomainEnable'). 
14c0: 20 20 20 7d 63 61 74 63 68 28 65 29 7b 20 72 65     }catch(e){ re
14d0: 74 75 72 6e 20 7d 0a 20 20 20 20 73 77 69 74 63  turn }.    switc
14e0: 68 28 64 6c 67 49 6e 66 6f 2e 73 74 61 67 65 29  h(dlgInfo.stage)
14f0: 7b 0a 20 20 20 20 63 61 73 65 20 61 66 74 65 72  {.    case after
1500: 49 6e 69 74 69 61 6c 3a 0a 20 20 20 20 20 20 20  Initial:.       
1510: 20 74 79 70 65 54 72 65 65 43 74 72 6c 20 3d 20   typeTreeCtrl = 
1520: 74 74 0a 20 20 20 20 20 20 20 20 6d 75 6c 74 79  tt.        multy
1530: 54 79 70 65 43 74 72 6c 20 3d 20 6d 74 0a 20 20  TypeCtrl = mt.  
1540: 20 20 20 20 20 20 69 6e 69 74 46 6f 72 6d 28 29        initForm()
1550: 0a 20 20 20 20 20 20 20 20 76 38 46 6f 72 6d 20  .        v8Form 
1560: 3d 20 64 6c 67 49 6e 66 6f 2e 66 6f 72 6d 3b 0a  = dlgInfo.form;.
1570: 20 20 20 20 20 20 20 20 69 66 28 21 6d 75 6c 74          if(!mult
1580: 79 54 79 70 65 43 74 72 6c 2e 76 61 6c 75 65 29  yTypeCtrl.value)
1590: 20 20 20 20 2f 2f 20 d0 95 d1 81 d0 bb d0 b8 20      // ........ 
15a0: d0 bd d0 b5 20 d1 81 d0 be d1 81 d1 82 d0 b0 d0  .... ...........
15b0: b2 d0 bd d0 be d0 b9 20 d1 82 d0 b8 d0 bf 2c 20  ....... ......, 
15c0: d1 81 d1 80 d0 b0 d0 b7 d1 83 20 d0 b1 d1 83 d0  .......... .....
15d0: b4 d0 b5 d0 bc 20 d0 b2 d1 8b d0 b1 d0 b8 d1 80  ..... ..........
15e0: d0 b0 d1 82 d1 8c 0a 20 20 20 20 20 20 20 20 7b  .......        {
15f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 71 75 69  .            qui
1600: 63 6b 53 65 6c 20 3d 20 73 65 6c 65 63 74 54 79  ckSel = selectTy
1610: 70 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20  pe().           
1620: 20 69 66 28 21 71 75 69 63 6b 53 65 6c 29 20 20   if(!quickSel)  
1630: 20 20 2f 2f 20 d0 9d d0 b0 d0 b6 d0 b0 d0 bb d0    // ...........
1640: b8 20 d0 be d1 82 d0 bc d0 b5 d0 bd d1 83 0a 20  . ............. 
1650: 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20             {.   
1660: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6c 67               dlg
1670: 49 6e 66 6f 2e 63 61 6e 63 65 6c 20 3d 20 74 72  Info.cancel = tr
1680: 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ue;.            
1690: 20 20 20 20 64 6c 67 49 6e 66 6f 2e 72 65 73 75      dlgInfo.resu
16a0: 6c 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20  lt = 0;.        
16b0: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a      }.        }.
16c0: 20 20 20 20 20 20 20 20 69 66 28 71 75 69 63 6b          if(quick
16d0: 53 65 6c 20 26 26 20 71 75 69 63 6b 53 65 6c 2e  Sel && quickSel.
16e0: 72 65 73 75 6c 74 29 20 2f 2f 20 d0 9d d0 b0 d0  result) // .....
16f0: b6 d0 b0 d0 bb d0 b8 20 4f 6b 2c 20 d0 b7 d0 b0  ....... Ok, ....
1700: d0 ba d1 80 d1 8b d0 b2 d0 b0 d0 b5 d0 bc 20 d1  .............. .
1710: 88 d1 82 d0 b0 d1 82 d0 bd d1 8b d0 b9 20 d0 b4  ............. ..
1720: d0 b8 d0 b0 d0 bb d0 be d0 b3 0a 20 20 20 20 20  ...........     
1730: 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20     {.           
1740: 20 2f 2f 20 d0 9f d0 be d1 81 d1 8b d0 bb d0 b0   // ............
1750: d0 b5 d0 bc 20 d1 84 d0 be d1 80 d0 bc d0 b5 20  .... .......... 
1760: d0 bd d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0 b5 20 d0  .............. .
1770: ba d0 bd d0 be d0 bf d0 ba d0 b8 20 4f 4b 0a 20  ........... OK. 
1780: 20 20 20 20 20 20 20 20 20 20 20 76 38 46 6f 72             v8For
1790: 6d 2e 73 65 6e 64 45 76 65 6e 74 28 76 38 46 6f  m.sendEvent(v8Fo
17a0: 72 6d 2e 67 65 74 43 6f 6e 74 72 6f 6c 28 27 4f  rm.getControl('O
17b0: 4b 27 29 2e 69 64 2c 20 30 29 0a 20 20 20 20 20  K').id, 0).     
17c0: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73     }.        els
17d0: 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20  e.        {.    
17e0: 20 20 20 20 20 20 20 20 2f 2f 20 d0 9f d0 be d0          // .....
17f0: ba d0 b0 d0 b7 d1 8b d0 b2 d0 b0 d0 b5 d1 82 d1  ................
1800: 81 d1 8f 20 d1 81 d1 82 d0 b0 d0 bd d0 b4 d0 b0  ... ............
1810: d1 80 d1 82 d0 bd d1 8b d0 b9 20 d0 b4 d0 b8 d0  .......... .....
1820: b0 d0 bb d0 be d0 b3 20 2d 20 d0 b4 d0 be d0 b1  ....... - ......
1830: d0 b0 d0 b2 d0 b8 d0 bc 20 d0 b3 d0 be d1 80 d1  ........ .......
1840: 8f d1 87 d0 b8 d1 85 20 d0 ba d0 bb d0 b0 d0 b2  ....... ........
1850: d0 b8 d1 88 20 d0 b8 20 d0 bf d0 be d0 b4 d1 81  .... .. ........
1860: d0 ba d0 b0 d0 b7 d0 be d0 ba 0a 20 20 20 20 20  ...........     
1870: 20 20 20 20 20 20 20 68 6b 49 44 20 3d 20 5b 68         hkID = [h
1880: 6f 74 6b 65 79 73 2e 61 64 64 54 65 6d 70 28 68  otkeys.addTemp(h
1890: 6b 2e 73 74 72 69 6e 67 54 6f 76 6b 63 6f 64 65  k.stringTovkcode
18a0: 28 27 43 74 72 6c 2b 46 27 29 2c 20 53 65 6c 66  ('Ctrl+F'), Self
18b0: 53 63 72 69 70 74 2e 75 6e 69 71 75 65 4e 61 6d  Script.uniqueNam
18c0: 65 2c 20 22 d0 9d d0 b0 d0 b9 d1 82 d0 b8 d0 a2  e, "............
18d0: d0 b8 d0 bf 22 29 2c 0a 20 20 20 20 20 20 20 20  ...."),.        
18e0: 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 74 6b              hotk
18f0: 65 79 73 2e 61 64 64 54 65 6d 70 28 68 6b 2e 73  eys.addTemp(hk.s
1900: 74 72 69 6e 67 54 6f 76 6b 63 6f 64 65 28 27 43  tringTovkcode('C
1910: 74 72 6c 2b 53 68 69 66 74 2b 46 27 29 2c 20 53  trl+Shift+F'), S
1920: 65 6c 66 53 63 72 69 70 74 2e 75 6e 69 71 75 65  elfScript.unique
1930: 4e 61 6d 65 2c 20 22 d0 9f d0 be d0 ba d0 b0 d0  Name, ".........
1940: b7 d0 b0 d1 82 d1 8c d0 9e d1 82 d0 bc d0 b5 d1  ................
1950: 87 d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 a2 d0 b8 d0  ................
1960: bf d1 8b 22 29 2c 0a 20 20 20 20 20 20 20 20 20  ..."),.         
1970: 20 20 20 20 20 20 20 20 20 20 20 68 6f 74 6b 65             hotke
1980: 79 73 2e 61 64 64 54 65 6d 70 28 68 6b 2e 73 74  ys.addTemp(hk.st
1990: 72 69 6e 67 54 6f 76 6b 63 6f 64 65 28 27 43 74  ringTovkcode('Ct
19a0: 72 6c 2b 4b 27 29 2c 20 53 65 6c 66 53 63 72 69  rl+K'), SelfScri
19b0: 70 74 2e 75 6e 69 71 75 65 4e 61 6d 65 2c 20 22  pt.uniqueName, "
19c0: d0 9f d0 b5 d1 80 d0 b5 d0 ba d0 bb d1 8e d1 87  ................
19d0: d0 b8 d1 82 d1 8c d0 a1 d0 be d1 81 d1 82 d0 b0  ................
19e0: d0 b2 d0 bd d1 8b d0 b5 d0 a2 d0 b8 d0 bf d1 8b  ................
19f0: 22 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ")].            
1a00: 2f 2f 20 d0 9d d0 b0 d0 b4 d0 be 20 d0 bf d0 be  // ........ ....
1a10: d0 ba d0 b0 d0 b7 d0 b0 d1 82 d1 8c 20 d0 b2 20  ............ .. 
1a20: d0 b4 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 b5 2c 20  .............., 
1a30: d1 87 d1 82 d0 be 20 d0 bc d1 8b 20 d0 b4 d0 be  ...... .... ....
1a40: d0 b1 d0 b0 d0 b2 d0 b8 d0 bb d0 b8 0a 20 20 20  .............   
1a50: 20 20 20 20 20 20 20 20 20 74 79 70 65 54 72 65           typeTre
1a60: 65 43 74 72 6c 2e 70 72 6f 70 73 2e 73 65 74 56  eCtrl.props.setV
1a70: 61 6c 75 65 28 22 d0 9f d0 be d0 b4 d1 81 d0 ba  alue("..........
1a80: d0 b0 d0 b7 d0 ba d0 b0 22 2c 20 73 74 64 6c 69  ........", stdli
1a90: 62 2e 4c 6f 63 61 6c 57 53 74 72 69 6e 67 28 22  b.LocalWString("
1aa0: d0 94 d0 bb d1 8f 20 d0 bf d0 be d0 b8 d1 81 d0  ...... .........
1ab0: ba d0 b0 20 d0 bd d0 b0 d0 b6 d0 bc d0 b8 d1 82  ... ............
1ac0: d0 b5 20 43 74 72 6c 20 2b 20 46 2c 20 d0 b4 d0  .. Ctrl + F, ...
1ad0: bb d1 8f 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0  ... ............
1ae0: 20 d1 82 d0 be d0 bb d1 8c d0 ba d0 be 20 d1 81   ............ ..
1af0: d1 80 d0 b5 d0 b4 d0 b8 20 d1 83 d0 b6 d0 b5 20  ........ ...... 
1b00: d0 b2 d1 8b d0 b1 d1 80 d0 b0 d0 bd d0 bd d1 8b  ................
1b10: d1 85 20 d1 82 d0 b8 d0 bf d0 be d0 b2 20 2d 20  .. .......... - 
1b20: 43 74 72 6c 20 2b 20 53 68 69 66 74 20 2b 20 46  Ctrl + Shift + F
1b30: 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  ")).            
1b40: 6d 75 6c 74 79 54 79 70 65 43 74 72 6c 2e 70 72  multyTypeCtrl.pr
1b50: 6f 70 73 2e 73 65 74 56 61 6c 75 65 28 22 d0 9f  ops.setValue("..
1b60: d0 be d0 b4 d1 81 d0 ba d0 b0 d0 b7 d0 ba d0 b0  ................
1b70: 22 2c 20 73 74 64 6c 69 62 2e 4c 6f 63 61 6c 57  ", stdlib.LocalW
1b80: 53 74 72 69 6e 67 28 22 d0 92 d0 ba d0 bb d1 8e  String("........
1b90: d1 87 d0 b8 d1 82 d1 8c 2f d0 b2 d1 8b d0 ba d0  ......../.......
1ba0: bb d1 8e d1 87 d0 b8 d1 82 d1 8c 20 d1 81 d0 be  ........... ....
1bb0: d1 81 d1 82 d0 b0 d0 b2 d0 bd d0 be d0 b9 20 d1  .............. .
1bc0: 82 d0 b8 d0 bf 20 d0 b4 d0 b0 d0 bd d0 bd d1 8b  ..... ..........
1bd0: d1 85 20 28 43 74 72 6c 20 2b 20 4b 29 22 29 29  .. (Ctrl + K)"))
1be0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 75 6c  .            mul
1bf0: 74 79 54 79 70 65 43 74 72 6c 2e 70 72 6f 70 73  tyTypeCtrl.props
1c00: 2e 73 65 74 56 61 6c 75 65 28 22 d0 97 d0 b0 d0  .setValue(".....
1c10: b3 d0 be d0 bb d0 be d0 b2 d0 be d0 ba 22 2c 20  .............", 
1c20: 73 74 64 6c 69 62 2e 4c 6f 63 61 6c 57 53 74 72  stdlib.LocalWStr
1c30: 69 6e 67 28 22 43 d0 be d1 81 d1 82 d0 b0 d0 b2  ing("C..........
1c40: d0 bd d0 be d0 b9 20 d1 82 d0 b8 d0 bf 20 d0 b4  ...... ...... ..
1c50: d0 b0 d0 bd d0 bd d1 8b d1 85 20 28 43 74 72 6c  .......... (Ctrl
1c60: 20 2b 20 4b 29 22 29 29 0a 20 20 20 20 20 20 20   + K)")).       
1c70: 20 20 20 20 20 6d 75 6c 74 79 54 79 70 65 43 74       multyTypeCt
1c80: 72 6c 2e 70 72 6f 70 73 2e 73 65 74 56 61 6c 75  rl.props.setValu
1c90: 65 28 22 d0 a8 d0 b8 d1 80 d0 b8 d0 bd d0 b0 22  e("............"
1ca0: 2c 20 35 30 30 29 0a 20 20 20 20 20 20 20 20 7d  , 500).        }
1cb0: 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 20  .        break. 
1cc0: 20 20 20 63 61 73 65 20 6f 70 65 6e 4d 6f 64 61     case openModa
1cd0: 6c 57 6e 64 3a 0a 20 20 20 20 20 20 20 20 69 66  lWnd:.        if
1ce0: 28 71 75 69 63 6b 53 65 6c 20 26 26 20 21 71 75  (quickSel && !qu
1cf0: 69 63 6b 53 65 6c 2e 72 65 73 75 6c 74 29 20 20  ickSel.result)  
1d00: 20 20 2f 2f 20 d0 9d d0 b0 d0 b6 d0 b0 d0 bb d0    // ...........
1d10: b8 20 22 d0 9f d0 be d0 ba d0 b0 d0 b7 d0 b0 d1  . ".............
1d20: 82 d1 8c 20 d1 81 d1 82 d0 b0 d0 bd d0 b4 d0 b0  ... ............
1d30: d1 80 d1 82 d0 bd d1 8b d0 b9 22 0a 20 20 20 20  ..........".    
1d40: 20 20 20 20 20 20 20 20 77 61 70 69 2e 53 65 74          wapi.Set
1d50: 46 6f 63 75 73 28 74 79 70 65 54 72 65 65 43 74  Focus(typeTreeCt
1d60: 72 6c 2e 68 77 6e 64 29 0a 20 20 20 20 20 20 20  rl.hwnd).       
1d70: 20 62 72 65 61 6b 3b 0a 20 20 20 20 63 61 73 65   break;.    case
1d80: 20 61 66 74 65 72 44 6f 4d 6f 64 61 6c 3a 0a 20   afterDoModal:. 
1d90: 20 20 20 20 20 20 20 2f 2f 20 d0 a2 d1 83 d1 82         // ......
1da0: 20 d0 b4 d0 b8 d0 b0 d0 bb d0 be d0 b3 20 d1 83   ............ ..
1db0: d0 b6 d0 b5 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b d0  .... ...........
1dc0: b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f 2c 20 d0 be d0  ..........., ...
1dd0: b1 d0 bd d1 83 d0 bb d0 b8 d0 bc 20 d0 b4 d0 b0  ........... ....
1de0: d0 bd d0 bd d1 8b d0 b5 0a 20 20 20 20 20 20 20  .........       
1df0: 20 74 79 70 65 54 72 65 65 43 74 72 6c 20 3d 20   typeTreeCtrl = 
1e00: 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 6d 75 6c  null.        mul
1e10: 74 79 54 79 70 65 43 74 72 6c 20 3d 20 6e 75 6c  tyTypeCtrl = nul
1e20: 6c 0a 20 20 20 20 20 20 20 20 71 75 69 63 6b 53  l.        quickS
1e30: 65 6c 20 3d 20 6e 75 6c 6c 0a 20 20 20 20 20 20  el = null.      
1e40: 20 20 66 6f 72 6d 20 3d 20 6e 75 6c 6c 0a 20 20    form = null.  
1e50: 20 20 20 20 20 20 76 38 46 6f 72 6d 2e 64 65 74        v8Form.det
1e60: 61 63 68 28 29 0a 20 20 20 20 20 20 20 20 76 38  ach().        v8
1e70: 46 6f 72 6d 20 3d 20 6e 75 6c 6c 0a 20 20 20 20  Form = null.    
1e80: 20 20 20 20 69 66 28 68 6b 49 44 29 0a 20 20 20      if(hkID).   
1e90: 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20       {.         
1ea0: 20 20 20 68 6f 74 6b 65 79 73 2e 72 65 6d 6f 76     hotkeys.remov
1eb0: 65 54 65 6d 70 28 68 6b 49 44 5b 30 5d 29 0a 20  eTemp(hkID[0]). 
1ec0: 20 20 20 20 20 20 20 20 20 20 20 68 6f 74 6b 65             hotke
1ed0: 79 73 2e 72 65 6d 6f 76 65 54 65 6d 70 28 68 6b  ys.removeTemp(hk
1ee0: 49 44 5b 31 5d 29 0a 20 20 20 20 20 20 20 20 20  ID[1]).         
1ef0: 20 20 20 68 6f 74 6b 65 79 73 2e 72 65 6d 6f 76     hotkeys.remov
1f00: 65 54 65 6d 70 28 68 6b 49 44 5b 32 5d 29 0a 20  eTemp(hkID[2]). 
1f10: 20 20 20 20 20 20 20 20 20 20 20 68 6b 49 44 20             hkID 
1f20: 3d 20 30 0a 20 20 20 20 20 20 20 20 7d 0a 20 20  = 0.        }.  
1f30: 20 20 20 20 20 20 62 72 65 61 6b 0a 20 20 20 20        break.    
1f40: 7d 0a 7d 0a 0a 2f 2f 20 d0 9c d0 b0 d0 ba d1 80  }.}..// ........
1f50: d0 be d1 81 20 d0 bc d0 be d0 b6 d0 bd d0 be 20  .... .......... 
1f60: d0 b2 d1 8b d0 b7 d1 8b d0 b2 d0 b0 d1 82 d1 8c  ................
1f70: 2c 20 d0 b5 d1 81 d0 bb d0 b8 20 d0 bd d0 b0 d0  , ........ .....
1f80: b6 d0 b0 d0 bb d0 b8 20 22 d0 9f d0 be d0 ba d0  ....... ".......
1f90: b0 d0 b7 d0 b0 d1 82 d1 8c 20 d1 81 d1 82 d0 b0  ......... ......
1fa0: d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d1 8b d0 b9  ................
1fb0: 22 2c 20 d0 b2 d0 b5 d1 88 d0 b0 d0 b5 d1 82 d1  ", .............
1fc0: 81 d1 8f 20 d0 bd d0 b0 20 43 74 72 6c 2b 4b 0a  ... .... Ctrl+K.
1fd0: 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 d0  function macros.
1fe0: 9f d0 b5 d1 80 d0 b5 d0 ba d0 bb d1 8e d1 87 d0  ................
1ff0: b8 d1 82 d1 8c d0 a1 d0 be d1 81 d1 82 d0 b0 d0  ................
2000: b2 d0 bd d1 8b d0 b5 d0 a2 d0 b8 d0 bf d1 8b 28  ...............(
2010: 29 0a 7b 0a 20 20 20 20 69 66 28 21 6d 75 6c 74  ).{.    if(!mult
2020: 79 54 79 70 65 43 74 72 6c 29 0a 20 20 20 20 20  yTypeCtrl).     
2030: 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a     return false.
2040: 20 20 20 20 2f 2f 20 d0 a1 d0 bc d0 b5 d0 bd d0      // .........
2050: b8 d0 bc 20 d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd  ... ............
2060: d0 b8 d0 b5 0a 20 20 20 20 6d 75 6c 74 79 54 79  .....    multyTy
2070: 70 65 43 74 72 6c 2e 76 61 6c 75 65 20 3d 20 21  peCtrl.value = !
2080: 6d 75 6c 74 79 54 79 70 65 43 74 72 6c 2e 76 61  multyTypeCtrl.va
2090: 6c 75 65 0a 20 20 20 20 2f 2f 20 d0 a3 d0 b2 d0  lue.    // .....
20a0: b5 d0 b4 d0 be d0 bc d0 b8 d0 bc 20 d1 84 d0 be  ........... ....
20b0: d1 80 d0 bc d1 83 0a 20 20 20 20 76 38 46 6f 72  .......    v8For
20c0: 6d 2e 73 65 6e 64 45 76 65 6e 74 28 6d 75 6c 74  m.sendEvent(mult
20d0: 79 54 79 70 65 43 74 72 6c 2e 69 64 2c 20 30 29  yTypeCtrl.id, 0)
20e0: 0a 20 20 20 20 76 38 46 6f 72 6d 2e 73 65 6e 64  .    v8Form.send
20f0: 45 76 65 6e 74 28 6d 75 6c 74 79 54 79 70 65 43  Event(multyTypeC
2100: 74 72 6c 2e 69 64 2c 20 31 29 0a 7d 0a 0a 2f 2f  trl.id, 1).}..//
2110: 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1 81 20 d0 bc   ............ ..
2120: d0 be d0 b6 d0 bd d0 be 20 d0 b2 d1 8b d0 b7 d1  ........ .......
2130: 8b d0 b2 d0 b0 d1 82 d1 8c 2c 20 d0 b5 d1 81 d0  ........., .....
2140: bb d0 b8 20 d0 bd d0 b0 d0 b6 d0 b0 d0 bb d0 b8  ... ............
2150: 20 22 d0 9f d0 be d0 ba d0 b0 d0 b7 d0 b0 d1 82   "..............
2160: d1 8c 20 d1 81 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1  .. .............
2170: 80 d1 82 d0 bd d1 8b d0 b9 22 2c 20 d0 b2 d0 b5  .........", ....
2180: d1 88 d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d0 bd d0  ............ ...
2190: b0 20 43 74 72 6c 2b 46 0a 66 75 6e 63 74 69 6f  . Ctrl+F.functio
21a0: 6e 20 6d 61 63 72 6f 73 d0 9d d0 b0 d0 b9 d1 82  n macros........
21b0: d0 b8 d0 a2 d0 b8 d0 bf 28 29 0a 7b 0a 20 20 20  ........().{.   
21c0: 20 69 66 28 21 74 79 70 65 54 72 65 65 43 74 72   if(!typeTreeCtr
21d0: 6c 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72  l).        retur
21e0: 6e 20 66 61 6c 73 65 0a 20 20 20 20 63 61 6c 63  n false.    calc
21f0: 49 6e 69 74 4e 61 6d 65 28 29 0a 20 20 20 20 76  InitName().    v
2200: 61 72 20 72 65 73 20 3d 20 73 65 6c 65 63 74 54  ar res = selectT
2210: 79 70 65 28 29 0a 20 20 20 20 69 66 28 72 65 73  ype().    if(res
2220: 20 26 26 20 72 65 73 2e 72 65 73 75 6c 74 29 0a   && res.result).
2230: 20 20 20 20 20 20 20 20 77 61 70 69 2e 53 65 74          wapi.Set
2240: 46 6f 63 75 73 28 74 79 70 65 54 72 65 65 43 74  Focus(typeTreeCt
2250: 72 6c 2e 68 77 6e 64 29 0a 7d 0a 0a 66 75 6e 63  rl.hwnd).}..func
2260: 74 69 6f 6e 20 6d 61 63 72 6f 73 d0 9f d0 be d0  tion macros.....
2270: ba d0 b0 d0 b7 d0 b0 d1 82 d1 8c d0 9e d1 82 d0  ................
2280: bc d0 b5 d1 87 d0 b5 d0 bd d0 bd d1 8b d0 b5 d0  ................
2290: a2 d0 b8 d0 bf d1 8b 28 29 0a 7b 0a 20 20 20 20  .......().{.    
22a0: 69 66 28 21 74 79 70 65 54 72 65 65 43 74 72 6c  if(!typeTreeCtrl
22b0: 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  ).        return
22c0: 20 66 61 6c 73 65 0a 20 20 20 20 63 61 6c 63 49   false.    calcI
22d0: 6e 69 74 4e 61 6d 65 28 29 0a 20 20 20 20 66 4f  nitName().    fO
22e0: 6e 6c 79 53 65 6c 65 63 74 65 64 20 3d 20 74 72  nlySelected = tr
22f0: 75 65 0a 20 20 20 20 76 61 72 20 72 65 73 20 3d  ue.    var res =
2300: 20 73 65 6c 65 63 74 54 79 70 65 28 29 0a 20 20   selectType().  
2310: 20 20 66 4f 6e 6c 79 53 65 6c 65 63 74 65 64 20    fOnlySelected 
2320: 3d 20 66 61 6c 73 65 0a 20 20 20 20 69 66 28 72  = false.    if(r
2330: 65 73 20 26 26 20 72 65 73 2e 72 65 73 75 6c 74  es && res.result
2340: 29 0a 20 20 20 20 20 20 20 20 77 61 70 69 2e 53  ).        wapi.S
2350: 65 74 46 6f 63 75 73 28 74 79 70 65 54 72 65 65  etFocus(typeTree
2360: 43 74 72 6c 2e 68 77 6e 64 29 0a 7d 0a 0a 66 75  Ctrl.hwnd).}..fu
2370: 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 54 79 70  nction selectTyp
2380: 65 28 29 0a 7b 0a 20 20 20 20 76 61 72 20 72 65  e().{.    var re
2390: 73 20 3d 20 66 6f 72 6d 2e d0 9e d1 82 d0 ba d1  s = form........
23a0: 80 d1 8b d1 82 d1 8c d0 9c d0 be d0 b4 d0 b0 d0  ................
23b0: bb d1 8c d0 bd d0 be 28 29 3b 0a 20 20 20 20 69  .......();.    i
23c0: 66 28 72 65 73 20 26 26 20 72 65 73 2e 72 65 73  f(res && res.res
23d0: 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20  ult).    {.     
23e0: 20 20 20 76 61 72 20 67 72 69 64 20 3d 20 74 79     var grid = ty
23f0: 70 65 54 72 65 65 43 74 72 6c 2e 65 78 74 49 6e  peTreeCtrl.extIn
2400: 74 65 72 66 61 63 65 2c 20 72 6f 77 20 3d 20 72  terface, row = r
2410: 65 73 2e 73 65 6c 65 63 74 65 64 52 6f 77 0a 09  es.selectedRow..
2420: 09 0a 20 20 20 20 20 20 20 2f 2f 20 d0 90 d0 ba  ..       // ....
2430: d1 82 d0 b8 d0 b2 d0 b8 d1 80 d1 83 d0 b5 d0 bc  ................
2440: 20 d1 81 d1 82 d1 80 d0 be d0 ba d1 83 0a 20 20   .............  
2450: 20 20 20 20 20 20 67 72 69 64 2e 63 75 72 72 65        grid.curre
2460: 6e 74 52 6f 77 20 3d 20 72 6f 77 0a 20 20 20 20  ntRow = row.    
2470: 20 20 20 20 2f 2f 20 d0 a1 d1 82 d0 b0 d0 b2 d0      // .........
2480: b8 d0 bc 20 d0 bf d0 be d0 bc d0 b5 d1 82 d0 ba  ... ............
2490: d1 83 0a 20 20 20 20 20 20 20 20 67 72 69 64 2e  ...        grid.
24a0: 63 68 65 63 6b 43 65 6c 6c 28 72 6f 77 2c 20 30  checkCell(row, 0
24b0: 2c 20 31 29 0a 20 20 20 20 20 20 20 20 0a 09 09  , 1).        ...
24c0: 2f 2f 20 d0 a1 d0 be d0 be d0 b1 d1 89 d0 b8 d0  // .............
24d0: bc 20 d1 84 d0 be d1 80 d0 bc d0 b5 20 d0 be 20  . .......... .. 
24e0: d1 81 d0 bc d0 b5 d0 bd d0 b5 20 d0 bc d0 b5 d1  .......... .....
24f0: 82 d0 ba d0 b8 0a 20 20 20 20 20 20 20 20 76 38  ......        v8
2500: 46 6f 72 6d 2e 73 65 6e 64 45 76 65 6e 74 28 74  Form.sendEvent(t
2510: 79 70 65 54 72 65 65 43 74 72 6c 2e 69 64 2c 20  ypeTreeCtrl.id, 
2520: 31 37 2c 20 31 29 0a 20 20 20 20 7d 0a 20 20 20  17, 1).    }.   
2530: 20 72 65 74 75 72 6e 20 72 65 73 0a 7d 0a         return res.}.