Rev 9200 | Rev 9210 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9200 | Rev 9208 | ||
---|---|---|---|
Line 26... | Line 26... | ||
26 | CB := Clipboard, Languages, |
26 | CB := Clipboard, Languages, |
27 | ChangeLog, Scroll, CheckBox, |
27 | ChangeLog, Scroll, CheckBox, |
28 | RW, Ini, EB := EditBox, Icons, Tabs, Timer; |
28 | RW, Ini, EB := EditBox, Icons, Tabs, Timer; |
Line 29... | Line 29... | ||
29 | 29 | ||
30 | CONST |
30 | CONST |
Line 31... | Line 31... | ||
31 | header = "CEdit (24-sep-2021)"; |
31 | header = "CEdit (28-sep-2021)"; |
32 | 32 | ||
Line 33... | Line 33... | ||
33 | ShellFilter = ""; |
33 | ShellFilter = ""; |
Line 193... | Line 193... | ||
193 | new_searchText, searchText, replaceText, gotoText: T.tString; |
193 | new_searchText, searchText, replaceText, gotoText: T.tString; |
194 | cs, whole: BOOLEAN; |
194 | cs, whole: BOOLEAN; |
Line 195... | Line 195... | ||
195 | 195 | ||
Line 196... | Line 196... | ||
196 | replaced: INTEGER; |
196 | replaced: INTEGER; |
Line 197... | Line 197... | ||
197 | 197 | ||
198 | mainTID, delay: INTEGER; |
198 | mainTID: INTEGER; |
199 | 199 | ||
Line 229... | Line 229... | ||
229 | VAR |
229 | VAR |
230 | res: BOOLEAN; |
230 | res: BOOLEAN; |
231 | BEGIN |
231 | BEGIN |
232 | res := FALSE; |
232 | res := FALSE; |
233 | IF edit # NIL THEN |
233 | IF edit # NIL THEN |
234 | res := 1 IN BITS(edit.flags) |
234 | res := 1 IN edit.flags |
235 | END |
235 | END |
236 | RETURN res |
236 | RETURN res |
237 | END EditBox_Focus; |
237 | END EditBox_Focus; |
Line 250... | Line 250... | ||
250 | 250 | ||
251 | 251 | ||
252 | PROCEDURE EditBox_SetFocus (edit: EB.tEditBox; value: BOOLEAN); |
252 | PROCEDURE EditBox_SetFocus (edit: EB.tEditBox; value: BOOLEAN); |
253 | BEGIN |
253 | BEGIN |
254 | IF value THEN |
254 | IF value THEN |
255 | edit.flags := ORD(BITS(edit.flags) + {1}) |
255 | INCL(edit.flags, 1) |
256 | ELSE |
256 | ELSE |
257 | edit.flags := ORD(BITS(edit.flags) - {1}) |
257 | EXCL(edit.flags, 1) |
258 | END; |
258 | END; |
259 | IF search & searchOpened THEN |
259 | IF search & searchOpened THEN |
260 | EB.paint(edit) |
260 | EB.paint(edit) |
Line 409... | Line 409... | ||
409 | END WriteModified; |
409 | END WriteModified; |
Line 410... | Line 410... | ||
410 | 410 | ||
411 | 411 | ||
412 | PROCEDURE DrawState (text: T.tText; width, height: INTEGER); |
412 | PROCEDURE DrawState (text: T.tText; width, height: INTEGER); |
- | 413 | VAR |
|
413 | VAR |
414 | y: INTEGER; |
414 | y, w, x: INTEGER; |
415 | s: ARRAY 24 OF WCHAR; |
415 | BEGIN |
416 | BEGIN |
416 | y := (btnHeight - fontHeight) DIV 2 + btnTop; |
417 | y := (btnHeight - fontHeight) DIV 2 + btnTop; |
417 | K.DrawRect(width - 32*fontWidth, y, 32*fontWidth, fontHeight, K.winColor); |
418 | s := ""; |
418 | w := LENGTH(E.names[text.enc])*fontWidth; |
419 | U.append(s, RW.eolNames[text.eol]); |
419 | x := width - w; |
420 | U.append(s, 20X); |
420 | K.DrawText(x, y, K.textColor, E.names[text.enc]); |
- | |
421 | w := LENGTH(RW.eolNames[text.eol])*fontWidth; |
421 | U.append(s, E.names[text.enc]); |
422 | DEC(x, w + 10); |
422 | K.DrawRect(width - LEN(s)*fontWidth, y, LEN(s)*fontWidth, fontHeight, K.winColor); |
423 | K.DrawText(x, y, K.textColor, RW.eolNames[text.eol]); |
423 | K.DrawText(width - LENGTH(s)*fontWidth, y, K.textColor, s); |
424 | y := height - (BOTTOM - scrollWidth) + (BOTTOM - scrollWidth - 16) DIV 2; |
424 | y := height - (BOTTOM - scrollWidth) + (BOTTOM - scrollWidth - 16) DIV 2; |
425 | K.DrawRect(LEFT + 16*fontWidth, TOP + canvas.height + scrollWidth, width - LEFT - 24*fontWidth, BOTTOM - scrollWidth + 1, K.winColor); |
425 | K.DrawRect(LEFT + 16*fontWidth, TOP + canvas.height + scrollWidth, width - LEFT - 24*fontWidth, BOTTOM - scrollWidth + 1, K.winColor); |
426 | K.DrawText866(LEFT + 16*fontWidth, y, K.textColor, text.fileName); |
426 | K.DrawText866(LEFT + 16*fontWidth, y, K.textColor, text.fileName); |
Line 637... | Line 637... | ||
637 | END draw_window; |
637 | END draw_window; |
Line 638... | Line 638... | ||
638 | 638 | ||
639 | 639 | ||
640 | PROCEDURE mouse (VAR x, y: INTEGER); |
640 | PROCEDURE mouse (VAR x, y: INTEGER); |
641 | VAR |
- | |
642 | mouseX, mouseY, |
- | |
643 | cliX, cliY, |
641 | VAR |
644 | winX, winY: INTEGER; |
642 | msState: SET; |
645 | BEGIN |
643 | BEGIN |
646 | K.MousePos(mouseX, mouseY); |
644 | K.mouse(msState, x, y); |
647 | K.WinPos(winX, winY); |
- | |
648 | K.ClientPos(cliX, cliY); |
- | |
649 | x := mouseX - winX - cliX - LEFT; |
645 | DEC(x, LEFT); |
Line 650... | Line 646... | ||
650 | y := mouseY - winY - cliY - TOP; |
646 | DEC(y, TOP) |
651 | END mouse; |
647 | END mouse; |
Line 933... | Line 929... | ||
933 | BEGIN |
929 | BEGIN |
934 | NEW(EditBox0); |
930 | NEW(EditBox0); |
935 | EditBox0.text := K.malloc(EDITBOX_MAXCHARS + 2); |
931 | EditBox0.text := K.malloc(EDITBOX_MAXCHARS + 2); |
936 | ASSERT(EditBox0.text # 0); |
932 | ASSERT(EditBox0.text # 0); |
937 | edit := EB.create(left, top, EditBox_Width, EDITBOX_MAXCHARS, EditBox0); |
933 | edit := EB.create(left, top, EditBox_Width, EDITBOX_MAXCHARS, EditBox0); |
938 | edit.flags := 4002H; |
934 | edit.flags := {1, 14}; |
939 | edit.text_color := 30000000H; |
935 | edit.text_color := 30000000H; |
940 | EditBox_SetFocus(edit, FALSE) |
936 | EditBox_SetFocus(edit, FALSE) |
941 | RETURN edit |
937 | RETURN edit |
942 | END createEdit; |
938 | END createEdit; |
Line 945... | Line 941... | ||
945 | PROCEDURE createSearchForm; |
941 | PROCEDURE createSearchForm; |
946 | BEGIN |
942 | BEGIN |
947 | FindEdit := createEdit(searchLeft, TOP + 20); |
943 | FindEdit := createEdit(searchLeft, TOP + 20); |
948 | ReplaceEdit := createEdit(searchLeft, TOP + 20 + 55); |
944 | ReplaceEdit := createEdit(searchLeft, TOP + 20 + 55); |
949 | GotoEdit := createEdit(searchLeft, TOP + 20 + 330); |
945 | GotoEdit := createEdit(searchLeft, TOP + 20 + 330); |
950 | GotoEdit.flags := ORD(BITS(GotoEdit.flags) + BITS(8000H)); |
946 | INCL(GotoEdit.flags, 15); |
951 | CheckBox.create("backward", BKW); |
947 | CheckBox.create("backward", BKW); |
952 | CheckBox.create("match case", CS); |
948 | CheckBox.create("match case", CS); |
953 | CheckBox.create("whole word", WH); |
949 | CheckBox.create("whole word", WH); |
954 | END createSearchForm; |
950 | END createSearchForm; |
Line 990... | Line 986... | ||
990 | VAR |
986 | VAR |
991 | scrollX, scrollY: INTEGER; |
987 | scrollX, scrollY: INTEGER; |
992 | shift, ctrl: BOOLEAN; |
988 | shift, ctrl: BOOLEAN; |
993 | BEGIN |
989 | BEGIN |
994 | K.getKBState(shift, ctrl); |
990 | K.getKBState(shift, ctrl); |
995 | Scroll.MouseDown(hScroll, x + LEFT, y + TOP); |
- | |
996 | Scroll.MouseDown(vScroll, x + LEFT, y + TOP); |
- | |
997 | T.getScroll(text, scrollX, scrollY); |
991 | T.getScroll(text, scrollX, scrollY); |
998 | T.scroll(text, hScroll.value - scrollX, vScroll.value - scrollY); |
992 | T.scroll(text, hScroll.value - scrollX, vScroll.value - scrollY); |
999 | IF search & searchOpened THEN |
- | |
1000 | CheckBox.MouseDown(BKW, x + LEFT, y + TOP); |
- | |
1001 | CheckBox.MouseDown(CS, x + LEFT, y + TOP); |
- | |
1002 | CheckBox.MouseDown(WH, x + LEFT, y + TOP); |
- | |
1003 | END; |
- | |
1004 | IF (0 <= x) & (x < canvas.width) & (0 <= y) & (y < canvas.height) THEN |
993 | IF U.between(0, x, canvas.width - 1) & U.between(0, y, canvas.height - 1) THEN |
1005 | leftButton := TRUE; |
994 | leftButton := TRUE; |
1006 | SetFocus(FindEdit, FALSE); |
995 | SetFocus(FindEdit, FALSE); |
1007 | IF ~shift THEN |
996 | IF ~shift THEN |
1008 | T.resetSelect(text) |
997 | T.resetSelect(text) |
1009 | END; |
998 | END; |
Line 1012... | Line 1001... | ||
1012 | repaint |
1001 | repaint |
1013 | RETURN K.GetTickCount() |
1002 | RETURN K.GetTickCount() |
1014 | END click; |
1003 | END click; |
Line 1015... | Line -... | ||
1015 | - | ||
1016 | - | ||
1017 | PROCEDURE LeftButtonUp; |
- | |
1018 | BEGIN |
- | |
1019 | leftButton := FALSE; |
- | |
1020 | Scroll.MouseUp(hScroll); |
- | |
1021 | Scroll.MouseUp(vScroll); |
- | |
1022 | CheckBox.MouseUp(BKW); |
- | |
1023 | CheckBox.MouseUp(CS); |
- | |
1024 | CheckBox.MouseUp(WH); |
- | |
1025 | END LeftButtonUp; |
- | |
1026 | 1004 | ||
1027 | 1005 | ||
1028 | PROCEDURE Close; |
1006 | PROCEDURE Close; |
1029 | VAR |
1007 | VAR |
1030 | cont: BOOLEAN; |
1008 | cont: BOOLEAN; |
Line 1141... | Line 1119... | ||
1141 | winX, winY, cliX, cliY, x, y, i: INTEGER; |
1119 | winX, winY, cliX, cliY, x, y, i: INTEGER; |
1142 | selected, enabled: BOOLEAN; |
1120 | selected, enabled: BOOLEAN; |
1143 | BEGIN |
1121 | BEGIN |
1144 | IF menu = context THEN |
1122 | IF menu = context THEN |
1145 | mouse(x, y); |
1123 | mouse(x, y); |
1146 | IF ~((0 <= x) & (x < canvas.width) & (0 <= y) & (y < canvas.height)) THEN |
1124 | IF ~(U.between(0, x, canvas.width - 1) & U.between(0, y, canvas.height - 1)) THEN |
1147 | menu := NIL |
1125 | menu := NIL |
1148 | END |
1126 | END |
1149 | ELSE |
1127 | ELSE |
1150 | K.WinPos(winX, winY); |
1128 | K.WinPos(winX, winY); |
1151 | K.ClientPos(cliX, cliY); |
1129 | K.ClientPos(cliX, cliY); |
Line 1238... | Line 1216... | ||
1238 | menuActive := TRUE |
1216 | menuActive := TRUE |
1239 | END |
1217 | END |
1240 | END ShowMenu; |
1218 | END ShowMenu; |
Line -... | Line 1219... | ||
- | 1219 | ||
- | 1220 | ||
- | 1221 | PROCEDURE setScript (VAR script: RW.tFileName); |
|
- | 1222 | VAR |
|
- | 1223 | temp: RW.tFileName; |
|
- | 1224 | BEGIN |
|
- | 1225 | OpenFile(temp, ShellFilter); |
|
- | 1226 | IF temp # "" THEN |
|
- | 1227 | script := temp |
|
- | 1228 | END |
|
- | 1229 | END setScript; |
|
1241 | 1230 | ||
1242 | 1231 | ||
1243 | PROCEDURE receiveIPC; |
1232 | PROCEDURE receiveIPC; |
1244 | VAR |
1233 | VAR |
1245 | scrollIPC: BOOLEAN; |
1234 | scrollIPC: BOOLEAN; |
Line 1252... | Line 1241... | ||
1252 | repaint |
1241 | repaint |
1253 | END; |
1242 | END; |
1254 | IPC[2] := 0 |
1243 | IPC[2] := 0 |
1255 | ELSIF IPC[0] = mainTID THEN |
1244 | ELSIF IPC[0] = mainTID THEN |
1256 | IF IPC[2] = Scroll.ScrollIPC THEN |
1245 | IF IPC[2] = Scroll.ScrollIPC THEN |
1257 | Scroll.change(hScroll); |
- | |
1258 | Scroll.change(vScroll); |
1246 | Scroll.receiveIPC(IPC, scrollIPC) |
1259 | T.scroll(text, ORD(hScroll.Inc) - ORD(hScroll.Dec), ORD(vScroll.Inc) - ORD(vScroll.Dec)); |
- | |
1260 | - | ||
1261 | IF menuActive THEN |
- | |
1262 | draw_window; |
- | |
1263 | menuActive := FALSE |
- | |
1264 | ELSE |
- | |
1265 | repaint |
- | |
1266 | END; |
- | |
1267 | - | ||
1268 | IF 0 IN K.MouseState() THEN |
- | |
1269 | WHILE (0 IN K.MouseState()) & (delay > 0) DO |
- | |
1270 | K.Pause(1); |
- | |
1271 | DEC(delay) |
- | |
1272 | END; |
- | |
1273 | IF delay = 0 THEN |
- | |
1274 | IPC[0] := 0; |
- | |
1275 | IPC[1] := 0; |
- | |
1276 | scrollIPC := TRUE; |
- | |
1277 | Scroll.SendIPC; |
- | |
1278 | delay := 2 |
- | |
1279 | ELSE |
- | |
1280 | delay := Scroll.Delay |
- | |
1281 | END |
- | |
1282 | ELSE |
- | |
1283 | delay := Scroll.Delay |
- | |
1284 | END |
- | |
1285 | END; |
1247 | END; |
- | 1248 | IF ~scrollIPC THEN |
|
1286 | IPC[2] := 0 |
1249 | IPC[2] := 0 |
- | 1250 | END |
|
1287 | ELSE |
1251 | ELSE |
1288 | IF ~Menu.isSender(IPC[0]) THEN |
1252 | IF ~Menu.isSender(IPC[0]) THEN |
1289 | IPC[2] := 0 |
1253 | IPC[2] := 0 |
1290 | ELSE |
1254 | ELSE |
1291 | IF IPC[2] < 0 THEN |
1255 | IF IPC[2] < 0 THEN |
Line 1295... | Line 1259... | ||
1295 | END; |
1259 | END; |
1296 | IPC[2] := 0 |
1260 | IPC[2] := 0 |
1297 | END |
1261 | END |
1298 | END |
1262 | END |
1299 | END; |
1263 | END; |
- | 1264 | IF ~scrollIPC THEN |
|
1300 | CASE IPC[2] OF |
1265 | CASE IPC[2] OF |
1301 | |0: |
1266 | |0: |
1302 | |menuCut: T.key(text, ORD("X"), FALSE, TRUE) |
1267 | |menuCut: T.key(text, ORD("X"), FALSE, TRUE) |
1303 | |menuCopy: T.key(text, ORD("C"), FALSE, TRUE) |
1268 | |menuCopy: T.key(text, ORD("C"), FALSE, TRUE) |
1304 | |menuPaste: T.key(text, ORD("V"), FALSE, TRUE) |
1269 | |menuPaste: T.key(text, ORD("V"), FALSE, TRUE) |
Line 1372... | Line 1337... | ||
1372 | |menuPascal: |
1337 | |menuPascal: |
1373 | T.setLang(text, Languages.langPascal) |
1338 | T.setLang(text, Languages.langPascal) |
1374 | |menuBuild: |
1339 | |menuBuild: |
1375 | Script(buildScript) |
1340 | Script(buildScript) |
1376 | |menuBuildScript: |
1341 | |menuBuildScript: |
1377 | OpenFile(buildScript, ShellFilter) |
1342 | setScript(buildScript) |
1378 | |menuRun: |
1343 | |menuRun: |
1379 | Script(runScript) |
1344 | Script(runScript) |
1380 | |menuRunScript: |
1345 | |menuRunScript: |
1381 | OpenFile(runScript, ShellFilter) |
1346 | setScript(runScript) |
1382 | |menuDebug: |
1347 | |menuDebug: |
1383 | Script(debugScript) |
1348 | Script(debugScript) |
1384 | |menuDebugScript: |
1349 | |menuDebugScript: |
1385 | OpenFile(debugScript, ShellFilter) |
1350 | setScript(debugScript) |
1386 | |menuUTF8BOM: |
1351 | |menuUTF8BOM: |
1387 | text.enc := E.UTF8BOM |
1352 | text.enc := E.UTF8BOM |
1388 | |menuUTF8: |
1353 | |menuUTF8: |
1389 | text.enc := E.UTF8 |
1354 | text.enc := E.UTF8 |
1390 | |menuCP866: |
1355 | |menuCP866: |
Line 1420... | Line 1385... | ||
1420 | |menuUpper: |
1385 | |menuUpper: |
1421 | T.chCase(text, TRUE) |
1386 | T.chCase(text, TRUE) |
1422 | |menuLower: |
1387 | |menuLower: |
1423 | T.chCase(text, FALSE) |
1388 | T.chCase(text, FALSE) |
1424 | END; |
1389 | END; |
1425 | IF ~scrollIPC THEN |
- | |
1426 | IPC[0] := 0; |
1390 | IPC[0] := 0; |
1427 | IPC[1] := 0 |
1391 | IPC[1] := 0 |
1428 | END |
1392 | END |
1429 | END receiveIPC; |
1393 | END receiveIPC; |
Line 1818... | Line 1782... | ||
1818 | |75: key := 37 |
1782 | |75: key := 37 |
1819 | |77: key := 39 |
1783 | |77: key := 39 |
1820 | |82, 91, 219, 92, 220: key := -1 (* insert, windows *) |
1784 | |82, 91, 219, 92, 220: key := -1 (* insert, windows *) |
1821 | |93: ShowMenu(context); key := -1 |
1785 | |93: ShowMenu(context); key := -1 |
1822 | |83: key := 46 |
1786 | |83: key := 46 |
1823 | |59, 62..66, 68, 87, 88: key := -1 (* F1, F4..F8, F10, F11, F12 *) |
1787 | |59, 62..66, 87, 88: key := -1 (* F1, F4..F8, F11, F12 *) |
1824 | ELSE |
1788 | ELSE |
1825 | IF ctrl THEN |
1789 | IF ctrl THEN |
1826 | CASE keyCode OF |
1790 | CASE keyCode OF |
1827 | |17: closeFile(TRUE, curText); |
1791 | |17: closeFile(TRUE, curText); |
1828 | key := -2 |
1792 | key := -2 |
Line 1994... | Line 1958... | ||
1994 | BEGIN |
1958 | BEGIN |
1995 | CloseMenu; |
1959 | CloseMenu; |
1996 | IF ~resized THEN |
1960 | IF ~resized THEN |
1997 | msState := K.MouseState(); |
1961 | msState := K.MouseState(); |
1998 | IF ~(0 IN msState) OR (16 IN msState) THEN |
1962 | IF ~(0 IN msState) OR (16 IN msState) THEN |
1999 | LeftButtonUp |
1963 | leftButton := FALSE |
2000 | END; |
1964 | END; |
2001 | scroll := K.Scroll(); |
1965 | scroll := K.Scroll(); |
2002 | IF scroll # 0 THEN |
1966 | IF scroll # 0 THEN |
2003 | T.scroll(text, 0, scroll*3); |
1967 | T.scroll(text, 0, scroll*3); |
2004 | repaint |
1968 | repaint |
Line 2008... | Line 1972... | ||
2008 | mouse(x, y); |
1972 | mouse(x, y); |
2009 | T.mouse(text, x, y); |
1973 | T.mouse(text, x, y); |
2010 | repaint |
1974 | repaint |
2011 | END |
1975 | END |
2012 | END; |
1976 | END; |
2013 | IF Scroll.isActive(hScroll) THEN |
- | |
2014 | mouse(x, y); |
- | |
2015 | Scroll.MouseMove(hScroll, x + LEFT, y + TOP); |
- | |
2016 | T.getScroll(text, scrollX, scrollY); |
- | |
2017 | T.scroll(text, hScroll.value - scrollX, 0); |
- | |
2018 | repaint |
- | |
2019 | END; |
1977 | |
2020 | IF Scroll.isActive(vScroll) THEN |
1978 | Scroll.mouse(hScroll); |
2021 | mouse(x, y); |
1979 | Scroll.mouse(vScroll); |
2022 | Scroll.MouseMove(vScroll, x + LEFT, y + TOP); |
- | |
2023 | T.getScroll(text, scrollX, scrollY); |
1980 | T.getScroll(text, scrollX, scrollY); |
2024 | T.scroll(text, 0, vScroll.value - scrollY); |
1981 | IF (hScroll.value # scrollX) OR (vScroll.value # scrollY) THEN |
- | 1982 | T.scroll(text, hScroll.value - scrollX, vScroll.value - scrollY); |
|
2025 | repaint |
1983 | repaint |
2026 | END; |
1984 | END; |
- | 1985 | ||
2027 | IF (8 IN msState) & ~(24 IN msState) THEN |
1986 | IF (8 IN msState) & ~(24 IN msState) THEN |
2028 | mouse(firstClickX, firstClickY); |
1987 | mouse(firstClickX, firstClickY); |
2029 | time := click(firstClickX, firstClickY) |
1988 | time := click(firstClickX, firstClickY) |
2030 | END; |
1989 | END; |
2031 | IF 9 IN msState THEN |
1990 | IF 9 IN msState THEN |
2032 | ShowMenu(context) |
1991 | ShowMenu(context) |
2033 | END; |
1992 | END; |
2034 | IF 24 IN msState THEN |
1993 | IF 24 IN msState THEN |
2035 | mouse(x, y); |
1994 | mouse(x, y); |
2036 | Scroll.MouseDown(hScroll, x + LEFT, y + TOP); |
- | |
2037 | Scroll.MouseDown(vScroll, x + LEFT, y + TOP); |
- | |
2038 | IF search & searchOpened THEN |
- | |
2039 | CheckBox.MouseDown(BKW, x + LEFT, y + TOP); |
- | |
2040 | CheckBox.MouseDown(CS, x + LEFT, y + TOP); |
- | |
2041 | CheckBox.MouseDown(WH, x + LEFT, y + TOP); |
- | |
2042 | END; |
- | |
2043 | IF (ABS(x - firstClickX) < 5) & (ABS(y - firstClickY) < 5) THEN |
1995 | IF U.between(-4, x - firstClickX, 4) & U.between(-4, y - firstClickY, 4) THEN |
2044 | IF (0 <= x) & (x < canvas.width) & (0 <= y) & (y < canvas.height) THEN |
1996 | IF U.between(0, x, canvas.width - 1) & U.between(0, y, canvas.height - 1) THEN |
2045 | leftButton := FALSE; |
1997 | leftButton := FALSE; |
2046 | T.selectWord(text); |
1998 | T.selectWord(text); |
2047 | repaint |
1999 | repaint |
2048 | END |
2000 | END |
2049 | ELSE |
2001 | ELSE |
Line 2052... | Line 2004... | ||
2052 | time := click(firstClickX, firstClickY) |
2004 | time := click(firstClickX, firstClickY) |
2053 | END |
2005 | END |
2054 | END |
2006 | END |
2055 | END; |
2007 | END; |
2056 | IF search & searchOpened THEN |
2008 | IF search & searchOpened THEN |
- | 2009 | CheckBox.mouse(BKW); |
|
- | 2010 | CheckBox.mouse(CS); |
|
- | 2011 | CheckBox.mouse(WH); |
|
2057 | EditBox(FindEdit); |
2012 | EditBox(FindEdit); |
2058 | EditBox(ReplaceEdit); |
2013 | EditBox(ReplaceEdit); |
2059 | EditBox(GotoEdit); |
2014 | EditBox(GotoEdit); |
2060 | IF CS.value # cs THEN |
2015 | IF (CS.value # cs) OR (WH.value # whole) THEN |
2061 | cs := ~cs; |
2016 | cs := CS.value; |
2062 | notFound := ~T.search(text, searchText, cs, whole); |
- | |
2063 | repaint |
- | |
2064 | END; |
- | |
2065 | IF WH.value # whole THEN |
- | |
2066 | whole := ~whole; |
2017 | whole := WH.value; |
2067 | notFound := ~T.search(text, searchText, cs, whole); |
2018 | notFound := ~T.search(text, searchText, cs, whole); |
2068 | repaint |
2019 | repaint |
2069 | END |
2020 | END |
2070 | END; |
2021 | END; |
2071 | resized := FALSE |
2022 | resized := FALSE |
Line 2093... | Line 2044... | ||
2093 | draw_window |
2044 | draw_window |
2094 | END |
2045 | END |
2095 | END Redraw; |
2046 | END Redraw; |
Line -... | Line 2047... | ||
- | 2047 | ||
- | 2048 | ||
- | 2049 | PROCEDURE ScrollChange; |
|
- | 2050 | BEGIN |
|
- | 2051 | Scroll.change(hScroll); |
|
- | 2052 | Scroll.change(vScroll); |
|
- | 2053 | T.scroll(text, ORD(hScroll.Inc) - ORD(hScroll.Dec), ORD(vScroll.Inc) - ORD(vScroll.Dec)); |
|
- | 2054 | IF menuActive THEN |
|
- | 2055 | draw_window; |
|
- | 2056 | menuActive := FALSE |
|
- | 2057 | ELSE |
|
- | 2058 | repaint |
|
- | 2059 | END |
|
- | 2060 | END ScrollChange; |
|
2096 | 2061 | ||
2097 | 2062 | ||
2098 | PROCEDURE main; |
2063 | PROCEDURE main; |
2099 | VAR |
2064 | VAR |
2100 | err: INTEGER; |
2065 | err: INTEGER; |
2101 | fileName, filePath: RW.tFileName; |
2066 | fileName, filePath: RW.tFileName; |
2102 | width, height, cliWidth, cliHeight: INTEGER; |
2067 | width, height, cliWidth, cliHeight: INTEGER; |
2103 | resized: BOOLEAN; |
2068 | resized: BOOLEAN; |
2104 | firstClickX, firstClickY, time: INTEGER; |
- | |
2105 | BEGIN |
2069 | firstClickX, firstClickY, time: INTEGER; |
2106 | delay := Scroll.Delay; |
2070 | BEGIN |
2107 | K.GetSystemColors; |
2071 | K.GetSystemColors; |
2108 | Icons.get(icons, grayIcons); |
2072 | Icons.get(icons, grayIcons); |
2109 | modified := FALSE; |
2073 | modified := FALSE; |
Line 2113... | Line 2077... | ||
2113 | curText := 0; |
2077 | curText := 0; |
2114 | mainTID := K.ThreadID(); |
2078 | mainTID := K.ThreadID(); |
2115 | K.SetIPC(IPC); |
2079 | K.SetIPC(IPC); |
2116 | U.ptr2str(K.GetName(), AppPath); |
2080 | U.ptr2str(K.GetName(), AppPath); |
2117 | Ini.load(AppPath); |
2081 | Ini.load(AppPath); |
2118 | LeftButtonUp; |
2082 | leftButton := FALSE; |
2119 | resized := FALSE; |
2083 | resized := FALSE; |
2120 | K.ScreenSize(winWidth, winHeight); |
2084 | K.ScreenSize(winWidth, winHeight); |
2121 | winWidth := (winWidth*80) DIV 100 - (128 + 30); |
2085 | winWidth := (winWidth*80) DIV 100 - (128 + 30); |
2122 | winHeight := winHeight - (128 + 30); |
2086 | winHeight := winHeight - (128 + 30); |
2123 | winWidth := MAX(winWidth, minWinWidth); |
2087 | winWidth := MAX(winWidth, minWinWidth); |
Line 2179... | Line 2143... | ||
2179 | U.getPath(fileName, filePath) |
2143 | U.getPath(fileName, filePath) |
2180 | END |
2144 | END |
2181 | END; |
2145 | END; |
2182 | OD := OpenDlg.Create(draw_window, OpenDlg.topen, filePath, ""); |
2146 | OD := OpenDlg.Create(draw_window, OpenDlg.topen, filePath, ""); |
2183 | insert(0, text); |
2147 | insert(0, text); |
- | 2148 | Scroll.init(ScrollChange); |
|
2184 | Scroll.create(FALSE, canvas.width + 1, scrollWidth, scrollWidth, scrollWidth, hScroll); |
2149 | Scroll.create(FALSE, canvas.width + 1, scrollWidth, scrollWidth, scrollWidth, hScroll); |
2185 | Scroll.create(TRUE, scrollWidth, canvas.height + 1, scrollWidth, scrollWidth, vScroll); |
2150 | Scroll.create(TRUE, scrollWidth, canvas.height + 1, scrollWidth, scrollWidth, vScroll); |
2186 | T.resize(canvas.width, canvas.height); |
2151 | T.resize(canvas.width, canvas.height); |
2187 | T.SetPos(text, 0, 0); |
2152 | T.SetPos(text, 0, 0); |
2188 | confirm := FALSE; |
2153 | confirm := FALSE; |