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 54 65 78 74 57 pt..$uname TextW
0020: 69 6e 64 6f 77 0d 0a 24 64 6e 61 6d 65 20 d0 9a indow..$dname ..
0030: d0 bb d0 b0 d1 81 d1 81 20 54 65 78 74 57 69 6e ........ TextWin
0040: 64 6f 77 0d 0a 24 61 64 64 69 6e 20 67 6c 6f 62 dow..$addin glob
0050: 61 6c 0d 0a 24 61 64 64 69 6e 20 73 74 64 6c 69 al..$addin stdli
0060: 62 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 47 65 b....function Ge
0070: 74 54 65 78 74 57 69 6e 64 6f 77 28 29 20 7b 0d tTextWindow() {.
0080: 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 61 . .. var a
0090: 63 74 69 76 65 57 6e 64 20 3d 20 73 6e 65 67 6f ctiveWnd = snego
00a0: 70 61 74 2e 61 63 74 69 76 65 54 65 78 74 57 69 pat.activeTextWi
00b0: 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 ndow();.. ..
00c0: 20 20 20 69 66 20 28 61 63 74 69 76 65 57 6e 64 if (activeWnd
00d0: 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 ).. retur
00e0: 6e 20 6e 65 77 20 5f 54 65 78 74 57 69 6e 64 6f n new _TextWindo
00f0: 77 28 61 63 74 69 76 65 57 6e 64 2c 20 77 69 6e w(activeWnd, win
0100: 64 6f 77 73 2e 67 65 74 41 63 74 69 76 65 56 69 dows.getActiveVi
0110: 65 77 28 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 ew());..
0120: 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c .. return nul
0130: 6c 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f l;..}....///////
0140: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0150: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0160: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0170: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0180: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0190: 2f 0d 0a 2f 2f 2f 2f 20 5f 54 65 78 74 57 69 6e /..//// _TextWin
01a0: 64 6f 77 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 2f 2a 2a dow..////..../**
01b0: 20 d0 9a d0 bb d0 b0 d1 81 d1 81 2d d0 be d0 b1 ..........-....
01c0: d0 b5 d1 80 d1 82 d0 ba d0 b0 20 d0 b2 d0 be d0 .......... .....
01d0: ba d1 80 d1 83 d0 b3 20 49 54 65 78 74 57 69 6e ....... ITextWin
01e0: 64 6f 77 2c 20 d0 bf d0 be d0 b4 d0 b4 d0 b5 d1 dow, ...........
01f0: 80 d0 b6 d0 b8 d0 b2 d0 b0 d1 8e d1 89 d0 b8 d0 ................
0200: b9 20 d0 be d0 b4 d0 bd d0 be d0 b2 d1 80 d0 b5 . ..............
0210: d0 bc d0 b5 d0 bd d0 bd d0 be 20 0d 0a d0 b8 d0 .......... .....
0220: bd d1 82 d0 b5 d1 80 d1 84 d0 b5 d0 b9 d1 81 20 ...............
0230: d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 be d0 b2 ................
0240: 20 49 54 65 78 74 57 69 6e 64 6f 77 2c 20 d1 82 ITextWindow, ..
0250: d0 b0 d0 ba 20 d0 b8 20 d0 a2 d0 b5 d0 ba d1 81 .... .. ........
0260: d1 82 d0 be d0 b2 d1 8b d0 b9 d0 94 d0 be d0 ba ................
0270: d1 83 d0 bc d0 b5 d0 bd d1 82 2e 20 2a 2f 0d 0a ........... */..
0280: 5f 54 65 78 74 57 69 6e 64 6f 77 20 3d 20 73 74 _TextWindow = st
0290: 64 6c 69 62 2e 43 6c 61 73 73 2e 65 78 74 65 6e dlib.Class.exten
02a0: 64 28 7b 0d 0a 0d 0a 20 20 20 20 63 6f 6e 73 74 d({.... const
02b0: 72 75 63 74 20 3a 20 66 75 6e 63 74 69 6f 6e 20 ruct : function
02c0: 28 74 65 78 74 57 69 6e 64 6f 77 2c 20 76 69 65 (textWindow, vie
02d0: 77 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 w) {.. th
02e0: 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 20 3d 20 is.textWindow =
02f0: 74 65 78 74 57 69 6e 64 6f 77 3b 0d 0a 20 20 20 textWindow;..
0300: 20 20 20 20 20 74 68 69 73 2e 5f 76 69 65 77 20 this._view
0310: 3d 20 28 76 69 65 77 20 26 26 20 28 74 65 78 74 = (view && (text
0320: 57 69 6e 64 6f 77 2e 68 77 6e 64 20 3d 3d 20 76 Window.hwnd == v
0330: 69 65 77 2e 68 77 6e 64 29 29 20 3f 20 76 69 65 iew.hwnd)) ? vie
0340: 77 20 3a 20 75 6e 64 65 66 69 6e 65 64 3b 0d 0a w : undefined;..
0350: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 },.. ..
0360: 20 20 49 73 41 63 74 69 76 65 20 3a 20 66 75 6e IsActive : fun
0370: 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20 ction() {..
0380: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 .. if
0390: 28 21 74 68 69 73 2e 74 65 78 74 57 69 6e 64 6f (!this.textWindo
03a0: 77 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 w)..
03b0: 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 return false;..
03c0: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
03d0: 20 20 20 20 20 74 72 79 20 0d 0a 20 20 20 20 20 try ..
03e0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 {..
03f0: 20 20 2f 2a 20 d0 9e d0 ba d0 bd d0 be 20 d0 bc /* ........ ..
0400: d0 be d0 b3 d0 bb d0 be 20 d0 b1 d1 8b d1 82 d1 ........ .......
0410: 8c 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b d1 82 d0 be . ..............
0420: 2e 20 d0 a2 d0 be d0 b3 d0 b4 d0 b0 20 d0 bf d1 . .......... ...
0430: 80 d0 b8 20 d0 be d0 b1 d1 80 d0 b0 d1 89 d0 b5 ... ............
0440: d0 bd d0 b8 d0 b8 20 0d 0a 20 20 20 20 20 20 20 ...... ..
0450: 20 20 20 20 20 d0 ba 20 d0 b5 d0 b3 d0 be 20 d1 .. ...... .
0460: 81 d0 b2 d0 be d0 b9 d1 81 d1 82 d0 b2 d0 b0 d0 ................
0470: bc 20 d0 bf d1 80 d0 be d0 b8 d0 b7 d0 be d0 b9 . ..............
0480: d0 b4 d0 b5 d1 82 20 d0 be d1 88 d0 b8 d0 b1 d0 ...... .........
0490: ba d0 b0 2e 20 2a 2f 0d 0a 20 20 20 20 20 20 20 .... */..
04a0: 20 20 20 20 20 76 61 72 20 68 77 6e 64 20 3d 20 var hwnd =
04b0: 74 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e this.textWindow.
04c0: 68 77 6e 64 3b 0d 0a 20 20 20 20 20 20 20 20 7d hwnd;.. }
04d0: 0d 0a 20 20 20 20 20 20 20 20 63 61 74 63 68 20 .. catch
04e0: 28 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a (e).. {..
04f0: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 retu
0500: 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 rn false;..
0510: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a }.. ..
0520: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 return t
0530: 72 75 65 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a rue;.. },....
0540: 20 20 20 20 47 65 74 48 77 6e 64 20 3a 20 66 75 GetHwnd : fu
0550: 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 nction () {..
0560: 20 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 return this
0570: 2e 74 65 78 74 57 69 6e 64 6f 77 2e 68 77 6e 64 .textWindow.hwnd
0580: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 ;.. },....
0590: 20 47 65 74 54 65 78 74 20 3a 20 66 75 6e 63 74 GetText : funct
05a0: 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20 20 20 ion() {..
05b0: 20 72 65 74 75 72 6e 20 74 68 69 73 2e 74 65 78 return this.tex
05c0: 74 57 69 6e 64 6f 77 2e 74 65 78 74 3b 0d 0a 20 tWindow.text;..
05d0: 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 53 65 74 },.... Set
05e0: 54 65 78 74 20 3a 20 66 75 6e 63 74 69 6f 6e 28 Text : function(
05f0: 74 65 78 74 29 20 7b 0d 0a 20 20 20 20 20 20 20 text) {..
0600: 20 74 68 69 73 2e 52 61 6e 67 65 28 31 2c 31 2c this.Range(1,1,
0610: 74 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e this.textWindow.
0620: 6c 69 6e 65 73 43 6f 75 6e 74 29 2e 53 65 74 54 linesCount).SetT
0630: 65 78 74 28 74 65 78 74 29 3b 0d 0a 20 20 20 20 ext(text);..
0640: 7d 2c 0d 0a 0d 0a 20 20 20 20 45 78 74 4e 61 6d },.... ExtNam
0650: 65 20 3a 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b e : function() {
0660: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .. return
0670: 20 74 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 this.textWindow
0680: 2e 65 78 74 4e 61 6d 65 3b 0d 0a 20 20 20 20 7d .extName;.. }
0690: 2c 0d 0a 0d 0a 20 20 20 20 47 65 74 43 61 72 65 ,.... GetCare
06a0: 74 50 6f 73 20 3a 20 66 75 6e 63 74 69 6f 6e 28 tPos : function(
06b0: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 ) {.. ret
06c0: 75 72 6e 20 74 68 69 73 2e 74 65 78 74 57 69 6e urn this.textWin
06d0: 64 6f 77 2e 67 65 74 43 61 72 65 74 50 6f 73 28 dow.getCaretPos(
06e0: 29 3b 20 20 20 20 0d 0a 20 20 20 20 7d 2c 0d 0a ); .. },..
06f0: 0d 0a 20 20 20 20 53 65 74 43 61 72 65 74 50 6f .. SetCaretPo
0700: 73 20 3a 20 66 75 6e 63 74 69 6f 6e 28 72 6f 77 s : function(row
0710: 2c 20 63 6f 6c 29 20 7b 0d 0a 20 20 20 20 20 20 , col) {..
0720: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 74 65 return this.te
0730: 78 74 57 69 6e 64 6f 77 2e 73 65 74 43 61 72 65 xtWindow.setCare
0740: 74 50 6f 73 28 72 6f 77 2c 20 63 6f 6c 29 3b 20 tPos(row, col);
0750: 20 20 20 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 .. },....
0760: 20 20 20 47 65 74 53 65 6c 65 63 74 69 6f 6e 20 GetSelection
0770: 3a 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a : function() {..
0780: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 return t
0790: 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e 67 his.textWindow.g
07a0: 65 74 53 65 6c 65 63 74 69 6f 6e 28 29 3b 20 20 etSelection();
07b0: 20 20 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 .. },....
07c0: 20 20 53 65 74 53 65 6c 65 63 74 69 6f 6e 20 3a SetSelection :
07d0: 20 66 75 6e 63 74 69 6f 6e 28 62 65 67 69 6e 52 function(beginR
07e0: 6f 77 2c 20 62 65 67 69 6e 43 6f 6c 2c 20 65 6e ow, beginCol, en
07f0: 64 52 6f 77 2c 20 65 6e 64 43 6f 6c 29 20 7b 0d dRow, endCol) {.
0800: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 . return
0810: 74 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e this.textWindow.
0820: 73 65 74 53 65 6c 65 63 74 69 6f 6e 28 62 65 67 setSelection(beg
0830: 69 6e 52 6f 77 2c 20 62 65 67 69 6e 43 6f 6c 2c inRow, beginCol,
0840: 20 65 6e 64 52 6f 77 2c 20 65 6e 64 43 6f 6c 29 endRow, endCol)
0850: 3b 20 20 20 20 0d 0a 20 20 20 20 7d 2c 0d 0a 0d ; .. },...
0860: 0a 20 20 20 20 47 65 74 53 65 6c 65 63 74 65 64 . GetSelected
0870: 54 65 78 74 20 3a 20 66 75 6e 63 74 69 6f 6e 28 Text : function(
0880: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 ) {.. ret
0890: 75 72 6e 20 74 68 69 73 2e 74 65 78 74 57 69 6e urn this.textWin
08a0: 64 6f 77 2e 73 65 6c 65 63 74 65 64 54 65 78 74 dow.selectedText
08b0: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 ;.. },....
08c0: 20 53 65 74 53 65 6c 65 63 74 65 64 54 65 78 74 SetSelectedText
08d0: 20 3a 20 66 75 6e 63 74 69 6f 6e 28 74 65 78 74 : function(text
08e0: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 ) {.. thi
08f0: 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e 73 65 6c s.textWindow.sel
0900: 65 63 74 65 64 54 65 78 74 20 3d 20 74 65 78 74 ectedText = text
0910: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 ;.. },....
0920: 20 47 65 74 4c 69 6e 65 20 3a 20 66 75 6e 63 74 GetLine : funct
0930: 69 6f 6e 28 72 6f 77 4e 75 6d 29 20 7b 0d 0a 20 ion(rowNum) {..
0940: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 68 return th
0950: 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e 6c 69 is.textWindow.li
0960: 6e 65 28 72 6f 77 4e 75 6d 29 3b 20 20 20 20 0d ne(rowNum); .
0970: 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 4c . },.... L
0980: 69 6e 65 73 43 6f 75 6e 74 20 3a 20 66 75 6e 63 inesCount : func
0990: 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20 20 tion() {..
09a0: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 74 65 return this.te
09b0: 78 74 57 69 6e 64 6f 77 2e 6c 69 6e 65 73 43 6f xtWindow.linesCo
09c0: 75 6e 74 3b 20 20 20 20 0d 0a 20 20 20 20 7d 2c unt; .. },
09d0: 0d 0a 0d 0a 20 20 20 20 49 73 52 65 61 64 4f 6e .... IsReadOn
09e0: 6c 79 20 3a 20 66 75 6e 63 74 69 6f 6e 28 29 20 ly : function()
09f0: 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 {.. retur
0a00: 6e 20 74 68 69 73 2e 74 65 78 74 57 69 6e 64 6f n this.textWindo
0a10: 77 2e 72 65 61 64 4f 6e 6c 79 3b 20 20 20 20 0d w.readOnly; .
0a20: 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 44 . },.... D
0a30: 65 6c 65 74 65 4c 69 6e 65 20 3a 20 66 75 6e 63 eleteLine : func
0a40: 74 69 6f 6e 28 72 6f 77 4e 75 6d 29 20 7b 0d 0a tion(rowNum) {..
0a50: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 ..
0a60: 20 20 69 66 20 28 72 6f 77 4e 75 6d 20 3c 20 31 if (rowNum < 1
0a70: 20 7c 7c 20 72 6f 77 4e 75 6d 20 3e 20 74 68 69 || rowNum > thi
0a80: 73 2e 4c 69 6e 65 73 43 6f 75 6e 74 28 29 29 0d s.LinesCount()).
0a90: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 . ret
0aa0: 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 urn;....
0ab0: 76 61 72 20 6e 65 78 74 4c 69 6e 65 20 3d 20 74 var nextLine = t
0ac0: 68 69 73 2e 47 65 74 4c 69 6e 65 28 72 6f 77 4e his.GetLine(rowN
0ad0: 75 6d 20 2b 20 31 29 3b 0d 0a 20 20 20 20 20 20 um + 1);..
0ae0: 20 20 74 68 69 73 2e 52 61 6e 67 65 28 72 6f 77 this.Range(row
0af0: 4e 75 6d 2c 20 31 2c 20 72 6f 77 4e 75 6d 2b 31 Num, 1, rowNum+1
0b00: 2c 20 6e 65 78 74 4c 69 6e 65 2e 6c 65 6e 67 74 , nextLine.lengt
0b10: 68 20 2b 20 31 29 2e 53 65 74 54 65 78 74 28 6e h + 1).SetText(n
0b20: 65 78 74 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 7d extLine);.. }
0b30: 2c 0d 0a 0d 0a 20 20 20 20 41 64 64 4c 69 6e 65 ,.... AddLine
0b40: 20 3a 20 66 75 6e 63 74 69 6f 6e 28 73 74 72 4c : function(strL
0b50: 69 6e 65 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 ine) {..
0b60: 76 61 72 20 6c 69 6e 65 73 43 6f 75 6e 74 20 3d var linesCount =
0b70: 20 74 68 69 73 2e 4c 69 6e 65 73 43 6f 75 6e 74 this.LinesCount
0b80: 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 ();.. if
0b90: 28 6c 69 6e 65 73 43 6f 75 6e 74 20 3e 20 30 29 (linesCount > 0)
0ba0: 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 .. {..
0bb0: 20 20 20 20 20 20 20 20 20 76 61 72 20 6c 61 73 var las
0bc0: 74 4c 69 6e 65 20 3d 20 74 68 69 73 2e 47 65 74 tLine = this.Get
0bd0: 4c 69 6e 65 28 6c 69 6e 65 73 43 6f 75 6e 74 29 Line(linesCount)
0be0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 ;.. t
0bf0: 68 69 73 2e 52 61 6e 67 65 28 6c 69 6e 65 73 43 his.Range(linesC
0c00: 6f 75 6e 74 2c 20 31 2c 20 6c 69 6e 65 73 43 6f ount, 1, linesCo
0c10: 75 6e 74 29 2e 53 65 74 54 65 78 74 28 6c 61 73 unt).SetText(las
0c20: 74 4c 69 6e 65 20 2b 20 22 5c 6e 22 20 2b 20 73 tLine + "\n" + s
0c30: 74 72 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 20 trLine);..
0c40: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 65 6c 73 }.. els
0c50: 65 20 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 e .. {..
0c60: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e this.
0c70: 52 61 6e 67 65 28 29 2e 53 65 74 54 65 78 74 28 Range().SetText(
0c80: 73 74 72 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 strLine);..
0c90: 20 20 20 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a }.. },....
0ca0: 20 20 20 20 49 6e 73 65 72 74 4c 69 6e 65 20 3a InsertLine :
0cb0: 20 66 75 6e 63 74 69 6f 6e 28 72 6f 77 4e 75 6d function(rowNum
0cc0: 2c 20 73 74 72 4c 69 6e 65 29 20 7b 0d 0a 0d 0a , strLine) {....
0cd0: 20 20 20 20 20 20 20 20 76 61 72 20 6c 69 6e 65 var line
0ce0: 73 43 6f 75 6e 74 20 3d 20 74 68 69 73 2e 4c 69 sCount = this.Li
0cf0: 6e 65 73 43 6f 75 6e 74 28 29 3b 0d 0a 0d 0a 20 nesCount();....
0d00: 20 20 20 20 20 20 20 69 66 20 28 72 6f 77 4e 75 if (rowNu
0d10: 6d 20 3c 20 30 20 7c 7c 20 72 6f 77 4e 75 6d 20 m < 0 || rowNum
0d20: 3e 20 6c 69 6e 65 73 43 6f 75 6e 74 20 2b 20 31 > linesCount + 1
0d30: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 ).. t
0d40: 68 72 6f 77 20 22 5f 54 65 78 74 57 69 6e 64 6f hrow "_TextWindo
0d50: 77 2e 49 6e 73 65 72 74 4c 69 6e 65 28 29 3a 20 w.InsertLine():
0d60: d0 98 d0 bd d0 b4 d0 b5 d0 ba d1 81 20 d0 b7 d0 ............ ...
0d70: b0 20 d0 b3 d1 80 d0 b0 d0 bd d0 b8 d1 86 d0 b0 . ..............
0d80: d0 bc d0 b8 20 d0 b4 d0 b8 d0 b0 d0 bf d0 b0 d0 .... ...........
0d90: b7 d0 be d0 bd d0 b0 21 22 3b 0d 0a 20 20 20 20 .......!";..
0da0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 ..
0db0: 20 20 69 66 20 28 72 6f 77 4e 75 6d 20 3d 3d 20 if (rowNum ==
0dc0: 6c 69 6e 65 73 43 6f 75 6e 74 20 2b 20 31 29 0d linesCount + 1).
0dd0: 0a 20 20 20 20 20 20 20 20 7b 20 20 20 20 0d 0a . { ..
0de0: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 this
0df0: 2e 41 64 64 4c 69 6e 65 28 73 74 72 4c 69 6e 65 .AddLine(strLine
0e00: 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 );.. }..
0e10: 20 20 20 20 20 20 20 65 6c 73 65 20 0d 0a 20 20 else ..
0e20: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
0e30: 20 20 20 20 20 76 61 72 20 63 75 72 4c 69 6e 65 var curLine
0e40: 20 3d 20 74 68 69 73 2e 47 65 74 4c 69 6e 65 28 = this.GetLine(
0e50: 72 6f 77 4e 75 6d 29 3b 0d 0a 20 20 20 20 20 20 rowNum);..
0e60: 20 20 20 20 20 20 74 68 69 73 2e 52 61 6e 67 65 this.Range
0e70: 28 72 6f 77 4e 75 6d 2c 20 31 2c 20 72 6f 77 4e (rowNum, 1, rowN
0e80: 75 6d 29 2e 53 65 74 54 65 78 74 28 73 74 72 4c um).SetText(strL
0e90: 69 6e 65 20 2b 20 22 5c 6e 22 20 2b 20 63 75 72 ine + "\n" + cur
0ea0: 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 Line);..
0eb0: 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 }.. },....
0ec0: 20 52 65 70 6c 61 63 65 4c 69 6e 65 20 3a 20 66 ReplaceLine : f
0ed0: 75 6e 63 74 69 6f 6e 28 72 6f 77 4e 75 6d 2c 20 unction(rowNum,
0ee0: 73 74 72 4c 69 6e 65 29 20 7b 0d 0a 20 20 20 20 strLine) {..
0ef0: 20 20 20 20 74 68 69 73 2e 52 61 6e 67 65 28 72 this.Range(r
0f00: 6f 77 4e 75 6d 2c 20 31 2c 20 72 6f 77 4e 75 6d owNum, 1, rowNum
0f10: 29 2e 53 65 74 54 65 78 74 28 73 74 72 4c 69 6e ).SetText(strLin
0f20: 65 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 e);.. },....
0f30: 20 20 20 43 6c 65 61 72 20 3a 20 66 75 6e 63 74 Clear : funct
0f40: 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20 20 20 ion () {..
0f50: 20 20 74 68 69 73 2e 52 61 6e 67 65 28 29 2e 53 this.Range().S
0f60: 65 74 54 65 78 74 28 22 22 29 3b 0d 0a 20 20 20 etText("");..
0f70: 20 7d 2c 0d 0a 0d 0a 20 20 20 20 2f 2a 2a 20 52 },.... /** R
0f80: 61 6e 67 65 4f 62 6a 65 63 74 20 5f 54 65 78 74 angeObject _Text
0f90: 57 69 6e 64 6f 77 3a 3a 52 61 6e 67 65 28 5b 62 Window::Range([b
0fa0: 65 67 69 6e 52 6f 77 20 5b 2c 62 65 67 69 6e 43 eginRow [,beginC
0fb0: 6f 6c 20 5b 2c 65 6e 64 52 6f 77 20 5b 2c 65 6e ol [,endRow [,en
0fc0: 64 43 6f 6c 5d 5d 5d 5d 29 20 2a 2f 0d 0a 20 20 dCol]]]]) */..
0fd0: 20 20 52 61 6e 67 65 20 3a 20 66 75 6e 63 74 69 Range : functi
0fe0: 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 on() {..
0ff0: 76 61 72 20 74 77 20 3d 20 74 68 69 73 2e 74 65 var tw = this.te
1000: 78 74 57 69 6e 64 6f 77 3b 0d 0a 0d 0a 20 20 20 xtWindow;....
1010: 20 20 20 20 20 2f 2a 20 d0 9d d1 83 d0 bc d0 b5 /* ........
1020: d1 80 d0 b0 d1 86 d0 b8 d1 8f 20 d1 81 d1 82 d1 .......... .....
1030: 80 d0 be d0 ba 20 d0 b8 20 d0 ba d0 be d0 bb d0 ..... .. .......
1040: be d0 bd d0 be d0 ba 20 d0 b2 20 d1 82 d0 b5 d0 ....... .. .....
1050: ba d1 81 d1 82 d0 be d0 b2 d0 be d0 bc 20 d0 b4 ............. ..
1060: d0 be d0 ba d1 83 d0 bc d0 b5 d0 bd d1 82 d0 b5 ................
1070: 20 2d 20 d1 81 20 31 2e 20 0d 0a 20 20 20 20 20 - .. 1. ..
1080: 20 20 20 d0 95 d1 81 d0 bb d0 b8 20 d0 b4 d0 be ........ ....
1090: d0 ba d1 83 d0 bc d0 b5 d0 bd d1 82 20 d0 bf d1 ............ ...
10a0: 83 d1 81 d1 82 d0 be d0 b9 2c 20 d1 82 d0 be 20 ........., ....
10b0: 6c 69 6e 65 73 43 6f 75 6e 74 20 3d 3d 20 30 2c linesCount == 0,
10c0: 20 d0 bf d0 be d1 8d d1 82 d0 be d0 bc d1 83 20 ..............
10d0: d0 b4 d0 bb d1 8f 20 d0 ba d0 be d1 80 d1 80 d0 ...... .........
10e0: b5 d0 ba d1 82 d0 bd d0 be d0 b9 20 d1 80 d0 b0 ........... ....
10f0: d0 b1 d0 be d1 82 d1 8b 20 0d 0a 20 20 20 20 20 ........ ..
1100: 20 20 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 .............
1110: b0 20 52 61 6e 67 65 28 29 20 d0 bf d1 80 d0 b8 . Range() ......
1120: d0 b2 d0 be d0 b4 d0 b8 d0 bc 20 d0 b7 d0 bd d0 .......... .....
1130: b0 d1 87 d0 b5 d0 bd d0 b8 d1 8f 20 d0 b0 d1 80 ........... ....
1140: d0 b3 d1 83 d0 bc d0 b5 d0 bd d1 82 d0 be d0 b2 ................
1150: 20 d0 bf d1 80 d0 b8 20 d0 bf d0 be d0 bc d0 be ...... ........
1160: d1 89 d0 b8 20 d0 b2 d1 8b d1 80 d0 b0 d0 b6 d0 .... ...........
1170: b5 d0 bd d0 b8 d1 8f 20 28 69 6e 64 65 78 20 7c ....... (index |
1180: 7c 20 31 29 2e 20 2a 2f 0d 0a 20 20 20 20 20 20 | 1). */..
1190: 20 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 .. var
11a0: 62 65 67 69 6e 52 6f 77 20 3d 20 28 61 72 67 75 beginRow = (argu
11b0: 6d 65 6e 74 73 2e 6c 65 6e 67 74 68 20 3e 20 30 ments.length > 0
11c0: 20 3f 20 61 72 67 75 6d 65 6e 74 73 5b 30 5d 20 ? arguments[0]
11d0: 3a 20 31 29 20 7c 7c 20 31 3b 0d 0a 20 20 20 20 : 1) || 1;..
11e0: 20 20 20 20 76 61 72 20 65 6e 64 52 6f 77 20 20 var endRow
11f0: 3d 20 28 61 72 67 75 6d 65 6e 74 73 2e 6c 65 6e = (arguments.len
1200: 67 74 68 20 3e 20 32 20 3f 20 61 72 67 75 6d 65 gth > 2 ? argume
1210: 6e 74 73 5b 32 5d 20 3a 20 74 77 2e 6c 69 6e 65 nts[2] : tw.line
1220: 73 43 6f 75 6e 74 29 20 7c 7c 20 31 3b 0d 0a 20 sCount) || 1;..
1230: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 ..
1240: 20 69 66 20 28 62 65 67 69 6e 52 6f 77 20 3e 20 if (beginRow >
1250: 65 6e 64 52 6f 77 29 0d 0a 20 20 20 20 20 20 20 endRow)..
1260: 20 20 20 20 20 74 68 72 6f 77 20 22 5f 54 65 78 throw "_Tex
1270: 74 57 69 6e 64 6f 77 3a 20 d0 98 d0 bd d0 b4 d0 tWindow: .......
1280: b5 d0 ba d1 81 20 d0 bf d0 b5 d1 80 d0 b2 d0 be ..... ..........
1290: d0 b9 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 20 .. ............
12a0: d0 be d0 b1 d0 bb d0 b0 d1 81 d1 82 d0 b8 20 d0 .............. .
12b0: bd d0 b5 20 d0 bc d0 be d0 b6 d0 b5 d1 82 20 d0 ... .......... .
12c0: b1 d1 8b d1 82 d1 8c 20 d0 b1 d0 be d0 bb d1 8c ....... ........
12d0: d1 88 d0 b5 20 d0 b8 d0 bd d0 b4 d0 b5 d0 ba d1 .... ...........
12e0: 81 d0 b0 20 d0 bf d0 be d1 81 d0 bb d0 b5 d0 b4 ... ............
12f0: d0 bd d0 b5 d0 b9 20 d1 81 d1 82 d1 80 d0 be d0 ...... .........
1300: ba d0 b8 20 d0 be d0 b1 d0 bb d0 b0 d1 81 d1 82 ... ............
1310: d0 b8 21 22 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 ..!";....
1320: 20 76 61 72 20 62 65 67 69 6e 43 6f 6c 20 3d 20 var beginCol =
1330: 28 61 72 67 75 6d 65 6e 74 73 2e 6c 65 6e 67 74 (arguments.lengt
1340: 68 20 3e 20 31 20 3f 20 61 72 67 75 6d 65 6e 74 h > 1 ? argument
1350: 73 5b 31 5d 20 3a 20 31 29 20 7c 7c 20 31 3b 0d s[1] : 1) || 1;.
1360: 0a 20 20 20 20 20 20 20 20 76 61 72 20 65 6e 64 . var end
1370: 43 6f 6c 20 3d 20 20 28 61 72 67 75 6d 65 6e 74 Col = (argument
1380: 73 2e 6c 65 6e 67 74 68 20 3e 20 33 20 3f 20 61 s.length > 3 ? a
1390: 72 67 75 6d 65 6e 74 73 5b 33 5d 20 3a 20 74 77 rguments[3] : tw
13a0: 2e 6c 69 6e 65 28 65 6e 64 52 6f 77 29 2e 6c 65 .line(endRow).le
13b0: 6e 67 74 68 29 20 7c 7c 20 31 3b 0d 0a 20 20 20 ngth) || 1;..
13c0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 .. i
13d0: 66 20 28 62 65 67 69 6e 52 6f 77 20 3d 3d 20 65 f (beginRow == e
13e0: 6e 64 52 6f 77 20 26 26 20 62 65 67 69 6e 43 6f ndRow && beginCo
13f0: 6c 20 3e 20 65 6e 64 43 6f 6c 29 0d 0a 20 20 20 l > endCol)..
1400: 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 22 throw "
1410: 5f 54 65 78 74 57 69 6e 64 6f 77 3a 20 d0 98 d0 _TextWindow: ...
1420: bd d0 b4 d0 b5 d0 ba d1 81 20 d0 bf d0 b5 d1 80 ......... ......
1430: d0 b2 d0 be d0 b3 d0 be 20 d1 81 d0 b8 d0 bc d0 ........ .......
1440: b2 d0 be d0 bb d0 b0 20 d0 be d0 b1 d0 bb d0 b0 ....... ........
1450: d1 81 d1 82 d0 b8 20 d1 81 d1 82 d1 80 d0 be d0 ...... .........
1460: ba d0 b8 20 d0 bd d0 b5 20 d0 bc d0 be d0 b6 d0 ... .... .......
1470: b5 d1 82 20 d0 b1 d1 8b d1 82 d1 8c 20 d0 b1 d0 ... ........ ...
1480: be d0 bb d1 8c d1 88 d0 b5 20 d0 b8 d0 bd d0 b4 ......... ......
1490: d0 b5 d0 ba d1 81 d0 b0 20 d0 bf d0 be d1 81 d0 ........ .......
14a0: bb d0 b5 d0 b4 d0 bd d0 b5 d0 b3 d0 be 20 d1 81 ............. ..
14b0: d0 b8 d0 bc d0 b2 d0 be d0 bb d0 b0 20 d0 be d0 ............ ...
14c0: b1 d0 bb d0 b0 d1 81 d1 82 d0 b8 21 22 3b 0d 0a ...........!";..
14d0: 0d 0a 20 20 20 20 20 20 20 20 20 2f 2f 20 d0 92 .. // ..
14e0: d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 ................
14f0: d1 82 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 20 .. ............
1500: d0 be d0 b1 d0 bb d0 b0 d1 81 d1 82 d0 b8 20 d0 .............. .
1510: ba d0 b0 d0 ba 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 ..... ..........
1520: d0 b2 2e 0d 0a 20 20 20 20 20 20 20 20 20 76 61 ..... va
1530: 72 20 67 65 74 4c 69 6e 65 73 20 3d 20 66 75 6e r getLines = fun
1540: 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20 ction() {..
1550: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 ..
1560: 20 20 20 20 20 76 61 72 20 6c 69 6e 65 73 20 3d var lines =
1570: 20 5b 5d 3b 20 20 20 20 20 20 20 20 0d 0a 0d 0a []; ....
1580: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 d0 /* .
1590: a7 d1 82 d0 be d0 b1 d1 8b 20 d0 bd d0 b5 20 d0 ......... .... .
15a0: be d1 88 d0 b8 d0 b1 d0 b8 d1 82 d1 8c d1 81 d1 ................
15b0: 8f 20 d0 b2 20 d0 b8 d0 bd d0 b4 d0 b5 d0 ba d1 . .. ...........
15c0: 81 d0 b0 d1 85 2c 20 d0 bd d0 b0 d0 b4 d0 be 20 ....., ........
15d0: d0 bf d0 be d0 bc d0 bd d0 b8 d1 82 d1 8c 3a 0d ..............:.
15e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 . -
15f0: d0 b2 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 d1 .. .............
1600: 85 20 6a 73 20 d0 bd d1 83 d0 bc d0 b5 d1 80 d0 . js ...........
1610: b0 d1 86 d0 b8 d1 8f 20 d1 81 d0 b8 d0 bc d0 b2 ....... ........
1620: d0 be d0 bb d0 be d0 b2 20 d0 bd d0 b0 d1 87 d0 ........ .......
1630: b8 d0 bd d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d1 81 ............. ..
1640: 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 0;..
1650: 20 20 2d 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 - ............
1660: 20 d0 b8 20 d0 ba d0 be d0 bb d0 be d0 bd d0 ba .. ............
1670: d0 b8 20 d0 b2 20 49 54 65 78 74 57 69 6e 64 6f .. .. ITextWindo
1680: 77 20 d0 bd d1 83 d0 bc d0 b5 d1 80 d1 83 d1 8e w ..............
1690: d1 82 d1 81 d1 8f 20 d1 81 20 31 3b 0d 0a 20 20 ...... .. 1;..
16a0: 20 20 20 20 20 20 20 20 20 20 20 2d 20 d0 b2 20 - ..
16b0: 73 75 62 73 74 72 20 d0 b2 d1 82 d0 be d1 80 d0 substr .........
16c0: be d0 b9 20 d0 bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 ... ............
16d0: d1 82 d1 80 20 2d 20 d0 b4 d0 bb d0 b8 d0 bd d0 .... - .........
16e0: b0 20 d0 bf d0 be d0 b4 d1 81 d1 82 d1 80 d0 be . ..............
16f0: d0 ba d0 b8 2c 20 d0 ba d0 be d1 82 d0 be d1 80 ...., ..........
1700: d1 83 d1 8e 20 d1 82 d1 80 d0 b5 d0 b1 d1 83 d0 .... ...........
1710: b5 d1 82 d1 81 d1 8f 20 d0 bf d0 be d0 bb d1 83 ....... ........
1720: d1 87 d0 b8 d1 82 d1 8c 2e 2a 2f 0d 0a 0d 0a 20 .........*/....
1730: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 2f /////
1740: 2f 20 d0 9e d0 b1 d0 bb d0 b0 d1 81 d1 82 d1 8c / ..............
1750: 20 2d 20 d0 bf d0 be d0 b4 d1 81 d1 82 d1 80 d0 - .............
1760: be d0 ba d0 b0 20 d0 be d0 b4 d0 bd d0 be d0 b9 ..... ..........
1770: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 2e 0d 0a ...............
1780: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .. if
1790: 20 28 62 65 67 69 6e 52 6f 77 20 3d 3d 20 65 6e (beginRow == en
17a0: 64 52 6f 77 29 0d 0a 20 20 20 20 20 20 20 20 20 dRow)..
17b0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 {..
17c0: 20 20 20 20 20 20 6c 69 6e 65 73 2e 70 75 73 68 lines.push
17d0: 28 74 77 2e 6c 69 6e 65 28 62 65 67 69 6e 52 6f (tw.line(beginRo
17e0: 77 29 2e 73 75 62 73 74 72 28 62 65 67 69 6e 43 w).substr(beginC
17f0: 6f 6c 2d 31 2c 20 65 6e 64 43 6f 6c 29 29 3b 0d ol-1, endCol));.
1800: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1810: 20 72 65 74 75 72 6e 20 6c 69 6e 65 73 3b 0d 0a return lines;..
1820: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d }...
1830: 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f . ///
1840: 2f 2f 2f 20 d0 9e d0 b1 d0 bb d0 b0 d1 81 d1 82 /// ............
1850: d1 8c 20 2d 20 d0 bd d0 b5 d1 81 d0 ba d0 be d0 .. - ...........
1860: bb d1 8c d0 ba d0 be 20 d1 81 d1 82 d1 80 d0 be ....... ........
1870: d0 ba 2e 20 20 20 20 20 20 20 20 20 20 20 20 0d ... .
1880: 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 . ..
1890: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 31 2e // 1.
18a0: 20 d0 9f d0 b5 d1 80 d0 b2 d0 b0 d1 8f 20 d1 81 ............ ..
18b0: d1 82 d1 80 d0 be d0 ba d0 b0 20 2d 20 d0 be d1 .......... - ...
18c0: 82 20 d0 bf d0 b5 d1 80 d0 b2 d0 be d0 b9 20 d0 . ............ .
18d0: ba d0 be d0 bb d0 be d0 bd d0 ba d0 b8 20 d0 be ............. ..
18e0: d0 b1 d0 bb d0 b0 d1 81 d1 82 d0 b8 20 d0 b8 20 ............ ..
18f0: d0 b4 d0 be 20 d0 ba d0 be d0 bd d1 86 d0 b0 20 .... ..........
1900: d1 8d d1 82 d0 be d0 b9 20 d1 81 d1 82 d1 80 d0 ........ .......
1910: be d0 ba d0 b8 2e 0d 0a 20 20 20 20 20 20 20 20 ........
1920: 20 20 20 20 6c 69 6e 65 73 2e 70 75 73 68 28 74 lines.push(t
1930: 77 2e 6c 69 6e 65 28 62 65 67 69 6e 52 6f 77 29 w.line(beginRow)
1940: 2e 73 75 62 73 74 72 28 62 65 67 69 6e 43 6f 6c .substr(beginCol
1950: 20 2d 20 31 29 29 3b 0d 0a 20 20 20 20 20 20 20 - 1));..
1960: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 ..
1970: 20 20 20 2f 2f 20 32 2e 20 d0 a1 d1 82 d1 80 d0 // 2. .......
1980: be d0 ba d0 b8 2c 20 d0 bd d0 b0 d1 87 d0 b8 d0 ....., .........
1990: bd d0 b0 d1 8f 20 d1 81 d0 be 20 d0 b2 d1 82 d0 ..... .... .....
19a0: be d1 80 d0 be d0 b9 20 d0 b8 20 d0 b4 d0 be 20 ....... .. ....
19b0: d0 bf d1 80 d0 b5 d0 b4 d0 bf d0 be d1 81 d0 bb ................
19c0: d0 b5 d0 b4 d0 bd d0 b5 d0 b9 2e 0d 0a 20 20 20 .............
19d0: 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 for (va
19e0: 72 20 72 6f 77 3d 62 65 67 69 6e 52 6f 77 20 2b r row=beginRow +
19f0: 20 31 3b 20 72 6f 77 20 3c 3d 20 65 6e 64 52 6f 1; row <= endRo
1a00: 77 20 2d 20 31 3b 20 72 6f 77 2b 2b 29 0d 0a 20 w - 1; row++)..
1a10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c l
1a20: 69 6e 65 73 2e 70 75 73 68 28 74 77 2e 6c 69 6e ines.push(tw.lin
1a30: 65 28 72 6f 77 29 29 3b 0d 0a 0d 0a 20 20 20 20 e(row));....
1a40: 20 20 20 20 20 20 20 20 2f 2f 20 33 2e 20 d0 9f // 3. ..
1a50: d0 be d1 81 d0 bb d0 b5 d0 b4 d0 bd d1 8f d1 8f ................
1a60: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 20 2d 20 ............ -
1a70: d0 be d1 82 20 d0 bf d0 b5 d1 80 d0 b2 d0 be d0 .... ...........
1a80: b3 d0 be 20 d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb ... ............
1a90: d0 b0 20 d0 b8 20 d0 b4 d0 be 20 d0 bf d0 be d1 .. .. .... .....
1aa0: 81 d0 bb d0 b5 d0 b4 d0 bd d0 b5 d0 b9 20 d0 ba ............. ..
1ab0: d0 be d0 bb d0 be d0 bd d0 ba d0 b8 20 d0 be d0 ............ ...
1ac0: b1 d0 bb d0 b0 d1 81 d1 82 d0 b8 2e 0d 0a 20 20 ..............
1ad0: 20 20 20 20 20 20 20 20 20 20 6c 69 6e 65 73 2e lines.
1ae0: 70 75 73 68 28 74 77 2e 6c 69 6e 65 28 65 6e 64 push(tw.line(end
1af0: 52 6f 77 29 2e 73 75 62 73 74 72 28 30 2c 20 65 Row).substr(0, e
1b00: 6e 64 43 6f 6c 29 29 3b 0d 0a 0d 0a 20 20 20 20 ndCol));....
1b10: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c return l
1b20: 69 6e 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 7d ines;.. }
1b30: 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 ;.... //
1b40: d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 ................
1b50: d0 b5 d1 82 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 .... ...........
1b60: b8 20 d0 be d0 b1 d0 bb d0 b0 d1 81 d1 82 d0 b8 . ..............
1b70: 20 d0 b2 20 d0 b2 d0 b8 d0 b4 d0 b5 20 d0 be d0 .. ........ ...
1b80: b4 d0 bd d0 be d0 b9 20 d0 bc d1 83 d0 bb d1 8c ....... ........
1b90: d1 82 d0 b8 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 ................
1ba0: 20 28 d1 80 d0 b0 d0 b7 d0 b4 d0 b5 d0 bb d0 b8 (..............
1bb0: d1 82 d0 b5 d0 bb d1 8c 20 d1 81 d1 82 d1 80 d0 ........ .......
1bc0: be d0 ba 20 2d 20 5c 6e 29 2e 0d 0a 20 20 20 20 ... - \n)...
1bd0: 20 20 20 20 76 61 72 20 67 65 74 54 65 78 74 20 var getText
1be0: 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a = function() {..
1bf0: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 retu
1c00: 72 6e 20 67 65 74 4c 69 6e 65 73 28 29 2e 6a 6f rn getLines().jo
1c10: 69 6e 28 22 5c 6e 22 29 3b 0d 0a 20 20 20 20 20 in("\n");..
1c20: 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 };....
1c30: 20 76 61 72 20 73 65 74 54 65 78 74 20 3d 20 66 var setText = f
1c40: 75 6e 63 74 69 6f 6e 28 74 65 78 74 29 20 7b 20 unction(text) {
1c50: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 ..
1c60: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 ..
1c70: 20 20 20 2f 2f 2f 2f 31 2e 20 d0 97 d0 b0 d0 bf ////1. ......
1c80: d0 be d0 bc d0 bd d0 b8 d1 82 d1 8c 20 d1 82 d0 ............ ...
1c90: b5 d0 ba d1 83 d1 89 d1 83 d1 8e 20 d0 bf d0 be ........... ....
1ca0: d0 b7 d0 b8 d1 86 d0 b8 d1 8e 20 d0 ba d1 83 d1 .......... .....
1cb0: 80 d1 81 d0 be d1 80 d0 b0 20 d0 b8 20 d0 b2 d1 ......... .. ...
1cc0: 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 2e ................
1cd0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 ..
1ce0: 20 20 20 20 20 20 76 61 72 20 63 75 72 50 6f 73 var curPos
1cf0: 20 3d 20 74 77 2e 67 65 74 43 61 72 65 74 50 6f = tw.getCaretPo
1d00: 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 s();..
1d10: 20 20 76 61 72 20 63 75 72 53 65 6c 20 3d 20 74 var curSel = t
1d20: 77 2e 67 65 74 53 65 6c 65 63 74 69 6f 6e 28 29 w.getSelection()
1d30: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d ;.. .
1d40: 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f . ///
1d50: 2f 32 2e 20 d1 83 d1 81 d1 82 d0 b0 d0 bd d0 be /2. ............
1d60: d0 b2 d0 b8 d1 82 d1 8c 20 d0 b2 d1 8b d0 b4 d0 ........ .......
1d70: b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 20 d0 b2 20 d1 ........... .. .
1d80: 81 d0 be d0 be d1 82 d0 b2 d0 b5 d1 82 d1 81 d1 ................
1d90: 82 d0 b2 d0 b8 d0 b8 20 d1 81 20 d0 ba d0 be d0 ....... .. .....
1da0: be d1 80 d0 b4 d0 b8 d0 bd d0 b0 d1 82 d0 b0 d0 ................
1db0: bc d0 b8 20 52 61 6e 67 65 0d 0a 20 20 20 20 20 ... Range..
1dc0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 ..
1dd0: 20 20 20 20 20 2f 2a 20 d0 98 20 d1 81 d0 bd d0 /* .. .....
1de0: be d0 b2 d0 b0 20 d1 87 d0 b5 d1 85 d0 b0 d1 80 ..... ..........
1df0: d0 b4 d0 b0 20 d1 81 20 d0 b8 d0 bd d0 b4 d0 b5 .... .. ........
1e00: d0 ba d1 81 d0 b0 d0 bc d0 b8 3a 20 d0 b2 d1 8b ..........: ....
1e10: d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 20 d0 .............. .
1e20: b2 d0 ba d0 bb d1 8e d1 87 d0 b0 d0 b5 d1 82 20 ...............
1e30: d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb d1 8b 0d 0a ................
1e40: 20 20 20 20 20 20 20 20 20 20 20 20 d0 b2 d0 bf ....
1e50: d0 bb d0 be d1 82 d1 8c 20 d0 b4 d0 be 20 d0 bf ........ .... ..
1e60: d0 be d0 b7 d0 b8 d1 86 d0 b8 d0 b8 20 d0 ba d0 ............ ...
1e70: b0 d1 80 d0 b5 d1 82 d0 ba d0 b8 2c 20 d1 82 2e ..........., ...
1e80: d0 b5 2e 20 d0 b5 d1 81 d0 bb d0 b8 20 d0 bc d1 ... ........ ...
1e90: 8b 20 d1 85 d0 be d1 82 d0 b8 d0 bc 2c 20 d1 87 . .........., ..
1ea0: d1 82 d0 be d0 b1 d1 8b 20 d1 81 d0 b8 d0 bc d0 ........ .......
1eb0: b2 d0 be d0 bb 20 0d 0a 20 20 20 20 20 20 20 20 ..... ..
1ec0: 20 20 20 20 d0 b2 20 d0 bf d0 be d0 b7 d0 b8 d1 .. .........
1ed0: 86 d0 b8 d0 b8 20 65 6e 64 43 6f 6c 20 d0 bf d0 ..... endCol ...
1ee0: be d0 bf d0 b0 d0 bb 20 d0 b2 20 d0 b2 d1 8b d0 ....... .. .....
1ef0: b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 2c 20 d0 ............., .
1f00: bc d1 8b 20 d0 ba d0 b0 d1 80 d0 b5 d1 82 d0 ba ... ............
1f10: d1 83 20 d0 b4 d0 be d0 bb d0 b6 d0 bd d1 8b 20 .. ............
1f20: d0 bf d0 be d1 81 d1 82 d0 b0 d0 b2 d0 b8 d1 82 ................
1f30: d1 8c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....
1f40: d0 b2 20 d0 bf d0 be d0 b7 d0 b8 d1 86 d0 b8 d1 .. .............
1f50: 8e 20 28 65 6e 64 43 6f 6c 20 2b 20 31 29 2e 20 . (endCol + 1).
1f60: 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 */..
1f70: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 .. va
1f80: 72 20 5f 6c 69 6e 65 20 3d 20 74 77 2e 6c 69 6e r _line = tw.lin
1f90: 65 28 65 6e 64 52 6f 77 29 3b 20 69 66 20 28 28 e(endRow); if ((
1fa0: 5f 6c 69 6e 65 20 3d 3d 20 27 27 29 20 7c 7c 20 _line == '') ||
1fb0: 28 5f 6c 69 6e 65 2e 63 68 61 72 41 74 28 5f 6c (_line.charAt(_l
1fc0: 69 6e 65 2e 6c 65 6e 67 74 68 2d 31 29 20 3d 3d ine.length-1) ==
1fd0: 20 27 5c 72 27 29 29 20 65 6e 64 43 6f 6c 2d 2d '\r')) endCol--
1fe0: 3b 20 2f 2f 49 54 65 78 74 57 69 6e 64 6f 77 2d ; //ITextWindow-
1ff0: 3e 6c 69 6e 65 28 29 20 d0 bf d0 be d0 bb d1 83 >line() ........
2000: d1 87 d0 b0 d0 b5 d1 82 20 d0 b2 d1 81 d1 91 20 ........ ......
2010: d1 87 d1 82 d0 be 20 d0 b4 d0 be 20 d1 81 d0 b8 ...... .... ....
2020: d0 bc d0 b2 d0 be d0 bb d0 b0 20 27 5c 6e 27 2c .......... '\n',
2030: 20 d1 82 2e d0 b5 20 d0 b5 d1 81 d0 bb d0 b8 20 ..... ........
2040: d0 ba d0 be d0 bd d0 b5 d1 86 20 d1 81 d1 82 d1 .......... .....
2050: 80 d0 be d0 ba d0 b8 20 d1 80 d0 b0 d0 b2 d0 b5 ....... ........
2060: d0 bd 20 27 5c 72 5c 6e 27 20 d1 82 d0 be 20 d0 .. '\r\n' .... .
2070: bc d0 b5 d1 82 d0 be d0 b4 20 d0 b2 d0 b5 d1 80 ......... ......
2080: d0 bd d0 b5 d1 82 20 d1 81 d1 82 d1 80 d0 be d0 ...... .........
2090: ba d1 83 20 d1 81 20 27 5c 72 27 20 d0 b2 20 d0 ... .. '\r' .. .
20a0: ba d0 be d0 bd d1 86 d0 b5 0d 0a 20 20 20 20 20 ...........
20b0: 20 20 20 20 20 20 20 74 77 2e 73 65 74 53 65 6c tw.setSel
20c0: 65 63 74 69 6f 6e 28 62 65 67 69 6e 52 6f 77 2c ection(beginRow,
20d0: 20 62 65 67 69 6e 43 6f 6c 2c 20 65 6e 64 52 6f beginCol, endRo
20e0: 77 2c 20 65 6e 64 43 6f 6c 2b 31 29 3b 0d 0a 20 w, endCol+1);..
20f0: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
2100: 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 33 2e 20 ////3.
2110: d1 83 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b8 ................
2120: d1 82 d1 8c 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 .... ...........
2130: b5 d0 bd d0 bd d1 8b d0 b9 20 d1 82 d0 b5 d0 ba ......... ......
2140: d1 81 d1 82 0d 0a 20 20 20 20 20 20 20 20 20 20 ......
2150: 20 20 74 77 2e 73 65 6c 65 63 74 65 64 54 65 78 tw.selectedTex
2160: 74 20 3d 20 74 65 78 74 3b 0d 0a 20 20 20 20 20 t = text;..
2170: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 ..
2180: 20 20 20 20 20 2f 2f 2f 2f 34 2e 20 d0 b2 d0 b5 ////4. ....
2190: d1 80 d0 bd d1 83 d1 82 d1 8c 20 d0 bf d0 be d0 .......... .....
21a0: bb d0 be d0 b6 d0 b5 d0 bd d0 b8 d0 b5 20 d0 ba ............. ..
21b0: d1 83 d1 80 d1 81 d0 be d1 80 d0 b0 20 d0 b2 20 ............ ..
21c0: d0 bf d1 80 d0 b5 d0 b6 d0 bd d1 8e d1 8e 20 d0 .............. .
21d0: bf d0 be d0 b7 d0 b8 d1 86 d0 b8 d1 8e 2e 0d 0a ................
21e0: 20 20 20 20 20 20 20 20 20 20 20 20 74 77 2e 73 tw.s
21f0: 65 74 53 65 6c 65 63 74 69 6f 6e 28 63 75 72 53 etSelection(curS
2200: 65 6c 2e 62 65 67 69 6e 52 6f 77 2c 20 63 75 72 el.beginRow, cur
2210: 53 65 6c 2e 62 65 67 69 6e 43 6f 6c 2c 20 63 75 Sel.beginCol, cu
2220: 72 53 65 6c 2e 65 6e 64 52 6f 77 2c 20 63 75 72 rSel.endRow, cur
2230: 53 65 6c 2e 65 6e 64 43 6f 6c 29 3b 0d 0a 20 20 Sel.endCol);..
2240: 20 20 20 20 20 20 20 20 20 20 74 77 2e 73 65 74 tw.set
2250: 43 61 72 65 74 50 6f 73 28 63 75 72 50 6f 73 2e CaretPos(curPos.
2260: 62 65 67 69 6e 52 6f 77 2c 20 63 75 72 50 6f 73 beginRow, curPos
2270: 2e 62 65 67 69 6e 43 6f 6c 29 3b 0d 0a 20 20 20 .beginCol);..
2280: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 }..
2290: 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 92 d0 .. // ...
22a0: be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d0 ................
22b0: bc 20 d0 bd d0 b0 d1 88 20 d0 bf d1 81 d0 b5 d0 . ...... .......
22c0: b2 d0 b4 d0 be 20 2d 20 52 61 6e 67 65 0d 0a 20 ..... - Range..
22d0: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 7b 20 return {
22e0: 47 65 74 4c 69 6e 65 73 3a 20 67 65 74 4c 69 6e GetLines: getLin
22f0: 65 73 2c 20 47 65 74 54 65 78 74 3a 20 67 65 74 es, GetText: get
2300: 54 65 78 74 2c 20 53 65 74 54 65 78 74 3a 20 73 Text, SetText: s
2310: 65 74 54 65 78 74 20 7d 3b 0d 0a 0d 0a 20 20 20 etText };....
2320: 20 7d 2c 0d 0a 0d 0a 20 20 20 20 2f 2a 2a 20 41 },.... /** A
2330: 72 72 61 79 20 5f 54 65 78 74 57 69 6e 64 6f 77 rray _TextWindow
2340: 3a 3a 4c 69 6e 65 73 28 5b 66 72 6f 6d 20 5b 2c ::Lines([from [,
2350: 74 6f 5d 5d 29 2a 2f 0d 0a 20 20 20 20 47 65 74 to]])*/.. Get
2360: 4c 69 6e 65 73 20 3a 20 66 75 6e 63 74 69 6f 6e Lines : function
2370: 20 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 20 20 20 () {....
2380: 20 2f 2f 20 d0 95 d1 81 d0 bb d0 b8 20 d0 bd d0 // ........ ...
2390: b5 20 d0 b7 d0 b0 d0 b4 d0 b0 d0 bd d0 be 20 d0 . ............ .
23a0: bd d0 b8 20 d0 be d0 b4 d0 bd d0 be d0 b3 d0 be ... ............
23b0: 20 d0 bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 ...............
23c0: 80 d0 b0 2c 20 d1 82 d0 be 20 d0 b2 d0 be d0 b7 ..., .... ......
23d0: d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d0 bc 20 d0 .............. .
23e0: b2 d1 81 d0 b5 20 d1 81 d1 82 d1 80 d0 be d0 ba ..... ..........
23f0: d0 b8 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 ..... //
2400: d0 95 d1 81 d0 bb d0 b8 20 d0 b7 d0 b0 d0 b4 d0 ........ .......
2410: b0 d0 bd 20 d1 82 d0 be d0 bb d1 8c d0 ba d0 be ... ............
2420: 20 d0 bf d0 b5 d1 80 d0 b2 d1 8b d0 b9 20 d0 bf ............ ..
2430: d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 2c 20 ..............,
2440: d1 82 d0 be 20 d0 b2 d0 be d0 b7 d0 b2 d1 80 d0 .... ...........
2450: b0 d1 89 d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d0 b7 ............. ..
2460: d0 b0 d0 b4 d0 b0 d0 bd d0 bd d0 b0 d1 8f 20 d1 .............. .
2470: 81 d1 82 d1 80 d0 be d0 ba d0 b0 2e 0d 0a 20 20 ..............
2480: 20 20 20 20 20 20 2f 2f 20 d0 95 d1 81 d0 bb d0 // .......
2490: b8 20 d0 b7 d0 b0 d0 b4 d0 b0 d0 bd d1 8b 20 d0 . ............ .
24a0: be d0 b1 d0 b0 20 d0 bf d0 b0 d1 80 d0 b0 d0 bc ..... ..........
24b0: d0 b5 d1 82 d1 80 d0 b0 2c 20 d0 b2 d0 be d0 b7 ........, ......
24c0: d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d0 bc 20 d0 .............. .
24d0: b4 d0 b8 d0 b0 d0 bf d0 b0 d0 b7 d0 be d0 bd 20 ...............
24e0: d1 81 d1 82 d1 80 d0 be d0 ba 2e 0d 0a 0d 0a 20 ...............
24f0: 20 20 20 20 20 20 20 76 61 72 20 62 65 67 69 6e var begin
2500: 52 6f 77 2c 20 65 6e 64 52 6f 77 3b 0d 0a 0d 0a Row, endRow;....
2510: 20 20 20 20 20 20 20 20 69 66 20 28 21 61 72 67 if (!arg
2520: 75 6d 65 6e 74 73 2e 6c 65 6e 67 74 68 29 0d 0a uments.length)..
2530: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 {..
2540: 20 20 20 20 20 20 20 62 65 67 69 6e 52 6f 77 20 beginRow
2550: 3d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 = 1;..
2560: 20 20 65 6e 64 52 6f 77 20 3d 20 74 68 69 73 2e endRow = this.
2570: 74 65 78 74 57 69 6e 64 6f 77 2e 6c 69 6e 65 73 textWindow.lines
2580: 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 Count;..
2590: 7d 0d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 }.. else
25a0: 69 66 20 28 61 72 67 75 6d 65 6e 74 73 2e 6c 65 if (arguments.le
25b0: 6e 67 74 68 20 3d 3d 20 31 29 20 0d 0a 20 20 20 ngth == 1) ..
25c0: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 {..
25d0: 20 20 20 20 62 65 67 69 6e 52 6f 77 20 3d 20 61 beginRow = a
25e0: 72 67 75 6d 65 6e 74 73 5b 30 5d 3b 0d 0a 20 20 rguments[0];..
25f0: 20 20 20 20 20 20 20 20 20 20 65 6e 64 52 6f 77 endRow
2600: 20 3d 20 62 65 67 69 6e 52 6f 77 3b 0d 0a 20 20 = beginRow;..
2610: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 }..
2620: 20 65 6c 73 65 20 69 66 20 28 61 72 67 75 6d 65 else if (argume
2630: 6e 74 73 2e 6c 65 6e 67 74 68 20 3e 20 31 29 0d nts.length > 1).
2640: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 . {..
2650: 20 20 20 20 20 20 20 20 62 65 67 69 6e 52 6f 77 beginRow
2660: 20 3d 20 61 72 67 75 6d 65 6e 74 73 5b 30 5d 3b = arguments[0];
2670: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e .. en
2680: 64 52 6f 77 20 3d 20 61 72 67 75 6d 65 6e 74 73 dRow = arguments
2690: 5b 31 5d 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d [1];.. }.
26a0: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 . ..
26b0: 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 52 return this.R
26c0: 61 6e 67 65 28 62 65 67 69 6e 52 6f 77 2c 20 31 ange(beginRow, 1
26d0: 2c 20 65 6e 64 52 6f 77 29 2e 47 65 74 4c 69 6e , endRow).GetLin
26e0: 65 73 28 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d es();.. },...
26f0: 0a 20 20 20 20 2f 2a 2a 20 d0 92 d0 be d0 b7 d0 . /** .......
2700: b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d1 81 ............. ..
2710: d0 bb d0 be d0 b2 d0 be 20 d0 bf d0 be d0 b4 20 ........ ......
2720: d0 ba d1 83 d1 80 d1 81 d0 be d1 80 d0 be d0 bc ................
2730: 2e 20 2a 2f 0d 0a 20 20 20 20 47 65 74 57 6f 72 . */.. GetWor
2740: 64 55 6e 64 65 72 43 75 72 73 6f 72 20 3a 20 66 dUnderCursor : f
2750: 75 6e 63 74 69 6f 6e 20 28 72 65 29 20 7b 0d 0a unction (re) {..
2760: 0d 0a 20 20 20 20 20 20 20 20 2f 2a 54 4f 44 4f .. /*TODO
2770: 3a 20 d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 : ..............
2780: d1 8c 20 d0 bd d0 b5 d0 be d0 b1 d1 8f d0 b7 d0 .. .............
2790: b0 d1 82 d0 b5 d0 bb d1 8c d0 bd d1 8b d0 b9 20 ...............
27a0: d0 bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 ................
27b0: 3a 20 d1 80 d0 b5 d0 b3 d1 83 d0 bb d1 8f d1 80 : ..............
27c0: d0 bd d0 be d0 b5 20 d0 b2 d1 8b d1 80 d0 b0 d0 ...... .........
27d0: b6 d0 b5 d0 bd d0 b8 d0 b5 20 d0 b4 d0 bb d1 8f ......... ......
27e0: 20 d0 bf d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 ...............
27f0: b8 20 d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb d0 be . ..............
2800: d0 b2 20 d1 81 d0 bb d0 be d0 b2 d0 b0 2e 20 2a .. ........... *
2810: 2f 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 /.... var
2820: 20 70 6f 73 20 3d 20 74 68 69 73 2e 47 65 74 43 pos = this.GetC
2830: 61 72 65 74 50 6f 73 28 29 3b 0d 0a 20 20 20 20 aretPos();..
2840: 20 20 20 20 76 61 72 20 6c 69 6e 65 20 3d 20 74 var line = t
2850: 68 69 73 2e 47 65 74 4c 69 6e 65 28 70 6f 73 2e his.GetLine(pos.
2860: 62 65 67 69 6e 52 6f 77 29 3b 0d 0a 20 20 20 20 beginRow);..
2870: 20 20 20 20 76 61 72 20 69 73 43 68 61 72 20 3d var isChar =
2880: 20 72 65 20 3f 20 72 65 20 3a 20 2f 5b 5c 77 5c re ? re : /[\w\
2890: 64 d0 90 2d d1 8f 5d 2f 3b 0d 0a 0d 0a 20 20 20 d..-..]/;....
28a0: 20 20 20 20 20 76 61 72 20 77 6f 72 64 42 65 67 var wordBeg
28b0: 50 6f 73 20 3d 20 70 6f 73 2e 62 65 67 69 6e 43 Pos = pos.beginC
28c0: 6f 6c 20 2d 20 32 3b 0d 0a 20 20 20 20 20 20 20 ol - 2;..
28d0: 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 .. if (!
28e0: 69 73 43 68 61 72 2e 74 65 73 74 28 6c 69 6e 65 isChar.test(line
28f0: 2e 63 68 61 72 41 74 28 77 6f 72 64 42 65 67 50 .charAt(wordBegP
2900: 6f 73 29 29 29 0d 0a 20 20 20 20 20 20 20 20 20 os)))..
2910: 20 20 20 72 65 74 75 72 6e 20 27 27 3b 0d 0a 20 return '';..
2920: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
2930: 20 20 20 20 20 77 68 69 6c 65 20 28 77 6f 72 64 while (word
2940: 42 65 67 50 6f 73 20 3e 20 30 29 0d 0a 20 20 20 BegPos > 0)..
2950: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 {..
2960: 20 20 20 20 69 66 20 28 21 69 73 43 68 61 72 2e if (!isChar.
2970: 74 65 73 74 28 6c 69 6e 65 2e 63 68 61 72 41 74 test(line.charAt
2980: 28 77 6f 72 64 42 65 67 50 6f 73 20 2d 20 31 29 (wordBegPos - 1)
2990: 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ))..
29a0: 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 break;..
29b0: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 ..
29c0: 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 42 65 wordBe
29d0: 67 50 6f 73 2d 2d 3b 0d 0a 20 20 20 20 20 20 20 gPos--;..
29e0: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 }..
29f0: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 77 6f .. var wo
2a00: 72 64 45 6e 64 50 6f 73 20 3d 20 70 6f 73 2e 62 rdEndPos = pos.b
2a10: 65 67 69 6e 43 6f 6c 20 2d 20 32 3b 0d 0a 20 20 eginCol - 2;..
2a20: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 ..
2a30: 77 68 69 6c 65 20 28 77 6f 72 64 45 6e 64 50 6f while (wordEndPo
2a40: 73 20 3c 20 6c 69 6e 65 2e 6c 65 6e 67 74 68 20 s < line.length
2a50: 2d 20 31 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d - 1).. {.
2a60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 . if
2a70: 28 21 69 73 43 68 61 72 2e 74 65 73 74 28 6c 69 (!isChar.test(li
2a80: 6e 65 2e 63 68 61 72 41 74 28 77 6f 72 64 45 6e ne.charAt(wordEn
2a90: 64 50 6f 73 20 2b 20 31 29 29 29 0d 0a 20 20 20 dPos + 1)))..
2aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 bre
2ab0: 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ak;..
2ac0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 ..
2ad0: 20 20 20 77 6f 72 64 45 6e 64 50 6f 73 2b 2b 3b wordEndPos++;
2ae0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 7d 0d .. }.
2af0: 0a 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 ... retur
2b00: 6e 20 6c 69 6e 65 2e 73 75 62 73 74 72 28 77 6f n line.substr(wo
2b10: 72 64 42 65 67 50 6f 73 2c 20 77 6f 72 64 45 6e rdBegPos, wordEn
2b20: 64 50 6f 73 20 2d 20 77 6f 72 64 42 65 67 50 6f dPos - wordBegPo
2b30: 73 20 2b 20 31 29 3b 0d 0a 20 20 20 20 7d 2c 0d s + 1);.. },.
2b40: 0a 0d 0a 20 20 20 20 2f 2a 2a 20 d0 92 d0 be d0 ... /** .....
2b50: b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 ...............
2b60: d1 81 d1 82 d1 80 d0 be d0 ba d0 be d0 b2 d1 8b ................
2b70: d0 b9 20 d0 bb d0 b8 d1 82 d0 b5 d1 80 d0 b0 d0 .. .............
2b80: bb 2c 20 d0 b2 d0 bd d1 83 d1 82 d1 80 d0 b8 20 ., ............
2b90: d0 ba d0 be d1 82 d0 be d1 80 d0 be d0 b3 d0 be ................
2ba0: 20 d0 bd d0 b0 d1 85 d0 be d0 b4 d0 b8 d1 82 d1 ...............
2bb0: 81 d1 8f 20 d0 ba d1 83 d1 80 d1 81 d0 be d1 80 ... ............
2bc0: 2e 20 0d 0a 20 20 20 20 46 49 58 4d 45 3a 20 d0 . .. FIXME: .
2bd0: a2 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f 20 d1 80 ............. ..
2be0: d0 b5 d0 b0 d0 bb d0 b8 d0 b7 d0 b0 d1 86 d0 b8 ................
2bf0: d1 8f 20 d0 bd d0 b5 d0 ba d0 be d1 80 d1 80 d0 .. .............
2c00: b5 d0 ba d1 82 d0 bd d0 be 20 d0 be d1 82 d1 80 ......... ......
2c10: d0 b0 d0 b1 d0 b0 d1 82 d1 8b d0 b2 d0 b0 d0 b5 ................
2c20: d1 82 20 d1 81 d0 b8 d1 82 d1 83 d0 b0 d1 86 d0 .. .............
2c30: b8 d1 8e 2c 20 d0 ba d0 be d0 b3 d0 b4 d0 b0 20 ..., ..........
2c40: d0 ba d1 83 d1 80 d1 81 d0 be d1 80 0d 0a 20 20 ..............
2c50: 20 20 d0 bd d0 b0 d1 85 d0 be d0 b4 d0 b8 d1 82 ..............
2c60: d1 81 d1 8f 20 d0 b2 d0 bd d0 b5 20 d1 81 d1 82 .... ...... ....
2c70: d1 80 d0 be d0 ba d0 be d0 b2 d0 be d0 b3 d0 be ................
2c80: 20 d0 bb d0 b8 d1 82 d0 b5 d1 80 d0 b0 d0 bb d0 ...............
2c90: b0 20 d0 bc d0 b5 d0 b6 d0 b4 d1 83 20 d0 b3 d1 . .......... ...
2ca0: 80 d0 b0 d0 bd d0 b8 d1 86 d0 b0 d0 bc d0 b8 20 ...............
2cb0: d0 b4 d0 b2 d1 83 d1 85 20 d0 b4 d1 80 d1 83 d0 ........ .......
2cc0: b3 d0 b8 d1 85 20 d1 81 d1 82 d1 80 d0 be d0 ba ..... ..........
2cd0: d0 be d0 b2 d1 8b d1 85 20 20 0d 0a 20 20 20 20 ........ ..
2ce0: d0 bb d0 b8 d1 82 d0 b5 d1 80 d0 b0 d0 bb d0 be ................
2cf0: d0 b2 20 28 d1 81 d0 bc 2e 20 d1 82 d0 b5 d1 81 .. (..... ......
2d00: d1 82 20 6d 61 63 72 6f 73 54 65 73 74 31 30 20 .. macrosTest10
2d10: d0 b2 20 74 65 73 74 54 65 78 74 57 69 6e 64 6f .. testTextWindo
2d20: 77 5f 47 65 74 53 74 72 69 6e 67 55 6e 64 65 72 w_GetStringUnder
2d30: 43 75 72 73 6f 72 2e 6a 73 29 2e 20 2a 2f 0d 0a Cursor.js). */..
2d40: 20 20 20 20 47 65 74 53 74 72 69 6e 67 55 6e 64 GetStringUnd
2d50: 65 72 43 75 72 73 6f 72 20 3a 20 66 75 6e 63 74 erCursor : funct
2d60: 69 6f 6e 20 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 ion () {....
2d70: 20 20 20 20 76 61 72 20 70 6f 73 20 3d 20 74 68 var pos = th
2d80: 69 73 2e 47 65 74 43 61 72 65 74 50 6f 73 28 29 is.GetCaretPos()
2d90: 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 ;.... var
2da0: 20 62 65 67 69 6e 52 6f 77 20 3d 20 70 6f 73 2e beginRow = pos.
2db0: 62 65 67 69 6e 52 6f 77 3b 0d 0a 20 20 20 20 20 beginRow;..
2dc0: 20 20 20 76 61 72 20 77 6f 72 64 42 65 67 50 6f var wordBegPo
2dd0: 73 20 3d 20 70 6f 73 2e 62 65 67 69 6e 43 6f 6c s = pos.beginCol
2de0: 20 2d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 0d - 1;.. .
2df0: 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 94 d0 b0 . // ....
2e00: d0 bb d0 b5 d0 b5 20 d0 b2 d0 b5 d0 b7 d0 b4 d0 ...... .........
2e10: b5 20 d0 bf d0 be d0 bc d0 bd d0 b8 d0 bc 2c 20 . ............,
2e20: d1 87 d1 82 d0 be 20 d0 bd d1 83 d0 bc d0 b5 d1 ...... .........
2e30: 80 d0 b0 d1 86 d0 b8 d1 8f 20 d1 81 d1 82 d1 80 ......... ......
2e40: d0 be d0 ba 20 d0 bd d0 b0 d1 87 d0 b8 d0 bd d0 .... ...........
2e50: b0 d1 8e d1 82 d1 81 d1 8f 20 d1 81 20 31 2c 0d ......... .. 1,.
2e60: 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 b0 20 d0 . // .. .
2e70: bd d1 83 d0 bc d0 b5 d1 80 d0 b0 d1 86 d0 b8 d1 ................
2e80: 8f 20 d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb d0 be . ..............
2e90: d0 b2 20 d0 b2 20 6a 73 2d d1 81 d1 82 d1 80 d0 .. .. js-.......
2ea0: be d0 ba d0 b5 20 2d 20 d1 81 20 30 2e 0d 0a 20 ..... - .. 0...
2eb0: 20 20 20 20 20 20 20 76 61 72 20 6c 69 6e 65 20 var line
2ec0: 3d 20 74 68 69 73 2e 47 65 74 4c 69 6e 65 28 70 = this.GetLine(p
2ed0: 6f 73 2e 62 65 67 69 6e 52 6f 77 29 3b 0d 0a 20 os.beginRow);..
2ee0: 20 20 20 20 20 20 20 76 61 72 20 73 74 72 20 3d var str =
2ef0: 20 27 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a '';.. ..
2f00: 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 74 while (t
2f10: 72 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 20 rue).. {
2f20: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
2f30: 20 20 20 20 20 20 20 20 20 69 66 20 28 62 65 67 if (beg
2f40: 69 6e 52 6f 77 20 3c 20 31 20 7c 7c 20 77 6f 72 inRow < 1 || wor
2f50: 64 42 65 67 50 6f 73 20 3c 20 30 29 0d 0a 20 20 dBegPos < 0)..
2f60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 re
2f70: 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 turn null;..
2f80: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 ..
2f90: 20 20 76 61 72 20 63 75 72 43 68 61 72 20 3d 20 var curChar =
2fa0: 6c 69 6e 65 2e 63 68 61 72 41 74 28 77 6f 72 64 line.charAt(word
2fb0: 42 65 67 50 6f 73 29 3b 0d 0a 20 20 20 20 20 20 BegPos);..
2fc0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 ..
2fd0: 20 20 20 20 2f 2a 20 d0 95 d1 81 d0 bb d0 b8 20 /* ........
2fe0: d0 b2 d1 81 d1 82 d1 80 d0 b5 d1 82 d0 b8 d0 bb ................
2ff0: d0 b0 d1 81 d1 8c 20 d0 b4 d0 b2 d0 be d0 b9 d0 ...... .........
3000: bd d0 b0 d1 8f 20 d0 ba d0 b0 d0 b2 d1 8b d1 87 ..... ..........
3010: d0 ba d0 b0 2c 20 d1 82 d0 be 20 d0 bb d0 b8 d0 ...., .... .....
3020: b1 d0 be 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 ... ............
3030: 20 d0 b7 d0 b0 d0 b2 d0 b5 d1 80 d1 88 d0 b8 d0 ...............
3040: bb d0 b0 d1 81 d1 8c 2c 20 d0 bb d0 b8 d0 b1 d0 ......., .......
3050: be 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 d1 ... .
3060: 80 d1 8f d0 b4 d0 be d0 bc 20 d0 b5 d1 81 d1 82 ......... ......
3070: d1 8c 20 d0 b5 d1 89 d0 b5 20 d0 be d0 b4 d0 bd .. ...... ......
3080: d0 b0 20 d1 8d d0 ba d1 80 d0 b0 d0 bd d0 b8 d1 .. .............
3090: 80 d1 83 d1 8e d1 89 d0 b0 d1 8f 20 d0 b4 d0 b2 ........... ....
30a0: d0 be d0 b9 d0 bd d0 b0 d1 8f 20 d0 ba d0 b0 d0 .......... .....
30b0: b2 d1 8b d1 87 d0 ba d0 b0 2e 20 2a 2f 0d 0a 20 .......... */..
30c0: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 if (c
30d0: 75 72 43 68 61 72 20 3d 3d 20 27 22 27 29 0d 0a urChar == '"')..
30e0: 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 {..
30f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 i
3100: 66 20 28 77 6f 72 64 42 65 67 50 6f 73 20 2d 20 f (wordBegPos -
3110: 31 20 3e 20 2d 31 20 26 26 20 6c 69 6e 65 2e 63 1 > -1 && line.c
3120: 68 61 72 41 74 28 77 6f 72 64 42 65 67 50 6f 73 harAt(wordBegPos
3130: 20 2d 20 31 29 20 3d 3d 20 27 22 27 29 0d 0a 20 - 1) == '"')..
3140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b {
3150: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
3160: 20 20 20 20 20 20 73 74 72 20 3d 20 27 22 27 20 str = '"'
3170: 2b 20 73 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 + str;..
3180: 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 word
3190: 42 65 67 50 6f 73 20 2d 3d 20 32 3b 0d 0a 20 20 BegPos -= 2;..
31a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
31b0: 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 continue;..
31c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 }
31d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
31e0: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..
31f0: 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 break;..
3200: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
3210: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 ..
3220: 20 20 20 20 20 2f 2a 20 d0 95 d1 81 d0 bb d0 b8 /* ........
3230: 20 d0 b2 d1 81 d1 82 d1 80 d0 b5 d1 82 d0 b8 d0 ...............
3240: bb d1 81 d1 8f 20 d1 81 d0 b8 d0 bc d0 b2 d0 be ..... ..........
3250: d0 bb 20 d0 b2 d0 b5 d1 80 d1 82 d0 b8 d0 ba d0 .. .............
3260: b0 d0 bb d1 8c d0 bd d0 be d0 b9 20 d1 87 d0 b5 ........... ....
3270: d1 80 d1 82 d1 8b 2c 20 d1 82 d0 be 20 d0 b7 d0 ......, .... ...
3280: bd d0 b0 d1 87 d0 b8 d1 82 20 d0 bd d0 b0 d0 bc ......... ......
3290: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 d0 .. .
32a0: b2 d1 81 d1 82 d1 80 d0 b5 d1 82 d0 b8 d0 bb d0 ................
32b0: b0 d1 81 d1 8c 20 d0 bc d1 83 d0 bb d1 8c d1 82 ..... ..........
32c0: d0 b8 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 2e 20 ...............
32d0: d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 bb d1 8f d0 b5 ................
32e0: d0 bc 20 d0 bf d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 .. .............
32f0: b4 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 20 d0 . ............ .
3300: b8 20 d0 bf d1 80 d0 be d0 b4 d0 be d0 bb d0 b6 . ..............
3310: d0 b0 d0 b5 d0 bc 20 0d 0a 20 20 20 20 20 20 20 ...... ..
3320: 20 20 20 20 20 d0 bf d0 b0 d1 80 d1 81 d0 b8 d0 ...........
3330: bd d0 b3 20 d1 81 20 d0 ba d0 be d0 bd d1 86 d0 ... .. .........
3340: b0 20 d0 b1 d0 bb d0 b8 d0 b7 d0 bb d0 b5 d0 b6 . ..............
3350: d0 b0 d0 b9 d1 88 d0 b5 d0 b9 20 d0 b2 d0 b5 d1 .......... .....
3360: 80 d1 85 d0 bd d0 b5 d0 b9 20 d1 81 d1 82 d1 80 ......... ......
3370: d0 be d0 ba d0 b8 2e 20 2a 2f 0d 0a 20 20 20 20 ....... */..
3380: 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 43 if (curC
3390: 68 61 72 20 3d 3d 20 27 7c 27 29 0d 0a 20 20 20 har == '|')..
33a0: 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 {..
33b0: 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 20 str
33c0: 3d 20 22 5c 6e 22 20 2b 20 73 74 72 3b 0d 0a 20 = "\n" + str;..
33d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 b
33e0: 65 67 69 6e 52 6f 77 2d 2d 3b 0d 0a 20 20 20 20 eginRow--;..
33f0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
3400: 62 65 67 69 6e 52 6f 77 20 3c 20 31 29 20 0d 0a beginRow < 1) ..
3410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3420: 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b return null;
3430: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
3440: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 ..
3450: 20 20 20 20 20 20 20 20 6c 69 6e 65 20 3d 20 74 line = t
3460: 68 69 73 2e 47 65 74 4c 69 6e 65 28 62 65 67 69 his.GetLine(begi
3470: 6e 52 6f 77 29 3b 0d 0a 20 20 20 20 20 20 20 20 nRow);..
3480: 20 20 20 20 20 20 20 20 77 6f 72 64 42 65 67 50 wordBegP
3490: 6f 73 20 3d 20 6c 69 6e 65 2e 6c 65 6e 67 74 68 os = line.length
34a0: 20 2d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 - 1;..
34b0: 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b continue;
34c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d .. }.
34d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
34e0: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f .. /
34f0: 2a 20 d0 92 20 d0 be d1 81 d1 82 d0 b0 d0 bb d1 * .. ...........
3500: 8c d0 bd d1 8b d1 85 20 d1 81 d0 bb d1 83 d1 87 ....... ........
3510: d0 b0 d1 8f d1 85 20 d0 b2 d1 81 d1 82 d1 80 d0 ...... .........
3520: b5 d1 82 d0 b8 d0 bb d1 81 d1 8f 20 d0 be d0 b1 ........... ....
3530: d1 8b d1 87 d0 bd d1 8b d0 b9 20 d1 81 d0 b8 d0 .......... .....
3540: bc d0 b2 d0 be d0 bb 2c 20 d0 b4 d0 be d0 b1 d0 ......., .......
3550: b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc 20 d0 b5 d0 b3 ........... ....
3560: d0 be 20 d0 ba 20 d1 81 d1 82 d1 80 d0 be d0 ba .. .. ..........
3570: d0 b5 2e 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 ... */..
3580: 20 20 20 20 73 74 72 20 3d 20 63 75 72 43 68 61 str = curCha
3590: 72 20 2b 20 73 74 72 3b 20 20 20 20 20 20 20 20 r + str;
35a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 6f .. wo
35b0: 72 64 42 65 67 50 6f 73 2d 2d 3b 0d 0a 20 20 20 rdBegPos--;..
35c0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 }..
35d0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 76 61 .. va
35e0: 72 20 65 6e 64 52 6f 77 20 3d 20 70 6f 73 2e 62 r endRow = pos.b
35f0: 65 67 69 6e 52 6f 77 3b 0d 0a 20 20 20 20 20 20 eginRow;..
3600: 20 20 76 61 72 20 77 6f 72 64 45 6e 64 50 6f 73 var wordEndPos
3610: 20 3d 20 70 6f 73 2e 62 65 67 69 6e 43 6f 6c 3b = pos.beginCol;
3620: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6c 69 .. var li
3630: 6e 65 73 43 6f 75 6e 74 20 3d 20 74 68 69 73 2e nesCount = this.
3640: 4c 69 6e 65 73 43 6f 75 6e 74 28 29 3b 0d 0a 20 LinesCount();..
3650: 20 20 20 20 20 20 20 76 61 72 20 6c 69 6e 65 20 var line
3660: 3d 20 74 68 69 73 2e 47 65 74 4c 69 6e 65 28 65 = this.GetLine(e
3670: 6e 64 52 6f 77 29 3b 0d 0a 20 20 20 20 20 20 20 ndRow);..
3680: 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 a0 .. // ..
3690: d0 b5 d0 b3 d1 83 d0 bb d1 8f d1 80 d0 bd d0 be ................
36a0: d0 b5 20 d0 b2 d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0 .. .............
36b0: bd d0 b8 d0 b5 20 d0 b4 d0 bb d1 8f 20 d0 bf d1 ..... ...... ...
36c0: 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 20 d0 bd ............. ..
36d0: d0 b0 d1 87 d0 b0 d0 bb d0 b0 20 d0 be d1 87 d0 .......... .....
36e0: b5 d1 80 d0 b5 d0 b4 d0 bd d0 be d0 b9 20 d1 81 ............. ..
36f0: d1 82 d1 80 d0 be d0 ba d0 b8 20 d0 b2 20 d0 bc .......... .. ..
3700: d1 83 d0 bb d1 8c d1 82 d0 b8 d1 81 d1 82 d1 80 ................
3710: d0 be d0 ba d0 b5 2e 0d 0a 20 20 20 20 20 20 20 .........
3720: 20 76 61 72 20 72 65 4d 75 6c 74 69 6c 69 6e 65 var reMultiline
3730: 53 74 72 69 6e 67 20 3d 20 6e 65 77 20 52 65 67 String = new Reg
3740: 45 78 70 28 27 5e 5c 73 2a 5c 7c 27 29 3b 0d 0a Exp('^\s*\|');..
3750: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 ..
3760: 20 20 77 68 69 6c 65 20 28 74 72 75 65 29 0d 0a while (true)..
3770: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 {..
3780: 20 20 20 20 20 20 20 69 66 20 28 65 6e 64 52 6f if (endRo
3790: 77 20 3e 20 6c 69 6e 65 73 43 6f 75 6e 74 29 0d w > linesCount).
37a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
37b0: 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 20 return null;..
37c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
37d0: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
37e0: 20 20 20 20 20 20 20 20 20 69 66 20 28 77 6f 72 if (wor
37f0: 64 45 6e 64 50 6f 73 20 3e 3d 20 6c 69 6e 65 2e dEndPos >= line.
3800: 6c 65 6e 67 74 68 29 20 0d 0a 20 20 20 20 20 20 length) ..
3810: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
3820: 20 20 20 20 20 20 20 20 20 2f 2a 20 d0 9d d0 b0 /* ....
3830: d0 b4 d0 be 20 d0 bf d1 80 d0 be d0 b2 d0 b5 d1 .... ...........
3840: 80 d0 b8 d1 82 d1 8c 2c 20 d0 bd d0 b0 d1 85 d0 ......., .......
3850: be d0 b4 d0 b8 d0 bc d1 81 d1 8f 20 d0 bb d0 b8 ........... ....
3860: 20 d0 bc d1 8b 20 d0 b2 20 d0 bc d1 83 d0 bb d1 .... .. .......
3870: 8c d1 82 d0 b8 d1 81 d1 82 d1 80 d0 be d0 ba d0 ................
3880: b5 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....
3890: 20 20 20 20 d0 9a d1 80 d0 b8 d1 82 d0 b5 d1 80 ............
38a0: d0 b8 d0 b9 20 d0 bf d1 80 d0 be d0 b2 d0 b5 d1 .... ...........
38b0: 80 d0 ba d0 b8 3a 20 d0 bd d0 b0 d0 bb d0 b8 d1 .....: .........
38c0: 87 d0 b8 d0 b5 20 d0 b2 d0 b5 d1 80 d1 82 d0 b8 ..... ..........
38d0: d0 ba d0 b0 d0 bb d1 8c d0 bd d0 be d0 b9 20 d1 .............. .
38e0: 87 d0 b5 d1 80 d1 82 d1 8b 20 d0 b2 20 d1 81 d0 ......... .. ...
38f0: b0 d0 bc d0 be d0 bc 20 d0 bd d0 b0 d1 87 d0 b0 ....... ........
3900: d0 bb d0 b5 20 d1 81 d0 bb d0 b5 d0 b4 d1 83 d1 .... ...........
3910: 8e d1 89 d0 b5 d0 b9 20 d1 81 d1 82 d1 80 d0 be ....... ........
3920: d0 ba d0 b8 2e 0d 0a 20 20 20 20 20 20 20 20 20 .......
3930: 20 20 20 20 20 20 20 d0 95 d1 81 d0 bb d0 b8 20 ........
3940: d0 b4 d0 b0 2c 20 d0 bc d1 8b 20 d0 b2 20 d0 bc ...., .... .. ..
3950: d1 83 d0 bb d1 8c d1 82 d0 b8 d1 81 d1 82 d1 80 ................
3960: d0 be d0 ba d0 b5 2c 20 d1 82 d0 be 20 d0 bf d1 ......, .... ...
3970: 80 d0 be d1 81 d1 82 d0 be 20 d0 bf d0 b5 d1 80 ......... ......
3980: d0 b5 d1 85 d0 be d0 b4 d0 b8 d0 bc 20 d0 ba 20 ............ ..
3990: d0 be d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba ................
39a0: d0 b5 20 d1 81 d0 bb d0 b5 d0 b4 d1 83 d1 8e d1 .. .............
39b0: 89 d0 b5 d0 b9 20 d1 81 d1 82 d1 80 d0 be d0 ba ..... ..........
39c0: d0 b8 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .....
39d0: 20 20 20 20 20 d0 95 d1 81 d0 bb d0 b8 20 d0 bd ........ ..
39e0: d0 b5 d1 82 2c 20 d1 82 d0 be 20 d0 b7 d0 bd d0 ...., .... .....
39f0: b0 d1 87 d0 b8 d1 82 20 d0 b8 d0 bc d0 b5 d0 b5 ....... ........
3a00: d1 82 20 d0 bc d0 b5 d1 81 d1 82 d0 be 20 d0 b1 .. .......... ..
3a10: d1 8b d1 82 d1 8c 20 d1 81 d0 b8 d0 bd d1 82 d0 ...... .........
3a20: b0 d0 ba d1 81 d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 ................
3a30: b0 d1 8f 20 d0 be d1 88 d0 b8 d0 b1 d0 ba d0 b0 ... ............
3a40: 2e 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 . */..
3a50: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 ..
3a60: 20 20 20 20 20 20 20 20 65 6e 64 52 6f 77 2b 2b endRow++
3a70: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
3a80: 20 20 20 69 66 20 28 65 6e 64 52 6f 77 20 3e 20 if (endRow >
3a90: 6c 69 6e 65 73 43 6f 75 6e 74 29 0d 0a 20 20 20 linesCount)..
3aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3ab0: 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 20 return null;..
3ac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d .
3ad0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3ae0: 20 6c 69 6e 65 20 3d 20 74 68 69 73 2e 47 65 74 line = this.Get
3af0: 4c 69 6e 65 28 65 6e 64 52 6f 77 29 3b 0d 0a 20 Line(endRow);..
3b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d .
3b10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3b20: 20 2f 2f 20 d0 95 d1 81 d0 bb d0 b8 20 d1 81 d0 // ........ ...
3b30: bb d0 b5 d0 b4 d1 83 d1 8e d1 89 d0 b0 d1 8f 20 ...............
3b40: d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 20 2d 20 d0 ............ - .
3b50: bd d0 b5 20 d0 bf d1 80 d0 be d0 b4 d0 be d0 bb ... ............
3b60: d0 b6 d0 b5 d0 bd d0 b8 d0 b5 20 d0 bc d1 83 d0 .......... .....
3b70: bb d1 8c d1 82 d1 81 d1 82 d1 80 d0 be d0 ba d0 ................
3b80: b8 2c 20 d1 82 d0 be 20 d1 8d d1 82 d0 be 20 d0 ., .... ...... .
3b90: be d1 88 d0 b8 d0 b1 d0 ba d0 b0 2e 0d 0a 20 20 ..............
3ba0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 va
3bb0: 72 20 6d 61 74 63 68 20 3d 20 72 65 4d 75 6c 74 r match = reMult
3bc0: 69 6c 69 6e 65 53 74 72 69 6e 67 2e 65 78 65 63 ilineString.exec
3bd0: 28 6c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 20 20 (line);..
3be0: 20 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 61 if (!ma
3bf0: 74 63 68 29 20 72 65 74 75 72 6e 20 6e 75 6c 6c tch) return null
3c00: 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ;....
3c10: 20 20 20 20 20 2f 2f 20 d0 94 d0 be d0 b1 d0 b0 // ........
3c20: d0 b2 d0 bb d1 8f d0 b5 d0 bc 20 d0 bf d0 b5 d1 .......... .....
3c30: 80 d0 b5 d0 b2 d0 be d0 b4 20 d1 81 d1 82 d1 80 ......... ......
3c40: d0 be d0 ba d0 b8 20 d0 b8 20 d0 bf d1 80 d0 be ...... .. ......
3c50: d0 b4 d0 be d0 bb d0 b6 d0 b0 d0 b5 d0 bc 20 d1 .............. .
3c60: 81 d0 be 20 d1 81 d0 bb d0 b5 d0 b4 d1 83 d1 8e ... ............
3c70: d1 89 d0 b5 d0 b9 20 d0 b7 d0 b0 20 d0 b2 d0 b5 ...... .... ....
3c80: d1 80 d1 82 d0 b8 d0 ba d0 b0 d0 bb d1 8c d0 bd ................
3c90: d0 be d0 b9 20 d1 87 d0 b5 d1 80 d1 82 d0 be d0 .... ...........
3ca0: b9 20 d0 bf d0 be d0 b7 d0 b8 d1 86 d0 b8 d0 b8 . ..............
3cb0: 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
3cc0: 20 20 20 73 74 72 20 2b 3d 20 22 5c 6e 22 3b 0d str += "\n";.
3cd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3ce0: 20 77 6f 72 64 45 6e 64 50 6f 73 20 3d 20 72 65 wordEndPos = re
3cf0: 4d 75 6c 74 69 6c 69 6e 65 53 74 72 69 6e 67 2e MultilineString.
3d00: 6c 61 73 74 49 6e 64 65 78 20 2b 20 31 3b 0d 0a lastIndex + 1;..
3d10: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 }..
3d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3d30: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
3d40: 20 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 var cur
3d50: 43 68 61 72 20 3d 20 6c 69 6e 65 2e 63 68 61 72 Char = line.char
3d60: 41 74 28 77 6f 72 64 45 6e 64 50 6f 73 29 3b 0d At(wordEndPos);.
3d70: 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 . ..
3d80: 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 d0 95 /* ..
3d90: d1 81 d0 bb d0 b8 20 d0 b2 d1 81 d1 82 d1 80 d0 ...... .........
3da0: b5 d1 82 d0 b8 d0 bb d0 b0 d1 81 d1 8c 20 d0 b4 ............. ..
3db0: d0 b2 d0 be d0 b9 d0 bd d0 b0 d1 8f 20 d0 ba d0 ............ ...
3dc0: b0 d0 b2 d1 8b d1 87 d0 ba d0 b0 2c 20 d1 82 d0 ..........., ...
3dd0: be 20 d0 bb d0 b8 d0 b1 d0 be 20 d1 81 d1 82 d1 . ........ .....
3de0: 80 d0 be d0 ba d0 b0 20 d0 b7 d0 b0 d0 b2 d0 b5 ....... ........
3df0: d1 80 d1 88 d0 b8 d0 bb d0 b0 d1 81 d1 8c 2c 20 ..............,
3e00: d0 bb d0 b8 d0 b1 d0 be 0d 0a 20 20 20 20 20 20 ..........
3e10: 20 20 20 20 20 20 d1 80 d1 8f d0 b4 d0 be d0 bc ..........
3e20: 20 d0 b5 d1 81 d1 82 d1 8c 20 d0 b5 d1 89 d0 b5 ........ ......
3e30: 20 d0 be d0 b4 d0 bd d0 b0 20 d1 8d d0 ba d1 80 ........ ......
3e40: d0 b0 d0 bd d0 b8 d1 80 d1 83 d1 8e d1 89 d0 b0 ................
3e50: d1 8f 20 d0 b4 d0 b2 d0 be d0 b9 d0 bd d0 b0 d1 .. .............
3e60: 8f 20 d0 ba d0 b0 d0 b2 d1 8b d1 87 d0 ba d0 b0 . ..............
3e70: 2e 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 . */..
3e80: 20 20 69 66 20 28 63 75 72 43 68 61 72 20 3d 3d if (curChar ==
3e90: 20 27 22 27 29 0d 0a 20 20 20 20 20 20 20 20 20 '"')..
3ea0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 {..
3eb0: 20 20 20 20 20 20 69 66 20 28 77 6f 72 64 45 6e if (wordEn
3ec0: 64 50 6f 73 20 2b 20 31 20 3c 20 6c 69 6e 65 2e dPos + 1 < line.
3ed0: 6c 65 6e 67 74 68 20 26 26 20 6c 69 6e 65 2e 63 length && line.c
3ee0: 68 61 72 41 74 28 77 6f 72 64 45 6e 64 50 6f 73 harAt(wordEndPos
3ef0: 20 2b 20 31 29 20 3d 3d 20 27 22 27 29 0d 0a 20 + 1) == '"')..
3f00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b {
3f10: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
3f20: 20 20 20 20 20 20 73 74 72 20 2b 3d 20 27 22 27 str += '"'
3f30: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
3f40: 20 20 20 20 20 20 20 77 6f 72 64 45 6e 64 50 6f wordEndPo
3f50: 73 20 2b 3d 20 32 3b 0d 0a 20 20 20 20 20 20 20 s += 2;..
3f60: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e con
3f70: 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 tinue;..
3f80: 20 20 20 20 20 20 20 20 7d 20 20 20 20 20 20 20 }
3f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 ..
3fa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 b
3fb0: 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 reak;..
3fc0: 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 }....
3fd0: 20 20 20 20 2f 2a 20 d0 92 20 d0 be d1 81 d1 82 /* .. ......
3fe0: d0 b0 d0 bb d1 8c d0 bd d1 8b d1 85 20 d1 81 d0 ............ ...
3ff0: bb d1 83 d1 87 d0 b0 d1 8f d1 85 20 d0 b2 d1 81 ........... ....
4000: d1 82 d1 80 d0 b5 d1 82 d0 b8 d0 bb d1 81 d1 8f ................
4010: 20 d0 be d0 b1 d1 8b d1 87 d0 bd d1 8b d0 b9 20 ..............
4020: d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb 2c 20 d0 b4 ............, ..
4030: d0 be d0 b1 d0 b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc ................
4040: 20 d0 b5 d0 b3 d0 be 20 d0 ba 20 d1 81 d1 82 d1 ...... .. .....
4050: 80 d0 be d0 ba d0 b5 2e 20 2a 2f 0d 0a 20 20 20 ........ */..
4060: 20 20 20 20 20 20 20 20 20 73 74 72 20 2b 3d 20 str +=
4070: 63 75 72 43 68 61 72 3b 20 20 20 20 20 20 20 20 curChar;
4080: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 6f .. wo
4090: 72 64 45 6e 64 50 6f 73 2b 2b 3b 20 20 20 20 20 rdEndPos++;
40a0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a .. }..
40b0: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .. return
40c0: 20 73 74 72 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d str;.. },...
40d0: 0a 20 20 20 20 2f 2f 20 d0 92 d0 be d0 b7 d0 b2 . // ........
40e0: d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d0 be d1 ............ ...
40f0: 82 d0 be d0 b1 d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 ................
4100: b8 d0 b5 2c 20 d1 81 d0 be d0 be d1 82 d0 b2 d0 ..., ...........
4110: b5 d1 82 d1 81 d1 82 d0 b2 d1 83 d1 8e d1 89 d0 ................
4120: b5 d0 b5 20 d0 b4 d0 b0 d0 bd d0 bd d0 be d0 bc ... ............
4130: d1 83 20 d1 8d d0 ba d0 b7 d0 b5 d0 bc d0 bf d0 .. .............
4140: bb d1 8f d1 80 d1 83 20 d0 be d0 b1 d1 8a d0 b5 ....... ........
4150: d0 ba d1 82 d0 b0 20 54 65 78 74 57 69 6e 64 6f ...... TextWindo
4160: 77 2e 0d 0a 20 20 20 20 47 65 74 56 69 65 77 20 w... GetView
4170: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d : function () {.
4180: 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 68 69 . if (thi
4190: 73 2e 5f 76 69 65 77 20 3d 3d 20 75 6e 64 65 66 s._view == undef
41a0: 69 6e 65 64 29 20 7b 0d 0a 20 20 20 20 20 20 20 ined) {..
41b0: 20 20 20 20 20 76 61 72 20 76 69 65 77 20 3d 20 var view =
41c0: 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 null;..
41d0: 20 20 20 76 61 72 20 74 77 6e 64 20 3d 20 74 68 var twnd = th
41e0: 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 3b 0d 0a is.textWindow;..
41f0: 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 func
4200: 74 69 6f 6e 20 77 61 6c 6b 57 69 6e 64 6f 77 73 tion walkWindows
4210: 28 76 69 65 77 73 29 20 7b 0d 0a 20 20 20 20 20 (views) {..
4220: 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 28 76 for(v
4230: 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 76 69 ar i = 0; i < vi
4240: 65 77 73 2e 63 6f 75 6e 74 3b 20 69 2b 2b 29 20 ews.count; i++)
4250: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 {..
4260: 20 20 20 20 20 20 20 76 61 72 20 76 20 3d 20 76 var v = v
4270: 69 65 77 73 2e 69 74 65 6d 28 69 29 3b 0d 0a 20 iews.item(i);..
4280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4290: 20 20 20 69 66 20 28 76 2e 69 73 43 6f 6e 74 61 if (v.isConta
42a0: 69 6e 65 72 20 21 3d 20 76 63 74 4e 6f 29 0d 0a iner != vctNo)..
42b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
42c0: 20 20 20 20 20 20 20 20 76 20 3d 20 77 61 6c 6b v = walk
42d0: 57 69 6e 64 6f 77 73 28 76 2e 65 6e 75 6d 43 68 Windows(v.enumCh
42e0: 69 6c 64 73 28 29 29 3b 20 20 20 20 20 20 20 20 ilds());
42f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4300: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
4310: 20 20 20 20 20 20 69 66 20 28 76 20 26 26 20 28 if (v && (
4320: 28 76 2e 68 77 6e 64 20 3d 3d 20 74 77 6e 64 2e (v.hwnd == twnd.
4330: 68 77 6e 64 29 20 0d 0a 20 20 20 20 20 20 20 20 hwnd) ..
4340: 20 20 20 20 20 20 20 20 20 20 20 20 7c 7c 20 28 || (
4350: 76 2e 6d 64 4f 62 6a 20 26 26 20 76 2e 6d 64 4f v.mdObj && v.mdO
4360: 62 6a 20 3d 3d 20 74 77 6e 64 2e 6d 64 4f 62 6a bj == twnd.mdObj
4370: 20 26 26 20 76 2e 6d 64 50 72 6f 70 20 3d 3d 20 && v.mdProp ==
4380: 74 77 6e 64 2e 6d 64 50 72 6f 70 29 29 29 0d 0a twnd.mdProp)))..
4390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
43a0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 return v
43b0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
43c0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 }..
43d0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c return nul
43e0: 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 l;..
43f0: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 }.. t
4400: 68 69 73 2e 5f 76 69 65 77 20 3d 20 77 61 6c 6b his._view = walk
4410: 57 69 6e 64 6f 77 73 28 77 69 6e 64 6f 77 73 2e Windows(windows.
4420: 6d 64 69 56 69 65 77 2e 65 6e 75 6d 43 68 69 6c mdiView.enumChil
4430: 64 73 28 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 ds());..
4440: 7d 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 }.. retur
4450: 6e 20 74 68 69 73 2e 5f 76 69 65 77 3b 0d 0a 20 n this._view;..
4460: 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 7d 29 3b 20 }.. ..});
4470: 2f 2f 20 73 74 64 6c 69 62 2e 43 6c 61 73 73 2e // stdlib.Class.
4480: 65 78 74 65 6e 64 0d 0a 0d 0a 0d 0a 2f 2f 7b 20 extend......//{
4490: d0 a0 d1 83 d1 81 d1 81 d0 ba d0 be d1 8f d0 b7 ................
44a0: d1 8b d1 87 d0 bd d1 8b d0 b5 20 d0 b0 d0 bd d0 .......... .....
44b0: b0 d0 bb d0 be d0 b3 d0 b8 20 d0 be d1 81 d0 bd ......... ......
44c0: d0 be d0 b2 d0 bd d1 8b d1 85 20 d0 bc d0 b5 d1 .......... .....
44d0: 82 d0 be d0 b4 d0 be d0 b2 20 d0 be d0 b1 d1 8a ......... ......
44e0: d0 b5 d0 ba d1 82 d0 b0 20 d0 a2 d0 b5 d0 ba d1 ........ .......
44f0: 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 b4 d0 be ........... ....
4500: d0 ba d1 83 d0 bc d0 b5 d0 bd d1 82 20 28 54 65 ............ (Te
4510: 78 74 44 6f 63 75 6d 65 6e 74 29 2e 0d 0a 5f 54 xtDocument)..._T
4520: 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 extWindow.protot
4530: 79 70 65 2e d0 9a d0 be d0 bb d0 b8 d1 87 d0 b5 ype.............
4540: d1 81 d1 82 d0 b2 d0 be d0 a1 d1 82 d1 80 d0 be ................
4550: d0 ba 20 3d 20 5f 54 65 78 74 57 69 6e 64 6f 77 .. = _TextWindow
4560: 2e 70 72 6f 74 6f 74 79 70 65 2e 4c 69 6e 65 73 .prototype.Lines
4570: 43 6f 75 6e 74 3b 0d 0a 5f 54 65 78 74 57 69 6e Count;.._TextWin
4580: 64 6f 77 2e 70 72 6f 74 6f 74 79 70 65 2e d0 a3 dow.prototype...
4590: d0 b4 d0 b0 d0 bb d0 b8 d1 82 d1 8c d0 a1 d1 82 ................
45a0: d1 80 d0 be d0 ba d1 83 20 3d 20 5f 54 65 78 74 ........ = _Text
45b0: 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 79 70 65 Window.prototype
45c0: 2e 44 65 6c 65 74 65 4c 69 6e 65 3b 0d 0a 5f 54 .DeleteLine;.._T
45d0: 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 extWindow.protot
45e0: 79 70 65 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 ype.............
45f0: d1 82 d1 8c d0 a1 d1 82 d1 80 d0 be d0 ba d1 83 ................
4600: 20 3d 20 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 = _TextWindow.p
4610: 72 6f 74 6f 74 79 70 65 2e 41 64 64 4c 69 6e 65 rototype.AddLine
4620: 3b 0d 0a 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 ;.._TextWindow.p
4630: 72 6f 74 6f 74 79 70 65 2e d0 9e d1 87 d0 b8 d1 rototype........
4640: 81 d1 82 d0 b8 d1 82 d1 8c 20 3d 20 5f 54 65 78 ......... = _Tex
4650: 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 79 70 tWindow.prototyp
4660: 65 2e 43 6c 65 61 72 3b 0d 0a 5f 54 65 78 74 57 e.Clear;.._TextW
4670: 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 79 70 65 2e indow.prototype.
4680: d0 92 d1 81 d1 82 d0 b0 d0 b2 d0 b8 d1 82 d1 8c ................
4690: d0 a1 d1 82 d1 80 d0 be d0 ba d1 83 20 3d 20 5f ............ = _
46a0: 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f TextWindow.proto
46b0: 74 79 70 65 2e 49 6e 73 65 72 74 4c 69 6e 65 3b type.InsertLine;
46c0: 0d 0a 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 .._TextWindow.pr
46d0: 6f 74 6f 74 79 70 65 2e d0 97 d0 b0 d0 bc d0 b5 ototype.........
46e0: d0 bd d0 b8 d1 82 d1 8c d0 a1 d1 82 d1 80 d0 be ................
46f0: d0 ba d1 83 20 3d 20 5f 54 65 78 74 57 69 6e 64 .... = _TextWind
4700: 6f 77 2e 70 72 6f 74 6f 74 79 70 65 2e 52 65 70 ow.prototype.Rep
4710: 6c 61 63 65 4c 69 6e 65 3b 20 0d 0a 5f 54 65 78 laceLine; .._Tex
4720: 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 79 70 tWindow.prototyp
4730: 65 2e d0 9f d0 be d0 bb d1 83 d1 87 d0 b8 d1 82 e...............
4740: d1 8c d0 a2 d0 b5 d0 ba d1 81 d1 82 20 3d 20 5f ............ = _
4750: 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f TextWindow.proto
4760: 74 79 70 65 2e 47 65 74 54 65 78 74 3b 0d 0a 5f type.GetText;.._
4770: 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f TextWindow.proto
4780: 74 79 70 65 2e d0 a3 d1 81 d1 82 d0 b0 d0 bd d0 type............
4790: be d0 b2 d0 b8 d1 82 d1 8c d0 a2 d0 b5 d0 ba d1 ................
47a0: 81 d1 82 20 3d 20 5f 54 65 78 74 57 69 6e 64 6f ... = _TextWindo
47b0: 77 2e 70 72 6f 74 6f 74 79 70 65 2e 53 65 74 54 w.prototype.SetT
47c0: 65 78 74 3b 0d 0a 2f 2f 7d 0d 0a 0d 0a 2f 2f 7b ext;..//}....//{
47d0: 20 d0 9c d0 b5 d1 82 d0 be d0 b4 d1 8b 20 d0 b4 ............ ..
47e0: d0 bb d1 8f 20 d0 be d0 b1 d1 80 d0 b0 d1 82 d0 .... ...........
47f0: bd d0 be d0 b9 20 d1 81 d0 be d0 b2 d0 bc d0 b5 ..... ..........
4800: d1 81 d1 82 d0 b8 d0 bc d0 be d1 81 d1 82 d0 b8 ................
4810: 20 d1 81 20 d0 b8 d0 bd d1 82 d0 b5 d1 80 d1 84 .. ............
4820: d0 b5 d0 b9 d1 81 d0 be d0 bc 20 49 54 65 78 74 .......... IText
4830: 57 69 6e 64 6f 77 20 d0 a1 d0 bd d0 b5 d0 b3 d0 Window .........
4840: be d0 bf d0 b0 d1 82 d0 b0 20 d0 bf d1 80 d0 b5 ......... ......
4850: d0 b4 d1 8b d0 b4 d1 83 d1 89 d0 b8 d1 85 20 d0 .............. .
4860: b2 d0 b5 d1 80 d1 81 d0 b8 d0 b9 2e 0d 0a 5f 54 .............._T
4870: 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 extWindow.protot
4880: 79 70 65 2e 64 6f 63 75 6d 65 6e 74 20 3d 20 66 ype.document = f
4890: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 20 72 65 74 unction () { ret
48a0: 75 72 6e 20 74 68 69 73 3b 20 7d 3b 0d 0a 5f 54 urn this; };.._T
48b0: 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 extWindow.protot
48c0: 79 70 65 2e 44 6f 63 75 6d 65 6e 74 20 3d 20 66 ype.Document = f
48d0: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 20 72 65 74 unction () { ret
48e0: 75 72 6e 20 74 68 69 73 3b 20 7d 3b 0d 0a 5f 54 urn this; };.._T
48f0: 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 extWindow.protot
4900: 79 70 65 2e 65 78 74 4e 61 6d 65 20 3d 20 5f 54 ype.extName = _T
4910: 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 extWindow.protot
4920: 79 70 65 2e 45 78 74 4e 61 6d 65 3b 0d 0a 5f 54 ype.ExtName;.._T
4930: 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 extWindow.protot
4940: 79 70 65 2e 67 65 74 43 61 72 65 74 50 6f 73 20 ype.getCaretPos
4950: 3d 20 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 = _TextWindow.pr
4960: 6f 74 6f 74 79 70 65 2e 47 65 74 43 61 72 65 74 ototype.GetCaret
4970: 50 6f 73 3b 0d 0a 5f 54 65 78 74 57 69 6e 64 6f Pos;.._TextWindo
4980: 77 2e 70 72 6f 74 6f 74 79 70 65 2e 73 65 74 43 w.prototype.setC
4990: 61 72 65 74 50 6f 73 20 3d 20 5f 54 65 78 74 57 aretPos = _TextW
49a0: 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 79 70 65 2e indow.prototype.
49b0: 53 65 74 43 61 72 65 74 50 6f 73 3b 0d 0a 5f 54 SetCaretPos;.._T
49c0: 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 extWindow.protot
49d0: 79 70 65 2e 67 65 74 53 65 6c 65 63 74 69 6f 6e ype.getSelection
49e0: 20 3d 20 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 = _TextWindow.p
49f0: 72 6f 74 6f 74 79 70 65 2e 47 65 74 53 65 6c 65 rototype.GetSele
4a00: 63 74 69 6f 6e 3b 0d 0a 5f 54 65 78 74 57 69 6e ction;.._TextWin
4a10: 64 6f 77 2e 70 72 6f 74 6f 74 79 70 65 2e 73 65 dow.prototype.se
4a20: 74 53 65 6c 65 63 74 69 6f 6e 20 3d 20 5f 54 65 tSelection = _Te
4a30: 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 79 xtWindow.prototy
4a40: 70 65 2e 53 65 74 53 65 6c 65 63 74 69 6f 6e 3b pe.SetSelection;
4a50: 0d 0a 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 .._TextWindow.pr
4a60: 6f 74 6f 74 79 70 65 2e 6c 69 6e 65 20 3d 20 5f ototype.line = _
4a70: 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f TextWindow.proto
4a80: 74 79 70 65 2e 47 65 74 4c 69 6e 65 3b 0d 0a 5f type.GetLine;.._
4a90: 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f TextWindow.proto
4aa0: 74 79 70 65 2e 6c 69 6e 65 73 43 6f 75 6e 74 20 type.linesCount
4ab0: 3d 20 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 = _TextWindow.pr
4ac0: 6f 74 6f 74 79 70 65 2e 4c 69 6e 65 73 43 6f 75 ototype.LinesCou
4ad0: 6e 74 3b 0d 0a 5f 54 65 78 74 57 69 6e 64 6f 77 nt;.._TextWindow
4ae0: 2e 70 72 6f 74 6f 74 79 70 65 2e 72 65 61 64 4f .prototype.readO
4af0: 6e 6c 79 20 3d 20 5f 54 65 78 74 57 69 6e 64 6f nly = _TextWindo
4b00: 77 2e 70 72 6f 74 6f 74 79 70 65 2e 49 73 52 65 w.prototype.IsRe
4b10: 61 64 4f 6e 6c 79 3b 0d 0a 5f 54 65 78 74 57 69 adOnly;.._TextWi
4b20: 6e 64 6f 77 2e 70 72 6f 74 6f 74 79 70 65 2e 73 ndow.prototype.s
4b30: 65 6c 65 63 74 65 64 54 65 78 74 20 3d 20 5f 54 electedText = _T
4b40: 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 6f 74 extWindow.protot
4b50: 79 70 65 2e 47 65 74 53 65 6c 65 63 74 65 64 54 ype.GetSelectedT
4b60: 65 78 74 3b 0d 0a 5f 54 65 78 74 57 69 6e 64 6f ext;.._TextWindo
4b70: 77 2e 70 72 6f 74 6f 74 79 70 65 2e 74 65 78 74 w.prototype.text
4b80: 20 3d 20 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 = _TextWindow.p
4b90: 72 6f 74 6f 74 79 70 65 2e 47 65 74 54 65 78 74 rototype.GetText
4ba0: 3b 0d 0a 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 ;.._TextWindow.p
4bb0: 72 6f 74 6f 74 79 70 65 2e 68 77 6e 64 20 3d 20 rototype.hwnd =
4bc0: 5f 54 65 78 74 57 69 6e 64 6f 77 2e 70 72 6f 74 _TextWindow.prot
4bd0: 6f 74 79 70 65 2e 47 65 74 48 77 6e 64 3b 0d 0a otype.GetHwnd;..
4be0: 2f 2f 7d 0d 0a 0d 0a 2f 2f 7b 20 d0 9e d0 b1 d1 //}....//{ .....
4bf0: 8a d0 b5 d0 ba d1 82 20 54 65 78 74 57 69 6e 64 ....... TextWind
4c00: 6f 77 20 2d 20 d0 b0 d0 bb d1 8c d1 82 d0 b5 d1 ow - ...........
4c10: 80 d0 bd d0 b0 d1 82 d0 b8 d0 b2 d0 b0 20 d0 b8 ............. ..
4c20: d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be d0 b2 ................
4c30: d0 b0 d0 bd d0 b8 d1 8e 20 47 65 74 54 65 78 74 ........ GetText
4c40: 57 69 6e 64 6f 77 28 29 2e 0d 0a 2f 2f 20 d0 92 Window()...// ..
4c50: d0 bc d0 b5 d1 81 d1 82 d0 be 20 0d 0a 2f 2f 20 .......... ..//
4c60: 09 76 61 72 20 74 77 6e 64 20 3d 20 47 65 74 54 .var twnd = GetT
4c70: 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 2f 2f extWindow();..//
4c80: 20 09 69 66 20 28 74 77 6e 64 20 21 3d 3d 20 6e .if (twnd !== n
4c90: 75 6c 6c 29 20 2e 2e 2e 0d 0a 2f 2f 20 d0 9f d0 ull) .....// ...
4ca0: be d0 b7 d0 b2 d0 be d0 bb d1 8f d0 b5 d1 82 20 ...............
4cb0: d0 b8 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be ................
4cc0: d0 b2 d0 b0 d1 82 d1 8c 20 d0 be d0 b1 d1 8a d0 ........ .......
4cd0: b5 d0 ba d1 82 d0 bd d1 83 d1 8e 20 d1 82 d0 b5 ........... ....
4ce0: d1 85 d0 bd d0 b8 d0 ba d1 83 3a 0d 0a 2f 2f 20 ..........:..//
4cf0: 09 76 61 72 20 74 77 6e 64 20 3d 20 6e 65 77 20 .var twnd = new
4d00: 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 2f TextWindow();../
4d10: 2f 20 09 69 66 20 28 74 77 6e 64 2e 49 73 41 63 / .if (twnd.IsAc
4d20: 74 69 76 65 28 29 29 20 2e 2e 2e 0d 0a 54 65 78 tive()) .....Tex
4d30: 74 57 69 6e 64 6f 77 20 3d 20 5f 54 65 78 74 57 tWindow = _TextW
4d40: 69 6e 64 6f 77 2e 65 78 74 65 6e 64 28 7b 0d 0a indow.extend({..
4d50: 20 20 20 20 63 6f 6e 73 74 72 75 63 74 20 3a 20 construct :
4d60: 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 function () {..
4d70: 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 76 var activ
4d80: 65 57 6e 64 20 3d 20 73 6e 65 67 6f 70 61 74 2e eWnd = snegopat.
4d90: 61 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f 77 activeTextWindow
4da0: 28 29 3b 09 20 20 20 20 0d 0a 20 20 20 20 20 20 ();. ..
4db0: 20 20 69 66 20 28 61 63 74 69 76 65 57 6e 64 29 if (activeWnd)
4dc0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 .. th
4dd0: 69 73 2e 5f 73 75 70 65 72 28 61 63 74 69 76 65 is._super(active
4de0: 57 6e 64 2c 20 77 69 6e 64 6f 77 73 2e 67 65 74 Wnd, windows.get
4df0: 41 63 74 69 76 65 56 69 65 77 28 29 29 3b 09 20 ActiveView());.
4e00: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 09 0d .. }..
4e10: 0a 7d 29 3b 0d 0a 2f 2f 7d 0d 0a 0d 0a 2f 2f 2f .});..//}....///
4e20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4e30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4e40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4e50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4e60: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4e70: 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 20 53 74 72 69 /////..//// Stri
4e80: 6e 67 55 74 69 6c 73 0d 0a 2f 2f 2f 2f 0d 0a 0d ngUtils..////...
4e90: 0a 2f 2f 7b 20 d0 92 d1 81 d0 bf d0 be d0 bc d0 .//{ ...........
4ea0: be d0 b3 d0 b0 d1 82 d0 b5 d0 bb d1 8c d0 bd d1 ................
4eb0: 8b d0 b5 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d1 8b ... ............
4ec0: 20 d0 b4 d0 bb d1 8f 20 d1 80 d0 b0 d0 b1 d0 be ...... ........
4ed0: d1 82 d1 8b 20 d1 81 d0 be 20 d1 81 d1 82 d1 80 .... .... ......
4ee0: d0 be d0 ba d0 b0 d0 bc d0 b8 20 d0 b8 20 d1 82 .......... .. ..
4ef0: d0 b5 d0 ba d1 81 d1 82 d0 be d0 b2 d1 8b d0 bc ................
4f00: d0 b8 20 d0 b1 d0 bb d0 be d0 ba d0 b0 d0 bc d0 .. .............
4f10: b8 2e 0d 0a 53 74 72 69 6e 67 55 74 69 6c 73 20 ....StringUtils
4f20: 3d 20 7b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f = {.. .. /
4f30: 2a 20 d0 9f d0 be d0 bb d1 83 d1 87 d0 b8 d1 82 * ..............
4f40: d1 8c 20 d0 be d1 82 d1 81 d1 82 d1 83 d0 bf 20 .. ............
4f50: d0 b1 d0 bb d0 be d0 ba d0 b0 20 d1 82 d0 b5 d0 .......... .....
4f60: ba d1 81 d1 82 d0 b0 20 28 d0 bf d0 be 20 d0 bf ....... (.... ..
4f70: d0 b5 d1 80 d0 b2 d0 be d0 b9 20 d1 81 d1 82 d1 .......... .....
4f80: 80 d0 be d0 ba d0 b5 20 d0 b1 d0 bb d0 be d0 ba ....... ........
4f90: d0 b0 29 2e 0d 0a 20 20 20 20 20 d0 92 d0 be d0 ..)... .....
4fa0: b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 ...............
4fb0: d1 81 d1 82 d1 80 d0 be d0 ba d1 83 20 2d 20 d0 ............ - .
4fc0: bf d1 80 d0 be d0 b1 d0 b5 d0 bb d1 8c d0 bd d1 ................
4fd0: 8b d0 b5 20 d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb ... ............
4fe0: d1 8b 2c 20 d1 84 d0 be d1 80 d0 bc d0 b8 d1 80 .., ............
4ff0: d1 83 d1 8e d1 89 d0 b8 d0 b5 20 d0 be d1 82 d1 .......... .....
5000: 81 d1 82 d1 83 d0 bf 2e 20 2a 2f 0d 0a 20 20 20 ........ */..
5010: 20 67 65 74 49 6e 64 65 6e 74 3a 20 66 75 6e 63 getIndent: func
5020: 74 69 6f 6e 20 28 63 6f 64 65 29 20 7b 0d 0a 20 tion (code) {..
5030: 20 20 20 20 20 20 20 76 61 72 20 6d 61 74 63 68 var match
5040: 65 73 20 3d 20 63 6f 64 65 2e 6d 61 74 63 68 28 es = code.match(
5050: 2f 28 5e 5c 73 2b 3f 29 28 5c 53 7c 5c 6e 7c 5c /(^\s+?)(\S|\n|\
5060: 72 29 2f 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d r)/);.. .
5070: 0a 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 74 . if (mat
5080: 63 68 65 73 29 0d 0a 20 20 20 20 20 20 20 20 20 ches)..
5090: 20 20 20 72 65 74 75 72 6e 20 6d 61 74 63 68 65 return matche
50a0: 73 5b 31 5d 2e 72 65 70 6c 61 63 65 28 2f 5c 6e s[1].replace(/\n
50b0: 7c 5c 72 2f 2c 20 27 27 29 3b 0d 0a 20 20 20 20 |\r/, '');..
50c0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 ..
50d0: 20 20 72 65 74 75 72 6e 20 27 27 3b 0d 0a 20 20 return '';..
50e0: 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 2f 2a 20 d0 },.... /* .
50f0: a3 d0 b2 d0 b5 d0 bb d0 b8 d1 87 d0 b8 d0 b2 d0 ................
5100: b0 d0 b5 d1 82 20 d0 be d1 82 d1 81 d1 82 d1 83 ..... ..........
5110: d0 bf 20 d1 83 20 d1 82 d0 b5 d0 ba d1 81 d1 82 .. .. ..........
5120: d0 be d0 b2 d0 be d0 b3 d0 be 20 d0 b1 d0 bb d0 .......... .....
5130: be d0 ba d0 b0 2c 20 d0 b4 d0 be d0 b1 d0 b0 d0 ....., .........
5140: b2 d0 bb d1 8f d1 8f 20 d1 81 d1 82 d1 80 d0 be ....... ........
5150: d0 ba d1 83 20 d0 bf d1 80 d0 be d0 b1 d0 b5 d0 .... ...........
5160: bb d1 8c d0 bd d1 8b d1 85 20 d1 81 d0 b8 d0 bc ......... ......
5170: d0 b2 d0 be d0 bb d0 be d0 b2 2c 0d 0a 20 20 20 ..........,..
5180: 20 d0 bf d0 b5 d1 80 d0 b5 d0 b4 d0 b0 d0 bd d0 ...............
5190: bd d1 8b d1 85 20 d0 b2 20 d0 ba d0 b0 d1 87 d0 ..... .. .......
51a0: b5 d1 81 d1 82 d0 b2 d0 b5 20 d0 b7 d0 bd d0 b0 ......... ......
51b0: d1 87 d0 b5 d0 bd d0 b8 d1 8f 20 d0 b2 d1 82 d0 .......... .....
51c0: be d1 80 d0 be d0 b3 d0 be 20 d0 bf d0 b0 d1 80 ......... ......
51d0: d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 b0 20 69 6e 64 ............ ind
51e0: 2e 20 0d 0a 20 20 20 20 d0 92 d0 be d0 b7 d0 b2 . .. ........
51f0: d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d1 82 d0 ............ ...
5200: b5 d0 ba d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 ...............
5210: d0 b1 d0 bb d0 be d0 ba 20 d1 81 20 d0 b4 d0 be ........ .. ....
5220: d0 b1 d0 b0 d0 b2 d0 bb d0 b5 d0 bd d0 bd d1 8b ................
5230: d0 bc 20 d0 be d1 82 d1 81 d1 82 d1 83 d0 bf d0 .. .............
5240: be d0 bc 2e 20 2a 2f 0d 0a 20 20 20 20 73 68 69 .... */.. shi
5250: 66 74 52 69 67 68 74 3a 20 66 75 6e 63 74 69 6f ftRight: functio
5260: 6e 28 63 6f 64 65 2c 20 69 6e 64 29 20 7b 0d 0a n(code, ind) {..
5270: 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 64 29 if (ind)
5280: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 .. re
5290: 74 75 72 6e 20 69 6e 64 20 2b 20 63 6f 64 65 2e turn ind + code.
52a0: 72 65 70 6c 61 63 65 28 2f 5c 6e 2f 67 6d 2c 20 replace(/\n/gm,
52b0: 22 5c 6e 22 20 2b 20 69 6e 64 29 3b 0d 0a 20 20 "\n" + ind);..
52c0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 ..
52d0: 20 20 20 20 72 65 74 75 72 6e 20 63 6f 64 65 3b return code;
52e0: 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 .. },....
52f0: 2f 2a 20 d0 a3 d0 bc d0 b5 d0 bd d1 8c d1 88 d0 /* .............
5300: b0 d0 b5 d1 82 20 d0 be d1 82 d1 81 d1 82 d1 83 ..... ..........
5310: d0 bf 20 d1 83 20 d1 82 d0 b5 d0 ba d1 81 d1 82 .. .. ..........
5320: d0 be d0 b2 d0 be d0 b3 d0 be 20 d0 b1 d0 bb d0 .......... .....
5330: be d0 ba d0 b0 2c 20 d1 83 d0 b4 d0 b0 d0 bb d1 ....., .........
5340: 8f d1 8f 20 d1 81 d1 82 d1 80 d0 be d0 ba d1 83 ... ............
5350: 20 d0 bf d1 80 d0 be d0 b1 d0 b5 d0 bb d1 8c d0 ...............
5360: bd d1 8b d1 85 20 d1 81 d0 b8 d0 bc d0 b2 d0 be ..... ..........
5370: d0 bb d0 be d0 b2 2c 0d 0a 20 20 20 20 d1 81 d0 ......,.. ...
5380: be d0 b2 d0 bf d0 b0 d0 b4 d0 b0 d1 8e d1 89 d1 ................
5390: 83 d1 8e 20 d1 81 d0 be 20 d1 81 d1 82 d1 80 d0 ... .... .......
53a0: be d0 ba d0 be d0 b9 2c 20 d0 bf d0 b5 d1 80 d0 ......., .......
53b0: b5 d0 b4 d0 b0 d0 bd d0 bd d0 be d0 b9 20 d0 b2 ............. ..
53c0: 20 d0 ba d0 b0 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 ...............
53d0: b5 20 d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 . ..............
53e0: d1 8f 20 d0 b2 d1 82 d0 be d1 80 d0 be d0 b3 d0 .. .............
53f0: be 20 d0 bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 . ..............
5400: d1 80 d0 b0 20 69 6e 64 2e 0d 0a 20 20 20 20 d0 .... ind... .
5410: 92 d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 ................
5420: b5 d1 82 20 d1 82 d0 b5 d0 ba d1 81 d1 82 d0 be ... ............
5430: d0 b2 d1 8b d0 b9 20 d0 b1 d0 bb d0 be d0 ba 20 ...... ........
5440: d1 81 20 d1 83 d0 bc d0 b5 d0 bd d1 8c d1 88 d0 .. .............
5450: b5 d0 bd d0 bd d1 8b d0 bc 20 d0 be d1 82 d1 81 ......... ......
5460: d1 82 d1 83 d0 bf d0 be d0 bc 2e 20 2a 2f 0d 0a ........... */..
5470: 20 20 20 20 73 68 69 66 74 4c 65 66 74 3a 20 66 shiftLeft: f
5480: 75 6e 63 74 69 6f 6e 28 63 6f 64 65 2c 20 69 6e unction(code, in
5490: 64 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 69 66 d) {.. if
54a0: 20 28 69 6e 64 29 0d 0a 20 20 20 20 20 20 20 20 (ind)..
54b0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 {.. v
54c0: 61 72 20 72 65 20 3d 20 6e 65 77 20 52 65 67 45 ar re = new RegE
54d0: 78 70 28 22 5e 22 20 2b 20 69 6e 64 2c 20 27 67 xp("^" + ind, 'g
54e0: 6d 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 m');..
54f0: 20 20 72 65 74 75 72 6e 20 63 6f 64 65 2e 72 65 return code.re
5500: 70 6c 61 63 65 28 72 65 2c 20 22 22 29 3b 0d 0a place(re, "");..
5510: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
5520: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 ..
5530: 20 72 65 74 75 72 6e 20 63 6f 64 65 3b 0d 0a 20 return code;..
5540: 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 2f 2a 20 },.... /*
5550: d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d1 8f d0 b5 ................
5560: d1 82 2c 20 d0 be d0 ba d0 b0 d0 bd d1 87 d0 b8 .., ............
5570: d0 b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d0 bb d0 ............ ...
5580: b8 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 20 73 . ............ s
5590: 74 72 20 d0 bf d0 be d0 b4 d1 81 d1 82 d1 80 d0 tr .............
55a0: be d0 ba d0 be d0 b9 20 73 75 66 66 69 78 2e 0d ....... suffix..
55b0: 0a 20 20 20 20 d0 92 d0 be d0 b7 d0 b2 d1 80 d0 . ...........
55c0: b0 d1 89 d0 b0 d0 b5 d1 82 20 74 72 75 65 2c 20 ......... true,
55d0: d0 b5 d1 81 d0 bb d0 b8 20 d1 85 d0 b2 d0 be d1 ........ .......
55e0: 81 d1 82 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 ... ............
55f0: 20 d1 81 d0 be d0 b2 d0 bf d0 b0 d0 b4 d0 b0 d0 ...............
5600: b5 d1 82 20 d1 81 20 73 75 66 66 69 78 2c 20 d0 ... .. suffix, .
5610: b8 20 66 61 6c 73 65 20 d0 b2 20 d0 bf d1 80 d0 . false .. .....
5620: be d1 82 d0 b8 d0 b2 d0 bd d0 be d0 bc 20 d1 81 ............. ..
5630: d0 bb d1 83 d1 87 d0 b0 d0 b5 2e 20 2a 2f 20 0d ........... */ .
5640: 0a 20 20 20 20 65 6e 64 73 57 69 74 68 3a 20 66 . endsWith: f
5650: 75 6e 63 74 69 6f 6e 28 73 74 72 2c 20 73 75 66 unction(str, suf
5660: 66 69 78 29 20 20 7b 0d 0a 20 20 20 20 20 20 20 fix) {..
5670: 20 72 65 74 75 72 6e 20 73 74 72 2e 69 6e 64 65 return str.inde
5680: 78 4f 66 28 73 75 66 66 69 78 2c 20 73 74 72 2e xOf(suffix, str.
5690: 6c 65 6e 67 74 68 20 2d 20 73 75 66 66 69 78 2e length - suffix.
56a0: 6c 65 6e 67 74 68 29 20 21 3d 3d 20 2d 31 3b 0d length) !== -1;.
56b0: 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 . },.. ..
56c0: 20 20 20 2f 2a 20 d0 a0 d0 b0 d0 b7 d0 b1 d0 b8 /* ..........
56d0: d0 b2 d0 b0 d0 b5 d1 82 20 d0 bf d0 b5 d1 80 d0 ........ .......
56e0: b5 d0 b4 d0 b0 d0 bd d0 bd d1 8b d0 b9 20 d0 b1 ............. ..
56f0: d0 bb d0 be d0 ba 20 d1 82 d0 b5 d0 ba d1 81 d1 ...... .........
5700: 82 d0 b0 20 d0 bd d0 b0 20 d1 81 d1 82 d1 80 d0 ... .... .......
5710: be d0 ba d0 b8 20 d0 b8 20 d0 b2 d0 be d0 b7 d0 ..... .. .......
5720: b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d0 bc ............. ..
5730: d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d1 81 d1 82 d1 .......... .....
5740: 80 d0 be d0 ba 2e 20 2a 2f 0d 0a 20 20 20 20 74 ...... */.. t
5750: 6f 4c 69 6e 65 73 3a 20 66 75 6e 63 74 69 6f 6e oLines: function
5760: 28 63 6f 64 65 2c 20 6e 6c 29 20 7b 0d 0a 20 20 (code, nl) {..
5770: 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6f 64 return cod
5780: 65 2e 73 70 6c 69 74 28 6e 6c 20 3f 20 6e 6c 20 e.split(nl ? nl
5790: 3a 20 22 5c 6e 22 29 3b 0d 0a 20 20 20 20 7d 2c : "\n");.. },
57a0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2a 20 d0 .. .. /* .
57b0: 9e d0 b1 d1 8a d0 b5 d0 b4 d0 b8 d0 bd d1 8f d0 ................
57c0: b5 d1 82 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 ... ............
57d0: 20 d1 81 d1 82 d1 80 d0 be d0 ba 20 d0 b2 20 d1 .......... .. .
57e0: 81 d1 82 d1 80 d0 be d0 ba d1 83 20 2d 20 d0 b1 ........... - ..
57f0: d0 bb d0 be d0 ba 20 d1 82 d0 b5 d0 ba d1 81 d1 ...... .........
5800: 82 d0 b0 2e 20 2a 2f 0d 0a 20 20 20 20 66 72 6f .... */.. fro
5810: 6d 4c 69 6e 65 73 3a 20 66 75 6e 63 74 69 6f 6e mLines: function
5820: 28 6c 69 6e 65 73 41 72 72 61 79 2c 20 6e 6c 29 (linesArray, nl)
5830: 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 {.. retu
5840: 72 6e 20 6c 69 6e 65 73 41 72 72 61 79 2e 6a 6f rn linesArray.jo
5850: 69 6e 28 6e 6c 20 3f 20 6e 6c 20 3a 20 22 5c 6e in(nl ? nl : "\n
5860: 22 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 ");.. },..
5870: 20 0d 0a 20 20 20 20 2f 2a 20 d0 ad d0 ba d1 80 .. /* ......
5880: d0 b0 d0 bd d0 b8 d1 80 d1 83 d0 b5 d1 82 20 d0 .............. .
5890: b2 d1 81 d0 b5 20 d1 81 d0 b8 d0 bc d0 b2 d0 be ..... ..........
58a0: d0 bb d1 8b 20 d0 b2 20 d1 81 d1 82 d1 80 d0 be .... .. ........
58b0: d0 ba d0 b5 2e 20 2a 2f 0d 0a 20 20 20 20 61 64 ..... */.. ad
58c0: 64 53 6c 61 73 68 65 73 3a 20 66 75 6e 63 74 69 dSlashes: functi
58d0: 6f 6e 28 73 74 72 29 20 7b 0d 0a 20 20 20 20 20 on(str) {..
58e0: 20 20 20 72 65 74 75 72 6e 20 73 74 72 2e 72 65 return str.re
58f0: 70 6c 61 63 65 28 2f 28 5b 5e 5c 64 5c 77 5c 73 place(/([^\d\w\s
5900: d0 90 2d d1 8f 5d 29 2f 67 2c 20 22 5c 5c 24 31 ..-..])/g, "\\$1
5910: 22 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 7d 0d ");.. }....}.
5920: 0a 2f 2f 7d 20 d0 92 d1 81 d0 bf d0 be d0 bc d0 .//} ...........
5930: be d0 b3 d0 b0 d1 82 d0 b5 d0 bb d1 8c d0 bd d1 ................
5940: 8b d0 b5 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d1 8b ... ............
5950: 20 d0 b4 d0 bb d1 8f 20 d1 80 d0 b0 d0 b1 d0 be ...... ........
5960: d1 82 d1 8b 20 d1 81 d0 be 20 d1 81 d1 82 d1 80 .... .... ......
5970: d0 be d0 ba d0 b0 d0 bc d0 b8 20 d0 b8 20 d1 82 .......... .. ..
5980: d0 b5 d0 ba d1 81 d1 82 d0 be d0 b2 d1 8b d0 bc ................
5990: d0 b8 20 d0 b1 d0 bb d0 be d0 ba d0 b0 d0 bc d0 .. .............
59a0: b8 2e ..