Rev 9208 | Rev 9295 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9208 | Rev 9210 | ||
---|---|---|---|
Line 44... | Line 44... | ||
44 | inter = 2; |
44 | inter = 2; |
Line 45... | Line 45... | ||
45 | 45 | ||
Line 46... | Line 46... | ||
46 | 46 | ||
47 | TYPE |
47 | TYPE |
48 | 48 | ||
Line 49... | Line 49... | ||
49 | tPoint = RECORD |
49 | tPoint* = RECORD |
Line 50... | Line 50... | ||
50 | X, Y: INTEGER |
50 | X*, Y*: INTEGER |
Line 65... | Line 65... | ||
65 | tText* = POINTER TO RECORD (List.tList) |
65 | tText* = POINTER TO RECORD (List.tList) |
66 | cursor, select, select2: pPoint; |
66 | cursor, select, select2: pPoint; |
67 | scroll: tPoint; |
67 | scroll: tPoint; |
68 | CurX: INTEGER; |
68 | CurX: INTEGER; |
69 | modified*: BOOLEAN; |
69 | modified*: BOOLEAN; |
70 | - | ||
71 | edition*: tGuard; |
70 | edition*: tGuard; |
72 | comments, numbers*, guard, |
71 | comments, numbers*, guard, |
73 | search, cs, whole: BOOLEAN; |
72 | search, cs, whole: BOOLEAN; |
74 | curLine: tLine; |
73 | curLine: tLine; |
75 | fileName*: RW.tFileName; |
- | |
76 | lang*: INTEGER; |
74 | lang*: INTEGER; |
77 | enc*: INTEGER; |
- | |
78 | eol*: INTEGER; |
75 | enc*, eol*: INTEGER; |
79 | table: Search.IdxTable; |
76 | table: Search.IdxTable; |
80 | foundList: List.tList; |
77 | foundList: List.tList; |
81 | idxData: Search.tBuffer; |
78 | idxData: Search.tBuffer; |
82 | foundSel: INTEGER; |
79 | foundSel: INTEGER; |
83 | searchText: tString; |
80 | searchText: tString; |
84 | chLog*: ChangeLog.tLog; |
81 | chLog*: ChangeLog.tLog; |
85 | maxLength*: INTEGER |
82 | maxLength*: INTEGER; |
- | 83 | fileName*: RW.tFileName |
|
86 | END; |
84 | END; |
Line 87... | Line 85... | ||
87 | 85 | ||
Line 102... | Line 100... | ||
102 | padding: RECORD left, top: INTEGER END; |
100 | padding: RECORD left, top: INTEGER END; |
103 | size, textsize: tPoint; |
101 | size, textsize: tPoint; |
104 | charWidth, charHeight: INTEGER; |
102 | charWidth, charHeight: INTEGER; |
Line -... | Line 103... | ||
- | 103 | ||
- | 104 | ||
- | 105 | PROCEDURE setLang* (text: tText; lang: INTEGER); |
|
- | 106 | BEGIN |
|
- | 107 | text.lang := lang; |
|
- | 108 | text.comments := TRUE; |
|
- | 109 | Lang.setCurLang(text.lang) |
|
- | 110 | END setLang; |
|
105 | 111 | ||
106 | 112 | ||
107 | PROCEDURE setName* (text: tText; name: RW.tFileName); |
113 | PROCEDURE setName* (text: tText; name: RW.tFileName); |
108 | VAR |
114 | VAR |
109 | ext: RW.tFileName; |
115 | ext: RW.tFileName; |
110 | BEGIN |
116 | BEGIN |
111 | text.fileName := name; |
117 | text.fileName := name; |
112 | U.getFileName(text.fileName, ext, "."); |
- | |
113 | U.upcase(ext); |
- | |
114 | IF ext = "OB07" THEN |
- | |
115 | text.lang := Lang.langOberon |
- | |
116 | ELSIF (ext = "C") OR (ext = "H") OR (ext = "CPP") THEN |
- | |
117 | text.lang := Lang.langC |
- | |
118 | ELSIF (ext = "PAS") OR (ext = "PP") THEN |
- | |
119 | text.lang := Lang.langPascal |
- | |
120 | ELSIF ext = "ASM" THEN |
- | |
121 | text.lang := Lang.langFasm |
- | |
122 | ELSIF ext = "LUA" THEN |
- | |
123 | text.lang := Lang.langLua |
- | |
124 | ELSIF ext = "INI" THEN |
- | |
125 | text.lang := Lang.langIni |
- | |
126 | ELSIF ext = "JSON" THEN |
- | |
127 | text.lang := Lang.langJSON |
- | |
128 | ELSE |
- | |
129 | text.lang := Lang.langText |
118 | U.getFileName(name, ext, "."); |
130 | END; |
119 | U.upcase(ext); |
Line 131... | Line -... | ||
131 | Lang.setCurLang(text.lang) |
- | |
132 | END setName; |
- | |
133 | - | ||
134 | - | ||
135 | PROCEDURE setLang* (text: tText; lang: INTEGER); |
- | |
136 | BEGIN |
- | |
137 | text.lang := lang; |
- | |
138 | text.comments := TRUE; |
- | |
139 | Lang.setCurLang(text.lang) |
120 | setLang(text, Lang.getLang(ext)) |
140 | END setLang; |
121 | END setName; |
141 | 122 | ||
142 | 123 | ||
143 | PROCEDURE getPos* (text: tText; VAR x, y: INTEGER); |
124 | PROCEDURE getPos* (text: tText; VAR x, y: INTEGER); |
Line 516... | Line 497... | ||
516 | cond := 0; |
497 | cond := 0; |
517 | depth := 0 |
498 | depth := 0 |
518 | ELSE |
499 | ELSE |
519 | cond := 0 |
500 | cond := 0 |
520 | END |
501 | END |
521 | END; |
502 | END |
Line 522... | Line 503... | ||
522 | 503 | ||
Line 523... | Line 504... | ||
523 | ELSIF lang = Lang.langOberon THEN |
504 | ELSIF lang = Lang.langOberon THEN |
524 | 505 | ||
Line 2087... | Line 2068... | ||
2087 | y := padding.top + inter DIV 2; |
2068 | y := padding.top + inter DIV 2; |
2088 | n := text.scroll.Y; |
2069 | n := text.scroll.Y; |
2089 | line := getLine(text, n); |
2070 | line := getLine(text, n); |
2090 | firstLine := line; |
2071 | firstLine := line; |
2091 | cnt := 0; |
2072 | cnt := 0; |
2092 | WHILE (line # NIL) & (cnt <= textsize.Y) DO |
2073 | WHILE (line # NIL) & (cnt < textsize.Y) DO |
2093 | backColor := colors.back; |
2074 | backColor := colors.back; |
2094 | IF (line = text.curLine) & ~selected(text) THEN |
2075 | IF (line = text.curLine) & ~selected(text) THEN |
2095 | G.SetColor(canvas, colors.curline); |
2076 | G.SetColor(canvas, colors.curline); |
2096 | G.FillRect(canvas, padding.left - 2, y - inter DIV 2, size.X - 1, y - inter DIV 2 + charHeight); |
2077 | G.FillRect(canvas, padding.left - 2, y - inter DIV 2, size.X - 1, y - inter DIV 2 + charHeight); |
2097 | backColor := colors.curline |
2078 | backColor := colors.curline |
Line 2120... | Line 2101... | ||
2120 | G.SetColor(canvas, colors.numback); |
2101 | G.SetColor(canvas, colors.numback); |
2121 | G.FillRect(canvas, 0, 0, padding.left - pad_left (*+ 1*), size.Y - 1); |
2102 | G.FillRect(canvas, 0, 0, padding.left - pad_left (*+ 1*), size.Y - 1); |
2122 | line := firstLine; |
2103 | line := firstLine; |
2123 | SetColor(colors.numtext, colors.numback); |
2104 | SetColor(colors.numtext, colors.numback); |
2124 | y := padding.top + inter DIV 2; |
2105 | y := padding.top + inter DIV 2; |
2125 | n := MIN(text.scroll.Y + textsize.Y + 1, text.count); |
2106 | n := MIN(text.scroll.Y + textsize.Y, text.count); |
2126 | FOR i := text.scroll.Y + 1 TO n DO |
2107 | FOR i := text.scroll.Y + 1 TO n DO |
2127 | IF text.numbers THEN |
2108 | IF text.numbers THEN |
2128 | IF (i MOD 10 = 0) OR (i - 1 = text.cursor.Y) OR line.label THEN |
2109 | IF (i MOD 10 = 0) OR (i - 1 = text.cursor.Y) OR line.label THEN |
2129 | U.int2str(i, s); |
2110 | U.int2str(i, s); |
2130 | G.TextOut2(canvas, (numWidth - U.lg10(i) - 1)*wNum - wNum DIV 2, y, s, LENGTH(s)) |
2111 | G.TextOut2(canvas, (numWidth - U.lg10(i) - 1)*wNum - wNum DIV 2, y, s, LENGTH(s)) |
Line 2145... | Line 2126... | ||
2145 | 2126 | ||
2146 | IF text.searchText # "" THEN |
2127 | IF text.searchText # "" THEN |
2147 | cnt := 0; |
2128 | cnt := 0; |
2148 | line := firstLine; |
2129 | line := firstLine; |
2149 | lastLine := line; |
2130 | lastLine := line; |
2150 | WHILE (line # NIL) & (cnt <= textsize.Y) DO |
2131 | WHILE (line # NIL) & (cnt < textsize.Y) DO |
2151 | lastLine := line; |
2132 | lastLine := line; |
2152 | NextLine(line); |
2133 | NextLine(line); |
2153 | INC(cnt) |
2134 | INC(cnt) |
2154 | END; |
2135 | END; |