Hex Artifact Content Вы: nobody
Вход

Artifact 00b8c054153cc6ed86341eecff72b6ed68ce2d93:


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 45 78 74 65 6e  pt..$uname Exten
0020: 64 65 64 53 65 61 72 63 68 0d 0a 24 64 6e 61 6d  dedSearch..$dnam
0030: 65 20 d0 a0 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5  e ..............
0040: d0 bd d0 bd d1 8b d0 b9 20 d0 bf d0 be d0 b8 d1  ........ .......
0050: 81 d0 ba 0d 0a 24 61 64 64 69 6e 20 67 6c 6f 62  .....$addin glob
0060: 61 6c 0d 0a 24 61 64 64 69 6e 20 73 74 64 63 6f  al..$addin stdco
0070: 6d 6d 61 6e 64 73 0d 0a 24 61 64 64 69 6e 20 73  mmands..$addin s
0080: 74 64 6c 69 62 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f  tdlib....///////
0090: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00e0: 2f 0d 0a 2f 2f 2f 2f 7b 20 43 d0 ba d1 80 d0 b8  /..////{ C......
00f0: d0 bf d1 82 20 22 d0 a0 d0 b0 d1 81 d1 88 d0 b8  .... "..........
0100: d1 80 d0 b5 d0 bd d0 bd d1 8b d0 b9 20 d0 bf d0  ............ ...
0110: be d0 b8 d1 81 d0 ba 22 20 28 65 78 74 53 65 61  ......." (extSea
0120: 72 63 68 2e 6a 73 29 20 d0 b4 d0 bb d1 8f 20 d0  rch.js) ...... .
0130: bf d1 80 d0 be d0 b5 d0 ba d1 82 d0 b0 20 22 d0  ............. ".
0140: a1 d0 bd d0 b5 d0 b3 d0 be d0 bf d0 b0 d1 82 22  ..............."
0150: 0d 0a 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 20 d0 9e d0  ..////..//// ...
0160: bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 d0 b5 3a 20 d0  .............: .
0170: a0 d0 b5 d0 b0 d0 bb d0 b8 d0 b7 d1 83 d0 b5 d1  ................
0180: 82 20 d0 bf d0 be d0 b8 d1 81 d0 ba 20 d1 82 d0  . .......... ...
0190: b5 d0 ba d1 81 d1 82 d0 b0 20 d0 bf d1 80 d0 b8  ......... ......
01a0: 20 d0 bf d0 be d0 bc d0 be d1 89 d0 b8 20 d1 80   ............ ..
01b0: d0 b5 d0 b3 d1 83 d0 bb d1 8f d1 80 d0 bd d1 8b  ................
01c0: d1 85 20 d0 b2 d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0  .. .............
01d0: bd d0 b8 d0 b9 20 d0 b2 20 d0 b0 d0 ba d1 82 d0  ..... .. .......
01e0: b8 d0 b2 d0 bd d0 be d0 bc 20 d0 be d0 ba d0 bd  ......... ......
01f0: d0 b5 20 d1 80 d0 b5 d0 b4 d0 b0 d0 ba d1 82 d0  .. .............
0200: be d1 80 d0 b0 2e 0d 0a 2f 2f 2f 2f 20 d0 90 d0  ........//// ...
0210: b2 d1 82 d0 be d1 80 3a 20 d0 90 d0 bb d0 b5 d0  .......: .......
0220: ba d1 81 d0 b0 d0 bd d0 b4 d1 80 20 d0 9a d1 83  ........... ....
0230: d0 bd d1 82 d0 b0 d1 88 d0 be d0 b2 20 3c 6b 75  ............ <ku
0240: 6e 74 61 73 68 6f 76 40 67 6d 61 69 6c 2e 63 6f  ntashov@gmail.co
0250: 6d 3e 2c 20 68 74 74 70 3a 2f 2f 63 6f 6d 70 61  m>, http://compa
0260: 75 64 2e 72 75 2f 62 6c 6f 67 0d 0a 2f 2f 2f 2f  ud.ru/blog..////
0270: 7d 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  }../////////////
0280: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0290: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 73  ///////////....s
02d0: 74 64 6c 69 62 2e 72 65 71 75 69 72 65 28 27 54  tdlib.require('T
02e0: 65 78 74 57 69 6e 64 6f 77 2e 6a 73 27 2c 20 53  extWindow.js', S
02f0: 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 73 74 64  elfScript);..std
0300: 6c 69 62 2e 72 65 71 75 69 72 65 28 27 53 63 72  lib.require('Scr
0310: 69 70 74 46 6f 72 6d 2e 6a 73 27 2c 20 53 65 6c  iptForm.js', Sel
0320: 66 53 63 72 69 70 74 29 3b 0d 0a 67 6c 6f 62 61  fScript);..globa
0330: 6c 2e 63 6f 6e 6e 65 63 74 47 6c 6f 62 61 6c 73  l.connectGlobals
0340: 28 53 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 0d  (SelfScript);...
0350: 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .///////////////
0360: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0370: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0380: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0390: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
03a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b  /////////..////{
03b0: 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1 81 d1 8b 0d   ...............
03c0: 0a 2f 2f 2f 2f 0d 0a 0d 0a 53 65 6c 66 53 63 72  .////....SelfScr
03d0: 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73  ipt.self['macros
03e0: d0 9d d0 b0 d0 b9 d1 82 d0 b8 20 d1 82 d0 b5 d0  .......... .....
03f0: ba d1 81 d1 82 27 5d 20 3d 20 66 75 6e 63 74 69  .....'] = functi
0400: 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20  on() {..    ..  
0410: 20 20 76 61 72 20 77 20 3d 20 47 65 74 54 65 78    var w = GetTex
0420: 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20  tWindow();..    
0430: 69 66 20 28 21 77 29 20 72 65 74 75 72 6e 20 66  if (!w) return f
0440: 61 6c 73 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20  alse;..    ..   
0450: 20 76 61 72 20 65 73 20 3d 20 47 65 74 45 78 74   var es = GetExt
0460: 53 65 61 72 63 68 28 29 3b 0d 0a 20 20 20 20 20  Search();..     
0470: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 73 65 6c     ..    var sel
0480: 54 65 78 74 20 3d 20 77 2e 47 65 74 53 65 6c 65  Text = w.GetSele
0490: 63 74 65 64 54 65 78 74 28 29 3b 0d 0a 20 20 20  ctedText();..   
04a0: 20 69 66 20 28 73 65 6c 54 65 78 74 20 3d 3d 20   if (selText == 
04b0: 27 27 29 0d 0a 20 20 20 20 20 20 20 20 73 65 6c  '')..        sel
04c0: 54 65 78 74 20 3d 20 77 2e 47 65 74 57 6f 72 64  Text = w.GetWord
04d0: 55 6e 64 65 72 43 75 72 73 6f 72 28 29 3b 0d 0a  UnderCursor();..
04e0: 20 20 20 20 0d 0a 20 20 20 20 65 73 2e 73 65 74      ..    es.set
04f0: 53 69 6d 70 6c 65 51 75 65 72 79 28 73 65 6c 54  SimpleQuery(selT
0500: 65 78 74 29 3b 20 20 20 20 0d 0a 20 20 20 20 65  ext);    ..    e
0510: 73 2e 73 68 6f 77 28 29 3b 0d 0a 20 20 20 20 20  s.show();..     
0520: 20 20 20 0d 0a 20 20 20 20 69 66 20 28 73 65 6c     ..    if (sel
0530: 54 65 78 74 20 3d 3d 20 27 27 29 0d 0a 20 20 20  Text == '')..   
0540: 20 7b 0d 0a 20 20 20 20 20 20 20 20 65 73 2e 63   {..        es.c
0550: 6c 65 61 72 53 65 61 72 63 68 52 65 73 75 6c 74  learSearchResult
0560: 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 73  s();..        es
0570: 2e 73 65 74 44 65 66 61 75 6c 74 53 65 61 72 63  .setDefaultSearc
0580: 68 51 75 65 72 79 28 29 3b 0d 0a 20 20 20 20 7d  hQuery();..    }
0590: 0d 0a 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20  ..    else..    
05a0: 20 20 20 20 65 73 2e 73 65 61 72 63 68 41 63 74      es.searchAct
05b0: 69 76 65 44 6f 63 28 74 72 75 65 29 3b 0d 0a 20  iveDoc(true);.. 
05c0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 72 65 74         ..    ret
05d0: 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a  urn true;..}....
05e0: 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 5b  SelfScript.self[
05f0: 27 6d 61 63 72 6f 73 d0 9d d0 b0 d0 b9 d1 82 d0  'macros.........
0600: b8 20 d0 b2 d0 be 20 d0 b2 d1 81 d0 b5 d1 85 20  . .... ........ 
0610: d0 be d1 82 d0 ba d1 80 d1 8b d1 82 d1 8b d1 85  ................
0620: 20 d0 b4 d0 be d0 ba d1 83 d0 bc d0 b5 d0 bd d1   ...............
0630: 82 d0 b0 d1 85 27 5d 20 3d 20 66 75 6e 63 74 69  .....'] = functi
0640: 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20  on() {..    ..  
0650: 20 20 76 61 72 20 77 20 3d 20 47 65 74 54 65 78    var w = GetTex
0660: 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20  tWindow();..    
0670: 69 66 20 28 21 77 29 20 72 65 74 75 72 6e 20 66  if (!w) return f
0680: 61 6c 73 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20  alse;..    ..   
0690: 20 76 61 72 20 65 73 20 3d 20 47 65 74 45 78 74   var es = GetExt
06a0: 53 65 61 72 63 68 28 29 3b 0d 0a 20 20 20 20 20  Search();..     
06b0: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 73 65 6c     ..    var sel
06c0: 54 65 78 74 20 3d 20 77 2e 47 65 74 53 65 6c 65  Text = w.GetSele
06d0: 63 74 65 64 54 65 78 74 28 29 3b 0d 0a 20 20 20  ctedText();..   
06e0: 20 69 66 20 28 73 65 6c 54 65 78 74 20 3d 3d 20   if (selText == 
06f0: 27 27 29 0d 0a 20 20 20 20 20 20 20 20 73 65 6c  '')..        sel
0700: 54 65 78 74 20 3d 20 77 2e 47 65 74 57 6f 72 64  Text = w.GetWord
0710: 55 6e 64 65 72 43 75 72 73 6f 72 28 29 3b 0d 0a  UnderCursor();..
0720: 20 20 20 20 0d 0a 20 20 20 20 65 73 2e 73 65 74      ..    es.set
0730: 53 69 6d 70 6c 65 51 75 65 72 79 28 73 65 6c 54  SimpleQuery(selT
0740: 65 78 74 29 3b 20 20 20 20 0d 0a 20 20 20 20 65  ext);    ..    e
0750: 73 2e 73 68 6f 77 28 29 3b 0d 0a 20 20 20 20 20  s.show();..     
0760: 20 20 20 0d 0a 20 20 20 20 69 66 20 28 73 65 6c     ..    if (sel
0770: 54 65 78 74 20 3d 3d 20 27 27 29 0d 0a 20 20 20  Text == '')..   
0780: 20 7b 0d 0a 20 20 20 20 20 20 20 20 65 73 2e 63   {..        es.c
0790: 6c 65 61 72 53 65 61 72 63 68 52 65 73 75 6c 74  learSearchResult
07a0: 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 73  s();..        es
07b0: 2e 73 65 74 44 65 66 61 75 6c 74 53 65 61 72 63  .setDefaultSearc
07c0: 68 51 75 65 72 79 28 29 3b 0d 0a 20 20 20 20 7d  hQuery();..    }
07d0: 0d 0a 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20  ..    else..    
07e0: 20 20 20 20 65 73 2e 73 65 61 72 63 68 4f 70 65      es.searchOpe
07f0: 6e 65 64 57 69 6e 64 6f 77 73 28 74 72 75 65 29  nedWindows(true)
0800: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  ;..        ..   
0810: 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d   return true;..}
0820: 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73  ....SelfScript.s
0830: 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 93 d0 bb d0  elf['macros.....
0840: be d0 b1 d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 20  ............... 
0850: d0 bf d0 be d0 b8 d1 81 d0 ba 27 5d 20 3d 20 66  ..........'] = f
0860: 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20  unction() {..   
0870: 20 0d 0a 20 20 20 20 76 61 72 20 77 20 3d 20 47   ..    var w = G
0880: 65 74 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d  etTextWindow();.
0890: 0a 20 20 20 20 69 66 20 28 21 77 29 20 72 65 74  .    if (!w) ret
08a0: 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20  urn false;..    
08b0: 0d 0a 20 20 20 20 76 61 72 20 65 73 20 3d 20 47  ..    var es = G
08c0: 65 74 45 78 74 53 65 61 72 63 68 28 29 3b 0d 0a  etExtSearch();..
08d0: 0d 0a 20 20 20 20 76 61 72 20 73 65 6c 54 65 78  ..    var selTex
08e0: 74 20 3d 20 77 2e 47 65 74 53 65 6c 65 63 74 65  t = w.GetSelecte
08f0: 64 54 65 78 74 28 29 3b 0d 0a 20 20 20 20 69 66  dText();..    if
0900: 20 28 73 65 6c 54 65 78 74 20 3d 3d 20 27 27 29   (selText == '')
0910: 0d 0a 20 20 20 20 20 20 20 20 73 65 6c 54 65 78  ..        selTex
0920: 74 20 3d 20 77 2e 47 65 74 57 6f 72 64 55 6e 64  t = w.GetWordUnd
0930: 65 72 43 75 72 73 6f 72 28 29 3b 0d 0a 20 20 20  erCursor();..   
0940: 20 0d 0a 20 20 20 20 65 73 2e 69 73 47 6c 6f 62   ..    es.isGlob
0950: 61 6c 46 69 6e 64 20 3d 20 74 72 75 65 3b 0d 0a  alFind = true;..
0960: 20 20 20 20 65 73 2e 69 73 49 6e 43 75 72 72 65      es.isInCurre
0970: 6e 74 4d 64 43 6f 6e 74 65 69 6e 65 72 46 69 6e  ntMdConteinerFin
0980: 64 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20  d = false;..    
0990: 65 73 2e 73 65 74 53 69 6d 70 6c 65 51 75 65 72  es.setSimpleQuer
09a0: 79 28 73 65 6c 54 65 78 74 29 3b 20 20 20 20 0d  y(selText);    .
09b0: 0a 20 20 20 20 65 73 2e 73 68 6f 77 28 29 3b 0d  .    es.show();.
09c0: 0a 0d 0a 20 20 20 20 69 66 20 28 73 65 6c 54 65  ...    if (selTe
09d0: 78 74 20 3d 3d 20 27 27 29 0d 0a 20 20 20 20 7b  xt == '')..    {
09e0: 0d 0a 20 20 20 20 20 20 20 20 65 73 2e 63 6c 65  ..        es.cle
09f0: 61 72 53 65 61 72 63 68 52 65 73 75 6c 74 73 28  arSearchResults(
0a00: 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 73 2e 73  );..        es.s
0a10: 65 74 44 65 66 61 75 6c 74 53 65 61 72 63 68 51  etDefaultSearchQ
0a20: 75 65 72 79 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a  uery();..    }..
0a30: 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20      else..      
0a40: 20 20 65 73 2e 73 65 61 72 63 68 49 6e 4d 65 74    es.searchInMet
0a50: 61 64 61 74 61 28 74 72 75 65 29 3b 0d 0a 20 20  adata(true);..  
0a60: 20 20 20 20 20 20 0d 0a 20 20 20 20 72 65 74 75        ..    retu
0a70: 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a 53  rn true;..}....S
0a80: 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27  elfScript.self['
0a90: 6d 61 63 72 6f 73 d0 93 d0 bb d0 be d0 b1 d0 b0  macros..........
0aa0: d0 bb d1 8c d0 bd d1 8b d0 b9 20 d0 bf d0 be d0  .......... .....
0ab0: b8 d1 81 d0 ba 20 d0 bf d0 be 20 d1 82 d0 b5 d0  ..... .... .....
0ac0: ba d1 83 d1 89 d0 b5 d0 bc d1 83 20 d0 ba d0 be  ........... ....
0ad0: d0 bd d1 82 d0 b5 d0 b9 d0 bd d0 b5 d1 80 d1 83  ................
0ae0: 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20  '] = function() 
0af0: 7b 0d 0a 20 20 20 20 2f 2f d0 a2 d0 b5 d0 ba d1  {..    //.......
0b00: 83 d1 89 d0 b8 d0 b9 20 d0 ba d0 be d0 bd d1 82  ....... ........
0b10: d0 b5 d0 b9 d0 bd d0 b5 d1 80 20 d0 bc d0 b5 d1  .......... .....
0b20: 82 d0 b0 d0 b4 d0 b0 d0 bd d0 bd d1 8b d1 85 20  ............... 
0b30: d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d1 8f  ................
0b40: d0 b5 d0 bc 20 d0 bf d0 be 20 d0 b0 d0 ba d1 82  .... .... ......
0b50: d0 b8 d0 b2 d0 bd d0 be d0 bc d1 83 20 d0 be d0  ............ ...
0b60: ba d0 bd d1 83 2e 20 0d 0a 20 20 20 20 2f 2f d0  ...... ..    //.
0b70: b1 d1 83 d0 b4 d0 b5 d1 82 20 d0 be d1 82 d0 ba  ......... ......
0b80: d1 80 d1 8b d1 82 d0 b0 20 d0 b2 d0 bd d0 b5 d1  ........ .......
0b90: 88 d0 bd d1 8f d1 8f 20 d0 be d0 b1 d1 80 d0 b0  ....... ........
0ba0: d0 b1 d0 be d1 82 d0 ba d0 b0 2c 20 d0 b7 d0 b0  .........., ....
0bb0: d0 bd d1 87 d0 b8 d1 82 20 d0 b8 d1 89 d0 b5 d0  ........ .......
0bc0: bc 20 d0 b3 d0 bb d0 be d0 b1 d0 b0 d0 bb d1 8c  . ..............
0bd0: d0 bd d0 be 20 d1 82 d0 be d0 bb d1 8c d0 ba d0  .... ...........
0be0: be 20 d0 bf d0 be 20 d1 8d d1 82 d0 be d0 b9 20  . .... ........ 
0bf0: d0 be d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba  ................
0c00: d0 b5 2e 20 0d 0a 20 20 20 20 2f 2f d0 be d1 82  ... ..    //....
0c10: d0 ba d1 80 d1 8b d1 82 20 63 66 20 d1 84 d0 b0  ........ cf ....
0c20: d0 b9 d0 bb 20 d0 b8 d0 bb d0 b8 20 d0 b6 d0 b5  .... ...... ....
0c30: 20 63 66 20 d0 b1 d0 b0 d0 b7 d1 8b 20 d0 b4 d0   cf ........ ...
0c40: b0 d0 bd d0 bd d1 8b d1 85 20 d0 b8 20 d0 bc d1  ......... .. ...
0c50: 8b 20 d0 bd d0 b0 d1 85 d0 be d0 b4 d0 b8 d0 bc  . ..............
0c60: d1 81 d1 8f 20 d0 b2 20 d1 82 d0 b5 d0 ba d1 81  .... .. ........
0c70: d1 82 d0 be d0 b2 d0 be d0 bc 20 d0 bc d0 be d0  .......... .....
0c80: b4 d1 83 d0 bb d0 b5 20 d0 be d0 bf d1 80 d0 b5  ....... ........
0c90: d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd d0 be d0 b9  ................
0ca0: 20 0d 0a 20 20 20 20 2f 2f d0 ba d0 be d0 bd d1   ..    //.......
0cb0: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d0  ................
0cc0: b8 2c 20 d0 b7 d0 bd d0 b0 d1 87 d0 b8 d1 82 20  ., ............ 
0cd0: d0 b8 d1 81 d0 ba d0 b0 d1 82 d1 8c 20 d0 b1 d1  ............ ...
0ce0: 83 d0 b4 d0 b5 d1 82 20 d0 bf d0 be 20 d1 82 d0  ....... .... ...
0cf0: b5 d0 ba d1 83 d1 89 d0 b5 d0 b9 20 d0 ba d0 be  ........... ....
0d00: d0 bd d1 82 d0 b5 d0 b9 d0 bd d0 b5 d1 80 d1 83  ................
0d10: 2e 20 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61  . ..    ..    va
0d20: 72 20 77 20 3d 20 47 65 74 54 65 78 74 57 69 6e  r w = GetTextWin
0d30: 64 6f 77 28 29 3b 0d 0a 20 20 20 20 69 66 20 28  dow();..    if (
0d40: 21 77 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65  !w) return false
0d50: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72  ;..    ..    var
0d60: 20 65 73 20 3d 20 47 65 74 45 78 74 53 65 61 72   es = GetExtSear
0d70: 63 68 28 29 3b 0d 0a 0d 0a 20 20 20 20 76 61 72  ch();....    var
0d80: 20 73 65 6c 54 65 78 74 20 3d 20 77 2e 47 65 74   selText = w.Get
0d90: 53 65 6c 65 63 74 65 64 54 65 78 74 28 29 3b 0d  SelectedText();.
0da0: 0a 20 20 20 20 69 66 20 28 73 65 6c 54 65 78 74  .    if (selText
0db0: 20 3d 3d 20 27 27 29 0d 0a 20 20 20 20 20 20 20   == '')..       
0dc0: 20 73 65 6c 54 65 78 74 20 3d 20 77 2e 47 65 74   selText = w.Get
0dd0: 57 6f 72 64 55 6e 64 65 72 43 75 72 73 6f 72 28  WordUnderCursor(
0de0: 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 65 73  );..    ..    es
0df0: 2e 69 73 47 6c 6f 62 61 6c 46 69 6e 64 20 3d 20  .isGlobalFind = 
0e00: 74 72 75 65 3b 0d 0a 20 20 20 20 65 73 2e 69 73  true;..    es.is
0e10: 49 6e 43 75 72 72 65 6e 74 4d 64 43 6f 6e 74 65  InCurrentMdConte
0e20: 69 6e 65 72 46 69 6e 64 20 3d 20 74 72 75 65 3b  inerFind = true;
0e30: 0d 0a 20 20 20 20 65 73 2e 73 65 74 53 69 6d 70  ..    es.setSimp
0e40: 6c 65 51 75 65 72 79 28 73 65 6c 54 65 78 74 29  leQuery(selText)
0e50: 3b 20 20 20 20 0d 0a 20 20 20 20 65 73 2e 73 68  ;    ..    es.sh
0e60: 6f 77 28 29 3b 0d 0a 0d 0a 20 20 20 20 69 66 20  ow();....    if 
0e70: 28 73 65 6c 54 65 78 74 20 3d 3d 20 27 27 29 0d  (selText == '').
0e80: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20  .    {..        
0e90: 65 73 2e 63 6c 65 61 72 53 65 61 72 63 68 52 65  es.clearSearchRe
0ea0: 73 75 6c 74 73 28 29 3b 0d 0a 20 20 20 20 20 20  sults();..      
0eb0: 20 20 65 73 2e 73 65 74 44 65 66 61 75 6c 74 53    es.setDefaultS
0ec0: 65 61 72 63 68 51 75 65 72 79 28 29 3b 0d 0a 20  earchQuery();.. 
0ed0: 20 20 20 7d 0d 0a 20 20 20 20 65 6c 73 65 0d 0a     }..    else..
0ee0: 20 20 20 20 20 20 20 20 65 73 2e 73 65 61 72 63          es.searc
0ef0: 68 49 6e 4d 65 74 61 64 61 74 61 28 74 72 75 65  hInMetadata(true
0f00: 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  );..        ..  
0f10: 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a    return true;..
0f20: 7d 0d 0a 0d 0a 0d 0a 0d 0a 53 65 6c 66 53 63 72  }........SelfScr
0f30: 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73  ipt.self['macros
0f40: d0 9e d1 82 d0 bc d0 b5 d0 bd d0 b8 d1 82 d1 8c  ................
0f50: 20 d0 b3 d0 bb d0 be d0 b1 d0 b0 d0 bb d1 8c d0   ...............
0f60: bd d1 8b d0 b9 20 d0 bf d0 be d0 b8 d1 81 d0 ba  ..... ..........
0f70: 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20  '] = function() 
0f80: 7b 0d 0a 20 20 20 20 76 61 72 20 65 73 20 3d 20  {..    var es = 
0f90: 47 65 74 45 78 74 53 65 61 72 63 68 28 29 3b 0d  GetExtSearch();.
0fa0: 0a 20 20 20 20 69 66 20 28 65 73 2e 73 74 61 72  .    if (es.star
0fb0: 74 47 6c 6f 62 61 6c 53 65 61 72 63 68 29 7b 0d  tGlobalSearch){.
0fc0: 0a 20 20 20 20 20 20 20 20 65 73 2e 73 74 61 72  .        es.star
0fd0: 74 47 6c 6f 62 61 6c 53 65 61 72 63 68 20 3d 20  tGlobalSearch = 
0fe0: 66 61 6c 73 65 3b 0d 0a 20 20 20 20 7d 20 0d 0a  false;..    } ..
0ff0: 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e  }....SelfScript.
1000: 73 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 9e d1 82  self['macros....
1010: d0 ba d1 80 d1 8b d1 82 d1 8c 20 d0 be d0 ba d0  .......... .....
1020: bd d0 be 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0  ... ............
1030: 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20  '] = function() 
1040: 7b 0d 0a 20 20 20 20 47 65 74 45 78 74 53 65 61  {..    GetExtSea
1050: 72 63 68 28 29 2e 73 68 6f 77 28 29 3b 0d 0a 7d  rch().show();..}
1060: 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73  ....SelfScript.s
1070: 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 97 d0 b0 d0  elf['macros.....
1080: ba d1 80 d1 8b d1 82 d1 8c 20 d0 be d0 ba d0 bd  ......... ......
1090: d0 be 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 27  .. ............'
10a0: 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b  ] = function() {
10b0: 0d 0a 20 20 20 20 76 61 72 20 65 73 20 3d 20 47  ..    var es = G
10c0: 65 74 45 78 74 53 65 61 72 63 68 28 29 3b 0d 0a  etExtSearch();..
10d0: 20 20 20 20 69 66 20 28 65 73 2e 69 73 4f 70 65      if (es.isOpe
10e0: 6e 28 29 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  n()) {..        
10f0: 65 73 2e 63 6c 6f 73 65 28 29 3b 0d 0a 20 20 20  es.close();..   
1100: 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65       return true
1110: 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 72 65  ;..    }..    re
1120: 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 7d 0d 0a  turn false;..}..
1130: 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c  ..SelfScript.sel
1140: 66 5b 27 6d 61 63 72 6f 73 d0 9f d0 b5 d1 80 d0  f['macros.......
1150: b5 d0 b9 d1 82 d0 b8 20 d0 ba 20 d1 81 d0 bb d0  ....... .. .....
1160: b5 d0 b4 d1 83 d1 8e d1 89 d0 b5 d0 bc d1 83 20  ............... 
1170: d1 81 d0 be d0 b2 d0 bf d0 b0 d0 b4 d0 b5 d0 bd  ................
1180: d0 b8 d1 8e 27 5d 20 3d 20 66 75 6e 63 74 69 6f  ....'] = functio
1190: 6e 28 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 65  n() {..    var e
11a0: 73 20 3d 20 47 65 74 45 78 74 53 65 61 72 63 68  s = GetExtSearch
11b0: 28 29 3b 0d 0a 20 20 20 20 65 73 2e 73 68 6f 77  ();..    es.show
11c0: 28 29 3b 0d 0a 20 20 20 20 65 73 2e 6d 6f 76 65  ();..    es.move
11d0: 52 6f 77 43 75 72 73 6f 72 28 74 72 75 65 29 3b  RowCursor(true);
11e0: 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70  ..}....SelfScrip
11f0: 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 9f  t.self['macros..
1200: d0 b5 d1 80 d0 b5 d0 b9 d1 82 d0 b8 20 d0 ba 20  ............ .. 
1210: d0 bf d1 80 d0 b5 d0 b4 d1 8b d0 b4 d1 83 d1 89  ................
1220: d0 b5 d0 bc d1 83 20 d1 81 d0 be d0 b2 d0 bf d0  ...... .........
1230: b0 d0 b4 d0 b5 d0 bd d0 b8 d1 8e 27 5d 20 3d 20  ...........'] = 
1240: 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20  function() {..  
1250: 20 20 76 61 72 20 65 73 20 3d 20 47 65 74 45 78    var es = GetEx
1260: 74 53 65 61 72 63 68 28 29 3b 0d 0a 20 20 20 20  tSearch();..    
1270: 65 73 2e 73 68 6f 77 28 29 3b 0d 0a 20 20 20 20  es.show();..    
1280: 65 73 2e 6d 6f 76 65 52 6f 77 43 75 72 73 6f 72  es.moveRowCursor
1290: 28 66 61 6c 73 65 29 3b 0d 0a 7d 0d 0a 0d 0a 53  (false);..}....S
12a0: 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27  elfScript.self['
12b0: 6d 61 63 72 6f 73 d0 a1 d0 b2 d0 b5 d1 80 d0 bd  macros..........
12c0: d1 83 d1 82 d1 8c 20 d0 b3 d1 80 d1 83 d0 bf d0  ...... .........
12d0: bf d0 b8 d1 80 d0 be d0 b2 d0 ba d0 b8 27 5d 20  .............'] 
12e0: 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a  = function() {..
12f0: 20 20 20 20 76 61 72 20 65 73 20 3d 20 47 65 74      var es = Get
1300: 45 78 74 53 65 61 72 63 68 28 29 3b 0d 0a 20 20  ExtSearch();..  
1310: 20 20 65 73 2e 65 78 70 61 6e 64 54 72 65 65 28    es.expandTree(
1320: 74 72 75 65 29 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c  true);..}....Sel
1330: 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61  fScript.self['ma
1340: 63 72 6f 73 d0 a0 d0 b0 d0 b7 d0 b2 d0 b5 d1 80  cros............
1350: d0 bd d1 83 d1 82 d1 8c 20 d0 b3 d1 80 d1 83 d0  ........ .......
1360: bf d0 bf d0 b8 d1 80 d0 be d0 b2 d0 ba d0 b8 27  ...............'
1370: 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b  ] = function() {
1380: 0d 0a 20 20 20 20 76 61 72 20 65 73 20 3d 20 47  ..    var es = G
1390: 65 74 45 78 74 53 65 61 72 63 68 28 29 3b 0d 0a  etExtSearch();..
13a0: 20 20 20 20 65 73 2e 65 78 70 61 6e 64 54 72 65      es.expandTre
13b0: 65 28 66 61 6c 73 65 29 3b 0d 0a 7d 0d 0a 0d 0a  e(false);..}....
13c0: 0d 0a 2f 2a 20 d0 92 d0 be d0 b7 d0 b2 d1 80 d0  ../* ...........
13d0: b0 d1 89 d0 b0 d0 b5 d1 82 20 d0 bd d0 b0 d0 b7  ......... ......
13e0: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 d0 bc d0 b0 d0  .......... .....
13f0: ba d1 80 d0 be d1 81 d0 b0 20 d0 bf d0 be 20 d1  ......... .... .
1400: 83 d0 bc d0 be d0 bb d1 87 d0 b0 d0 bd d0 b8 d1  ................
1410: 8e 20 2d 20 d0 b2 d1 8b d0 b7 d1 8b d0 b2 d0 b0  . - ............
1420: d0 b5 d1 82 d1 81 d1 8f 2c 20 d0 ba d0 be d0 b3  ........, ......
1430: d0 b4 d0 b0 20 d0 bf d0 be d0 bb d1 8c d0 b7 d0  .... ...........
1440: be d0 b2 d0 b0 d1 82 d0 b5 d0 bb d1 8c 20 0d 0a  ............. ..
1450: d0 b4 d0 b2 d0 b0 d0 b6 d0 b4 d1 8b 20 d1 89 d0  ............ ...
1460: b5 d0 bb d0 ba d0 b0 d0 b5 d1 82 20 d0 bc d1 8b  ........... ....
1470: d1 88 d1 8c d1 8e 20 d0 bf d0 be 20 d0 bd d0 b0  ...... .... ....
1480: d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d1 8e 20 d1 81 d0  ............ ...
1490: ba d1 80 d0 b8 d0 bf d1 82 d0 b0 20 d0 b2 20 d0  ........... .. .
14a0: be d0 ba d0 bd d0 b5 20 d0 a1 d0 bd d0 b5 d0 b3  ....... ........
14b0: d0 be d0 bf d0 b0 d1 82 d0 b0 2e 20 2a 2f 0d 0a  ........... */..
14c0: 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61  function getDefa
14d0: 75 6c 74 4d 61 63 72 6f 73 28 29 20 7b 0d 0a 20  ultMacros() {.. 
14e0: 20 20 20 72 65 74 75 72 6e 20 27 d0 9e d1 82 d0     return '.....
14f0: ba d1 80 d1 8b d1 82 d1 8c 20 d0 be d0 ba d0 bd  ......... ......
1500: d0 be 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 27  .. ............'
1510: 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 d0 9c  ;..}....////} ..
1520: d0 b0 d0 ba d1 80 d0 be d1 81 d1 8b 0d 0a 0d 0a  ................
1530: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1540: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1550: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1560: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1570: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1580: 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20  ////////..////{ 
1590: 45 78 74 53 65 61 72 63 68 20 2d 20 d0 a0 d0 b0  ExtSearch - ....
15a0: d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 bd d1 8b  ................
15b0: d0 b9 20 d0 bf d0 be d0 b8 d1 81 d0 ba 20 d0 b2  .. .......... ..
15c0: 20 d1 82 d0 b5 d0 ba d1 81 d1 82 d0 b5 20 d0 bc   ............ ..
15d0: d0 be d0 b4 d1 83 d0 bb d1 8f 2e 0d 0a 2f 2f 2f  .............///
15e0: 2f 0d 0a 0d 0a 52 6f 77 54 79 70 65 73 20 3d 20  /....RowTypes = 
15f0: 7b 0d 0a 20 20 20 20 27 53 65 61 72 63 68 52 65  {..    'SearchRe
1600: 73 75 6c 74 27 20 20 3a 20 30 2c 20 2f 2f 20 d0  sult'  : 0, // .
1610: a1 d1 82 d1 80 d0 be d0 ba d0 b0 20 d1 80 d0 b5  ........... ....
1620: d0 b7 d1 83 d0 bb d1 8c d1 82 d0 b0 d1 82 d0 b0  ................
1630: 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 2e 0d 0a   ...............
1640: 20 20 20 20 27 50 72 6f 63 47 72 6f 75 70 27 20      'ProcGroup' 
1650: 20 20 20 20 3a 20 31 2c 20 2f 2f 20 d0 a1 d1 82      : 1, // ....
1660: d1 80 d0 be d0 ba d0 b0 20 d0 b3 d1 80 d1 83 d0  ........ .......
1670: bf d0 bf d1 8b 2d d0 bf d1 80 d0 be d1 86 d0 b5  .....-..........
1680: d0 b4 d1 83 d1 80 d1 8b 20 28 d0 b2 20 d1 80 d0  ........ (.. ...
1690: b5 d0 b6 d0 b8 d0 bc d0 b5 20 d0 b3 d1 80 d1 83  ......... ......
16a0: d0 bf d0 bf d0 b8 d1 80 d0 be d0 b2 d0 ba d0 b8  ................
16b0: 20 d0 bf d0 be 20 d0 bf d1 80 d0 be d1 86 d0 b5   .... ..........
16c0: d0 b4 d1 83 d1 80 d0 b0 d0 bc 20 d0 b8 20 d1 84  .......... .. ..
16d0: d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f d0 bc 29 2e  ..............).
16e0: 0d 0a 20 20 20 20 27 46 75 6e 63 47 72 6f 75 70  ..    'FuncGroup
16f0: 27 20 20 20 20 20 3a 20 32 2c 20 2f 2f 20 d0 a1  '     : 2, // ..
1700: d1 82 d1 80 d0 be d0 ba d0 b0 20 d0 b3 d1 80 d1  .......... .....
1710: 83 d0 bf d0 bf d1 8b 2d d1 84 d1 83 d0 bd d0 ba  .......-........
1720: d1 86 d0 b8 d0 b8 20 28 d0 b2 20 d1 80 d0 b5 d0  ...... (.. .....
1730: b6 d0 b8 d0 bc d0 b5 20 d0 b3 d1 80 d1 83 d0 bf  ....... ........
1740: d0 bf d0 b8 d1 80 d0 be d0 b2 d0 ba d0 b8 20 d0  .............. .
1750: bf d0 be 20 d0 bf d1 80 d0 be d1 86 d0 b5 d0 b4  ... ............
1760: d1 83 d1 80 d0 b0 d0 bc 20 d0 b8 20 d1 84 d1 83  ........ .. ....
1770: d0 bd d0 ba d1 86 d0 b8 d1 8f d0 bc 29 2e 0d 0a  ............)...
1780: 20 20 20 20 27 53 65 61 72 63 68 44 6f 63 27 20      'SearchDoc' 
1790: 20 20 20 20 3a 20 33 20 20 2f 2f 20 d0 a1 d1 82      : 3  // ....
17a0: d1 80 d0 be d0 ba d0 b0 20 d0 b4 d0 be d0 ba d1  ........ .......
17b0: 83 d0 bc d0 b5 d0 bd d1 82 d0 b0 2c 20 d0 b2 20  ..........., .. 
17c0: d0 ba d0 be d1 82 d0 be d1 80 d0 be d0 bc 20 d0  .............. .
17d0: bf d1 80 d0 be d0 b8 d0 b7 d0 b2 d0 be d0 b4 d0  ................
17e0: b8 d1 82 d1 81 d1 8f 20 d0 bf d0 be d0 b8 d1 81  ....... ........
17f0: d0 ba 2e 0d 0a 7d 0d 0a 0d 0a 52 45 20 3d 20 7b  .....}....RE = {
1800: 0d 0a 20 20 20 20 4d 45 54 48 4f 44 5f 53 54 41  ..    METHOD_STA
1810: 52 54 20 3a 20 2f 5e 5c 73 2a 28 28 3f 3a 70 72  RT : /^\s*((?:pr
1820: 6f 63 65 64 75 72 65 29 7c 28 3f 3a 66 75 6e 63  ocedure)|(?:func
1830: 74 69 6f 6e 29 7c 28 3f 3a d0 bf d1 80 d0 be d1  tion)|(?:.......
1840: 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 29 7c 28 3f 3a  ...........)|(?:
1850: d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f 29 29  ..............))
1860: 5c 73 2b 28 5b 5c 77 d0 90 2d d1 8f d1 91 d0 81  \s+([\w..-......
1870: 5c 64 5d 2b 29 5c 73 2a 5c 28 2f 69 2c 0d 0a 20  \d]+)\s*\(/i,.. 
1880: 20 20 20 4d 45 54 48 4f 44 5f 45 4e 44 20 3a 20     METHOD_END : 
1890: 2f 28 28 3f 3a 45 6e 64 50 72 6f 63 65 64 75 72  /((?:EndProcedur
18a0: 65 29 7c 28 3f 3a 45 6e 64 46 75 6e 63 74 69 6f  e)|(?:EndFunctio
18b0: 6e 29 7c 28 3f 3a d0 9a d0 be d0 bd d0 b5 d1 86  n)|(?:..........
18c0: d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80  ................
18d0: d1 8b 29 7c 28 3f 3a d0 9a d0 be d0 bd d0 b5 d1  ..)|(?:.........
18e0: 86 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 29  ...............)
18f0: 29 2f 69 0d 0a 7d 0d 0a 0d 0a 45 78 74 53 65 61  )/i..}....ExtSea
1900: 72 63 68 20 3d 20 53 63 72 69 70 74 46 6f 72 6d  rch = ScriptForm
1910: 2e 65 78 74 65 6e 64 28 7b 0d 0a 0d 0a 20 20 20  .extend({....   
1920: 20 73 65 74 74 69 6e 67 73 52 6f 6f 74 50 61 74   settingsRootPat
1930: 68 20 3a 20 53 65 6c 66 53 63 72 69 70 74 2e 75  h : SelfScript.u
1940: 6e 69 71 75 65 4e 61 6d 65 2c 0d 0a 20 20 20 20  niqueName,..    
1950: 0d 0a 20 20 20 20 73 65 74 74 69 6e 67 73 20 3a  ..    settings :
1960: 20 7b 0d 0a 20 20 20 20 20 20 20 20 70 66 6c 53   {..        pflS
1970: 6e 65 67 6f 70 61 74 20 3a 20 7b 0d 0a 20 20 20  negopat : {..   
1980: 20 20 20 20 20 20 20 20 20 27 49 73 52 65 67 45           'IsRegE
1990: 78 70 27 20 20 20 20 20 20 3a 20 66 61 6c 73 65  xp'      : false
19a0: 2c 20 2f 2f 20 d0 9f d0 be d0 b8 d1 81 d0 ba 20  , // .......... 
19b0: d1 80 d0 b5 d0 b3 d1 83 d0 bb d1 8f d1 80 d0 bd  ................
19c0: d1 8b d0 bc d0 b8 20 d0 b2 d1 8b d1 80 d0 b0 d0  ...... .........
19d0: b6 d0 b5 d0 bd d0 b8 d1 8f d0 bc d0 b8 2e 0d 0a  ................
19e0: 20 20 20 20 20 20 20 20 20 20 20 20 27 43 61 73              'Cas
19f0: 65 53 65 6e 73 65 74 69 76 65 27 20 3a 20 66 61  eSensetive' : fa
1a00: 6c 73 65 2c 20 2f 2f 20 d0 a3 d1 87 d0 b8 d1 82  lse, // ........
1a10: d1 8b d0 b2 d0 b0 d1 82 d1 8c 20 d1 80 d0 b5 d0  .......... .....
1a20: b3 d0 b8 d1 81 d1 82 d1 80 20 d0 bf d1 80 d0 b8  ......... ......
1a30: 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b5 2e 0d 0a   ...............
1a40: 20 20 20 20 20 20 20 20 20 20 20 20 27 57 68 6f              'Who
1a50: 6c 65 57 6f 72 64 73 27 20 20 20 20 3a 20 66 61  leWords'    : fa
1a60: 6c 73 65 2c 20 2f 2f 20 d0 9f d0 be d0 b8 d1 81  lse, // ........
1a70: d0 ba 20 d1 81 d0 bb d0 be d0 b2 d0 b0 20 d1 86  .. .......... ..
1a80: d0 b5 d0 bb d0 b8 d0 ba d0 be d0 bc 2e 0d 0a 20  ............... 
1a90: 20 20 20 20 20 20 20 20 20 20 20 27 53 65 61 72             'Sear
1aa0: 63 68 48 69 73 74 6f 72 79 27 20 3a 20 76 38 4e  chHistory' : v8N
1ab0: 65 77 28 27 56 61 6c 75 65 4c 69 73 74 27 29 2c  ew('ValueList'),
1ac0: 20 2f 2f 20 d0 98 d1 81 d1 82 d0 be d1 80 d0 b8   // ............
1ad0: d1 8f 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 2e  .. .............
1ae0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 48  ..            'H
1af0: 69 73 74 6f 72 79 44 65 70 74 68 27 20 20 3a 20  istoryDepth'  : 
1b00: 31 35 2c 20 2f 2f 20 d0 9a d0 be d0 bb d0 b8 d1  15, // .........
1b10: 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d1 8d d0 bb  ........... ....
1b20: d0 b5 d0 bc d0 b5 d0 bd d1 82 d0 be d0 b2 20 d0  .............. .
1b30: b8 d1 81 d1 82 d0 be d1 80 d0 b8 d0 b8 20 d0 bf  ............. ..
1b40: d0 be d0 b8 d1 81 d0 ba d0 b0 2e 0d 0a 20 20 20  .............   
1b50: 20 20 20 20 20 20 20 20 20 27 54 72 65 65 56 69           'TreeVi
1b60: 65 77 27 20 20 20 20 20 20 3a 20 66 61 6c 73 65  ew'      : false
1b70: 20 2f 2f 20 d0 93 d1 80 d1 83 d0 bf d0 bf d0 b8   // ............
1b80: d1 80 d0 be d0 b2 d0 b0 d1 82 d1 8c 20 d1 80 d0  ............ ...
1b90: b5 d0 b7 d1 83 d0 bb d1 8c d1 82 d0 b0 d1 82 d1  ................
1ba0: 8b 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 20 d0  . ............ .
1bb0: bf d0 be 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0  ... ............
1bc0: d0 bc 2e 20 20 20 20 20 20 20 20 20 20 20 20 0d  ...            .
1bd0: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
1be0: 7d 2c 0d 0a 0d 0a 20 20 20 20 63 6f 6e 73 74 72  },....    constr
1bf0: 75 63 74 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28  uct : function (
1c00: 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 20  ) {..    ..     
1c10: 20 20 20 74 68 69 73 2e 5f 73 75 70 65 72 28 22     this._super("
1c20: 73 63 72 69 70 74 73 5c 5c 65 78 74 53 65 61 72  scripts\\extSear
1c30: 63 68 2e 72 65 73 75 6c 74 73 2e 73 73 66 22 29  ch.results.ssf")
1c40: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
1c50: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74 68 69     ..        thi
1c60: 73 2e 66 6f 72 6d 2e d0 9a d0 bb d1 8e d1 87 d0  s.form..........
1c70: a1 d0 be d1 85 d1 80 d0 b0 d0 bd d0 b5 d0 bd d0  ................
1c80: b8 d1 8f d0 9f d0 be d0 bb d0 be d0 b6 d0 b5 d0  ................
1c90: bd d0 b8 d1 8f d0 9e d0 ba d0 bd d0 b0 20 3d 20  ............. = 
1ca0: 22 65 78 74 53 65 61 72 63 68 2e 6a 73 22 0d 0a  "extSearch.js"..
1cb0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 72 65 73          this.res
1cc0: 75 6c 74 73 20 3d 20 74 68 69 73 2e 66 6f 72 6d  ults = this.form
1cd0: 2e 43 6f 6e 74 72 6f 6c 73 2e 53 65 61 72 63 68  .Controls.Search
1ce0: 52 65 73 75 6c 74 73 2e 56 61 6c 75 65 3b 0d 0a  Results.Value;..
1cf0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 72 65 73          this.res
1d00: 75 6c 74 73 2e 43 6f 6c 75 6d 6e 73 2e 41 64 64  ults.Columns.Add
1d10: 28 27 5f 6d 65 74 68 6f 64 27 29 3b 0d 0a 20 20  ('_method');..  
1d20: 20 20 20 20 20 20 74 68 69 73 2e 72 65 73 75 6c        this.resul
1d30: 74 73 2e 43 6f 6c 75 6d 6e 73 2e 41 64 64 28 27  ts.Columns.Add('
1d40: 67 72 6f 75 70 73 43 61 63 68 65 27 29 3b 0d 0a  groupsCache');..
1d50: 20 20 20 20 20 20 20 20 74 68 69 73 2e 72 65 73          this.res
1d60: 75 6c 74 73 2e 43 6f 6c 75 6d 6e 73 2e 41 64 64  ults.Columns.Add
1d70: 28 27 5f 6f 62 6a 65 63 74 27 29 3b 0d 0a 20 20  ('_object');..  
1d80: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
1d90: 74 68 69 73 2e 77 61 74 63 68 65 72 20 3d 20 6e  this.watcher = n
1da0: 65 77 20 54 65 78 74 57 69 6e 64 6f 77 73 57 61  ew TextWindowsWa
1db0: 74 63 68 65 72 28 29 3b 0d 0a 20 20 20 20 20 20  tcher();..      
1dc0: 20 20 74 68 69 73 2e 77 61 74 63 68 65 72 2e 73    this.watcher.s
1dd0: 74 61 72 74 57 61 74 63 68 28 29 3b 0d 0a 20 20  tartWatch();..  
1de0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
1df0: 20 20 74 68 69 73 2e 6c 6f 61 64 53 65 74 74 69    this.loadSetti
1e00: 6e 67 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  ngs();..        
1e10: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 74  ..        this.t
1e20: 61 72 67 65 74 57 69 6e 64 6f 77 20 3d 20 6e 75  argetWindow = nu
1e30: 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  ll;..        .. 
1e40: 20 20 20 20 20 20 20 74 68 69 73 2e 49 63 6f 6e         this.Icon
1e50: 73 20 3d 20 7b 0d 0a 20 20 20 20 20 20 20 20 20  s = {..         
1e60: 20 20 20 27 46 75 6e 63 27 3a 20 74 68 69 73 2e     'Func': this.
1e70: 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 50 69  form.Controls.Pi
1e80: 63 46 75 6e 63 2e 50 69 63 74 75 72 65 2c 0d 0a  cFunc.Picture,..
1e90: 20 20 20 20 20 20 20 20 20 20 20 20 27 50 72 6f              'Pro
1ea0: 63 27 3a 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f  c': this.form.Co
1eb0: 6e 74 72 6f 6c 73 2e 50 69 63 50 72 6f 63 2e 50  ntrols.PicProc.P
1ec0: 69 63 74 75 72 65 0d 0a 20 20 20 20 20 20 20 20  icture..        
1ed0: 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  }..        ..   
1ee0: 20 20 20 20 20 74 68 69 73 2e 53 65 61 72 63 68       this.Search
1ef0: 44 6f 63 52 6f 77 46 6f 6e 74 20 3d 20 76 38 4e  DocRowFont = v8N
1f00: 65 77 28 27 46 6f 6e 74 27 2c 20 75 6e 64 65 66  ew('Font', undef
1f10: 69 6e 65 64 2c 20 75 6e 64 65 66 69 6e 65 64 2c  ined, undefined,
1f20: 20 74 72 75 65 29 3b 0d 0a 20 20 20 20 20 20 20   true);..       
1f30: 20 74 68 69 73 2e 69 73 47 6c 6f 62 61 6c 46 69   this.isGlobalFi
1f40: 6e 64 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20  nd = false;..   
1f50: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74       ..        t
1f60: 68 69 73 2e 53 65 74 43 6f 6e 74 72 6f 6c 73 56  his.SetControlsV
1f70: 69 73 69 62 6c 65 28 29 3b 0d 0a 20 20 20 20 20  isible();..     
1f80: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 45 78 74     ..        Ext
1f90: 53 65 61 72 63 68 2e 5f 69 6e 73 74 61 6e 63 65  Search._instance
1fa0: 20 3d 20 74 68 69 73 3b 0d 0a 20 20 20 20 0d 0a   = this;..    ..
1fb0: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20      },..    ..  
1fc0: 20 20 73 65 74 53 69 6d 70 6c 65 51 75 65 72 79    setSimpleQuery
1fd0: 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 71 75 65   : function (que
1fe0: 72 79 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 74  ry) {..        t
1ff0: 68 69 73 2e 66 6f 72 6d 2e 51 75 65 72 79 20 3d  his.form.Query =
2000: 20 71 75 65 72 79 3b 0d 0a 20 20 20 20 20 20 20   query;..       
2010: 20 74 68 69 73 2e 66 6f 72 6d 2e 49 73 52 65 67   this.form.IsReg
2020: 45 78 70 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20  Exp = false;..  
2030: 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e        this.form.
2040: 43 61 73 65 53 65 6e 73 65 74 69 76 65 20 3d 20  CaseSensetive = 
2050: 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20  false;..        
2060: 74 68 69 73 2e 61 64 64 54 6f 48 69 73 74 6f 72  this.addToHistor
2070: 79 28 71 75 65 72 79 29 3b 0d 0a 20 20 20 20 7d  y(query);..    }
2080: 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 65 78 70  ,..    ..    exp
2090: 61 6e 64 54 72 65 65 20 3a 20 66 75 6e 63 74 69  andTree : functi
20a0: 6f 6e 20 28 63 6f 6c 6c 61 70 73 65 29 20 7b 0d  on (collapse) {.
20b0: 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 72 65  .        var tre
20c0: 65 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f  e = this.form.Co
20d0: 6e 74 72 6f 6c 73 2e 53 65 61 72 63 68 52 65 73  ntrols.SearchRes
20e0: 75 6c 74 73 3b 0d 0a 20 20 20 20 20 20 20 20 66  ults;..        f
20f0: 6f 72 20 28 76 61 72 20 69 3d 30 3b 20 69 20 3c  or (var i=0; i <
2100: 20 74 68 69 73 2e 72 65 73 75 6c 74 73 2e 52 6f   this.results.Ro
2110: 77 73 2e 43 6f 75 6e 74 28 29 3b 20 69 2b 2b 29  ws.Count(); i++)
2120: 0d 0a 20 20 20 20 20 20 20 20 7b 20 20 20 20 20  ..        {     
2130: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
2140: 20 76 61 72 20 64 6f 63 52 6f 77 20 3d 20 74 68   var docRow = th
2150: 69 73 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e  is.results.Rows.
2160: 47 65 74 28 69 29 3b 0d 0a 20 20 20 20 20 20 20  Get(i);..       
2170: 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 66 6f       if (this.fo
2180: 72 6d 2e 54 72 65 65 56 69 65 77 29 0d 0a 20 20  rm.TreeView)..  
2190: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20            {..   
21a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72               for
21b0: 20 28 76 61 72 20 6a 3d 30 3b 20 6a 20 3c 20 64   (var j=0; j < d
21c0: 6f 63 52 6f 77 2e 52 6f 77 73 2e 43 6f 75 6e 74  ocRow.Rows.Count
21d0: 28 29 3b 20 6a 2b 2b 29 0d 0a 20 20 20 20 20 20  (); j++)..      
21e0: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20            {..   
21f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2200: 20 76 61 72 20 72 6f 77 20 3d 20 64 6f 63 52 6f   var row = docRo
2210: 77 2e 52 6f 77 73 2e 47 65 74 28 6a 29 3b 0d 0a  w.Rows.Get(j);..
2220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2230: 20 20 20 20 63 6f 6c 6c 61 70 73 65 20 3f 20 74      collapse ? t
2240: 72 65 65 2e 43 6f 6c 6c 61 70 73 65 28 72 6f 77  ree.Collapse(row
2250: 29 20 3a 20 74 72 65 65 2e 45 78 70 61 6e 64 28  ) : tree.Expand(
2260: 72 6f 77 2c 20 74 72 75 65 29 3b 0d 0a 20 20 20  row, true);..   
2270: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
2280: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
2290: 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d             else.
22a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a  .            {..
22b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
22c0: 63 6f 6c 6c 61 70 73 65 20 3f 20 74 72 65 65 2e  collapse ? tree.
22d0: 43 6f 6c 6c 61 70 73 65 28 64 6f 63 52 6f 77 29  Collapse(docRow)
22e0: 20 3a 20 74 72 65 65 2e 45 78 70 61 6e 64 28 64   : tree.Expand(d
22f0: 6f 63 52 6f 77 2c 20 74 72 75 65 29 3b 20 20 20  ocRow, true);   
2300: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
2310: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
2320: 20 20 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20    }..    },..   
2330: 20 20 20 20 20 0d 0a 20 20 20 20 67 65 74 57 69       ..    getWi
2340: 6e 64 6f 77 4f 62 6a 65 63 74 20 3a 20 66 75 6e  ndowObject : fun
2350: 63 74 69 6f 6e 20 28 76 69 65 77 29 20 7b 0d 0a  ction (view) {..
2360: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
2370: 20 69 66 20 28 76 69 65 77 2e 6d 64 4f 62 6a 20   if (view.mdObj 
2380: 26 26 20 76 69 65 77 2e 6d 64 50 72 6f 70 29 20  && view.mdProp) 
2390: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65  ..            re
23a0: 74 75 72 6e 20 6e 65 77 20 4d 64 4f 62 6a 65 63  turn new MdObjec
23b0: 74 28 76 69 65 77 2e 6d 64 4f 62 6a 2c 20 76 69  t(view.mdObj, vi
23c0: 65 77 2e 6d 64 50 72 6f 70 2c 20 76 69 65 77 2e  ew.mdProp, view.
23d0: 74 69 74 6c 65 29 3b 0d 0a 20 20 20 20 20 20 20  title);..       
23e0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 76       ..        v
23f0: 61 72 20 6f 62 6a 20 3d 20 76 69 65 77 2e 67 65  ar obj = view.ge
2400: 74 4f 62 6a 65 63 74 28 29 3b 0d 0a 20 20 20 20  tObject();..    
2410: 20 20 20 20 69 66 20 28 6f 62 6a 20 26 26 20 74      if (obj && t
2420: 6f 56 38 56 61 6c 75 65 28 6f 62 6a 29 2e 74 79  oV8Value(obj).ty
2430: 70 65 4e 61 6d 65 28 30 29 20 3d 3d 20 27 54 65  peName(0) == 'Te
2440: 78 74 44 6f 63 75 6d 65 6e 74 27 29 0d 0a 20 20  xtDocument')..  
2450: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
2460: 20 6e 65 77 20 54 65 78 74 44 6f 63 4f 62 6a 65   new TextDocObje
2470: 63 74 28 6f 62 6a 2c 20 76 69 65 77 2e 74 69 74  ct(obj, view.tit
2480: 6c 65 29 3b 20 20 20 20 20 20 20 20 0d 0a 20 20  le);        ..  
2490: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
24a0: 20 20 20 20 69 66 20 28 6f 62 6a 29 20 4d 65 73      if (obj) Mes
24b0: 73 61 67 65 28 27 d0 9d d0 b5 d0 bf d0 be d0 b4  sage('..........
24c0: d0 b4 d0 b5 d1 80 d0 b6 d0 b8 d0 b2 d0 b0 d0 b5  ................
24d0: d0 bc d1 8b d0 b9 20 d1 82 d0 b8 d0 bf 20 d0 be  ...... ...... ..
24e0: d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 b0 20 d0 b4 d0  ............ ...
24f0: bb d1 8f 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0  ... ............
2500: 3a 20 27 20 2b 20 74 6f 56 38 56 61 6c 75 65 28  : ' + toV8Value(
2510: 6f 62 6a 29 2e 74 79 70 65 4e 61 6d 65 28 30 29  obj).typeName(0)
2520: 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  );..        ..  
2530: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c        return nul
2540: 6c 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20  l;..    },..    
2550: 0d 0a 20 20 20 20 73 65 61 72 63 68 4f 70 65 6e  ..    searchOpen
2560: 65 64 57 69 6e 64 6f 77 73 3a 20 66 75 6e 63 74  edWindows: funct
2570: 69 6f 6e 20 28 66 72 6f 6d 48 6f 74 4b 65 79 29  ion (fromHotKey)
2580: 20 7b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61   {....        va
2590: 72 20 61 63 74 69 76 65 57 69 6e 64 6f 77 20 3d  r activeWindow =
25a0: 20 74 68 69 73 2e 77 61 74 63 68 65 72 2e 67 65   this.watcher.ge
25b0: 74 41 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f  tActiveTextWindo
25c0: 77 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66  w();..        if
25d0: 20 28 21 61 63 74 69 76 65 57 69 6e 64 6f 77 29   (!activeWindow)
25e0: 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20   return;..      
25f0: 20 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20    ..        var 
2600: 61 63 74 69 76 65 56 69 65 77 20 3d 20 61 63 74  activeView = act
2610: 69 76 65 57 69 6e 64 6f 77 2e 47 65 74 56 69 65  iveWindow.GetVie
2620: 77 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66  w();..        if
2630: 20 28 21 61 63 74 69 76 65 56 69 65 77 29 20 72   (!activeView) r
2640: 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20  eturn;....      
2650: 20 20 74 68 69 73 2e 63 6c 65 61 72 53 65 61 72    this.clearSear
2660: 63 68 52 65 73 75 6c 74 73 28 29 3b 0d 0a 20 20  chResults();..  
2670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2680: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72     ..        var
2690: 20 72 65 20 3d 20 74 68 69 73 2e 62 75 69 6c 64   re = this.build
26a0: 53 65 61 72 63 68 52 65 67 45 78 70 4f 62 6a 65  SearchRegExpObje
26b0: 63 74 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 69  ct();..        i
26c0: 66 20 28 21 72 65 29 20 72 65 74 75 72 6e 3b 0d  f (!re) return;.
26d0: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
26e0: 20 20 20 76 61 72 20 61 63 74 69 76 65 57 6e 64     var activeWnd
26f0: 52 65 73 52 6f 77 20 3d 20 6e 75 6c 6c 3b 0d 0a  ResRow = null;..
2700: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
2710: 20 20 76 61 72 20 65 73 20 3d 20 74 68 69 73 3b    var es = this;
2720: 0d 0a 20 20 20 20 20 20 20 20 28 66 75 6e 63 74  ..        (funct
2730: 69 6f 6e 20 28 76 69 65 77 73 29 20 7b 20 20 20  ion (views) {   
2740: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20       ..         
2750: 20 20 20 66 6f 72 28 76 61 72 20 69 20 3d 20 30     for(var i = 0
2760: 3b 20 69 20 3c 20 76 69 65 77 73 2e 63 6f 75 6e  ; i < views.coun
2770: 74 3b 20 69 2b 2b 29 20 0d 0a 20 20 20 20 20 20  t; i++) ..      
2780: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
2790: 20 20 20 20 20 20 20 20 20 76 61 72 20 76 20 3d           var v =
27a0: 20 76 69 65 77 73 2e 69 74 65 6d 28 69 29 3b 0d   views.item(i);.
27b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
27c0: 20 69 66 28 76 2e 69 73 43 6f 6e 74 61 69 6e 65   if(v.isContaine
27d0: 72 20 21 3d 20 76 63 74 4e 6f 29 0d 0a 20 20 20  r != vctNo)..   
27e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a               {..
27f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2800: 20 20 20 20 2f 2f 20 d0 95 d1 81 d0 bb d0 b8 20      // ........ 
2810: d0 be d0 ba d0 bd d0 be 20 2d 20 d0 ba d0 be d0  ........ - .....
2820: bd d1 82 d0 b5 d0 b9 d0 bd d0 b5 d1 80 2c 20 d1  ............., .
2830: 82 d0 be 20 d0 be d0 b1 d1 85 d0 be d0 b4 d0 b8  ... ............
2840: d0 bc 20 d1 80 d0 b5 d0 ba d1 83 d1 80 d1 81 d0  .. .............
2850: b8 d0 b2 d0 bd d0 be 20 d0 b5 d0 b3 d0 be 20 d0  ....... ...... .
2860: bf d0 be d1 82 d0 be d0 bc d0 ba d0 be d0 b2 2e  ................
2870: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2880: 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2e        arguments.
2890: 63 61 6c 6c 65 65 28 76 2e 65 6e 75 6d 43 68 69  callee(v.enumChi
28a0: 6c 64 73 28 29 29 3b 0d 0a 20 20 20 20 20 20 20  lds());..       
28b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e               con
28c0: 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20  tinue;..        
28d0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
28e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
28f0: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
2900: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72               var
2910: 20 6f 62 6a 20 3d 20 65 73 2e 67 65 74 57 69 6e   obj = es.getWin
2920: 64 6f 77 4f 62 6a 65 63 74 28 76 29 3b 0d 0a 20  dowObject(v);.. 
2930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
2940: 66 20 28 21 6f 62 6a 29 20 63 6f 6e 74 69 6e 75  f (!obj) continu
2950: 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  e;..            
2960: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20      ..          
2970: 20 20 20 20 20 20 76 61 72 20 64 6f 63 52 6f 77        var docRow
2980: 20 3d 20 65 73 2e 73 65 61 72 63 68 28 6f 62 6a   = es.search(obj
2990: 2c 20 72 65 29 3b 0d 0a 20 20 20 20 20 20 20 20  , re);..        
29a0: 20 20 20 20 20 20 20 20 69 66 20 28 76 20 3d 3d          if (v ==
29b0: 20 61 63 74 69 76 65 56 69 65 77 29 0d 0a 20 20   activeView)..  
29c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
29d0: 20 20 61 63 74 69 76 65 57 6e 64 52 65 73 52 6f    activeWndResRo
29e0: 77 20 3d 20 64 6f 63 52 6f 77 3b 0d 0a 20 20 20  w = docRow;..   
29f0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
2a00: 20 20 20 20 7d 29 28 77 69 6e 64 6f 77 73 2e 6d      })(windows.m
2a10: 64 69 56 69 65 77 2e 65 6e 75 6d 43 68 69 6c 64  diView.enumChild
2a20: 73 28 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d  s());..        .
2a30: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 68  .        this.sh
2a40: 6f 77 53 65 61 72 63 68 52 65 73 75 6c 74 28 61  owSearchResult(a
2a50: 63 74 69 76 65 57 6e 64 52 65 73 52 6f 77 2c 20  ctiveWndResRow, 
2a60: 66 72 6f 6d 48 6f 74 4b 65 79 29 3b 0d 0a 20 20  fromHotKey);..  
2a70: 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 73 65 61 72    },....    sear
2a80: 63 68 42 79 55 75 69 64 3a 20 66 75 6e 63 74 69  chByUuid: functi
2a90: 6f 6e 28 72 6f 77 29 20 7b 0d 0a 20 20 20 20 20  on(row) {..     
2aa0: 20 20 20 6d 64 4f 62 6a 20 3d 20 66 69 6e 64 4d     mdObj = findM
2ab0: 64 4f 62 6a 28 74 68 69 73 2e 63 75 72 72 65 6e  dObj(this.curren
2ac0: 74 4d 64 43 6f 6e 74 61 69 6e 65 72 2c 20 72 6f  tMdContainer, ro
2ad0: 77 2e 55 55 49 44 29 3b 0d 0a 20 20 20 20 20 20  w.UUID);..      
2ae0: 20 20 76 61 72 20 64 6f 63 52 6f 77 20 3d 20 6e    var docRow = n
2af0: 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 69 66  ull;..        if
2b00: 20 28 6d 64 4f 62 6a 29 7b 0d 0a 20 20 20 20 20   (mdObj){..     
2b10: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
2b20: 20 76 61 72 20 6f 62 6a 20 3d 20 74 68 69 73 2e   var obj = this.
2b30: 67 65 74 57 69 6e 64 6f 77 4f 62 6a 65 63 74 28  getWindowObject(
2b40: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
2b50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2b60: 20 20 20 6d 64 4f 62 6a 3a 6d 64 4f 62 6a 2c 0d     mdObj:mdObj,.
2b70: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
2b80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2b90: 20 6d 64 50 72 6f 70 3a 72 6f 77 2e 6d 64 50 72   mdProp:row.mdPr
2ba0: 6f 70 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  op,..           
2bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2bc0: 20 20 20 20 20 74 69 74 6c 65 3a 72 6f 77 2e 74       title:row.t
2bd0: 69 74 6c 65 7d 29 3b 0d 0a 20 20 20 20 20 20 20  itle});..       
2be0: 20 20 20 20 20 64 6f 63 52 6f 77 20 3d 20 74 68       docRow = th
2bf0: 69 73 2e 73 65 61 72 63 68 28 6f 62 6a 2c 20 74  is.search(obj, t
2c00: 68 69 73 2e 72 65 29 3b 0d 0a 20 20 20 20 20 20  his.re);..      
2c10: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 72 65 74    }..        ret
2c20: 75 72 6e 20 64 6f 63 52 6f 77 3b 0d 0a 20 20 20  urn docRow;..   
2c30: 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 73   },..    ..    s
2c40: 65 61 72 63 68 49 6e 4d 65 74 61 64 61 74 61 20  earchInMetadata 
2c50: 3a 20 66 75 6e 63 74 69 6f 6e 28 66 72 6f 6d 48  : function(fromH
2c60: 6f 74 4b 65 79 29 7b 0d 0a 0d 0a 20 20 20 20 20  otKey){....     
2c70: 20 20 20 76 61 72 20 6d 64 20 3d 20 6e 75 6c 6c     var md = null
2c80: 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74  ;..        if (t
2c90: 68 69 73 2e 69 73 49 6e 43 75 72 72 65 6e 74 4d  his.isInCurrentM
2ca0: 64 43 6f 6e 74 65 69 6e 65 72 46 69 6e 64 20 29  dConteinerFind )
2cb0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
2cc0: 76 61 72 20 61 63 74 69 76 65 57 69 6e 64 6f 77  var activeWindow
2cd0: 20 3d 20 74 68 69 73 2e 77 61 74 63 68 65 72 2e   = this.watcher.
2ce0: 67 65 74 41 63 74 69 76 65 54 65 78 74 57 69 6e  getActiveTextWin
2cf0: 64 6f 77 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  dow();..        
2d00: 20 20 20 20 69 66 20 28 21 61 63 74 69 76 65 57      if (!activeW
2d10: 69 6e 64 6f 77 29 20 7b 20 0d 0a 20 20 20 20 20  indow) { ..     
2d20: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d         } else {.
2d30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
2d40: 20 76 61 72 20 61 63 74 69 76 65 56 69 65 77 20   var activeView 
2d50: 3d 20 61 63 74 69 76 65 57 69 6e 64 6f 77 2e 47  = activeWindow.G
2d60: 65 74 56 69 65 77 28 29 3b 0d 0a 20 20 20 20 20  etView();..     
2d70: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21             if (!
2d80: 61 63 74 69 76 65 56 69 65 77 29 20 7b 0d 0a 20  activeView) {.. 
2d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
2da0: 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20   else {..       
2db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
2dc0: 28 61 63 74 69 76 65 56 69 65 77 2e 6d 64 4f 62  (activeView.mdOb
2dd0: 6a 20 26 26 20 61 63 74 69 76 65 56 69 65 77 2e  j && activeView.
2de0: 6d 64 50 72 6f 70 29 20 7b 0d 0a 20 20 20 20 20  mdProp) {..     
2df0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2e00: 20 20 20 6d 64 20 3d 20 61 63 74 69 76 65 56 69     md = activeVi
2e10: 65 77 2e 6d 64 4f 62 6a 2e 63 6f 6e 74 61 69 6e  ew.mdObj.contain
2e20: 65 72 3b 20 20 20 20 0d 0a 20 20 20 20 20 20 20  er;    ..       
2e30: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
2e40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2e50: 7d 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  } ..            
2e60: 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20  }..        }..  
2e70: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
2e80: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 6d  ..        if (!m
2e90: 64 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  d) {..          
2ea0: 20 20 6d 64 20 3d 20 6d 65 74 61 64 61 74 61 2e    md = metadata.
2eb0: 63 75 72 72 65 6e 74 3b 20 20 20 0d 0a 20 20 20  current;   ..   
2ec0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
2ed0: 69 66 20 28 21 6d 64 29 20 72 65 74 75 72 6e 3b  if (!md) return;
2ee0: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73  ....        this
2ef0: 2e 63 75 72 72 65 6e 74 4d 64 43 6f 6e 74 61 69  .currentMdContai
2f00: 6e 65 72 20 3d 20 6d 64 3b 0d 0a 20 20 20 20 20  ner = md;..     
2f10: 20 20 20 74 68 69 73 2e 63 6c 65 61 72 53 65 61     this.clearSea
2f20: 72 63 68 52 65 73 75 6c 74 73 28 29 3b 0d 0a 20  rchResults();.. 
2f30: 20 20 20 20 20 20 20 74 68 69 73 2e 72 65 20 3d         this.re =
2f40: 20 74 68 69 73 2e 62 75 69 6c 64 53 65 61 72 63   this.buildSearc
2f50: 68 52 65 67 45 78 70 4f 62 6a 65 63 74 28 29 3b  hRegExpObject();
2f60: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 74  ..        if (!t
2f70: 68 69 73 2e 72 65 29 20 72 65 74 75 72 6e 3b 0d  his.re) return;.
2f80: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
2f90: 20 20 20 74 68 69 73 2e 63 75 72 43 61 70 74 69     this.curCapti
2fa0: 6f 6e 20 3d 20 77 69 6e 64 6f 77 73 2e 63 61 70  on = windows.cap
2fb0: 74 69 6f 6e 3b 20 2f 2f d0 b0 20 d0 b2 d0 b4 d1  tion; //.. .....
2fc0: 80 d1 83 d0 b3 2c 20 d0 b5 d1 89 d0 b5 20 d0 ba  ....., ...... ..
2fd0: d1 82 d0 be 2d d1 82 d0 be 20 d0 bd d0 b5 20 d0  ....-.... .... .
2fe0: bf d0 be d0 bb d1 8c d0 b7 d1 83 d0 b5 d1 82 d1  ................
2ff0: 81 d1 8f 20 63 6f 6e 66 69 67 43 61 70 74 69 6f  ... configCaptio
3000: 6e 2e 2e 2e 20 0d 0a 20 20 20 20 20 20 20 20 0d  n... ..        .
3010: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 74  .        this.st
3020: 61 72 74 47 6c 6f 62 61 6c 53 65 61 72 63 68 20  artGlobalSearch 
3030: 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20  = true;..       
3040: 20 69 66 20 28 21 74 68 69 73 2e 76 74 4d 44 29   if (!this.vtMD)
3050: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74  {..            t
3060: 68 69 73 2e 76 74 4d 44 20 3d 20 7b 7d 3b 0d 0a  his.vtMD = {};..
3070: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
3080: 20 20 20 74 68 69 73 2e 72 65 61 64 4d 64 54 6f     this.readMdTo
3090: 56 74 28 74 68 69 73 2e 63 75 72 72 65 6e 74 4d  Vt(this.currentM
30a0: 64 43 6f 6e 74 61 69 6e 65 72 29 3b 0d 0a 20 20  dContainer);..  
30b0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
30c0: 74 68 69 73 2e 63 75 72 49 64 20 3d 20 30 3b 0d  this.curId = 0;.
30d0: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
30e0: 20 20 20 65 76 65 6e 74 73 2e 63 6f 6e 6e 65 63     events.connec
30f0: 74 28 44 65 73 69 67 6e 65 72 2c 20 22 6f 6e 49  t(Designer, "onI
3100: 64 6c 65 22 2c 20 74 68 69 73 29 3b 0d 0a 20 20  dle", this);..  
3110: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 2f       ..        /
3120: 2f 74 68 69 73 2e 73 68 6f 77 53 65 61 72 63 68  /this.showSearch
3130: 52 65 73 75 6c 74 28 64 6f 63 52 6f 77 2c 20 66  Result(docRow, f
3140: 72 6f 6d 48 6f 74 4b 65 79 29 3b 0d 0a 20 20 20  romHotKey);..   
3150: 20 20 20 20 20 2f 2f 77 69 6e 64 6f 77 73 2e 63       //windows.c
3160: 61 70 74 69 6f 6e 20 3d 20 63 75 72 43 61 70 74  aption = curCapt
3170: 69 6f 6e 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20  ion;..    },..  
3180: 20 20 0d 0a 20 20 20 20 6f 6e 49 64 6c 65 3a 66    ..    onIdle:f
3190: 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a 20 20 20 20  unction(){..    
31a0: 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 73 74      if (!this.st
31b0: 61 72 74 47 6c 6f 62 61 6c 53 65 61 72 63 68 29  artGlobalSearch)
31c0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
31d0: 77 69 6e 64 6f 77 73 2e 63 61 70 74 69 6f 6e 20  windows.caption 
31e0: 3d 20 74 68 69 73 2e 63 75 72 43 61 70 74 69 6f  = this.curCaptio
31f0: 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  n;..            
3200: 65 76 65 6e 74 73 2e 64 69 73 63 6f 6e 6e 65 63  events.disconnec
3210: 74 28 44 65 73 69 67 6e 65 72 2c 20 22 6f 6e 49  t(Designer, "onI
3220: 64 6c 65 22 2c 20 74 68 69 73 29 3b 0d 0a 20 20  dle", this);..  
3230: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 73            this.s
3240: 68 6f 77 53 65 61 72 63 68 52 65 73 75 6c 74 28  howSearchResult(
3250: 64 6f 63 52 6f 77 2c 20 66 61 6c 73 65 29 3b 0d  docRow, false);.
3260: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74  .            ret
3270: 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d  urn;..        }.
3280: 0a 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72  .        var cur
3290: 72 65 6e 74 49 64 20 3d 20 74 68 69 73 2e 63 75  rentId = this.cu
32a0: 72 72 65 6e 74 4d 64 43 6f 6e 74 61 69 6e 65 72  rrentMdContainer
32b0: 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e 69 64 3b 0d  .rootObject.id;.
32c0: 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 68 69  .        if (thi
32d0: 73 2e 76 74 4d 44 5b 63 75 72 72 65 6e 74 49 64  s.vtMD[currentId
32e0: 5d 2e 6c 65 6e 67 74 68 3c 31 29 20 7b 0d 0a 20  ].length<1) {.. 
32f0: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e             this.
3300: 73 74 61 72 74 47 6c 6f 62 61 6c 53 65 61 72 63  startGlobalSearc
3310: 68 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20  h = false;..    
3320: 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 2e 64          events.d
3330: 69 73 63 6f 6e 6e 65 63 74 28 44 65 73 69 67 6e  isconnect(Design
3340: 65 72 2c 20 22 6f 6e 49 64 6c 65 22 2c 20 74 68  er, "onIdle", th
3350: 69 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  is);..          
3360: 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20    return;..     
3370: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a     }..        ..
3380: 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 75 6e          var coun
3390: 74 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20  t = 0;..        
33a0: 76 61 72 20 64 6f 63 52 6f 77 20 3d 20 6e 75 6c  var docRow = nul
33b0: 6c 3b 0d 0a 20 20 20 20 20 20 20 20 77 68 69 6c  l;..        whil
33c0: 65 20 28 63 6f 75 6e 74 20 3c 20 32 35 29 7b 0d  e (count < 25){.
33d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20  .            if 
33e0: 28 74 68 69 73 2e 63 75 72 49 64 3c 74 68 69 73  (this.curId<this
33f0: 2e 76 74 4d 44 5b 63 75 72 72 65 6e 74 49 64 5d  .vtMD[currentId]
3400: 2e 6c 65 6e 67 74 68 29 7b 0d 0a 20 20 20 20 20  .length){..     
3410: 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 52 6f             docRo
3420: 77 20 3d 20 74 68 69 73 2e 73 65 61 72 63 68 42  w = this.searchB
3430: 79 55 75 69 64 28 74 68 69 73 2e 76 74 4d 44 5b  yUuid(this.vtMD[
3440: 63 75 72 72 65 6e 74 49 64 5d 5b 74 68 69 73 2e  currentId][this.
3450: 63 75 72 49 64 5d 29 3b 0d 0a 20 20 20 20 20 20  curId]);..      
3460: 20 20 20 20 20 20 20 20 20 20 77 69 6e 64 6f 77            window
3470: 73 2e 63 61 70 74 69 6f 6e 20 3d 20 74 68 69 73  s.caption = this
3480: 2e 76 74 4d 44 5b 63 75 72 72 65 6e 74 49 64 5d  .vtMD[currentId]
3490: 5b 74 68 69 73 2e 63 75 72 49 64 5d 2e 6d 64 4e  [this.curId].mdN
34a0: 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  ame;..          
34b0: 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20    } else {..    
34c0: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
34d0: 2e 73 74 61 72 74 47 6c 6f 62 61 6c 53 65 61 72  .startGlobalSear
34e0: 63 68 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20  ch = false;..   
34f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65               bre
3500: 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ak;..           
3510: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   }..            
3520: 74 68 69 73 2e 63 75 72 49 64 20 2b 2b 3b 0d 0a  this.curId ++;..
3530: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e              coun
3540: 74 2b 2b 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d  t++;..        }.
3550: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 68  .        this.sh
3560: 6f 77 53 65 61 72 63 68 52 65 73 75 6c 74 28 6e  owSearchResult(n
3570: 75 6c 6c 2c 20 66 61 6c 73 65 29 3b 0d 0a 20 20  ull, false);..  
3580: 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 2c 0d 0a        ..    },..
3590: 20 20 20 20 0d 0a 20 20 20 20 72 65 61 64 4d 64      ..    readMd
35a0: 54 6f 56 74 3a 66 75 6e 63 74 69 6f 6e 28 4d 64  ToVt:function(Md
35b0: 43 6f 6e 74 61 69 6e 65 72 29 7b 0d 0a 20 20 20  Container){..   
35c0: 20 20 20 20 20 76 61 72 20 63 75 72 72 65 6e 74       var current
35d0: 49 64 20 3d 20 4d 64 43 6f 6e 74 61 69 6e 65 72  Id = MdContainer
35e0: 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e 69 64 3b 20  .rootObject.id; 
35f0: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 74  ..        if (!t
3600: 68 69 73 2e 76 74 4d 44 5b 63 75 72 72 65 6e 74  his.vtMD[current
3610: 49 64 5d 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  Id]){..         
3620: 20 20 20 76 61 72 20 64 6f 63 52 6f 77 20 3d 20     var docRow = 
3630: 6e 75 6c 6c 3b 20 0d 0a 20 20 20 20 20 20 20 20  null; ..        
3640: 20 20 20 20 74 68 69 73 2e 76 74 4d 44 5b 63 75      this.vtMD[cu
3650: 72 72 65 6e 74 49 64 5d 20 3d 20 5b 5d 3b 0d 0a  rrentId] = [];..
3660: 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20              var 
3670: 65 73 20 3d 20 74 68 69 73 3b 0d 0a 20 20 20 20  es = this;..    
3680: 20 20 20 20 20 20 20 20 2f 2f d0 a0 d0 b5 d0 ba          //......
3690: d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b 20 d0 bf d1  ............ ...
36a0: 80 d0 be d0 bf d1 83 d1 81 d1 82 d0 b8 d0 bc 0d  ................
36b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72  .            var
36c0: 20 69 67 6e 6f 72 65 64 4d 64 43 6c 61 73 73 20   ignoredMdClass 
36d0: 3d 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  = {..           
36e0: 20 20 20 20 20 22 d0 a0 d0 b5 d0 ba d0 b2 d0 b8       "..........
36f0: d0 b7 d0 b8 d1 82 d1 8b 22 3a 22 22 2c 0d 0a 20  ........":"",.. 
3700: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22                 "
3710: d0 9c d0 b0 d0 ba d0 b5 d1 82 d1 8b 22 20 3a 20  ............" : 
3720: 22 22 20 2c 0d 0a 20 20 20 20 20 20 20 20 20 20  "" ,..          
3730: 20 20 20 20 20 20 22 d0 9e d0 b1 d1 89 d0 b8 d0        ".........
3740: b5 d0 9a d0 b0 d1 80 d1 82 d0 b8 d0 bd d0 ba d0  ................
3750: b8 22 20 3a 20 22 22 20 2c 0d 0a 20 20 20 20 20  ." : "" ,..     
3760: 20 20 20 20 20 20 20 20 20 20 20 22 d0 ad d0 bb             "....
3770: d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b 20 d1 81 d1  ............ ...
3780: 82 d0 b8 d0 bb d1 8f 22 20 3a 20 22 22 20 2c 0d  ......." : "" ,.
3790: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
37a0: 20 22 d0 9f d0 be d0 b4 d1 81 d0 b8 d1 81 d1 82   "..............
37b0: d0 b5 d0 bc d1 8b 22 20 3a 20 22 22 20 2c 0d 0a  ......" : "" ,..
37c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
37d0: 22 d0 af d0 b7 d1 8b d0 ba d0 b8 22 20 3a 20 22  ".........." : "
37e0: 22 20 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  " ,..           
37f0: 20 20 20 20 20 22 d0 a1 d1 82 d0 b8 d0 bb d0 b8       "..........
3800: 22 20 3a 20 22 22 20 2c 0d 0a 20 20 20 20 20 20  " : "" ,..      
3810: 20 20 20 20 20 20 20 20 20 20 22 d0 98 d0 bd d1            ".....
3820: 82 d0 b5 d1 80 d1 84 d0 b5 d0 b9 d1 81 d1 8b 22  ..............."
3830: 20 3a 20 22 22 20 2c 0d 0a 20 20 20 20 20 20 20   : "" ,..       
3840: 20 20 20 20 20 20 20 20 20 22 d0 9f d0 b0 d1 80           "......
3850: d0 b0 d0 bc d0 b5 d1 82 d1 80 d1 8b d0 a1 d0 b5  ................
3860: d0 b0 d0 bd d1 81 d0 b0 22 20 3a 20 22 22 20 2c  ........" : "" ,
3870: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3880: 20 20 22 d0 a0 d0 be d0 bb d0 b8 22 20 3a 20 22    "........" : "
3890: 22 20 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  " ,..           
38a0: 20 20 20 20 20 22 d0 9e d0 b1 d1 89 d0 b8 d0 b5       "..........
38b0: d0 9c d0 b0 d0 ba d0 b5 d1 82 d1 8b 22 20 3a 20  ............" : 
38c0: 22 22 20 2c 0d 0a 20 20 20 20 20 20 20 20 20 20  "" ,..          
38d0: 20 20 20 20 20 20 22 d0 9a d1 80 d0 b8 d1 82 d0        ".........
38e0: b5 d1 80 d0 b8 d0 b8 d0 9e d1 82 d0 b1 d0 be d1  ................
38f0: 80 d0 b0 22 20 3a 20 22 22 20 2c 0d 0a 20 20 20  ..." : "" ,..   
3900: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 d0 9e               "..
3910: d0 b1 d1 89 d0 b8 d0 b5 d0 a0 d0 b5 d0 ba d0 b2  ................
3920: d0 b8 d0 b7 d0 b8 d1 82 d1 8b 22 20 3a 20 22 22  .........." : ""
3930: 20 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   ,..            
3940: 20 20 20 20 22 d0 a2 d0 b0 d0 b1 d0 bb d0 b8 d1      "...........
3950: 87 d0 bd d1 8b d0 b5 d0 a7 d0 b0 d1 81 d1 82 d0  ................
3960: b8 22 20 3a 20 22 22 20 2c 0d 0a 20 20 20 20 20  ." : "" ,..     
3970: 20 20 20 20 20 20 20 20 20 20 20 22 d0 9f d0 b0             "....
3980: d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d1 8b 22 20  .............." 
3990: 3a 20 22 22 20 0d 0a 20 20 20 20 20 20 20 20 20  : "" ..         
39a0: 20 20 20 20 20 20 20 7d 3b 0d 0a 20 20 20 20 20         };..     
39b0: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
39c0: 20 20 20 20 20 20 20 20 20 76 61 72 20 73 6f 72           var sor
39d0: 74 20 3d 20 30 3b 20 2f 2f d0 94 d0 bb d1 8f 20  t = 0; //...... 
39e0: d1 81 d0 be d1 80 d1 82 d0 b8 d1 80 d0 be d0 b2  ................
39f0: d0 ba d0 b8 20 d0 bc d0 be d0 b4 d1 83 d0 bb d0  .... ...........
3a00: b5 d0 b9 20 d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8  ... ............
3a10: d0 b9 20 d0 bf d0 be 20 d0 bf d0 be d1 80 d1 8f  .. .... ........
3a20: d0 b4 d0 ba d1 83 20 d0 be d0 b1 d1 85 d0 be d0  ...... .........
3a30: b4 d0 b0 2c 20 d0 b0 20 d0 bd d0 b5 20 d0 bf d0  ..., .. .... ...
3a40: be 20 d0 b0 d0 bb d1 84 d0 b0 d0 b2 d0 b8 d1 82  . ..............
3a50: d1 83 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .....           
3a60: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 28   ..            (
3a70: 66 75 6e 63 74 69 6f 6e 20 28 6d 64 4f 62 6a 29  function (mdObj)
3a80: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
3a90: 20 20 20 69 66 20 28 21 65 73 2e 73 74 61 72 74     if (!es.start
3aa0: 47 6c 6f 62 61 6c 53 65 61 72 63 68 29 20 7b 72  GlobalSearch) {r
3ab0: 65 74 75 72 6e 7d 20 0d 0a 20 20 20 20 20 20 20  eturn} ..       
3ac0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
3ad0: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d             var m
3ae0: 64 63 20 3d 20 6d 64 4f 62 6a 2e 6d 64 63 6c 61  dc = mdObj.mdcla
3af0: 73 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ss;..           
3b00: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ..             
3b10: 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d     function getM
3b20: 64 4e 61 6d 65 28 6d 64 4f 62 6a 29 20 7b 20 20  dName(mdObj) {  
3b30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3b40: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
3b50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3b60: 20 69 66 20 28 6d 64 4f 62 6a 2e 70 61 72 65 6e   if (mdObj.paren
3b70: 74 20 26 26 20 6d 64 4f 62 6a 2e 70 61 72 65 6e  t && mdObj.paren
3b80: 74 2e 6d 64 43 6c 61 73 73 2e 6e 61 6d 65 28 31  t.mdClass.name(1
3b90: 29 20 21 3d 20 27 d0 9a d0 be d0 bd d1 84 d0 b8  ) != '..........
3ba0: d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d1 8f 27 29  ..............')
3bb0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3bc0: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
3bd0: 20 67 65 74 4d 64 4e 61 6d 65 28 6d 64 4f 62 6a   getMdName(mdObj
3be0: 2e 70 61 72 65 6e 74 29 20 2b 20 27 2e 27 20 2b  .parent) + '.' +
3bf0: 20 6d 64 4f 62 6a 2e 6d 64 43 6c 61 73 73 2e 6e   mdObj.mdClass.n
3c00: 61 6d 65 28 31 29 20 2b 20 27 20 27 20 2b 20 6d  ame(1) + ' ' + m
3c10: 64 4f 62 6a 2e 6e 61 6d 65 3b 0d 0a 20 20 20 20  dObj.name;..    
3c20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3c30: 76 61 72 20 63 6e 61 6d 65 20 3d 20 6d 64 4f 62  var cname = mdOb
3c40: 6a 2e 6d 64 43 6c 61 73 73 2e 6e 61 6d 65 28 31  j.mdClass.name(1
3c50: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
3c60: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 20          return  
3c70: 28 63 6e 61 6d 65 20 3f 20 63 6e 61 6d 65 20 2b  (cname ? cname +
3c80: 20 27 20 27 20 3a 20 27 27 29 20 2b 20 6d 64 4f   ' ' : '') + mdO
3c90: 62 6a 2e 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20  bj.name;..      
3ca0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
3cb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72               var
3cc0: 20 6d 64 4e 61 6d 65 20 3d 20 67 65 74 4d 64 4e   mdName = getMdN
3cd0: 61 6d 65 28 6d 64 4f 62 6a 29 0d 0a 20 20 20 20  ame(mdObj)..    
3ce0: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
3cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
3d00: 72 28 76 61 72 20 69 20 3d 20 30 2c 20 63 20 3d  r(var i = 0, c =
3d10: 20 6d 64 63 2e 70 72 6f 70 65 72 74 69 65 73 43   mdc.propertiesC
3d20: 6f 75 6e 74 3b 20 69 20 3c 20 63 3b 20 69 2b 2b  ount; i < c; i++
3d30: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
3d40: 20 20 20 20 20 20 20 20 76 61 72 20 6d 64 50 72          var mdPr
3d50: 6f 70 20 3d 20 6d 64 63 2e 70 72 6f 70 65 72 74  op = mdc.propert
3d60: 79 41 74 28 69 29 3b 0d 0a 20 20 20 20 20 20 20  yAt(i);..       
3d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72               var
3d80: 20 6d 64 50 72 6f 70 4e 61 6d 65 20 3d 20 6d 64   mdPropName = md
3d90: 63 2e 70 72 6f 70 65 72 74 79 41 74 28 69 29 2e  c.propertyAt(i).
3da0: 6e 61 6d 65 28 31 29 3b 0d 0a 0d 0a 20 20 20 20  name(1);....    
3db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3dc0: 69 66 20 28 6d 64 4f 62 6a 2e 69 73 50 72 6f 70  if (mdObj.isProp
3dd0: 4d 6f 64 75 6c 65 28 6d 64 50 72 6f 70 2e 69 64  Module(mdProp.id
3de0: 29 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  )){..           
3df0: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72               var
3e00: 20 72 6f 77 20 3d 20 7b 55 55 49 44 20 3a 20 6d   row = {UUID : m
3e10: 64 4f 62 6a 2e 69 64 7d 0d 0a 20 20 20 20 20 20  dObj.id}..      
3e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3e30: 20 20 72 6f 77 2e 6d 64 50 72 6f 70 20 3d 20 6d    row.mdProp = m
3e40: 64 50 72 6f 70 3b 0d 0a 20 20 20 20 20 20 20 20  dProp;..        
3e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3e60: 72 6f 77 2e 6d 64 4e 61 6d 65 20 3d 20 6d 64 4e  row.mdName = mdN
3e70: 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  ame;..          
3e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a                ..
3e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3ea0: 20 20 20 20 20 20 20 20 73 6f 72 74 2b 2b 3b 0d          sort++;.
3eb0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
3ec0: 20 20 20 20 20 20 20 20 20 73 74 72 53 6f 72 74           strSort
3ed0: 20 3d 20 22 30 30 30 30 30 30 22 2b 73 6f 72 74   = "000000"+sort
3ee0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
3ef0: 20 20 20 20 20 20 20 20 20 20 20 73 74 72 53 6f             strSo
3f00: 72 74 20 3d 20 73 74 72 53 6f 72 74 2e 73 75 62  rt = strSort.sub
3f10: 73 74 72 28 73 74 72 53 6f 72 74 2e 6c 65 6e 67  str(strSort.leng
3f20: 74 68 2d 35 29 3b 0d 0a 20 20 20 20 20 20 20 20  th-5);..        
3f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3f40: 74 69 74 6c 65 20 3d 20 27 27 2b 73 74 72 53 6f  title = ''+strSo
3f50: 72 74 2b 27 20 27 2b 6d 64 4e 61 6d 65 20 2b 20  rt+' '+mdName + 
3f60: 27 3a 20 27 20 2b 20 6d 64 50 72 6f 70 4e 61 6d  ': ' + mdPropNam
3f70: 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  e;..            
3f80: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
3f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3fa0: 20 20 20 20 20 20 72 6f 77 2e 74 69 74 6c 65 20        row.title 
3fb0: 3d 20 74 69 74 6c 65 3b 0d 0a 20 20 20 20 20 20  = title;..      
3fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3fd0: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
3fe0: 20 20 20 20 20 20 20 20 20 20 20 20 65 73 2e 76              es.v
3ff0: 74 4d 44 5b 63 75 72 72 65 6e 74 49 64 5d 2e 70  tMD[currentId].p
4000: 75 73 68 28 72 6f 77 29 3b 0d 0a 20 20 20 20 20  ush(row);..     
4010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
4020: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4030: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20    }..           
4040: 20 20 20 20 20 2f 2f 20 d0 9f d0 b5 d1 80 d0 b5       // ........
4050: d0 b1 d0 b8 d1 80 d0 b0 d0 b5 d0 bc 20 d0 ba d0  ............ ...
4060: bb d0 b0 d1 81 d1 81 d1 8b 20 d0 bf d0 be d1 82  ......... ......
4070: d0 be d0 bc d0 ba d0 be d0 b2 20 28 d0 bd d0 b0  .......... (....
4080: d0 bf d1 80 d0 b8 d0 bc d0 b5 d1 80 20 d1 83 20  ............ .. 
4090: d0 94 d0 be d0 ba d1 83 d0 bc d0 b5 d0 bd d1 82  ................
40a0: d0 b0 20 d1 8d d1 82 d0 be 20 d0 a0 d0 b5 d0 ba  .. ...... ......
40b0: d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b 2c 20 d0 a2  ............, ..
40c0: d0 b0 d0 b1 d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5  ................
40d0: d0 a7 d0 b0 d1 81 d1 82 d0 b8 2c 20 d0 a4 d0 be  .........., ....
40e0: d1 80 d0 bc d1 8b 29 0d 0a 20 20 20 20 20 20 20  ......)..       
40f0: 20 20 20 20 20 20 20 20 20 66 6f 72 28 76 61 72           for(var
4100: 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 64 63 2e   i = 0; i < mdc.
4110: 63 68 69 6c 64 73 43 6c 61 73 73 65 73 43 6f 75  childsClassesCou
4120: 6e 74 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 20 20  nt; i++)..      
4130: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20            {..   
4140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4150: 20 76 61 72 20 63 68 69 6c 64 4d 64 43 6c 61 73   var childMdClas
4160: 73 20 3d 20 6d 64 63 2e 63 68 69 6c 64 43 6c 61  s = mdc.childCla
4170: 73 73 41 74 28 69 29 0d 0a 20 20 20 20 20 20 20  ssAt(i)..       
4180: 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20               .. 
4190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
41a0: 20 20 20 69 66 20 28 21 28 69 67 6e 6f 72 65 64     if (!(ignored
41b0: 4d 64 43 6c 61 73 73 5b 63 68 69 6c 64 4d 64 43  MdClass[childMdC
41c0: 6c 61 73 73 2e 6e 61 6d 65 28 31 2c 20 74 72 75  lass.name(1, tru
41d0: 65 29 5d 3d 3d 75 6e 64 65 66 69 6e 65 64 29 29  e)]==undefined))
41e0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
41f0: 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69             conti
4200: 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  nue;..          
4210: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
4220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4230: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ..             
4240: 20 20 20 20 20 20 20 2f 2f 20 d0 94 d0 bb d1 8f         // ......
4250: 20 d0 be d1 81 d1 82 d0 b0 d0 bb d1 8c d0 bd d0   ...............
4260: be d0 b3 d0 be 20 d0 bf d0 b5 d1 80 d0 b5 d0 b1  ..... ..........
4270: d0 b5 d1 80 d0 b5 d0 bc 20 d0 bf d0 be d1 82 d0  ........ .......
4280: be d0 bc d0 ba d0 be d0 b2 20 d1 8d d1 82 d0 be  ......... ......
4290: d0 b3 d0 be 20 d0 ba d0 bb d0 b0 d1 81 d1 81 d0  .... ...........
42a0: b0 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
42b0: 20 20 20 20 20 20 20 20 66 6f 72 28 76 61 72 20          for(var 
42c0: 63 68 6c 64 69 64 78 20 3d 20 30 2c 20 63 20 3d  chldidx = 0, c =
42d0: 20 6d 64 4f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65   mdObj.childObje
42e0: 63 74 73 43 6f 75 6e 74 28 69 29 3b 20 63 68 6c  ctsCount(i); chl
42f0: 64 69 64 78 20 3c 20 63 3b 20 63 68 6c 64 69 64  didx < c; chldid
4300: 78 2b 2b 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  x++){..         
4310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76                 v
4320: 61 72 20 63 68 69 6c 64 4f 62 6a 65 63 74 20 3d  ar childObject =
4330: 20 6d 64 4f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65   mdObj.childObje
4340: 63 74 28 69 2c 20 63 68 6c 64 69 64 78 29 3b 0d  ct(i, chldidx);.
4350: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
4360: 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e           argumen
4370: 74 73 2e 63 61 6c 6c 65 65 28 63 68 69 6c 64 4f  ts.callee(childO
4380: 62 6a 65 63 74 29 3b 0d 0a 20 20 20 20 20 20 20  bject);..       
4390: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
43a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
43b0: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d  }..            }
43c0: 29 28 4d 64 43 6f 6e 74 61 69 6e 65 72 2e 72 6f  )(MdContainer.ro
43d0: 6f 74 4f 62 6a 65 63 74 29 0d 0a 20 20 20 20 20  otObject)..     
43e0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
43f0: 20 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20   }..    },..    
4400: 0d 0a 20 20 20 20 73 65 61 72 63 68 41 63 74 69  ..    searchActi
4410: 76 65 44 6f 63 20 3a 20 66 75 6e 63 74 69 6f 6e  veDoc : function
4420: 20 28 66 72 6f 6d 48 6f 74 4b 65 79 29 20 7b 0d   (fromHotKey) {.
4430: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
4440: 20 20 20 74 68 69 73 2e 63 6c 65 61 72 53 65 61     this.clearSea
4450: 72 63 68 52 65 73 75 6c 74 73 28 29 3b 0d 0a 20  rchResults();.. 
4460: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
4470: 20 76 61 72 20 61 63 74 69 76 65 57 69 6e 64 6f   var activeWindo
4480: 77 20 3d 20 74 68 69 73 2e 77 61 74 63 68 65 72  w = this.watcher
4490: 2e 67 65 74 41 63 74 69 76 65 54 65 78 74 57 69  .getActiveTextWi
44a0: 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20 20 20 20  ndow();..       
44b0: 20 69 66 20 28 21 61 63 74 69 76 65 57 69 6e 64   if (!activeWind
44c0: 6f 77 29 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20  ow) return;..   
44d0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
44e0: 20 20 20 20 76 61 72 20 72 65 20 3d 20 74 68 69      var re = thi
44f0: 73 2e 62 75 69 6c 64 53 65 61 72 63 68 52 65 67  s.buildSearchReg
4500: 45 78 70 4f 62 6a 65 63 74 28 29 3b 0d 0a 20 20  ExpObject();..  
4510: 20 20 20 20 20 20 69 66 20 28 21 72 65 29 20 72        if (!re) r
4520: 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20  eturn;....      
4530: 20 20 76 61 72 20 6f 62 6a 20 3d 20 74 68 69 73    var obj = this
4540: 2e 67 65 74 57 69 6e 64 6f 77 4f 62 6a 65 63 74  .getWindowObject
4550: 28 61 63 74 69 76 65 57 69 6e 64 6f 77 2e 47 65  (activeWindow.Ge
4560: 74 56 69 65 77 28 29 29 3b 0d 0a 20 20 20 20 20  tView());..     
4570: 20 20 20 69 66 20 28 21 6f 62 6a 29 20 72 65 74     if (!obj) ret
4580: 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  urn;..        ..
4590: 20 20 20 20 20 20 20 20 76 61 72 20 64 6f 63 52          var docR
45a0: 6f 77 20 3d 20 74 68 69 73 2e 73 65 61 72 63 68  ow = this.search
45b0: 28 6f 62 6a 2c 20 72 65 29 3b 0d 0a 20 20 20 20  (obj, re);..    
45c0: 20 20 20 20 74 68 69 73 2e 69 73 47 6c 6f 62 61      this.isGloba
45d0: 6c 46 69 6e 64 20 3d 20 66 61 6c 73 65 3b 0d 0a  lFind = false;..
45e0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
45f0: 20 20 74 68 69 73 2e 73 68 6f 77 53 65 61 72 63    this.showSearc
4600: 68 52 65 73 75 6c 74 28 64 6f 63 52 6f 77 2c 20  hResult(docRow, 
4610: 66 72 6f 6d 48 6f 74 4b 65 79 29 3b 0d 0a 20 20  fromHotKey);..  
4620: 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 62 75 69 6c    },....    buil
4630: 64 53 65 61 72 63 68 52 65 67 45 78 70 4f 62 6a  dSearchRegExpObj
4640: 65 63 74 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28  ect : function (
4650: 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 20  ) {..    ..     
4660: 20 20 20 76 61 72 20 70 61 74 74 65 72 6e 20 3d     var pattern =
4670: 20 74 68 69 73 2e 66 6f 72 6d 2e 51 75 65 72 79   this.form.Query
4680: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  ;..        ..   
4690: 20 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 66       if (!this.f
46a0: 6f 72 6d 2e 49 73 52 65 67 45 78 70 29 20 0d 0a  orm.IsRegExp) ..
46b0: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
46c0: 20 20 20 20 20 20 20 70 61 74 74 65 72 6e 20 3d         pattern =
46d0: 20 53 74 72 69 6e 67 55 74 69 6c 73 2e 61 64 64   StringUtils.add
46e0: 53 6c 61 73 68 65 73 28 70 61 74 74 65 72 6e 29  Slashes(pattern)
46f0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d  ;..            .
4700: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20  .            if 
4710: 28 74 68 69 73 2e 66 6f 72 6d 2e 57 68 6f 6c 65  (this.form.Whole
4720: 57 6f 72 64 73 29 0d 0a 20 20 20 20 20 20 20 20  Words)..        
4730: 20 20 20 20 20 20 20 20 70 61 74 74 65 72 6e 20          pattern 
4740: 3d 20 22 28 5b 5e 5c 5c 77 5c 5c 64 d0 90 2d d1  = "([^\\w\\d..-.
4750: 8f 5d 7c 5e 29 22 20 2b 20 70 61 74 74 65 72 6e  .]|^)" + pattern
4760: 20 2b 20 22 28 5b 5e 5c 5c 77 5c 5c 64 d0 90 2d   + "([^\\w\\d..-
4770: d1 8f 5d 7c 24 29 22 3b 0d 0a 20 20 20 20 20 20  ..]|$)";..      
4780: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20    }..        .. 
4790: 20 20 20 20 20 20 20 76 61 72 20 69 46 6c 61 67         var iFlag
47a0: 20 3d 20 21 74 68 69 73 2e 66 6f 72 6d 2e 43 61   = !this.form.Ca
47b0: 73 65 53 65 6e 73 65 74 69 76 65 3b 0d 0a 20 20  seSensetive;..  
47c0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
47d0: 76 61 72 20 72 65 20 3d 20 6e 75 6c 6c 3b 0d 0a  var re = null;..
47e0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
47f0: 20 20 74 72 79 20 0d 0a 20 20 20 20 20 20 20 20    try ..        
4800: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72  {..            r
4810: 65 20 3d 20 6e 65 77 20 52 65 67 45 78 70 28 70  e = new RegExp(p
4820: 61 74 74 65 72 6e 2c 20 69 46 6c 61 67 20 3f 20  attern, iFlag ? 
4830: 27 69 27 20 3a 20 27 27 29 3b 0d 0a 20 20 20 20  'i' : '');..    
4840: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 63      }..        c
4850: 61 74 63 68 20 28 65 29 0d 0a 20 20 20 20 20 20  atch (e)..      
4860: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
4870: 20 44 6f 4d 65 73 73 61 67 65 42 6f 78 28 22 d0   DoMessageBox(".
4880: 92 20 d1 80 d0 b5 d0 b3 d1 83 d0 bb d1 8f d1 80  . ..............
4890: d0 bd d0 be d0 bc 20 d0 b2 d1 8b d1 80 d0 b0 d0  ...... .........
48a0: b6 d0 b5 d0 bd d0 b8 d0 b8 20 d0 b4 d0 be d0 bf  ......... ......
48b0: d1 83 d1 89 d0 b5 d0 bd d0 b0 20 d0 be d1 88 d0  .......... .....
48c0: b8 d0 b1 d0 ba d0 b0 3a 20 5c 6e 22 20 2b 20 65  .......: \n" + e
48d0: 2e 6d 65 73 73 61 67 65 29 3b 0d 0a 20 20 20 20  .message);..    
48e0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e          return n
48f0: 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d  ull;..        }.
4900: 0a 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 72  .    ..        r
4910: 65 74 75 72 6e 20 72 65 3b 0d 0a 20 20 20 20 7d  eturn re;..    }
4920: 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 73 65 61  ,..    ..    sea
4930: 72 63 68 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28  rch : function (
4940: 6f 62 6a 2c 20 72 65 29 20 7b 0d 0a 20 20 20 20  obj, re) {..    
4950: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
4960: 76 61 72 20 64 6f 63 52 6f 77 20 3d 20 74 68 69  var docRow = thi
4970: 73 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e 41  s.results.Rows.A
4980: 64 64 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 64  dd();..        d
4990: 6f 63 52 6f 77 2e 46 6f 75 6e 64 4c 69 6e 65 20  ocRow.FoundLine 
49a0: 3d 20 6f 62 6a 2e 67 65 74 54 69 74 6c 65 28 29  = obj.getTitle()
49b0: 3b 0d 0a 20 20 20 20 20 20 20 20 64 6f 63 52 6f  ;..        docRo
49c0: 77 2e 5f 6f 62 6a 65 63 74 20 3d 20 6f 62 6a 3b  w._object = obj;
49d0: 0d 0a 20 20 20 20 20 20 20 20 64 6f 63 52 6f 77  ..        docRow
49e0: 2e 52 6f 77 54 79 70 65 20 3d 20 52 6f 77 54 79  .RowType = RowTy
49f0: 70 65 73 2e 53 65 61 72 63 68 44 6f 63 3b 0d 0a  pes.SearchDoc;..
4a00: 20 20 20 20 20 20 20 20 64 6f 63 52 6f 77 2e 67          docRow.g
4a10: 72 6f 75 70 73 43 61 63 68 65 20 3d 20 76 38 4e  roupsCache = v8N
4a20: 65 77 28 27 4d 61 70 27 29 3b 0d 0a 20 20 20 20  ew('Map');..    
4a30: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
4a40: 76 61 72 20 63 75 72 4d 65 74 68 6f 64 20 3d 20  var curMethod = 
4a50: 7b 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  { ..            
4a60: 27 4e 61 6d 65 27 20 20 20 20 20 20 3a 20 27 d0  'Name'      : '.
4a70: a0 d0 b0 d0 b7 d0 b4 d0 b5 d0 bb 20 d0 be d0 bf  ........... ....
4a80: d0 b8 d1 81 d0 b0 d0 bd d0 b8 d1 8f 20 d0 bf d0  ............ ...
4a90: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1  ................
4aa0: 85 27 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .',..           
4ab0: 20 27 49 73 50 72 6f 63 27 20 20 20 20 3a 20 75   'IsProc'    : u
4ac0: 6e 64 65 66 69 6e 65 64 2c 0d 0a 20 20 20 20 20  ndefined,..     
4ad0: 20 20 20 20 20 20 20 27 53 74 61 72 74 4c 69 6e         'StartLin
4ae0: 65 27 20 3a 20 30 0d 0a 20 20 20 20 20 20 20 20  e' : 0..        
4af0: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  }..             
4b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4b10: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72     ..        var
4b20: 20 6c 69 6e 65 73 20 3d 20 53 74 72 69 6e 67 55   lines = StringU
4b30: 74 69 6c 73 2e 74 6f 4c 69 6e 65 73 28 6f 62 6a  tils.toLines(obj
4b40: 2e 67 65 74 54 65 78 74 28 29 29 3b 0d 0a 20 20  .getText());..  
4b50: 20 20 20 20 20 20 66 6f 72 28 76 61 72 20 6c 69        for(var li
4b60: 6e 65 49 78 3d 30 3b 20 6c 69 6e 65 49 78 20 3c  neIx=0; lineIx <
4b70: 20 6c 69 6e 65 73 2e 6c 65 6e 67 74 68 3b 20 6c   lines.length; l
4b80: 69 6e 65 49 78 2b 2b 29 0d 0a 20 20 20 20 20 20  ineIx++)..      
4b90: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
4ba0: 20 76 61 72 20 6c 69 6e 65 20 3d 20 6c 69 6e 65   var line = line
4bb0: 73 5b 6c 69 6e 65 49 78 5d 3b 0d 0a 20 20 20 20  s[lineIx];..    
4bc0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
4bd0: 20 20 20 20 20 20 2f 2f 20 d0 9f d1 80 d0 be d0        // .......
4be0: b2 d0 b5 d1 80 d0 b8 d0 bc 2c 20 d0 bd d0 b5 20  ........., .... 
4bf0: d0 b2 d1 81 d1 82 d1 80 d0 b5 d1 82 d0 b8 d0 bb  ................
4c00: d0 be d1 81 d1 8c 20 d0 bb d0 b8 20 d0 bd d0 b0  ...... .... ....
4c10: d1 87 d0 b0 d0 bb d0 be 20 d0 bc d0 b5 d1 82 d0  ........ .......
4c20: be d0 b4 d0 b0 2e 0d 0a 20 20 20 20 20 20 20 20  ........        
4c30: 20 20 20 20 76 61 72 20 6d 61 74 63 68 65 73 20      var matches 
4c40: 3d 20 6c 69 6e 65 2e 6d 61 74 63 68 28 52 45 2e  = line.match(RE.
4c50: 4d 45 54 48 4f 44 5f 53 54 41 52 54 29 3b 0d 0a  METHOD_START);..
4c60: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
4c70: 6d 61 74 63 68 65 73 20 26 26 20 6d 61 74 63 68  matches && match
4c80: 65 73 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 20 20  es.length)..    
4c90: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
4ca0: 20 20 20 20 20 20 20 20 20 20 20 63 75 72 4d 65             curMe
4cb0: 74 68 6f 64 20 3d 20 7b 0d 0a 20 20 20 20 20 20  thod = {..      
4cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 4e                'N
4cd0: 61 6d 65 27 20 20 20 20 20 20 3a 20 6d 61 74 63  ame'      : matc
4ce0: 68 65 73 5b 32 5d 2c 0d 0a 20 20 20 20 20 20 20  hes[2],..       
4cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 27 49 73               'Is
4d00: 50 72 6f 63 27 20 20 20 20 3a 20 6d 61 74 63 68  Proc'    : match
4d10: 65 73 5b 31 5d 2e 74 6f 4c 6f 77 65 72 43 61 73  es[1].toLowerCas
4d20: 65 28 29 20 3d 3d 20 27 d0 bf d1 80 d0 be d1 86  e() == '........
4d30: d0 b5 d0 b4 d1 83 d1 80 d0 b0 27 20 7c 7c 20 6d  ..........' || m
4d40: 61 74 63 68 65 73 5b 31 5d 2e 74 6f 4c 6f 77 65  atches[1].toLowe
4d50: 72 43 61 73 65 28 29 20 3d 3d 20 27 70 72 6f 63  rCase() == 'proc
4d60: 65 64 75 72 65 27 2c 0d 0a 20 20 20 20 20 20 20  edure',..       
4d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 27 53 74               'St
4d80: 61 72 74 4c 69 6e 65 27 20 3a 20 6c 69 6e 65 49  artLine' : lineI
4d90: 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  x..             
4da0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
4db0: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20    }..           
4dc0: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d   ..            m
4dd0: 61 74 63 68 65 73 20 3d 20 6c 69 6e 65 2e 6d 61  atches = line.ma
4de0: 74 63 68 28 72 65 29 3b 0d 0a 20 20 20 20 20 20  tch(re);..      
4df0: 20 20 20 20 20 20 69 66 20 28 6d 61 74 63 68 65        if (matche
4e00: 73 20 26 26 20 6d 61 74 63 68 65 73 2e 6c 65 6e  s && matches.len
4e10: 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20 20 20  gth)..          
4e20: 20 20 20 20 20 20 74 68 69 73 2e 61 64 64 53 65        this.addSe
4e30: 61 72 63 68 52 65 73 75 6c 74 28 64 6f 63 52 6f  archResult(docRo
4e40: 77 2c 20 6c 69 6e 65 2c 20 6c 69 6e 65 49 78 20  w, line, lineIx 
4e50: 2b 20 31 2c 20 6d 61 74 63 68 65 73 2c 20 63 75  + 1, matches, cu
4e60: 72 4d 65 74 68 6f 64 29 3b 0d 0a 20 20 20 20 20  rMethod);..     
4e70: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
4e80: 20 20 20 20 20 20 20 20 2f 2f 20 d0 9f d1 80 d0          // .....
4e90: be d0 b2 d0 b5 d1 80 d0 b8 d0 bc 2c 20 d0 bd d0  ..........., ...
4ea0: b5 20 d0 b2 d1 81 d1 82 d1 80 d0 b5 d1 82 d0 b8  . ..............
4eb0: d0 bb d1 81 d1 8f 20 d0 bb d0 b8 20 d0 ba d0 be  ...... .... ....
4ec0: d0 bd d0 b5 d1 86 20 d0 bc d0 b5 d1 82 d0 be d0  ...... .........
4ed0: b4 d0 b0 2e 0d 0a 20 20 20 20 20 20 20 20 20 20  ......          
4ee0: 20 20 6d 61 74 63 68 65 73 20 3d 20 6c 69 6e 65    matches = line
4ef0: 2e 6d 61 74 63 68 28 52 45 2e 4d 45 54 48 4f 44  .match(RE.METHOD
4f00: 5f 45 4e 44 29 3b 0d 0a 20 20 20 20 20 20 20 20  _END);..        
4f10: 20 20 20 20 69 66 20 28 6d 61 74 63 68 65 73 20      if (matches 
4f20: 26 26 20 6d 61 74 63 68 65 73 2e 6c 65 6e 67 74  && matches.lengt
4f30: 68 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  h)..            
4f40: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
4f50: 20 20 20 63 75 72 4d 65 74 68 6f 64 20 3d 20 7b     curMethod = {
4f60: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4f70: 20 20 20 20 20 20 27 4e 61 6d 65 27 20 20 20 20        'Name'    
4f80: 20 20 3a 20 27 3c d0 a2 d0 b5 d0 ba d1 81 d1 82    : '<..........
4f90: 20 d0 b2 d0 bd d0 b5 20 d0 bf d1 80 d0 be d1 86   ...... ........
4fa0: d0 b5 d0 b4 d1 83 d1 80 20 d0 b8 20 d1 84 d1 83  ........ .. ....
4fb0: d0 bd d0 ba d1 86 d0 b8 d0 b9 3e 27 2c 0d 0a 20  ..........>',.. 
4fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4fd0: 20 20 20 27 49 73 50 72 6f 63 27 20 20 20 20 3a     'IsProc'    :
4fe0: 20 75 6e 64 65 66 69 6e 65 64 2c 0d 0a 20 20 20   undefined,..   
4ff0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5000: 20 27 53 74 61 72 74 4c 69 6e 65 27 20 3a 20 6c   'StartLine' : l
5010: 69 6e 65 49 78 0d 0a 20 20 20 20 20 20 20 20 20  ineIx..         
5020: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
5030: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
5040: 20 7d 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20   }    ..        
5050: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 68  ..        if (th
5060: 69 73 2e 66 6f 72 6d 2e 54 72 65 65 56 69 65 77  is.form.TreeView
5070: 20 26 26 20 64 6f 63 52 6f 77 2e 52 6f 77 73 2e   && docRow.Rows.
5080: 43 6f 75 6e 74 28 29 20 3e 20 30 29 0d 0a 20 20  Count() > 0)..  
5090: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
50a0: 20 20 20 20 20 76 61 72 20 6c 61 73 74 47 72 6f       var lastGro
50b0: 75 70 20 3d 20 74 68 69 73 2e 72 65 73 75 6c 74  up = this.result
50c0: 73 2e 52 6f 77 73 2e 47 65 74 28 74 68 69 73 2e  s.Rows.Get(this.
50d0: 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e 43 6f 75  results.Rows.Cou
50e0: 6e 74 28 29 20 2d 20 31 29 3b 0d 0a 20 20 20 20  nt() - 1);..    
50f0: 20 20 20 20 20 20 20 20 69 66 20 28 6c 61 73 74          if (last
5100: 47 72 6f 75 70 2e 46 6f 75 6e 64 4c 69 6e 65 20  Group.FoundLine 
5110: 3d 3d 20 27 3c d0 a2 d0 b5 d0 ba d1 81 d1 82 20  == '<.......... 
5120: d0 b2 d0 bd d0 b5 20 d0 bf d1 80 d0 be d1 86 d0  ...... .........
5130: b5 d0 b4 d1 83 d1 80 20 d0 b8 20 d1 84 d1 83 d0  ....... .. .....
5140: bd d0 ba d1 86 d0 b8 d0 b9 3e 27 29 0d 0a 20 20  .........>')..  
5150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61                la
5160: 73 74 47 72 6f 75 70 2e 46 6f 75 6e 64 4c 69 6e  stGroup.FoundLin
5170: 65 20 3d 20 22 d0 a0 d0 b0 d0 b7 d0 b4 d0 b5 d0  e = "...........
5180: bb 20 d0 be d1 81 d0 bd d0 be d0 b2 d0 bd d0 be  . ..............
5190: d0 b9 20 d0 bf d1 80 d0 be d0 b3 d1 80 d0 b0 d0  .. .............
51a0: bc d0 bc d1 8b 22 3b 0d 0a 20 20 20 20 20 20 20  .....";..       
51b0: 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20   }..        ..  
51c0: 20 20 20 20 20 20 69 66 20 28 21 64 6f 63 52 6f        if (!docRo
51d0: 77 2e 52 6f 77 73 2e 43 6f 75 6e 74 28 29 29 0d  w.Rows.Count()).
51e0: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20  .        {..    
51f0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 72 65 73          this.res
5200: 75 6c 74 73 2e 52 6f 77 73 2e 44 65 6c 65 74 65  ults.Rows.Delete
5210: 28 64 6f 63 52 6f 77 29 3b 0d 0a 20 20 20 20 20  (docRow);..     
5220: 20 20 20 20 20 20 20 64 6f 63 52 6f 77 20 3d 20         docRow = 
5230: 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 7d  null;..        }
5240: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
5250: 20 20 20 20 72 65 74 75 72 6e 20 64 6f 63 52 6f      return docRo
5260: 77 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20  w;..    },..    
5270: 0d 0a 20 20 20 20 73 68 6f 77 53 65 61 72 63 68  ..    showSearch
5280: 52 65 73 75 6c 74 3a 20 66 75 6e 63 74 69 6f 6e  Result: function
5290: 20 28 64 6f 63 52 6f 77 2c 20 66 72 6f 6d 48 6f   (docRow, fromHo
52a0: 74 4b 65 79 29 20 7b 0d 0a 20 20 20 20 20 20 20  tKey) {..       
52b0: 20 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e   ..        this.
52c0: 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e 53 6f 72  results.Rows.Sor
52d0: 74 28 27 46 6f 75 6e 64 4c 69 6e 65 27 2c 20 66  t('FoundLine', f
52e0: 61 6c 73 65 29 3b 0d 0a 20 20 20 20 20 20 20 20  alse);..        
52f0: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 65  ..        this.e
5300: 78 70 61 6e 64 54 72 65 65 28 29 3b 0d 0a 20 20  xpandTree();..  
5310: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
5320: 2f 2f 20 d0 97 d0 b0 d0 bf d0 be d0 bc d0 bd d0  // .............
5330: b8 d0 bc 20 d1 81 d1 82 d1 80 d0 be d0 ba d1 83  ... ............
5340: 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 20 d0 b2   ............ ..
5350: 20 d0 b8 d1 81 d1 82 d0 be d1 80 d0 b8 d0 b8 2e   ...............
5360: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 61  ..        this.a
5370: 64 64 54 6f 48 69 73 74 6f 72 79 28 74 68 69 73  ddToHistory(this
5380: 2e 66 6f 72 6d 2e 51 75 65 72 79 29 3b 0d 0a 20  .form.Query);.. 
5390: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
53a0: 20 69 66 20 28 74 68 69 73 2e 72 65 73 75 6c 74   if (this.result
53b0: 73 2e 52 6f 77 73 2e 43 6f 75 6e 74 28 29 20 3d  s.Rows.Count() =
53c0: 3d 20 30 29 20 0d 0a 20 20 20 20 20 20 20 20 7b  = 0) ..        {
53d0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  ..            if
53e0: 28 21 74 68 69 73 2e 69 73 47 6c 6f 62 61 6c 46  (!this.isGlobalF
53f0: 69 6e 64 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  ind){..         
5400: 20 20 20 20 20 20 20 44 6f 4d 65 73 73 61 67 65         DoMessage
5410: 42 6f 78 28 27 d0 a1 d0 be d0 b2 d0 bf d0 b0 d0  Box('...........
5420: b4 d0 b5 d0 bd d0 b8 d0 b9 20 d0 bd d0 b5 20 d0  ......... .... .
5430: bd d0 b0 d0 b9 d0 b4 d0 b5 d0 bd d0 be 21 27 29  .............!')
5440: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d  ;..            }
5450: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65  ..            re
5460: 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 7d  turn;..        }
5470: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5480: 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28    ..        if (
5490: 66 72 6f 6d 48 6f 74 4b 65 79 20 3d 3d 20 74 72  fromHotKey == tr
54a0: 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 20 0d  ue)..        { .
54b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20  .            // 
54c0: d0 94 d0 bb d1 8f 20 d1 82 d0 be d0 b3 d0 be 20  ...... ........ 
54d0: d1 87 d1 82 d0 be d0 b1 d1 8b 20 d0 ba d1 83 d1  .......... .....
54e0: 80 d1 81 d0 be d1 80 20 d0 bd d0 b5 20 d0 bf d1  ....... .... ...
54f0: 80 d1 8b d0 b3 d0 b0 d0 bb 20 d0 bf d1 80 d0 b8  ......... ......
5500: 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b5 20 d1 82   ............ ..
5510: d0 b5 d0 ba d1 83 d1 89 d0 b5 d0 b3 d0 be 20 d1  .............. .
5520: 81 d0 bb d0 be d0 b2 d0 b0 2c 20 0d 0a 20 20 20  ........., ..   
5530: 20 20 20 20 20 20 20 20 20 2f 2f 20 d1 82 d1 83           // ....
5540: d1 82 20 d0 b1 d1 8b 20 d0 b5 d1 89 d0 b5 20 d0  .. .... ...... .
5550: b4 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 20  ............... 
5560: d1 87 d1 82 d0 be d0 b1 d1 8b 20 d0 b0 d0 ba d1  .......... .....
5570: 82 d0 b8 d0 b2 d0 b8 d0 b7 d0 b8 d1 80 d0 be d0  ................
5580: b2 d0 b0 d0 bb d0 b0 d1 81 d1 8c 20 d0 b8 d0 bc  ........... ....
5590: d0 b5 d0 bd d0 bd d0 be 20 d1 82 d0 b5 d0 ba d1  ........ .......
55a0: 83 d1 89 d0 b0 d1 8f 20 d1 81 d1 82 d1 80 d0 be  ....... ........
55b0: d0 ba d0 b0 0d 0a 20 20 20 20 20 20 20 20 20 20  ......          
55c0: 20 20 74 68 69 73 2e 66 6f 72 6d 2e 4f 70 65 6e    this.form.Open
55d0: 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ();..           
55e0: 20 74 68 69 73 2e 66 6f 72 6d 2e 43 75 72 72 65   this.form.Curre
55f0: 6e 74 43 6f 6e 74 72 6f 6c 3d 74 68 69 73 2e 66  ntControl=this.f
5600: 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 53 65 61  orm.Controls.Sea
5610: 72 63 68 52 65 73 75 6c 74 73 3b 0d 0a 20 20 20  rchResults;..   
5620: 20 20 20 20 20 20 20 20 20 69 66 20 28 64 6f 63           if (doc
5630: 52 6f 77 29 20 0d 0a 20 20 20 20 20 20 20 20 20  Row) ..         
5640: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20     {..          
5650: 20 20 20 20 20 20 76 61 72 20 63 75 72 4c 69 6e        var curLin
5660: 65 52 6f 77 20 3d 20 74 68 69 73 2e 67 65 74 52  eRow = this.getR
5670: 6f 77 46 6f 72 54 68 65 43 75 72 72 65 6e 74 4c  owForTheCurrentL
5680: 69 6e 65 28 64 6f 63 52 6f 77 29 3b 20 20 0d 0a  ine(docRow);  ..
5690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
56a0: 69 66 20 28 63 75 72 4c 69 6e 65 52 6f 77 29 0d  if (curLineRow).
56b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
56c0: 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 43       this.form.C
56d0: 6f 6e 74 72 6f 6c 73 2e 53 65 61 72 63 68 52 65  ontrols.SearchRe
56e0: 73 75 6c 74 73 2e 43 75 72 72 65 6e 74 52 6f 77  sults.CurrentRow
56f0: 20 3d 20 63 75 72 4c 69 6e 65 52 6f 77 3b 20 20   = curLineRow;  
5700: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
5710: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
5720: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 65 6c     }..        el
5730: 73 65 20 69 66 20 28 64 6f 63 52 6f 77 29 0d 0a  se if (docRow)..
5740: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
5750: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e         if (this.
5760: 66 6f 72 6d 2e 54 72 65 65 56 69 65 77 29 0d 0a  form.TreeView)..
5770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5780: 74 68 69 73 2e 67 6f 54 6f 4c 69 6e 65 28 64 6f  this.goToLine(do
5790: 63 52 6f 77 2e 52 6f 77 73 2e 47 65 74 28 30 29  cRow.Rows.Get(0)
57a0: 2e 52 6f 77 73 2e 47 65 74 28 30 29 29 3b 0d 0a  .Rows.Get(0));..
57b0: 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65              else
57c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
57d0: 20 20 74 68 69 73 2e 67 6f 54 6f 4c 69 6e 65 28    this.goToLine(
57e0: 64 6f 63 52 6f 77 2e 52 6f 77 73 2e 47 65 74 28  docRow.Rows.Get(
57f0: 30 29 29 3b 20 20 20 20 20 20 20 20 0d 0a 20 20  0));        ..  
5800: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
5810: 20 2f 2f 74 68 69 73 2e 53 65 74 43 6f 6e 74 72   //this.SetContr
5820: 6f 6c 73 56 69 73 69 62 6c 65 28 29 3b 20 20 20  olsVisible();   
5830: 20 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d   ..    },..    .
5840: 0a 20 20 20 20 67 65 74 52 6f 77 46 6f 72 54 68  .    getRowForTh
5850: 65 43 75 72 72 65 6e 74 4c 69 6e 65 3a 20 66 75  eCurrentLine: fu
5860: 6e 63 74 69 6f 6e 28 64 6f 63 52 6f 77 29 20 7b  nction(docRow) {
5870: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 77  ..        var tw
5880: 6e 64 20 3d 20 64 6f 63 52 6f 77 2e 5f 6f 62 6a  nd = docRow._obj
5890: 65 63 74 2e 61 63 74 69 76 61 74 65 28 29 3b 0d  ect.activate();.
58a0: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20  .        return 
58b0: 64 6f 63 52 6f 77 2e 52 6f 77 73 2e 46 69 6e 64  docRow.Rows.Find
58c0: 28 74 77 6e 64 2e 47 65 74 43 61 72 65 74 50 6f  (twnd.GetCaretPo
58d0: 73 28 29 2e 62 65 67 69 6e 52 6f 77 2c 20 22 4c  s().beginRow, "L
58e0: 69 6e 65 4e 6f 22 2c 20 74 72 75 65 29 3b 0d 0a  ineNo", true);..
58f0: 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 67 65      },....    ge
5900: 74 47 72 6f 75 70 52 6f 77 3a 20 66 75 6e 63 74  tGroupRow: funct
5910: 69 6f 6e 20 28 64 6f 63 52 6f 77 2c 20 6d 65 74  ion (docRow, met
5920: 68 6f 64 44 61 74 61 29 20 7b 0d 0a 0d 0a 20 20  hodData) {....  
5930: 20 20 20 20 20 20 69 66 20 28 21 74 68 69 73 2e        if (!this.
5940: 66 6f 72 6d 2e 54 72 65 65 56 69 65 77 29 0d 0a  form.TreeView)..
5950: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75              retu
5960: 72 6e 20 64 6f 63 52 6f 77 3b 0d 0a 0d 0a 20 20  rn docRow;....  
5970: 20 20 20 20 20 20 76 61 72 20 67 72 6f 75 70 52        var groupR
5980: 6f 77 20 3d 20 64 6f 63 52 6f 77 2e 67 72 6f 75  ow = docRow.grou
5990: 70 73 43 61 63 68 65 2e 47 65 74 28 6d 65 74 68  psCache.Get(meth
59a0: 6f 64 44 61 74 61 29 3b 0d 0a 20 20 20 20 20 20  odData);..      
59b0: 20 20 69 66 20 28 21 67 72 6f 75 70 52 6f 77 29    if (!groupRow)
59c0: 20 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20   ..        {..  
59d0: 20 20 20 20 20 20 20 20 20 20 67 72 6f 75 70 52            groupR
59e0: 6f 77 20 3d 20 64 6f 63 52 6f 77 2e 52 6f 77 73  ow = docRow.Rows
59f0: 2e 41 64 64 28 29 3b 0d 0a 20 20 20 20 20 20 20  .Add();..       
5a00: 20 20 20 20 20 67 72 6f 75 70 52 6f 77 2e 46 6f       groupRow.Fo
5a10: 75 6e 64 4c 69 6e 65 20 3d 20 6d 65 74 68 6f 64  undLine = method
5a20: 44 61 74 61 2e 4e 61 6d 65 3b 0d 0a 20 20 20 20  Data.Name;..    
5a30: 20 20 20 20 20 20 20 20 67 72 6f 75 70 52 6f 77          groupRow
5a40: 2e 4d 65 74 68 6f 64 20 3d 20 6d 65 74 68 6f 64  .Method = method
5a50: 44 61 74 61 2e 4e 61 6d 65 3b 0d 0a 20 20 20 20  Data.Name;..    
5a60: 20 20 20 20 20 20 20 20 67 72 6f 75 70 52 6f 77          groupRow
5a70: 2e 5f 6f 62 6a 65 63 74 20 3d 20 64 6f 63 52 6f  ._object = docRo
5a80: 77 2e 5f 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 20  w._object;..    
5a90: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
5aa0: 20 20 20 20 20 20 69 66 20 28 6d 65 74 68 6f 64        if (method
5ab0: 44 61 74 61 2e 49 73 50 72 6f 63 20 21 3d 3d 20  Data.IsProc !== 
5ac0: 75 6e 64 65 66 69 6e 65 64 29 0d 0a 20 20 20 20  undefined)..    
5ad0: 20 20 20 20 20 20 20 20 20 20 20 20 67 72 6f 75              grou
5ae0: 70 52 6f 77 2e 52 6f 77 54 79 70 65 20 3d 20 6d  pRow.RowType = m
5af0: 65 74 68 6f 64 44 61 74 61 2e 49 73 50 72 6f 63  ethodData.IsProc
5b00: 20 3f 20 52 6f 77 54 79 70 65 73 2e 50 72 6f 63   ? RowTypes.Proc
5b10: 47 72 6f 75 70 20 3a 20 52 6f 77 54 79 70 65 73  Group : RowTypes
5b20: 2e 46 75 6e 63 47 72 6f 75 70 3b 0d 0a 20 20 20  .FuncGroup;..   
5b30: 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20               .. 
5b40: 20 20 20 20 20 20 20 20 20 20 20 67 72 6f 75 70             group
5b50: 52 6f 77 2e 6c 69 6e 65 4e 6f 20 3d 20 6d 65 74  Row.lineNo = met
5b60: 68 6f 64 44 61 74 61 2e 53 74 61 72 74 4c 69 6e  hodData.StartLin
5b70: 65 20 2b 20 31 3b 0d 0a 20 20 20 20 20 20 20 20  e + 1;..        
5b80: 20 20 20 20 67 72 6f 75 70 52 6f 77 2e 5f 6d 65      groupRow._me
5b90: 74 68 6f 64 20 3d 20 6d 65 74 68 6f 64 44 61 74  thod = methodDat
5ba0: 61 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  a;..            
5bb0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f  ..            do
5bc0: 63 52 6f 77 2e 67 72 6f 75 70 73 43 61 63 68 65  cRow.groupsCache
5bd0: 2e 49 6e 73 65 72 74 28 6d 65 74 68 6f 64 44 61  .Insert(methodDa
5be0: 74 61 2c 20 67 72 6f 75 70 52 6f 77 29 3b 20 0d  ta, groupRow); .
5bf0: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
5c00: 20 20 20 20 72 65 74 75 72 6e 20 67 72 6f 75 70      return group
5c10: 52 6f 77 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20  Row;..    },..  
5c20: 20 20 0d 0a 20 20 20 20 61 64 64 53 65 61 72 63    ..    addSearc
5c30: 68 52 65 73 75 6c 74 20 3a 20 66 75 6e 63 74 69  hResult : functi
5c40: 6f 6e 20 28 64 6f 63 52 6f 77 2c 20 6c 69 6e 65  on (docRow, line
5c50: 2c 20 6c 69 6e 65 4e 6f 2c 20 6d 61 74 63 68 65  , lineNo, matche
5c60: 73 2c 20 6d 65 74 68 6f 64 44 61 74 61 29 20 7b  s, methodData) {
5c70: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20  ....        var 
5c80: 67 72 6f 75 70 52 6f 77 20 3d 20 74 68 69 73 2e  groupRow = this.
5c90: 67 65 74 47 72 6f 75 70 52 6f 77 28 64 6f 63 52  getGroupRow(docR
5ca0: 6f 77 2c 20 6d 65 74 68 6f 64 44 61 74 61 29 3b  ow, methodData);
5cb0: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20  ....        var 
5cc0: 72 65 73 52 6f 77 20 3d 20 67 72 6f 75 70 52 6f  resRow = groupRo
5cd0: 77 2e 52 6f 77 73 2e 41 64 64 28 29 3b 0d 0a 20  w.Rows.Add();.. 
5ce0: 20 20 20 20 20 20 20 72 65 73 52 6f 77 2e 46 6f         resRow.Fo
5cf0: 75 6e 64 4c 69 6e 65 20 3d 20 6c 69 6e 65 3b 0d  undLine = line;.
5d00: 0a 20 20 20 20 20 20 20 20 72 65 73 52 6f 77 2e  .        resRow.
5d10: 6c 69 6e 65 4e 6f 20 3d 20 6c 69 6e 65 4e 6f 3b  lineNo = lineNo;
5d20: 0d 0a 20 20 20 20 20 20 20 20 72 65 73 52 6f 77  ..        resRow
5d30: 2e 5f 6f 62 6a 65 63 74 20 3d 20 64 6f 63 52 6f  ._object = docRo
5d40: 77 2e 5f 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 20  w._object;..    
5d50: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66      ..        if
5d60: 28 75 6e 64 65 66 69 6e 65 64 20 21 3d 20 6d 65  (undefined != me
5d70: 74 68 6f 64 44 61 74 61 29 0d 0a 20 20 20 20 20  thodData)..     
5d80: 20 20 20 20 20 20 20 72 65 73 52 6f 77 2e 4d 65         resRow.Me
5d90: 74 68 6f 64 20 3d 20 6d 65 74 68 6f 64 44 61 74  thod = methodDat
5da0: 61 2e 4e 61 6d 65 3b 0d 0a 0d 0a 20 20 20 20 20  a.Name;....     
5db0: 20 20 20 72 65 73 52 6f 77 2e 5f 6d 65 74 68 6f     resRow._metho
5dc0: 64 20 3d 20 6d 65 74 68 6f 64 44 61 74 61 3b 0d  d = methodData;.
5dd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20  .            .. 
5de0: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e         if (this.
5df0: 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f 72 64 73 29  form.WholeWords)
5e00: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65  ..            re
5e10: 73 52 6f 77 2e 45 78 61 63 74 4d 61 74 63 68 20  sRow.ExactMatch 
5e20: 3d 20 6d 61 74 63 68 65 73 5b 30 5d 2e 72 65 70  = matches[0].rep
5e30: 6c 61 63 65 28 2f 5e 5b 5e 5c 77 5c 64 d0 90 2d  lace(/^[^\w\d..-
5e40: d1 8f 5d 2f 2c 20 27 27 29 2e 72 65 70 6c 61 63  ..]/, '').replac
5e50: 65 28 2f 5b 5e 5c 77 5c 64 d0 90 2d d1 8f 5d 24  e(/[^\w\d..-..]$
5e60: 2f 2c 20 27 27 29 3b 0d 0a 20 20 20 20 20 20 20  /, '');..       
5e70: 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20   else..         
5e80: 20 20 20 72 65 73 52 6f 77 2e 45 78 61 63 74 4d     resRow.ExactM
5e90: 61 74 63 68 20 3d 20 6d 61 74 63 68 65 73 5b 30  atch = matches[0
5ea0: 5d 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20  ];..    },..    
5eb0: 0d 0a 20 20 20 20 67 6f 54 6f 4c 69 6e 65 20 3a  ..    goToLine :
5ec0: 20 66 75 6e 63 74 69 6f 6e 20 28 72 6f 77 29 20   function (row) 
5ed0: 7b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74 68 69  {....        thi
5ee0: 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e  s.form.Controls.
5ef0: 53 65 61 72 63 68 52 65 73 75 6c 74 73 2e 43 75  SearchResults.Cu
5f00: 72 72 65 6e 74 52 6f 77 20 3d 20 72 6f 77 3b 20  rrentRow = row; 
5f10: 20 20 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f     ....        /
5f20: 2f 20 d0 9e d1 82 d0 ba d1 80 d0 be d0 b5 d0 bc  / ..............
5f30: 20 d0 b8 2f d0 b8 d0 bb d0 b8 20 d0 b0 d0 ba d1   ../...... .....
5f40: 82 d0 b8 d0 b2 d0 b8 d1 80 d1 83 d0 b5 d0 bc 20  ............... 
5f50: d0 be d0 ba d0 bd d0 be 20 d0 be d0 b1 d1 8a d0  ........ .......
5f60: b5 d0 ba d1 82 d0 b0 2c 20 d0 b2 20 d0 ba d0 be  ......., .. ....
5f70: d1 82 d0 be d1 80 d0 be d0 bc 20 d0 b2 d1 8b d0  .......... .....
5f80: bf d0 be d0 bb d0 bd d1 8f d0 bb d1 81 d1 8f 20  ............... 
5f90: d0 bf d0 be d0 b8 d1 81 d0 ba 2e 0d 0a 20 20 20  .............   
5fa0: 20 20 20 20 20 76 61 72 20 74 61 72 67 65 74 57       var targetW
5fb0: 69 6e 64 6f 77 20 3d 20 72 6f 77 2e 5f 6f 62 6a  indow = row._obj
5fc0: 65 63 74 2e 61 63 74 69 76 61 74 65 28 29 3b 0d  ect.activate();.
5fd0: 0a 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20  .     ..        
5fe0: 69 66 20 28 21 74 61 72 67 65 74 57 69 6e 64 6f  if (!targetWindo
5ff0: 77 2e 49 73 41 63 74 69 76 65 28 29 29 0d 0a 20  w.IsActive()).. 
6000: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20         {..      
6010: 20 20 20 20 20 20 44 6f 4d 65 73 73 61 67 65 42        DoMessageB
6020: 6f 78 28 22 d0 9e d0 ba d0 bd d0 be 2c 20 d0 b4  ox("........, ..
6030: d0 bb d1 8f 20 d0 ba d0 be d1 82 d0 be d1 80 d0  .... ...........
6040: be d0 b3 d0 be 20 d0 b2 d1 8b d0 bf d0 be d0 bb  ..... ..........
6050: d0 bd d1 8f d0 bb d1 81 d1 8f 20 d0 bf d0 be d0  .......... .....
6060: b8 d1 81 d0 ba 2c 20 d0 b1 d1 8b d0 bb d0 be 20  ....., ........ 
6070: d0 b7 d0 b0 d0 ba d1 80 d1 8b d1 82 d0 be 21 5c  ..............!\
6080: 6e d0 9e d0 ba d0 bd d0 be 20 d0 bf d0 be d0 b8  n........ ......
6090: d1 81 d0 ba d0 b0 20 d1 81 20 d1 80 d0 b5 d0 b7  ...... .. ......
60a0: d1 83 d0 bb d1 8c d1 82 d0 b0 d1 82 d0 b0 d0 bc  ................
60b0: d0 b8 20 d1 81 d1 82 d0 b0 d0 bb d0 be 20 d0 bd  .. .......... ..
60c0: d0 b5 20 d0 b0 d0 ba d1 82 d1 83 d0 b0 d0 bb d1  .. .............
60d0: 8c d0 bd d0 be 20 d0 b8 20 d0 b1 d1 83 d0 b4 d0  ..... .. .......
60e0: b5 d1 82 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b d1 82  ... ............
60f0: d0 be 2e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20  ...");..        
6100: 20 20 20 20 74 68 69 73 2e 63 6c 65 61 72 53 65      this.clearSe
6110: 61 72 63 68 52 65 73 75 6c 74 73 28 29 3b 0d 0a  archResults();..
6120: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
6130: 2e 43 6c 6f 73 65 28 29 3b 0d 0a 20 20 20 20 20  .Close();..     
6140: 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a         return;..
6150: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
6160: 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 9d d0  ..        // ...
6170: b0 d0 b9 d0 b4 d0 b5 d0 bc 20 d0 bf d0 be d0 b7  ......... ......
6180: d0 b8 d1 86 d0 b8 d1 8e 20 d0 bd d0 b0 d0 b9 d0  ........ .......
6190: b4 d0 b5 d0 bd d0 bd d0 be d0 b3 d0 be 20 d1 81  ............. ..
61a0: d0 bb d0 be d0 b2 d0 b0 20 d0 b2 20 d1 81 d1 82  ........ .. ....
61b0: d1 80 d0 be d0 ba d0 b5 2e 0d 0a 20 20 20 20 20  ...........     
61c0: 20 20 20 76 61 72 20 73 65 61 72 63 68 50 61 74     var searchPat
61d0: 74 65 72 6e 20 3d 20 74 68 69 73 2e 66 6f 72 6d  tern = this.form
61e0: 2e 57 68 6f 6c 65 57 6f 72 64 73 20 3f 20 22 28  .WholeWords ? "(
61f0: 3f 3a 5b 5e 5c 5c 77 5c 5c 64 d0 90 2d d1 8f 5d  ?:[^\\w\\d..-..]
6200: 7c 5e 29 22 20 2b 20 72 6f 77 2e 45 78 61 63 74  |^)" + row.Exact
6210: 4d 61 74 63 68 20 2b 20 22 28 5b 5e 5c 5c 77 5c  Match + "([^\\w\
6220: 5c 64 d0 90 2d d1 8f 5d 7c 24 29 22 20 3a 20 53  \d..-..]|$)" : S
6230: 74 72 69 6e 67 55 74 69 6c 73 2e 61 64 64 53 6c  tringUtils.addSl
6240: 61 73 68 65 73 28 72 6f 77 2e 45 78 61 63 74 4d  ashes(row.ExactM
6250: 61 74 63 68 29 3b 20 0d 0a 20 20 20 20 20 20 20  atch); ..       
6260: 20 76 61 72 20 72 65 20 3d 20 6e 65 77 20 52 65   var re = new Re
6270: 67 45 78 70 28 73 65 61 72 63 68 50 61 74 74 65  gExp(searchPatte
6280: 72 6e 2c 20 27 67 27 29 3b 0d 0a 20 20 20 20 20  rn, 'g');..     
6290: 20 20 20 76 61 72 20 6d 61 74 63 68 65 73 20 3d     var matches =
62a0: 20 72 65 2e 65 78 65 63 28 72 6f 77 2e 46 6f 75   re.exec(row.Fou
62b0: 6e 64 4c 69 6e 65 29 3b 0d 0a 0d 0a 20 20 20 20  ndLine);....    
62c0: 20 20 20 20 76 61 72 20 63 6f 6c 4e 6f 20 3d 20      var colNo = 
62d0: 31 3b 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20  1;    ..        
62e0: 69 66 20 28 6d 61 74 63 68 65 73 29 20 0d 0a 20  if (matches) .. 
62f0: 20 20 20 20 20 20 20 7b 20 20 20 20 20 20 20 20         {        
6300: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f  ..            co
6310: 6c 4e 6f 20 3d 20 72 65 2e 6c 61 73 74 49 6e 64  lNo = re.lastInd
6320: 65 78 20 2d 20 72 6f 77 2e 45 78 61 63 74 4d 61  ex - row.ExactMa
6330: 74 63 68 2e 6c 65 6e 67 74 68 20 2b 20 31 3b 0d  tch.length + 1;.
6340: 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20  .            .. 
6350: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74             if (t
6360: 68 69 73 2e 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f  his.form.WholeWo
6370: 72 64 73 20 26 26 20 6d 61 74 63 68 65 73 2e 6c  rds && matches.l
6380: 65 6e 67 74 68 20 3e 20 31 29 20 20 20 20 20 20  ength > 1)      
6390: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
63a0: 20 20 20 20 63 6f 6c 4e 6f 20 2d 3d 20 6d 61 74      colNo -= mat
63b0: 63 68 65 73 5b 31 5d 2e 6c 65 6e 67 74 68 3b 20  ches[1].length; 
63c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
63d0: 20 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20   ..        }..  
63e0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
63f0: 2f 2f 20 d0 a3 d1 81 d1 82 d0 b0 d0 bd d0 be d0  // .............
6400: b2 d0 b8 d0 bc 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb  ..... ..........
6410: d0 b5 d0 bd d0 b8 d0 b5 20 d0 bd d0 b0 20 d0 bd  ........ .... ..
6420: d0 b0 d0 b9 d0 b4 d0 b5 d0 bd d0 bd d0 be d0 b5  ................
6430: 20 d1 81 d0 be d0 b2 d0 bf d0 b0 d0 b4 d0 b5 d0   ...............
6440: bd d0 b8 d0 b5 20 d1 81 d0 be 20 d1 81 d1 82 d1  ..... .... .....
6450: 80 d0 be d0 ba d0 be d0 b9 20 d0 bf d0 be d0 b8  ......... ......
6460: d1 81 d0 ba d0 b0 2e 0d 0a 20 20 20 20 20 20 20  .........       
6470: 20 74 61 72 67 65 74 57 69 6e 64 6f 77 2e 53 65   targetWindow.Se
6480: 74 43 61 72 65 74 50 6f 73 28 72 6f 77 2e 4c 69  tCaretPos(row.Li
6490: 6e 65 4e 6f 2c 20 63 6f 6c 4e 6f 29 3b 0d 0a 20  neNo, colNo);.. 
64a0: 20 20 20 20 20 20 20 74 61 72 67 65 74 57 69 6e         targetWin
64b0: 64 6f 77 2e 53 65 74 53 65 6c 65 63 74 69 6f 6e  dow.SetSelection
64c0: 28 72 6f 77 2e 4c 69 6e 65 4e 6f 2c 20 63 6f 6c  (row.LineNo, col
64d0: 4e 6f 2c 20 72 6f 77 2e 4c 69 6e 65 4e 6f 2c 20  No, row.LineNo, 
64e0: 63 6f 6c 4e 6f 20 2b 20 72 6f 77 2e 45 78 61 63  colNo + row.Exac
64f0: 74 4d 61 74 63 68 2e 6c 65 6e 67 74 68 29 3b 0d  tMatch.length);.
6500: 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 6d  .    },....    m
6510: 6f 76 65 52 6f 77 43 75 72 73 6f 72 20 3a 20 66  oveRowCursor : f
6520: 75 6e 63 74 69 6f 6e 20 28 66 6f 72 77 61 72 64  unction (forward
6530: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  ) {..        .. 
6540: 20 20 20 20 20 20 20 69 66 20 28 21 74 68 69 73         if (!this
6550: 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e 43 6f  .results.Rows.Co
6560: 75 6e 74 28 29 29 0d 0a 20 20 20 20 20 20 20 20  unt())..        
6570: 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20      return;..   
6580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6590: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
65a0: 20 76 61 72 20 72 6f 77 20 3d 20 74 68 69 73 2e   var row = this.
65b0: 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 53 65  form.Controls.Se
65c0: 61 72 63 68 52 65 73 75 6c 74 73 2e 43 75 72 72  archResults.Curr
65d0: 65 6e 74 52 6f 77 3b 0d 0a 20 20 20 20 20 20 20  entRow;..       
65e0: 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21   ..        if (!
65f0: 72 6f 77 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d  row)..        {.
6600: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 77  .            row
6610: 20 3d 20 74 68 69 73 2e 72 65 73 75 6c 74 73 2e   = this.results.
6620: 52 6f 77 73 2e 47 65 74 28 30 29 2e 47 65 74 28  Rows.Get(0).Get(
6630: 30 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  0);..           
6640: 20 69 66 20 28 74 68 69 73 2e 66 6f 72 6d 2e 54   if (this.form.T
6650: 72 65 65 56 69 65 77 29 0d 0a 20 20 20 20 20 20  reeView)..      
6660: 20 20 20 20 20 20 20 20 20 20 72 6f 77 20 3d 20            row = 
6670: 72 6f 77 2e 52 6f 77 73 2e 47 65 74 28 30 29 3b  row.Rows.Get(0);
6680: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6690: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
66a0: 74 68 69 73 2e 67 6f 54 6f 4c 69 6e 65 28 72 6f  this.goToLine(ro
66b0: 77 29 3b 20 20 20 20 0d 0a 20 20 20 20 20 20 20  w);    ..       
66c0: 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20       return;..  
66d0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
66e0: 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 66   ..        if (f
66f0: 6f 72 77 61 72 64 29 20 0d 0a 20 20 20 20 20 20  orward) ..      
6700: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
6710: 20 69 66 20 28 72 6f 77 2e 52 6f 77 54 79 70 65   if (row.RowType
6720: 20 3d 3d 20 52 6f 77 54 79 70 65 73 2e 53 65 61   == RowTypes.Sea
6730: 72 63 68 52 65 73 75 6c 74 29 0d 0a 20 20 20 20  rchResult)..    
6740: 20 20 20 20 20 20 20 20 7b 20 20 20 20 0d 0a 20          {    .. 
6750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77                 w
6760: 68 69 6c 65 20 28 72 6f 77 29 0d 0a 20 20 20 20  hile (row)..    
6770: 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20              {.. 
6780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6790: 20 20 20 76 61 72 20 72 6f 77 73 20 3d 20 72 6f     var rows = ro
67a0: 77 2e 50 61 72 65 6e 74 20 3f 20 72 6f 77 2e 50  w.Parent ? row.P
67b0: 61 72 65 6e 74 2e 52 6f 77 73 20 3a 20 74 68 69  arent.Rows : thi
67c0: 73 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73 3b 0d  s.results.Rows;.
67d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
67e0: 20 20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d       var index =
67f0: 20 72 6f 77 73 2e 49 6e 64 65 78 4f 66 28 72 6f   rows.IndexOf(ro
6800: 77 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  w);..           
6810: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ..             
6820: 20 20 20 20 20 20 20 69 66 20 28 69 6e 64 65 78         if (index
6830: 20 3c 20 72 6f 77 73 2e 43 6f 75 6e 74 28 29 20   < rows.Count() 
6840: 2d 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20  - 1)..          
6850: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20            {..   
6860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6870: 20 20 20 20 20 72 6f 77 20 3d 20 72 6f 77 73 2e       row = rows.
6880: 47 65 74 28 69 6e 64 65 78 20 2b 20 31 29 3b 0d  Get(index + 1);.
6890: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
68a0: 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d           break;.
68b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
68c0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
68d0: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
68e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
68f0: 20 20 69 66 20 28 21 72 6f 77 2e 50 61 72 65 6e    if (!row.Paren
6900: 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  t)..            
6910: 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61              brea
6920: 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  k;..            
6930: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
6940: 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 77               row
6950: 20 3d 20 72 6f 77 2e 50 61 72 65 6e 74 3b 20 20   = row.Parent;  
6960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6970: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
6980: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
6990: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20      }..         
69a0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
69b0: 20 77 68 69 6c 65 20 28 72 6f 77 2e 52 6f 77 73   while (row.Rows
69c0: 2e 43 6f 75 6e 74 28 29 20 3e 20 30 29 0d 0a 20  .Count() > 0).. 
69d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
69e0: 6f 77 20 3d 20 72 6f 77 2e 52 6f 77 73 2e 47 65  ow = row.Rows.Ge
69f0: 74 28 30 29 3b 20 20 20 20 20 20 20 20 20 20 20  t(0);           
6a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20               .. 
6a10: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
6a20: 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20    else..        
6a30: 7b 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20  {   ..          
6a40: 20 20 69 66 20 28 72 6f 77 2e 52 6f 77 54 79 70    if (row.RowTyp
6a50: 65 20 3d 3d 20 52 6f 77 54 79 70 65 73 2e 53 65  e == RowTypes.Se
6a60: 61 72 63 68 52 65 73 75 6c 74 29 0d 0a 20 20 20  archResult)..   
6a70: 20 20 20 20 20 20 20 20 20 7b 20 20 20 20 0d 0a           {    ..
6a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6a90: 77 68 69 6c 65 20 28 72 6f 77 29 20 0d 0a 20 20  while (row) ..  
6aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d                {.
6ab0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
6ac0: 20 20 20 20 20 76 61 72 20 72 6f 77 73 20 3d 20       var rows = 
6ad0: 72 6f 77 2e 50 61 72 65 6e 74 20 3f 20 72 6f 77  row.Parent ? row
6ae0: 2e 50 61 72 65 6e 74 2e 52 6f 77 73 20 3a 20 74  .Parent.Rows : t
6af0: 68 69 73 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73  his.results.Rows
6b00: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
6b10: 20 20 20 20 20 20 20 76 61 72 20 69 6e 64 65 78         var index
6b20: 20 3d 20 72 6f 77 73 2e 49 6e 64 65 78 4f 66 28   = rows.IndexOf(
6b30: 72 6f 77 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  row);..         
6b40: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
6b50: 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 64           if (ind
6b60: 65 78 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20  ex > 0)..       
6b70: 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a               {..
6b80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6b90: 20 20 20 20 20 20 20 20 72 6f 77 20 3d 20 72 6f          row = ro
6ba0: 77 73 2e 47 65 74 28 69 6e 64 65 78 20 2d 20 31  ws.Get(index - 1
6bb0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
6bc0: 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61              brea
6bd0: 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  k;..            
6be0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
6bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d                 .
6c00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
6c10: 20 20 20 20 20 69 66 20 28 21 72 6f 77 2e 50 61       if (!row.Pa
6c20: 72 65 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 20  rent)..         
6c30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62                 b
6c40: 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20  reak;..         
6c50: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
6c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6c70: 20 72 6f 77 20 3d 20 72 6f 77 2e 50 61 72 65 6e   row = row.Paren
6c80: 74 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20  t;              
6c90: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
6ca0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
6cb0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
6cc0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
6cd0: 20 20 20 20 20 77 68 69 6c 65 20 28 72 6f 77 2e       while (row.
6ce0: 52 6f 77 73 2e 43 6f 75 6e 74 28 29 20 3e 20 30  Rows.Count() > 0
6cf0: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  )..             
6d00: 20 20 20 72 6f 77 20 3d 20 72 6f 77 2e 52 6f 77     row = row.Row
6d10: 73 2e 47 65 74 28 72 6f 77 2e 52 6f 77 73 2e 43  s.Get(row.Rows.C
6d20: 6f 75 6e 74 28 29 20 2d 20 31 29 3b 20 20 20 20  ount() - 1);    
6d30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6d40: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 7d 0d      ..        }.
6d50: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
6d60: 20 20 20 74 68 69 73 2e 67 6f 54 6f 4c 69 6e 65     this.goToLine
6d70: 28 72 6f 77 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a  (row);..    },..
6d80: 20 20 20 20 0d 0a 20 20 20 20 63 6c 65 61 72 53      ..    clearS
6d90: 65 61 72 63 68 52 65 73 75 6c 74 73 20 3a 20 66  earchResults : f
6da0: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20  unction () {..  
6db0: 20 20 20 20 20 20 74 68 69 73 2e 72 65 73 75 6c        this.resul
6dc0: 74 73 2e 52 6f 77 73 2e 43 6c 65 61 72 28 29 3b  ts.Rows.Clear();
6dd0: 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a  ..    },..    ..
6de0: 20 20 20 20 73 65 74 44 65 66 61 75 6c 74 53 65      setDefaultSe
6df0: 61 72 63 68 51 75 65 72 79 20 3a 20 66 75 6e 63  archQuery : func
6e00: 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20 20  tion () {..     
6e10: 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 43 75 72     this.form.Cur
6e20: 72 65 6e 74 43 6f 6e 74 72 6f 6c 3d 74 68 69 73  rentControl=this
6e30: 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 51  .form.Controls.Q
6e40: 75 65 72 79 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20  uery;..    },.. 
6e50: 20 20 20 0d 0a 20 20 20 20 61 64 64 54 6f 48 69     ..    addToHi
6e60: 73 74 6f 72 79 20 3a 20 66 75 6e 63 74 69 6f 6e  story : function
6e70: 20 28 71 75 65 72 79 29 20 7b 0d 0a 20 20 20 20   (query) {..    
6e80: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66      ..        if
6e90: 20 28 21 71 75 65 72 79 29 20 0d 0a 20 20 20 20   (!query) ..    
6ea0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d          return;.
6eb0: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
6ec0: 20 20 20 2f 2f 20 d0 94 d0 be d0 b1 d0 b0 d0 b2     // ..........
6ed0: d0 bb d1 8f d0 b5 d0 bc 20 d0 b2 20 d0 b8 d1 81  ........ .. ....
6ee0: d1 82 d0 be d1 80 d0 b8 d1 8e 20 d1 82 d0 be d0  .......... .....
6ef0: bb d1 8c d0 ba d0 be 20 d0 b5 d1 81 d0 bb d0 b8  ....... ........
6f00: 20 d1 82 d0 b0 d0 ba d0 be d0 b9 20 d0 bf d0 be   .......... ....
6f10: d0 b8 d1 81 d0 ba d0 be d0 b2 d0 be d0 b9 20 d1  .............. .
6f20: 81 d1 82 d1 80 d0 be d0 ba d0 b8 20 d1 82 d0 b0  ........... ....
6f30: d0 bc 20 d0 bd d0 b5 d1 82 2e 0d 0a 20 20 20 20  .. .........    
6f40: 20 20 20 20 76 61 72 20 68 69 73 74 6f 72 79 20      var history 
6f50: 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 53 65 61 72  = this.form.Sear
6f60: 63 68 48 69 73 74 6f 72 79 3b 0d 0a 20 20 20 20  chHistory;..    
6f70: 20 20 20 20 69 66 20 28 68 69 73 74 6f 72 79 2e      if (history.
6f80: 46 69 6e 64 42 79 56 61 6c 75 65 28 71 75 65 72  FindByValue(quer
6f90: 79 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  y))..           
6fa0: 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20   return;..      
6fb0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
6fc0: 69 66 20 28 68 69 73 74 6f 72 79 2e 43 6f 75 6e  if (history.Coun
6fd0: 74 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20  t())..          
6fe0: 20 20 68 69 73 74 6f 72 79 2e 49 6e 73 65 72 74    history.Insert
6ff0: 28 30 2c 20 71 75 65 72 79 29 3b 0d 0a 20 20 20  (0, query);..   
7000: 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20       else..     
7010: 20 20 20 20 20 20 20 68 69 73 74 6f 72 79 2e 41         history.A
7020: 64 64 28 71 75 65 72 79 29 3b 0d 0a 20 20 20 20  dd(query);..    
7030: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
7040: 20 2f 2f 20 d0 9d d0 b5 20 d0 bf d0 be d0 b7 d0   // .... .......
7050: b2 d0 be d0 bb d1 8f d0 b5 d0 bc 20 d0 b8 d1 81  ........... ....
7060: d1 82 d0 be d1 80 d0 b8 d0 b8 20 d1 80 d0 b0 d1  .......... .....
7070: 81 d1 82 d0 b8 20 d0 b1 d0 be d0 bb d0 b5 d0 b5  ..... ..........
7080: 20 d0 b7 d0 b0 d0 b4 d0 b0 d0 bd d0 bd d0 be d0   ...............
7090: b9 20 d0 b3 d0 bb d1 83 d0 b1 d0 b8 d0 bd d1 8b  . ..............
70a0: 2e 0d 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65  ...        while
70b0: 20 28 68 69 73 74 6f 72 79 2e 43 6f 75 6e 74 28   (history.Count(
70c0: 29 20 3e 20 74 68 69 73 2e 66 6f 72 6d 2e 48 69  ) > this.form.Hi
70d0: 73 74 6f 72 79 44 65 70 74 68 29 0d 0a 20 20 20  storyDepth)..   
70e0: 20 20 20 20 20 20 20 20 20 68 69 73 74 6f 72 79           history
70f0: 2e 44 65 6c 65 74 65 28 68 69 73 74 6f 72 79 2e  .Delete(history.
7100: 43 6f 75 6e 74 28 29 20 2d 20 31 29 3b 0d 0a 20  Count() - 1);.. 
7110: 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20     },..    ..   
7120: 20 67 65 74 52 65 67 45 78 70 45 64 69 74 6f 72   getRegExpEditor
7130: 53 63 72 69 70 74 50 61 74 68 20 3a 20 66 75 6e  ScriptPath : fun
7140: 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20  ction () {..    
7150: 20 20 20 20 76 61 72 20 6d 61 69 6e 46 6f 6c 64      var mainFold
7160: 65 72 20 3d 20 70 72 6f 66 69 6c 65 52 6f 6f 74  er = profileRoot
7170: 2e 67 65 74 56 61 6c 75 65 28 22 53 6e 65 67 6f  .getValue("Snego
7180: 70 61 74 2f 4d 61 69 6e 46 6f 6c 64 65 72 22 29  pat/MainFolder")
7190: 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 73  ;..        var s
71a0: 63 72 69 70 74 50 61 74 68 20 3d 20 6d 61 69 6e  criptPath = main
71b0: 46 6f 6c 64 65 72 20 2b 20 22 73 63 72 69 70 74  Folder + "script
71c0: 73 5c 5c 52 65 67 45 78 70 45 64 69 74 6f 72 2e  s\\RegExpEditor.
71d0: 6a 73 22 3b 0d 0a 20 20 20 20 20 20 20 20 76 61  js";..        va
71e0: 72 20 66 20 3d 20 76 38 4e 65 77 28 27 46 69 6c  r f = v8New('Fil
71f0: 65 27 2c 20 73 63 72 69 70 74 50 61 74 68 29 3b  e', scriptPath);
7200: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 2e  ..        if (f.
7210: 45 78 69 73 74 28 29 29 0d 0a 20 20 20 20 20 20  Exist())..      
7220: 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 63 72        return scr
7230: 69 70 74 50 61 74 68 3b 0d 0a 20 20 20 20 20 20  iptPath;..      
7240: 20 20 72 65 74 75 72 6e 20 27 27 3b 0d 0a 20 20    return '';..  
7250: 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20    },..    ..    
7260: 46 6f 72 6d 5f 4f 6e 4f 70 65 6e 20 3a 20 66 75  Form_OnOpen : fu
7270: 6e 63 74 69 6f 6e 20 28 29 20 7b 20 20 20 0d 0a  nction () {   ..
7280: 20 20 20 20 20 20 20 20 69 66 20 28 21 74 68 69          if (!thi
7290: 73 2e 67 65 74 52 65 67 45 78 70 45 64 69 74 6f  s.getRegExpEdito
72a0: 72 53 63 72 69 70 74 50 61 74 68 28 29 29 0d 0a  rScriptPath())..
72b0: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
72c0: 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 51  .form.Controls.Q
72d0: 75 65 72 79 2e 43 68 6f 69 63 65 42 75 74 74 6f  uery.ChoiceButto
72e0: 6e 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20  n = false;..    
72f0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74 68      ..        th
7300: 69 73 2e 53 65 74 43 6f 6e 74 72 6f 6c 73 56 69  is.SetControlsVi
7310: 73 69 62 6c 65 28 29 3b 0d 0a 20 20 20 20 7d 2c  sible();..    },
7320: 0d 0a 0d 0a 20 20 20 20 46 6f 72 6d 5f 4f 6e 43  ....    Form_OnC
7330: 6c 6f 73 65 20 3a 20 66 75 6e 63 74 69 6f 6e 20  lose : function 
7340: 28 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68  () {..        th
7350: 69 73 2e 73 61 76 65 53 65 74 74 69 6e 67 73 28  is.saveSettings(
7360: 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20  );..    },....  
7370: 20 20 43 6d 64 42 61 72 5f 42 74 50 72 65 76 20    CmdBar_BtPrev 
7380: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 63 6f 6e 74  : function (cont
7390: 72 6f 6c 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  rol) {..        
73a0: 74 68 69 73 2e 6d 6f 76 65 52 6f 77 43 75 72 73  this.moveRowCurs
73b0: 6f 72 28 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20  or(false);..    
73c0: 7d 2c 0d 0a 0d 0a 20 20 20 20 43 6d 64 42 61 72  },....    CmdBar
73d0: 5f 42 74 4e 65 78 74 20 3a 20 66 75 6e 63 74 69  _BtNext : functi
73e0: 6f 6e 20 28 63 6f 6e 74 72 6f 6c 29 20 7b 0d 0a  on (control) {..
73f0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 6d 6f 76          this.mov
7400: 65 52 6f 77 43 75 72 73 6f 72 28 74 72 75 65 29  eRowCursor(true)
7410: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d  ;..    },..    .
7420: 0a 20 20 20 20 51 75 65 72 79 5f 4f 6e 43 68 61  .    Query_OnCha
7430: 6e 67 65 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28  nge : function (
7440: 63 6f 6e 74 72 6f 6c 29 20 7b 0d 0a 20 20 20 20  control) {..    
7450: 20 20 20 20 69 66 20 28 74 68 69 73 2e 66 6f 72      if (this.for
7460: 6d 2e 51 75 65 72 79 20 21 3d 20 27 27 29 0d 0a  m.Query != '')..
7470: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
7480: 21 74 68 69 73 2e 69 73 47 6c 6f 62 61 6c 46 69  !this.isGlobalFi
7490: 6e 64 29 7b 20 2f 2f 20 d0 95 d1 81 d0 bb d0 b8  nd){ // ........
74a0: 20 d0 b3 d0 bb d0 be d0 b1 d0 b0 d0 bb d1 8c d0   ...............
74b0: bd d1 8b d0 b9 20 d0 bf d0 be d0 b8 d1 81 d0 ba  ..... ..........
74c0: 2c 20 d1 82 d0 be d0 b3 d0 b4 d0 b0 20 d0 b0 d0  , .......... ...
74d0: b2 d1 82 d0 be d0 bc d0 b0 d1 82 d0 be d0 bc 20  ............... 
74e0: d0 bd d0 b5 20 d0 b1 d1 83 d0 b4 d0 b5 d0 bc 20  .... .......... 
74f0: d0 b8 d1 81 d0 ba d0 b0 d1 82 d1 8c 2e 20 0d 0a  ............. ..
7500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7510: 74 68 69 73 2e 73 65 61 72 63 68 41 63 74 69 76  this.searchActiv
7520: 65 44 6f 63 28 29 3b 0d 0a 20 20 20 20 20 20 20  eDoc();..       
7530: 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 2c 0d 0a       }..    },..
7540: 0d 0a 20 20 20 20 51 75 65 72 79 5f 53 74 61 72  ..    Query_Star
7550: 74 4c 69 73 74 43 68 6f 69 63 65 20 3a 20 66 75  tListChoice : fu
7560: 6e 63 74 69 6f 6e 20 28 63 6f 6e 74 72 6f 6c 2c  nction (control,
7570: 20 64 65 66 61 75 6c 74 48 61 6e 64 6c 65 72 29   defaultHandler)
7580: 20 7b 0d 0a 20 20 20 20 20 20 20 20 63 6f 6e 74   {..        cont
7590: 72 6f 6c 2e 76 61 6c 2e 43 68 6f 69 63 65 4c 69  rol.val.ChoiceLi
75a0: 73 74 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 53  st = this.form.S
75b0: 65 61 72 63 68 48 69 73 74 6f 72 79 3b 0d 0a 20  earchHistory;.. 
75c0: 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 42 74 53     },....    BtS
75d0: 65 61 72 63 68 5f 43 6c 69 63 6b 20 3a 20 66 75  earch_Click : fu
75e0: 6e 63 74 69 6f 6e 20 28 63 6f 6e 74 72 6f 6c 29  nction (control)
75f0: 20 7b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 66   {....        if
7600: 20 28 74 68 69 73 2e 66 6f 72 6d 2e 51 75 65 72   (this.form.Quer
7610: 79 20 3d 3d 20 27 27 29 0d 0a 20 20 20 20 20 20  y == '')..      
7620: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
7630: 20 44 6f 4d 65 73 73 61 67 65 42 6f 78 28 27 d0   DoMessageBox('.
7640: 9d d0 b5 20 d0 b7 d0 b0 d0 b4 d0 b0 d0 bd d0 b0  ... ............
7650: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 20 d0 bf   ............ ..
7660: d0 be d0 b8 d1 81 d0 ba d0 b0 27 29 3b 0d 0a 20  ..........');.. 
7670: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
7680: 6e 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  n;..        }.. 
7690: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e         if (this.
76a0: 69 73 47 6c 6f 62 61 6c 46 69 6e 64 29 20 7b 0d  isGlobalFind) {.
76b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69  .            thi
76c0: 73 2e 73 65 61 72 63 68 49 6e 4d 65 74 61 64 61  s.searchInMetada
76d0: 74 61 28 74 72 75 65 29 3b 0d 0a 20 20 20 20 20  ta(true);..     
76e0: 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20     } else {..   
76f0: 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 65           this.se
7700: 61 72 63 68 41 63 74 69 76 65 44 6f 63 28 29 3b  archActiveDoc();
7710: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
7720: 20 20 20 20 20 0d 0a 20 20 20 20 7d 2c 0d 0a 0d       ..    },...
7730: 0a 20 20 20 20 43 6d 64 42 61 72 4f 70 74 69 6f  .    CmdBarOptio
7740: 6e 73 5f 42 74 41 62 6f 75 74 20 3a 20 66 75 6e  ns_BtAbout : fun
7750: 63 74 69 6f 6e 20 28 63 6f 6e 74 72 6f 6c 29 20  ction (control) 
7760: 7b 0d 0a 20 20 20 20 20 20 20 20 52 75 6e 41 70  {..        RunAp
7770: 70 28 27 68 74 74 70 3a 2f 2f 73 6e 65 67 6f 70  p('http://snegop
7780: 61 74 2e 72 75 2f 73 63 72 69 70 74 73 2f 77 69  at.ru/scripts/wi
7790: 6b 69 3f 6e 61 6d 65 3d 65 78 74 53 65 61 72 63  ki?name=extSearc
77a0: 68 2e 6a 73 27 29 3b 0d 0a 20 20 20 20 7d 2c 0d  h.js');..    },.
77b0: 0a 0d 0a 20 20 20 20 53 65 61 72 63 68 52 65 73  ...    SearchRes
77c0: 75 6c 74 73 5f 53 65 6c 65 63 74 69 6f 6e 20 3a  ults_Selection :
77d0: 20 66 75 6e 63 74 69 6f 6e 20 28 63 6f 6e 74 72   function (contr
77e0: 6f 6c 2c 20 73 65 6c 65 63 74 65 64 52 6f 77 2c  ol, selectedRow,
77f0: 20 73 65 6c 65 63 74 65 64 43 6f 6c 2c 20 64 65   selectedCol, de
7800: 66 61 75 6c 74 48 61 6e 64 6c 65 72 29 20 7b 0d  faultHandler) {.
7810: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 67 6f  .        this.go
7820: 54 6f 4c 69 6e 65 28 73 65 6c 65 63 74 65 64 52  ToLine(selectedR
7830: 6f 77 2e 76 61 6c 29 3b 0d 0a 20 20 20 20 20 20  ow.val);..      
7840: 20 20 64 65 66 61 75 6c 74 48 61 6e 64 6c 65 72    defaultHandler
7850: 2e 76 61 6c 20 3d 20 66 61 6c 73 65 3b 20 2f 2f  .val = false; //
7860: 20 d0 ad d1 82 d0 be 20 d0 b4 d0 bb d1 8f 20 d1   ...... ...... .
7870: 82 d0 be d0 b3 d0 be 20 d1 87 d1 82 d0 be d0 b1  ....... ........
7880: d1 8b 20 d0 bf d0 be d1 81 d0 bb d0 b5 20 d0 bd  .. .......... ..
7890: d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d1 8f 20 d0 bd d0  ............ ...
78a0: b0 20 d1 81 d1 82 d1 80 d0 be d0 ba d1 83 20 d0  . ............ .
78b0: ba d1 83 d1 80 d1 81 d0 be d1 80 20 d0 bd d0 b5  ........... ....
78c0: 20 d1 83 d1 85 d0 be d0 b4 d0 b8 d1 82 20 d1 81   ............ ..
78d0: 20 d1 82 d0 b0 d0 b1 d0 bb d0 b8 d1 87 d0 bd d0   ...............
78e0: be d0 b3 d0 be 20 d0 bf d0 be d0 bb d1 8f 2c 20  ..... ........, 
78f0: d0 b8 20 d0 bf d1 80 d0 b8 20 d0 bd d0 be d0 b2  .. ...... ......
7900: d0 be d0 b9 20 d0 b0 d0 ba d1 82 d0 b8 d0 b2 d0  .... ...........
7910: b8 d0 b7 d0 b0 d1 86 d0 b8 d0 b8 20 d1 84 d0 be  ........... ....
7920: d1 80 d0 bc d1 8b 20 d0 bc d0 be d0 b6 d0 bd d0  ...... .........
7930: be 20 d0 b1 d1 8b d0 bb d0 be 20 d0 ba d1 83 d1  . ........ .....
7940: 80 d1 81 d0 be d1 80 d0 be d0 bc 20 d0 bf d0 be  ........... ....
7950: d1 81 d0 bc d0 be d1 82 d1 80 d0 b5 d1 82 d1 8c  ................
7960: 20 d0 b4 d1 80 d1 83 d0 b3 d0 b8 d0 b5 20 d0 b7   ............ ..
7970: d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d1 8f 0d 0a  ................
7980: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20      },..    ..  
7990: 20 20 62 65 66 6f 72 65 45 78 69 74 41 70 70 20    beforeExitApp 
79a0: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d  : function () {.
79b0: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 77 61  .        this.wa
79c0: 74 63 68 65 72 2e 73 74 6f 70 57 61 74 63 68 28  tcher.stopWatch(
79d0: 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20  );..    },....  
79e0: 20 20 49 73 52 65 67 45 78 70 5f 4f 6e 43 68 61    IsRegExp_OnCha
79f0: 6e 67 65 20 3a 20 66 75 6e 63 74 69 6f 6e 28 d0  nge : function(.
7a00: ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20 7b  .............) {
7a10: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 68  ..        if (th
7a20: 69 73 2e 66 6f 72 6d 2e 49 73 52 65 67 45 78 70  is.form.IsRegExp
7a30: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74  )..            t
7a40: 68 69 73 2e 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f  his.form.WholeWo
7a50: 72 64 73 20 3d 20 66 61 6c 73 65 3b 0d 0a 0d 0a  rds = false;....
7a60: 20 20 20 20 20 20 20 20 74 68 69 73 2e 53 65 74          this.Set
7a70: 43 6f 6e 74 72 6f 6c 73 56 69 73 69 62 6c 65 28  ControlsVisible(
7a80: 29 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20  )..    },....   
7a90: 20 57 68 6f 6c 65 57 6f 72 64 73 5f 4f 6e 43 68   WholeWords_OnCh
7aa0: 61 6e 67 65 20 3a 20 66 75 6e 63 74 69 6f 6e 28  ange : function(
7ab0: d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20  ..............) 
7ac0: 7b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74  {..        if (t
7ad0: 68 69 73 2e 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f  his.form.WholeWo
7ae0: 72 64 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20  rds)..          
7af0: 20 20 74 68 69 73 2e 66 6f 72 6d 2e 49 73 52 65    this.form.IsRe
7b00: 67 45 78 70 20 3d 20 66 61 6c 73 65 3b 0d 0a 0d  gExp = false;...
7b10: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 53 65  .        this.Se
7b20: 74 43 6f 6e 74 72 6f 6c 73 56 69 73 69 62 6c 65  tControlsVisible
7b30: 28 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20  ();..    },..   
7b40: 20 0d 0a 20 20 20 20 51 75 65 72 79 5f 53 74 61   ..    Query_Sta
7b50: 72 74 43 68 6f 69 63 65 20 3a 20 66 75 6e 63 74  rtChoice : funct
7b60: 69 6f 6e 20 28 43 6f 6e 74 72 6f 6c 2c 20 44 65  ion (Control, De
7b70: 66 61 75 6c 74 48 61 6e 64 6c 65 72 29 20 7b 0d  faultHandler) {.
7b80: 0a 20 20 20 20 20 20 20 20 76 61 72 20 72 65 45  .        var reE
7b90: 64 69 74 6f 72 50 61 74 68 20 3d 20 74 68 69 73  ditorPath = this
7ba0: 2e 67 65 74 52 65 67 45 78 70 45 64 69 74 6f 72  .getRegExpEditor
7bb0: 53 63 72 69 70 74 50 61 74 68 28 29 3b 0d 0a 20  ScriptPath();.. 
7bc0: 20 20 20 20 20 20 20 69 66 20 28 72 65 45 64 69         if (reEdi
7bd0: 74 6f 72 50 61 74 68 29 0d 0a 20 20 20 20 20 20  torPath)..      
7be0: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
7bf0: 20 44 65 66 61 75 6c 74 48 61 6e 64 6c 65 72 2e   DefaultHandler.
7c00: 76 61 6c 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20  val = false;..  
7c10: 20 20 20 20 20 20 20 20 20 20 72 65 45 64 69 74            reEdit
7c20: 6f 72 41 64 64 69 6e 20 3d 20 73 74 64 6c 69 62  orAddin = stdlib
7c30: 2e 72 65 71 75 69 72 65 28 72 65 45 64 69 74 6f  .require(reEdito
7c40: 72 50 61 74 68 29 3b 0d 0a 20 20 20 20 20 20 20  rPath);..       
7c50: 20 20 20 20 20 69 66 20 28 72 65 45 64 69 74 6f       if (reEdito
7c60: 72 41 64 64 69 6e 29 0d 0a 20 20 20 20 20 20 20  rAddin)..       
7c70: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20       {..        
7c80: 20 20 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72          this.for
7c90: 6d 2e 49 73 52 65 67 45 78 70 20 3d 20 74 72 75  m.IsRegExp = tru
7ca0: 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  e;..            
7cb0: 20 20 20 20 76 61 72 20 72 65 45 64 69 74 6f 72      var reEditor
7cc0: 20 3d 20 72 65 45 64 69 74 6f 72 41 64 64 69 6e   = reEditorAddin
7cd0: 2e 43 72 65 61 74 65 52 65 67 45 78 70 45 64 69  .CreateRegExpEdi
7ce0: 74 6f 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  tor();..        
7cf0: 20 20 20 20 20 20 20 20 72 65 45 64 69 74 6f 72          reEditor
7d00: 2e 6f 70 65 6e 28 43 6f 6e 74 72 6f 6c 2e 76 61  .open(Control.va
7d10: 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  l);..           
7d20: 20 7d 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20   }        ..    
7d30: 20 20 20 20 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 20      }..    },.. 
7d40: 20 20 20 0d 0a 20 20 20 20 53 65 61 72 63 68 52     ..    SearchR
7d50: 65 73 75 6c 74 73 5f 4f 6e 52 6f 77 4f 75 74 70  esults_OnRowOutp
7d60: 75 74 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 43  ut : function (C
7d70: 6f 6e 74 72 6f 6c 2c 20 52 6f 77 41 70 70 65 61  ontrol, RowAppea
7d80: 72 61 6e 63 65 2c 20 52 6f 77 44 61 74 61 29 20  rance, RowData) 
7d90: 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  {..        ..   
7da0: 20 20 20 20 20 76 61 72 20 63 65 6c 6c 20 3d 20       var cell = 
7db0: 52 6f 77 41 70 70 65 61 72 61 6e 63 65 2e 76 61  RowAppearance.va
7dc0: 6c 2e 43 65 6c 6c 73 2e 46 6f 75 6e 64 4c 69 6e  l.Cells.FoundLin
7dd0: 65 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  e;..        ..  
7de0: 20 20 20 20 20 20 73 77 69 74 63 68 20 28 52 6f        switch (Ro
7df0: 77 44 61 74 61 2e 76 61 6c 2e 52 6f 77 54 79 70  wData.val.RowTyp
7e00: 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20  e)..        {.. 
7e10: 20 20 20 20 20 20 20 63 61 73 65 20 52 6f 77 54         case RowT
7e20: 79 70 65 73 2e 46 75 6e 63 47 72 6f 75 70 3a 0d  ypes.FuncGroup:.
7e30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 65 6c  .            cel
7e40: 6c 2e 53 65 74 50 69 63 74 75 72 65 28 74 68 69  l.SetPicture(thi
7e50: 73 2e 49 63 6f 6e 73 2e 46 75 6e 63 29 3b 0d 0a  s.Icons.Func);..
7e60: 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61              brea
7e70: 6b 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  k;..        ..  
7e80: 20 20 20 20 20 20 63 61 73 65 20 52 6f 77 54 79        case RowTy
7e90: 70 65 73 2e 50 72 6f 63 47 72 6f 75 70 3a 0d 0a  pes.ProcGroup:..
7ea0: 20 20 20 20 20 20 20 20 20 20 20 20 63 65 6c 6c              cell
7eb0: 2e 53 65 74 50 69 63 74 75 72 65 28 74 68 69 73  .SetPicture(this
7ec0: 2e 49 63 6f 6e 73 2e 50 72 6f 63 29 3b 0d 0a 20  .Icons.Proc);.. 
7ed0: 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b             break
7ee0: 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 63 61 73  ;....        cas
7ef0: 65 20 52 6f 77 54 79 70 65 73 2e 53 65 61 72 63  e RowTypes.Searc
7f00: 68 44 6f 63 3a 0d 0a 20 20 20 20 20 20 20 20 20  hDoc:..         
7f10: 20 20 20 52 6f 77 41 70 70 65 61 72 61 6e 63 65     RowAppearance
7f20: 2e 76 61 6c 2e 43 65 6c 6c 73 2e 4c 69 6e 65 4e  .val.Cells.LineN
7f30: 6f 2e 53 65 74 54 65 78 74 28 27 27 29 3b 0d 0a  o.SetText('');..
7f40: 20 20 20 20 20 20 20 20 20 20 20 20 52 6f 77 41              RowA
7f50: 70 70 65 61 72 61 6e 63 65 2e 76 61 6c 2e 46 6f  ppearance.val.Fo
7f60: 6e 74 20 3d 20 74 68 69 73 2e 53 65 61 72 63 68  nt = this.Search
7f70: 44 6f 63 52 6f 77 46 6f 6e 74 3b 0d 0a 20 20 20  DocRowFont;..   
7f80: 20 20 20 20 20 20 20 20 20 52 6f 77 41 70 70 65           RowAppe
7f90: 61 72 61 6e 63 65 2e 76 61 6c 2e 54 65 78 74 43  arance.val.TextC
7fa0: 6f 6c 6f 72 20 3d 20 57 65 62 43 6f 6c 6f 72 73  olor = WebColors
7fb0: 2e 44 61 72 6b 42 6c 75 65 3b 0d 0a 20 20 20 20  .DarkBlue;..    
7fc0: 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a          break;..
7fd0: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
7fe0: 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0d 0a        default:..
7ff0: 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61              brea
8000: 6b 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  k;..        }.. 
8010: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
8020: 20 69 66 20 28 52 6f 77 44 61 74 61 2e 76 61 6c   if (RowData.val
8030: 2e 5f 6d 65 74 68 6f 64 20 26 26 20 52 6f 77 44  ._method && RowD
8040: 61 74 61 2e 76 61 6c 2e 5f 6d 65 74 68 6f 64 2e  ata.val._method.
8050: 49 73 50 72 6f 63 20 21 3d 3d 20 75 6e 64 65 66  IsProc !== undef
8060: 69 6e 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20  ined)..         
8070: 20 20 20 52 6f 77 41 70 70 65 61 72 61 6e 63 65     RowAppearance
8080: 2e 76 61 6c 2e 43 65 6c 6c 73 2e 4d 65 74 68 6f  .val.Cells.Metho
8090: 64 2e 53 65 74 50 69 63 74 75 72 65 28 52 6f 77  d.SetPicture(Row
80a0: 44 61 74 61 2e 76 61 6c 2e 5f 6d 65 74 68 6f 64  Data.val._method
80b0: 2e 49 73 50 72 6f 63 20 3f 20 74 68 69 73 2e 49  .IsProc ? this.I
80c0: 63 6f 6e 73 2e 50 72 6f 63 20 3a 20 74 68 69 73  cons.Proc : this
80d0: 2e 49 63 6f 6e 73 2e 46 75 6e 63 29 3b 0d 0a 20  .Icons.Func);.. 
80e0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 2c 0d         ..    },.
80f0: 0a 20 20 20 20 0d 0a 20 20 20 20 73 77 69 74 63  .    ..    switc
8100: 68 56 69 65 77 20 3a 20 66 75 6e 63 74 69 6f 6e  hView : function
8110: 20 28 73 65 74 54 72 65 65 56 69 65 77 29 20 7b   (setTreeView) {
8120: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
8130: 20 20 20 20 76 61 72 20 72 65 73 75 6c 74 73 20      var results 
8140: 3d 20 74 68 69 73 2e 72 65 73 75 6c 74 73 2e 43  = this.results.C
8150: 6f 70 79 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  opy();..        
8160: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 63  ..        this.c
8170: 6c 65 61 72 53 65 61 72 63 68 52 65 73 75 6c 74  learSearchResult
8180: 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  s();..        ..
8190: 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72          for (var
81a0: 20 64 6f 63 52 6f 77 49 78 20 3d 20 30 3b 20 64   docRowIx = 0; d
81b0: 6f 63 52 6f 77 49 78 20 3c 20 72 65 73 75 6c 74  ocRowIx < result
81c0: 73 2e 52 6f 77 73 2e 43 6f 75 6e 74 28 29 3b 20  s.Rows.Count(); 
81d0: 64 6f 63 52 6f 77 49 78 2b 2b 29 0d 0a 20 20 20  docRowIx++)..   
81e0: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20       {..        
81f0: 20 20 20 20 76 61 72 20 6f 6c 64 44 6f 63 52 6f      var oldDocRo
8200: 77 20 3d 20 72 65 73 75 6c 74 73 2e 52 6f 77 73  w = results.Rows
8210: 2e 47 65 74 28 64 6f 63 52 6f 77 49 78 29 3b 0d  .Get(docRowIx);.
8220: 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72  .            var
8230: 20 64 6f 63 52 6f 77 20 3d 20 74 68 69 73 2e 72   docRow = this.r
8240: 65 73 75 6c 74 73 2e 52 6f 77 73 2e 41 64 64 28  esults.Rows.Add(
8250: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
8260: 46 69 6c 6c 50 72 6f 70 65 72 74 79 56 61 6c 75  FillPropertyValu
8270: 65 73 28 64 6f 63 52 6f 77 2c 20 6f 6c 64 44 6f  es(docRow, oldDo
8280: 63 52 6f 77 29 3b 0d 0a 20 20 20 20 20 20 20 20  cRow);..        
8290: 20 20 20 20 64 6f 63 52 6f 77 2e 67 72 6f 75 70      docRow.group
82a0: 73 43 61 63 68 65 20 3d 20 76 38 4e 65 77 28 27  sCache = v8New('
82b0: 4d 61 70 27 29 3b 0d 0a 20 20 20 20 20 20 20 20  Map');..        
82c0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20      ..          
82d0: 20 20 69 66 20 28 73 65 74 54 72 65 65 56 69 65    if (setTreeVie
82e0: 77 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  w)..            
82f0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
8300: 20 20 20 66 6f 72 20 28 76 61 72 20 69 3d 30 3b     for (var i=0;
8310: 20 69 3c 6f 6c 64 44 6f 63 52 6f 77 2e 52 6f 77   i<oldDocRow.Row
8320: 73 2e 43 6f 75 6e 74 28 29 3b 20 69 2b 2b 29 0d  s.Count(); i++).
8330: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
8340: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
8350: 20 20 20 20 20 20 20 20 76 61 72 20 72 6f 77 20          var row 
8360: 3d 20 6f 6c 64 44 6f 63 52 6f 77 2e 52 6f 77 73  = oldDocRow.Rows
8370: 2e 47 65 74 28 69 29 3b 0d 0a 20 20 20 20 20 20  .Get(i);..      
8380: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61                va
8390: 72 20 67 72 6f 75 70 52 6f 77 20 3d 20 74 68 69  r groupRow = thi
83a0: 73 2e 67 65 74 47 72 6f 75 70 52 6f 77 28 64 6f  s.getGroupRow(do
83b0: 63 52 6f 77 2c 20 72 6f 77 2e 5f 6d 65 74 68 6f  cRow, row._metho
83c0: 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  d);..           
83d0: 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 73           var res
83e0: 52 6f 77 20 3d 20 67 72 6f 75 70 52 6f 77 2e 52  Row = groupRow.R
83f0: 6f 77 73 2e 41 64 64 28 29 3b 0d 0a 20 20 20 20  ows.Add();..    
8400: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8410: 46 69 6c 6c 50 72 6f 70 65 72 74 79 56 61 6c 75  FillPropertyValu
8420: 65 73 28 72 65 73 52 6f 77 2c 20 72 6f 77 29 3b  es(resRow, row);
8430: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
8440: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20    }..           
8450: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   }..            
8460: 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20  else..          
8470: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
8480: 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 3d       for (var i=
8490: 30 3b 20 69 3c 6f 6c 64 44 6f 63 52 6f 77 2e 52  0; i<oldDocRow.R
84a0: 6f 77 73 2e 43 6f 75 6e 74 28 29 3b 20 69 2b 2b  ows.Count(); i++
84b0: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  )..             
84c0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20     {..          
84d0: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 67 72            var gr
84e0: 6f 75 70 52 6f 77 20 3d 20 6f 6c 64 44 6f 63 52  oupRow = oldDocR
84f0: 6f 77 2e 52 6f 77 73 2e 47 65 74 28 69 29 3b 0d  ow.Rows.Get(i);.
8500: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
8510: 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6a 3d       for (var j=
8520: 30 3b 20 6a 3c 67 72 6f 75 70 52 6f 77 2e 52 6f  0; j<groupRow.Ro
8530: 77 73 2e 43 6f 75 6e 74 28 29 3b 20 6a 2b 2b 29  ws.Count(); j++)
8540: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
8550: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
8560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8570: 20 76 61 72 20 72 6f 77 20 3d 20 67 72 6f 75 70   var row = group
8580: 52 6f 77 2e 52 6f 77 73 2e 47 65 74 28 6a 29 3b  Row.Rows.Get(j);
8590: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
85a0: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65            var re
85b0: 73 52 6f 77 20 3d 20 64 6f 63 52 6f 77 2e 52 6f  sRow = docRow.Ro
85c0: 77 73 2e 41 64 64 28 29 3b 0d 0a 20 20 20 20 20  ws.Add();..     
85d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
85e0: 20 20 20 46 69 6c 6c 50 72 6f 70 65 72 74 79 56     FillPropertyV
85f0: 61 6c 75 65 73 28 72 65 73 52 6f 77 2c 20 72 6f  alues(resRow, ro
8600: 77 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  w);..           
8610: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
8620: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
8630: 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 20 20             }    
8640: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
8650: 20 20 20 20 20 74 68 69 73 2e 65 78 70 61 6e 64       this.expand
8660: 54 72 65 65 28 29 3b 20 20 20 20 20 20 20 20 0d  Tree();        .
8670: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 53 65  .        this.Se
8680: 74 43 6f 6e 74 72 6f 6c 73 56 69 73 69 62 6c 65  tControlsVisible
8690: 28 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20  ();..    },..   
86a0: 20 0d 0a 20 20 20 20 43 6d 64 42 61 72 5f 54 72   ..    CmdBar_Tr
86b0: 65 65 56 69 65 77 20 3a 20 66 75 6e 63 74 69 6f  eeView : functio
86c0: 6e 20 28 42 75 74 74 6f 6e 29 20 7b 0d 0a 20 20  n (Button) {..  
86d0: 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e        this.form.
86e0: 54 72 65 65 56 69 65 77 20 3d 20 21 74 68 69 73  TreeView = !this
86f0: 2e 66 6f 72 6d 2e 54 72 65 65 56 69 65 77 3b 0d  .form.TreeView;.
8700: 0a 20 20 20 20 20 20 20 20 42 75 74 74 6f 6e 2e  .        Button.
8710: 76 61 6c 2e 43 68 65 63 6b 20 3d 20 74 68 69 73  val.Check = this
8720: 2e 66 6f 72 6d 2e 54 72 65 65 56 69 65 77 3b 0d  .form.TreeView;.
8730: 0a 20 20 20 20 20 20 20 20 2f 2f 74 68 69 73 2e  .        //this.
8740: 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 53 65  form.Controls.Se
8750: 61 72 63 68 52 65 73 75 6c 74 73 2e 43 6f 6c 75  archResults.Colu
8760: 6d 6e 73 2e 46 6f 75 6e 64 4c 69 6e 65 2e 53 68  mns.FoundLine.Sh
8770: 6f 77 48 69 65 72 61 72 63 68 79 20 3d 20 74 68  owHierarchy = th
8780: 69 73 2e 66 6f 72 6d 2e 54 72 65 65 56 69 65 77  is.form.TreeView
8790: 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e  ;..        this.
87a0: 73 77 69 74 63 68 56 69 65 77 28 74 68 69 73 2e  switchView(this.
87b0: 66 6f 72 6d 2e 54 72 65 65 56 69 65 77 29 3b 0d  form.TreeView);.
87c0: 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20  .    },..    .. 
87d0: 20 20 20 43 6d 64 42 61 72 5f 45 78 70 61 6e 64     CmdBar_Expand
87e0: 41 6c 6c 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28  All : function (
87f0: 42 75 74 74 6f 6e 29 20 7b 0d 0a 20 20 20 20 20  Button) {..     
8800: 20 20 20 74 68 69 73 2e 65 78 70 61 6e 64 54 72     this.expandTr
8810: 65 65 28 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20  ee(false);..    
8820: 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 43 6d  },..    ..    Cm
8830: 64 42 61 72 5f 43 6f 6c 6c 61 70 73 65 41 6c 6c  dBar_CollapseAll
8840: 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 42 75 74   : function (But
8850: 74 6f 6e 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  ton) {..        
8860: 74 68 69 73 2e 65 78 70 61 6e 64 54 72 65 65 28  this.expandTree(
8870: 74 72 75 65 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a  true);..    },..
8880: 0d 0a 20 20 20 20 53 65 74 43 6f 6e 74 72 6f 6c  ..    SetControl
8890: 73 56 69 73 69 62 6c 65 20 3a 20 66 75 6e 63 74  sVisible : funct
88a0: 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20 20 20  ion() {..       
88b0: 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 63   ..        var c
88c0: 74 72 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 43  tr = this.form.C
88d0: 6f 6e 74 72 6f 6c 73 3b 0d 0a 20 20 20 20 20 20  ontrols;..      
88e0: 20 20 2f 2f 63 74 72 2e 53 65 61 72 63 68 52 65    //ctr.SearchRe
88f0: 73 75 6c 74 73 2e 43 6f 6c 75 6d 6e 73 2e 46 6f  sults.Columns.Fo
8900: 75 6e 64 4c 69 6e 65 2e 53 68 6f 77 48 69 65 72  undLine.ShowHier
8910: 61 72 63 68 79 20 3d 20 74 68 69 73 2e 66 6f 72  archy = this.for
8920: 6d 2e 54 72 65 65 56 69 65 77 3b 20 20 20 20 0d  m.TreeView;    .
8930: 0a 20 20 20 20 20 20 20 20 63 74 72 2e 43 6d 64  .        ctr.Cmd
8940: 42 61 72 2e 42 75 74 74 6f 6e 73 2e 54 72 65 65  Bar.Buttons.Tree
8950: 56 69 65 77 2e 43 68 65 63 6b 20 3d 20 74 68 69  View.Check = thi
8960: 73 2e 66 6f 72 6d 2e 54 72 65 65 56 69 65 77 3b  s.form.TreeView;
8970: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 66  ..        this.f
8980: 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 53 65 61  orm.Controls.Sea
8990: 72 63 68 52 65 73 75 6c 74 73 2e 43 6f 6c 75 6d  rchResults.Colum
89a0: 6e 73 2e 4d 65 74 68 6f 64 2e 56 69 73 69 62 6c  ns.Method.Visibl
89b0: 65 20 3d 20 21 74 68 69 73 2e 66 6f 72 6d 2e 54  e = !this.form.T
89c0: 72 65 65 56 69 65 77 3b 0d 0a 20 20 20 20 20 20  reeView;..      
89d0: 20 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74    this.form.Cont
89e0: 72 6f 6c 73 2e 53 65 61 72 63 68 52 65 73 75 6c  rols.SearchResul
89f0: 74 73 2e 43 6f 6c 75 6d 6e 73 2e 45 78 61 63 74  ts.Columns.Exact
8a00: 4d 61 74 63 68 2e 56 69 73 69 62 6c 65 20 3d 20  Match.Visible = 
8a10: 74 68 69 73 2e 66 6f 72 6d 2e 49 73 52 65 67 45  this.form.IsRegE
8a20: 78 70 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76  xp;....        v
8a30: 61 72 20 62 75 74 74 6f 6e 73 20 3d 20 74 68 69  ar buttons = thi
8a40: 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e  s.form.Controls.
8a50: 43 6d 64 42 61 72 2e 42 75 74 74 6f 6e 73 3b 0d  CmdBar.Buttons;.
8a60: 0a 20 20 20 20 20 20 20 20 62 75 74 74 6f 6e 73  .        buttons
8a70: 2e 45 78 70 61 6e 64 41 6c 6c 2e 45 6e 61 62 6c  .ExpandAll.Enabl
8a80: 65 64 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 54  ed = this.form.T
8a90: 72 65 65 56 69 65 77 3b 0d 0a 20 20 20 20 20 20  reeView;..      
8aa0: 20 20 62 75 74 74 6f 6e 73 2e 41 63 74 69 6f 6e    buttons.Action
8ab0: 73 2e 42 75 74 74 6f 6e 73 2e 45 78 70 61 6e 64  s.Buttons.Expand
8ac0: 41 6c 6c 2e 45 6e 61 62 6c 65 64 20 3d 20 74 68  All.Enabled = th
8ad0: 69 73 2e 66 6f 72 6d 2e 54 72 65 65 56 69 65 77  is.form.TreeView
8ae0: 3b 0d 0a 20 20 20 20 20 20 20 20 62 75 74 74 6f  ;..        butto
8af0: 6e 73 2e 43 6f 6c 6c 61 70 73 65 41 6c 6c 2e 45  ns.CollapseAll.E
8b00: 6e 61 62 6c 65 64 20 3d 20 74 68 69 73 2e 66 6f  nabled = this.fo
8b10: 72 6d 2e 54 72 65 65 56 69 65 77 3b 0d 0a 20 20  rm.TreeView;..  
8b20: 20 20 20 20 20 20 62 75 74 74 6f 6e 73 2e 41 63        buttons.Ac
8b30: 74 69 6f 6e 73 2e 42 75 74 74 6f 6e 73 2e 43 6f  tions.Buttons.Co
8b40: 6c 6c 61 70 73 65 41 6c 6c 2e 45 6e 61 62 6c 65  llapseAll.Enable
8b50: 64 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 54 72  d = this.form.Tr
8b60: 65 65 56 69 65 77 3b 0d 0a 0d 0a 20 20 20 20 20  eeView;....     
8b70: 20 20 20 69 66 20 28 74 68 69 73 2e 69 73 47 6c     if (this.isGl
8b80: 6f 62 61 6c 46 69 6e 64 29 7b 0d 0a 20 20 20 20  obalFind){..    
8b90: 20 20 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72          this.for
8ba0: 6d 2e 63 61 70 74 69 6f 6e 20 3d 20 22 d0 a0 d0  m.caption = "...
8bb0: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 bd d1  ................
8bc0: 8b d0 b9 20 d0 bf d0 be d0 b8 d1 81 d0 ba 20 d0  ... .......... .
8bd0: b2 20 d0 bc d0 be d0 b4 d1 83 d0 bb d0 b5 20 28  . ............ (
8be0: d0 b3 d0 bb d0 be d0 b1 d0 b0 d0 bb d1 8c d0 bd  ................
8bf0: d1 8b d0 b9 29 22 3b 0d 0a 20 20 20 20 20 20 20  ....)";..       
8c00: 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20   } else {..     
8c10: 20 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d         this.form
8c20: 2e 63 61 70 74 69 6f 6e 20 3d 20 22 d0 a0 d0 b0  .caption = "....
8c30: d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 bd d1 8b  ................
8c40: d0 b9 20 d0 bf d0 be d0 b8 d1 81 d0 ba 20 d0 b2  .. .......... ..
8c50: 20 d0 bc d0 be d0 b4 d1 83 d0 bb d0 b5 22 3b 0d   ............";.
8c60: 0a 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a  ...        }....
8c70: 20 20 20 20 7d 0d 0a 20 20 0d 0a 7d 29 3b 20 2f      }..  ..}); /
8c80: 2f 20 65 6e 64 20 6f 66 20 45 78 74 53 65 61 72  / end of ExtSear
8c90: 63 68 20 63 6c 61 73 73 0d 0a 0d 0a 2f 2f 2f 2f  ch class....////
8ca0: 7d 20 45 78 74 53 65 61 72 63 68 0d 0a 0d 0a 2f  } ExtSearch..../
8cb0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8cc0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8cd0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8ce0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8cf0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8d00: 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 d0  ///////..////{ .
8d10: 92 d1 81 d0 bf d0 be d0 bc d0 be d0 b3 d0 b0 d1  ................
8d20: 82 d0 b5 d0 bb d1 8c d0 bd d1 8b d0 b5 20 d0 be  ............. ..
8d30: d0 b1 d1 8a d0 b5 d0 ba d1 82 d1 8b 2e 0d 0a 2f  .............../
8d40: 2f 2f 2f 0d 0a 0d 0a 4d 64 4f 62 6a 65 63 74 20  ///....MdObject 
8d50: 3d 20 73 74 64 6c 69 62 2e 43 6c 61 73 73 2e 65  = stdlib.Class.e
8d60: 78 74 65 6e 64 28 7b 20 20 20 20 20 20 20 20 20  xtend({         
8d70: 20 20 0d 0a 20 20 20 20 63 6f 6e 73 74 72 75 63    ..    construc
8d80: 74 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6f 62 6a  t: function (obj
8d90: 2c 20 70 72 6f 70 2c 20 74 69 74 6c 65 29 20 7b  , prop, title) {
8da0: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 6f  ..        this.o
8db0: 62 6a 20 3d 20 6f 62 6a 3b 0d 0a 20 20 20 20 20  bj = obj;..     
8dc0: 20 20 20 74 68 69 73 2e 70 72 6f 70 20 3d 20 70     this.prop = p
8dd0: 72 6f 70 3b 0d 0a 20 20 20 20 20 20 20 20 74 68  rop;..        th
8de0: 69 73 2e 74 69 74 6c 65 20 3d 20 74 69 74 6c 65  is.title = title
8df0: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 67  ;..    },..    g
8e00: 65 74 54 65 78 74 3a 20 66 75 6e 63 74 69 6f 6e  etText: function
8e10: 28 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65  () {..        re
8e20: 74 75 72 6e 20 74 68 69 73 2e 6f 62 6a 2e 67 65  turn this.obj.ge
8e30: 74 4d 6f 64 75 6c 65 54 65 78 74 28 74 68 69 73  tModuleText(this
8e40: 2e 70 72 6f 70 2e 69 64 29 3b 0d 0a 20 20 20 20  .prop.id);..    
8e50: 7d 2c 0d 0a 20 20 20 20 61 63 74 69 76 61 74 65  },..    activate
8e60: 3a 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a  : function() {..
8e70: 20 20 20 20 20 20 20 20 74 68 69 73 2e 6f 62 6a          this.obj
8e80: 2e 6f 70 65 6e 4d 6f 64 75 6c 65 28 74 68 69 73  .openModule(this
8e90: 2e 70 72 6f 70 2e 69 64 29 3b 0d 0a 20 20 20 20  .prop.id);..    
8ea0: 20 20 20 20 72 65 74 75 72 6e 20 47 65 74 54 65      return GetTe
8eb0: 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20  xtWindow();..   
8ec0: 20 7d 2c 0d 0a 20 20 20 20 67 65 74 54 69 74 6c   },..    getTitl
8ed0: 65 3a 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d  e: function() {.
8ee0: 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 74 68  .        if (!th
8ef0: 69 73 2e 74 69 74 6c 65 29 0d 0a 20 20 20 20 20  is.title)..     
8f00: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20     {..          
8f10: 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 64    function getMd
8f20: 4e 61 6d 65 28 6d 64 4f 62 6a 29 20 7b 20 20 20  Name(mdObj) {   
8f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8f40: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
8f50: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
8f60: 6d 64 4f 62 6a 2e 70 61 72 65 6e 74 20 26 26 20  mdObj.parent && 
8f70: 6d 64 4f 62 6a 2e 70 61 72 65 6e 74 2e 6d 64 43  mdObj.parent.mdC
8f80: 6c 61 73 73 2e 6e 61 6d 65 28 31 29 20 21 3d 20  lass.name(1) != 
8f90: 27 d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1  '...............
8fa0: 80 d0 b0 d1 86 d0 b8 d1 8f 27 29 0d 0a 20 20 20  .........')..   
8fb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8fc0: 20 72 65 74 75 72 6e 20 67 65 74 4d 64 4e 61 6d   return getMdNam
8fd0: 65 28 6d 64 4f 62 6a 2e 70 61 72 65 6e 74 29 20  e(mdObj.parent) 
8fe0: 2b 20 27 2e 27 20 2b 20 6d 64 4f 62 6a 2e 6d 64  + '.' + mdObj.md
8ff0: 43 6c 61 73 73 2e 6e 61 6d 65 28 31 29 20 2b 20  Class.name(1) + 
9000: 27 20 27 20 2b 20 6d 64 4f 62 6a 2e 6e 61 6d 65  ' ' + mdObj.name
9010: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
9020: 20 20 20 76 61 72 20 63 6e 61 6d 65 20 3d 20 6d     var cname = m
9030: 64 4f 62 6a 2e 6d 64 43 6c 61 73 73 2e 6e 61 6d  dObj.mdClass.nam
9040: 65 28 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  e(1);..         
9050: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 20 28         return  (
9060: 63 6e 61 6d 65 20 3f 20 63 6e 61 6d 65 20 2b 20  cname ? cname + 
9070: 27 20 27 20 3a 20 27 27 29 20 2b 20 6d 64 4f 62  ' ' : '') + mdOb
9080: 6a 2e 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20  j.name;..       
9090: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
90a0: 20 20 20 20 74 68 69 73 2e 74 69 74 6c 65 20 3d      this.title =
90b0: 20 67 65 74 4d 64 4e 61 6d 65 28 74 68 69 73 2e   getMdName(this.
90c0: 6f 62 6a 29 20 2b 20 27 3a 20 27 20 2b 20 74 68  obj) + ': ' + th
90d0: 69 73 2e 70 72 6f 70 2e 6e 61 6d 65 28 31 29 3b  is.prop.name(1);
90e0: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
90f0: 20 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73       return this
9100: 2e 74 69 74 6c 65 3b 0d 0a 20 20 20 20 7d 0d 0a  .title;..    }..
9110: 7d 29 3b 0d 0a 0d 0a 54 65 78 74 44 6f 63 4f 62  });....TextDocOb
9120: 6a 65 63 74 20 3d 20 73 74 64 6c 69 62 2e 43 6c  ject = stdlib.Cl
9130: 61 73 73 2e 65 78 74 65 6e 64 28 7b 0d 0a 20 20  ass.extend({..  
9140: 20 20 63 6f 6e 73 74 72 75 63 74 3a 20 66 75 6e    construct: fun
9150: 63 74 69 6f 6e 20 28 74 78 74 44 6f 63 2c 20 74  ction (txtDoc, t
9160: 69 74 6c 65 29 20 7b 0d 0a 20 20 20 20 20 20 20  itle) {..       
9170: 20 74 68 69 73 2e 6f 62 6a 20 3d 20 74 78 74 44   this.obj = txtD
9180: 6f 63 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69  oc;..        thi
9190: 73 2e 74 69 74 6c 65 20 3d 20 74 69 74 6c 65 3b  s.title = title;
91a0: 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 67 65  ..    },..    ge
91b0: 74 54 65 78 74 3a 20 66 75 6e 63 74 69 6f 6e 28  tText: function(
91c0: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74  ) {..        ret
91d0: 75 72 6e 20 74 68 69 73 2e 6f 62 6a 2e 47 65 74  urn this.obj.Get
91e0: 54 65 78 74 28 29 3b 0d 0a 20 20 20 20 7d 2c 0d  Text();..    },.
91f0: 0a 20 20 20 20 61 63 74 69 76 61 74 65 3a 20 66  .    activate: f
9200: 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20  unction() {..   
9210: 20 20 20 20 20 74 68 69 73 2e 6f 62 6a 2e 53 68       this.obj.Sh
9220: 6f 77 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 72  ow();..        r
9230: 65 74 75 72 6e 20 47 65 74 54 65 78 74 57 69 6e  eturn GetTextWin
9240: 64 6f 77 28 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a  dow();..    },..
9250: 20 20 20 20 67 65 74 54 69 74 6c 65 3a 20 66 75      getTitle: fu
9260: 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20  nction() {..    
9270: 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 74 69      if (!this.ti
9280: 74 6c 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20  tle)..          
9290: 20 20 74 68 69 73 2e 74 69 74 6c 65 20 3d 20 74    this.title = t
92a0: 68 69 73 2e 6f 62 6a 2e 55 73 65 64 46 69 6c 65  his.obj.UsedFile
92b0: 4e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 72  Name;..        r
92c0: 65 74 75 72 6e 20 74 68 69 73 2e 74 69 74 6c 65  eturn this.title
92d0: 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 29 3b 0d 0a 0d  ;..    }..});...
92e0: 0a 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 4d 64  .function findMd
92f0: 4f 62 6a 28 63 75 72 72 65 6e 74 6d 64 2c 20 75  Obj(currentmd, u
9300: 75 69 64 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 28  uid)..{..    if(
9310: 75 75 69 64 20 3d 3d 20 63 75 72 72 65 6e 74 6d  uuid == currentm
9320: 64 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e 69 64 29  d.rootObject.id)
9330: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  ..        return
9340: 20 63 75 72 72 65 6e 74 6d 64 2e 72 6f 6f 74 4f   currentmd.rootO
9350: 62 6a 65 63 74 0d 0a 20 20 20 20 72 65 74 75 72  bject..    retur
9360: 6e 20 63 75 72 72 65 6e 74 6d 64 2e 66 69 6e 64  n currentmd.find
9370: 42 79 55 55 49 44 28 75 75 69 64 29 3b 0d 0a 7d  ByUUID(uuid);..}
9380: 0d 0a 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7d 20 d0 92  ..////..////} ..
9390: d1 81 d0 bf d0 be d0 bc d0 be d0 b3 d0 b0 d1 82  ................
93a0: d0 b5 d0 bb d1 8c d0 bd d1 8b d0 b5 20 d0 be d0  ............ ...
93b0: b1 d1 8a d0 b5 d0 ba d1 82 d1 8b 2e 0d 0a 2f 2f  ..............//
93c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
93d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
93e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
93f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9400: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9410: 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f  //////....//////
9420: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9430: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9440: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9450: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9460: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9470: 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 54 65 78 74 57 69  //..////{ TextWi
9480: 6e 64 6f 77 73 57 61 74 63 68 65 72 20 2d 20 d0  ndowsWatcher - .
9490: be d1 82 d1 81 d0 bb d0 b5 d0 b6 d0 b8 d0 b2 d0  ................
94a0: b0 d0 b5 d1 82 20 d0 b0 d0 ba d1 82 d0 b8 d0 b2  ..... ..........
94b0: d0 b8 d0 b7 d0 b0 d1 86 d0 b8 d1 8e 20 d1 82 d0  ............ ...
94c0: b5 d0 ba d1 81 d1 82 d0 be d0 b2 d1 8b d1 85 20  ............... 
94d0: d0 be d0 ba d0 be d0 bd 20 d0 b8 20 d0 b7 d0 b0  ........ .. ....
94e0: d0 bf d0 be d0 bc d0 b8 d0 bd d0 b0 d0 b5 d1 82  ................
94f0: 20 d0 bf d0 be d1 81 d0 bb d0 b5 d0 b4 d0 bd d0   ...............
9500: b5 d0 b5 2e 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 54 65  ......////....Te
9510: 78 74 57 69 6e 64 6f 77 73 57 61 74 63 68 65 72  xtWindowsWatcher
9520: 20 3d 20 73 74 64 6c 69 62 2e 43 6c 61 73 73 2e   = stdlib.Class.
9530: 65 78 74 65 6e 64 28 7b 0d 0a 0d 0a 20 20 20 20  extend({....    
9540: 63 6f 6e 73 74 72 75 63 74 20 3a 20 66 75 6e 63  construct : func
9550: 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20 20  tion() {..      
9560: 20 20 74 68 69 73 2e 74 69 6d 65 72 49 64 20 3d    this.timerId =
9570: 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69   0;..        thi
9580: 73 2e 6c 61 73 74 41 63 74 69 76 65 54 65 78 74  s.lastActiveText
9590: 57 69 6e 64 6f 77 20 3d 20 6e 75 6c 6c 3b 0d 0a  Window = null;..
95a0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 74 61          this.sta
95b0: 72 74 57 61 74 63 68 28 29 3b 0d 0a 20 20 20 20  rtWatch();..    
95c0: 7d 2c 0d 0a 0d 0a 20 20 20 20 67 65 74 41 63 74  },....    getAct
95d0: 69 76 65 54 65 78 74 57 69 6e 64 6f 77 20 3a 20  iveTextWindow : 
95e0: 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20  function () {.. 
95f0: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e         if (this.
9600: 6c 61 73 74 41 63 74 69 76 65 54 65 78 74 57 69  lastActiveTextWi
9610: 6e 64 6f 77 20 26 26 20 74 68 69 73 2e 6c 61 73  ndow && this.las
9620: 74 41 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f  tActiveTextWindo
9630: 77 2e 49 73 41 63 74 69 76 65 28 29 29 0d 0a 20  w.IsActive()).. 
9640: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
9650: 6e 20 74 68 69 73 2e 6c 61 73 74 41 63 74 69 76  n this.lastActiv
9660: 65 54 65 78 74 57 69 6e 64 6f 77 3b 0d 0a 20 20  eTextWindow;..  
9670: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c        return nul
9680: 6c 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20  l;..    },....  
9690: 20 20 73 74 61 72 74 57 61 74 63 68 20 3a 20 66    startWatch : f
96a0: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20  unction () {..  
96b0: 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 74        if (this.t
96c0: 69 6d 65 72 49 64 29 0d 0a 20 20 20 20 20 20 20  imerId)..       
96d0: 20 20 20 20 20 74 68 69 73 2e 73 74 6f 70 57 61       this.stopWa
96e0: 74 63 68 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  tch();..        
96f0: 74 68 69 73 2e 74 69 6d 65 72 49 64 20 3d 20 63  this.timerId = c
9700: 72 65 61 74 65 54 69 6d 65 72 28 35 30 30 2c 20  reateTimer(500, 
9710: 74 68 69 73 2c 20 27 6f 6e 54 69 6d 65 72 27 29  this, 'onTimer')
9720: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20  ;..    },....   
9730: 20 73 74 6f 70 57 61 74 63 68 20 3a 20 66 75 6e   stopWatch : fun
9740: 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20  ction () {..    
9750: 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 74 69      if (!this.ti
9760: 6d 65 72 49 64 29 0d 0a 20 20 20 20 20 20 20 20  merId)..        
9770: 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20      return;..   
9780: 20 20 20 20 20 6b 69 6c 6c 54 69 6d 65 72 28 74       killTimer(t
9790: 68 69 73 2e 74 69 6d 65 72 49 64 29 3b 0d 0a 20  his.timerId);.. 
97a0: 20 20 20 20 20 20 20 74 68 69 73 2e 74 69 6d 65         this.time
97b0: 72 49 64 20 3d 20 30 3b 0d 0a 20 20 20 20 7d 2c  rId = 0;..    },
97c0: 0d 0a 0d 0a 20 20 20 20 6f 6e 54 69 6d 65 72 20  ....    onTimer 
97d0: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 74 69 6d 65  : function (time
97e0: 72 49 64 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  rId) {..        
97f0: 76 61 72 20 77 6e 64 20 3d 20 47 65 74 54 65 78  var wnd = GetTex
9800: 74 57 69 6e 64 6f 77 28 29 3b 20 20 20 20 0d 0a  tWindow();    ..
9810: 20 20 20 20 20 20 20 20 69 66 20 28 77 6e 64 29          if (wnd)
9820: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  ..            th
9830: 69 73 2e 6c 61 73 74 41 63 74 69 76 65 54 65 78  is.lastActiveTex
9840: 74 57 69 6e 64 6f 77 20 3d 20 77 6e 64 3b 0d 0a  tWindow = wnd;..
9850: 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20          else if 
9860: 28 74 68 69 73 2e 6c 61 73 74 41 63 74 69 76 65  (this.lastActive
9870: 54 65 78 74 57 69 6e 64 6f 77 20 26 26 20 21 74  TextWindow && !t
9880: 68 69 73 2e 6c 61 73 74 41 63 74 69 76 65 54 65  his.lastActiveTe
9890: 78 74 57 69 6e 64 6f 77 2e 49 73 41 63 74 69 76  xtWindow.IsActiv
98a0: 65 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20  e())..          
98b0: 20 20 74 68 69 73 2e 6c 61 73 74 41 63 74 69 76    this.lastActiv
98c0: 65 54 65 78 74 57 69 6e 64 6f 77 20 3d 20 6e 75  eTextWindow = nu
98d0: 6c 6c 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20  ll;..    }..    
98e0: 0d 0a 7d 29 3b 20 2f 2f 20 65 6e 64 20 6f 66 20  ..}); // end of 
98f0: 54 65 78 74 57 69 6e 64 6f 77 73 57 61 74 63 68  TextWindowsWatch
9900: 65 72 20 63 6c 61 73 73 0d 0a 0d 0a 2f 2f 7d 20  er class....//} 
9910: 54 65 78 74 57 69 6e 64 6f 77 73 57 61 74 63 68  TextWindowsWatch
9920: 65 72 20 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f  er ..../////////
9930: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9940: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9950: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9960: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
9970: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d  ///////////////.
9980: 0a 2f 2f 2f 2f 7b 20 53 74 61 72 74 55 70 0d 0a  .////{ StartUp..
9990: 2f 2f 2f 2f 0d 0a 66 75 6e 63 74 69 6f 6e 20 47  ////..function G
99a0: 65 74 45 78 74 53 65 61 72 63 68 28 29 20 7b 0d  etExtSearch() {.
99b0: 0a 20 20 20 20 69 66 20 28 21 45 78 74 53 65 61  .    if (!ExtSea
99c0: 72 63 68 2e 5f 69 6e 73 74 61 6e 63 65 29 0d 0a  rch._instance)..
99d0: 20 20 20 20 20 20 20 20 6e 65 77 20 45 78 74 53          new ExtS
99e0: 65 61 72 63 68 28 29 3b 0d 0a 20 20 20 20 0d 0a  earch();..    ..
99f0: 20 20 20 20 72 65 74 75 72 6e 20 45 78 74 53 65      return ExtSe
9a00: 61 72 63 68 2e 5f 69 6e 73 74 61 6e 63 65 3b 0d  arch._instance;.
9a10: 0a 7d 0d 0a 0d 0a 65 76 65 6e 74 73 2e 63 6f 6e  .}....events.con
9a20: 6e 65 63 74 28 44 65 73 69 67 6e 65 72 2c 20 22  nect(Designer, "
9a30: 62 65 66 6f 72 65 45 78 69 74 41 70 70 22 2c 20  beforeExitApp", 
9a40: 47 65 74 45 78 74 53 65 61 72 63 68 28 29 29 3b  GetExtSearch());
9a50: 0d 0a 2f 2f 2f 2f 7d                             ..////}