CEdit: refactoring

oberon07: update examples

git-svn-id: svn://kolibrios.org@9648 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Anton Krotov
2022-01-18 16:23:19 +00:00
parent 3cace9dd7a
commit 0eb1f22eab
10 changed files with 586 additions and 565 deletions

View File

@@ -28,7 +28,7 @@ IMPORT
RW, Ini, EB := EditBox, Tabs, Toolbar, SB := StatusBar;
CONST
HEADER = "CEdit (16-jan-2022)";
HEADER = "CEdit (18-jan-2022)";
ShellFilter = "";
EditFilter = "SH|INC|TXT|ASM|OB07|C|CPP|H|PAS|PP|LUA|INI|JSON";
@@ -169,6 +169,9 @@ CONST
maxTexts = 32;
SHIFT = Menu.SHIFT;
CTRL = Menu.CTRL;
VAR
header: RW.tFileName;
@@ -199,8 +202,6 @@ VAR
replaced: INTEGER;
mainTID: INTEGER;
context, menuFile, menuEdit, menuSearch, menuEncoding,
menuView, menuLanguage, menuProgram, menuTools,
subCurLine, subIndent, subCase, subBookmark, subEOL: Menu.tMenu;
@@ -211,8 +212,6 @@ VAR
toolbar: Toolbar.tToolbar;
IPC: ARRAY 64 OF INTEGER;
CursorTime, CurrentTime: INTEGER;
timerEnabled: BOOLEAN;
@@ -924,16 +923,6 @@ BEGIN
END CloseMenu;
PROCEDURE MenuItemClick (menu: Menu.tMenu; id: INTEGER);
VAR
msg: ARRAY 2 OF INTEGER;
BEGIN
msg[0] := id;
msg[1] := 8;
K.SendIPC(mainTID, msg)
END MenuItemClick;
PROCEDURE goto;
VAR
gotoVal: INTEGER;
@@ -1114,224 +1103,146 @@ BEGIN
END setScript;
PROCEDURE receiveIPC;
PROCEDURE ClickMenu;
VAR
scrollIPC: BOOLEAN;
item: List.tItem;
BEGIN
scrollIPC := FALSE;
IF IPC[0] = mainTID THEN
IF IPC[2] = Scroll.ScrollIPC THEN
Scroll.receiveIPC(IPC, scrollIPC)
END;
IF ~scrollIPC THEN
IPC[2] := 0
END
ELSE
IF ~Menu.isSender(IPC[0]) THEN
IPC[2] := 0
ELSE
IF IPC[2] < 0 THEN
item := List.getItem(mainMenu, (-IPC[2] - mainMenuBtn) MOD mainMenu.count);
IF item # NIL THEN
ShowMenu(item(Menu.tMainItem).menu)
END;
IPC[2] := 0
END
END
END;
IF ~scrollIPC THEN
CASE IPC[2] OF
|0:
|menuCut: T.key(text, ORD("X"), FALSE, TRUE)
|menuCopy: T.key(text, ORD("C"), FALSE, TRUE)
|menuPaste: T.key(text, ORD("V"), FALSE, TRUE)
|menuDelete: T.key(text, 46, FALSE, FALSE)
|menuSelectAll: T.key(text, ORD("A"), FALSE, TRUE)
IF Menu.MenuItem < 0 THEN
item := List.getItem(mainMenu, (-Menu.MenuItem - mainMenuBtn) MOD mainMenu.count);
IF item # NIL THEN
ShowMenu(item(Menu.tMainItem).menu)
END;
Menu.SetItem(0)
END;
CASE Menu.MenuItem OF
|0:
|menuCut: T.key(text, ORD("X"), FALSE, TRUE)
|menuCopy: T.key(text, ORD("C"), FALSE, TRUE)
|menuPaste: T.key(text, ORD("V"), FALSE, TRUE)
|menuDelete: T.key(text, 46, FALSE, FALSE)
|menuSelectAll: T.key(text, ORD("A"), FALSE, TRUE)
|menuNew:
NewFile
|menuOpen:
OpenDial
|menuSave:
save(text);
repaint
|menuSaveAs:
saveAs(text);
repaint
|menuSaveAll:
saveAll;
repaint
|menuClose:
closeFile(TRUE, curText)
|menuFolder:
K.Run("/sys/File Managers/Eolite", text.fileName)
|menuExit:
Close
|menuUndo:
T.undo(text);
repaint
|menuRedo:
T.redo(text);
repaint
|menuFind:
ShowSearchPanel(FALSE)
|menuFindNext:
notFound := ~T.findNext(text, BKW.value);
menuFindClicked := TRUE
|menuFindPrev:
notFound := ~T.findNext(text, ~BKW.value);
menuFindClicked := TRUE
|menuGoto:
ShowSearchPanel(TRUE)
|menuToggleBookmark:
T.toggleLabel(text)
|menuNextBookmark:
T.gotoLabel(text, TRUE)
|menuPrevBookmark:
T.gotoLabel(text, FALSE)
|menuNumbers:
T.toggleNumbers(text)
|menuFontSize:
IF font = font1 THEN
font := font2
ELSE
font := font1
END;
resize
|menuText:
T.setLang(text, Languages.langText)
|menuC:
T.setLang(text, Languages.langC)
|menuFasm:
T.setLang(text, Languages.langFasm)
|menuIni:
T.setLang(text, Languages.langIni)
|menuJSON:
T.setLang(text, Languages.langJSON)
|menuLua:
T.setLang(text, Languages.langLua)
|menuOberon:
T.setLang(text, Languages.langOberon)
|menuPascal:
T.setLang(text, Languages.langPascal)
|menuBuild:
Script(buildScript)
|menuBuildScript:
setScript(buildScript)
|menuRun:
Script(runScript)
|menuRunScript:
setScript(runScript)
|menuDebug:
Script(debugScript)
|menuDebugScript:
setScript(debugScript)
|menuUTF8BOM:
T.setEnc(text, E.UTF8BOM)
|menuUTF8:
T.setEnc(text, E.UTF8)
|menuCP866:
T.setEnc(text, E.CP866)
|menuWin1251:
T.setEnc(text, E.W1251)
|menuLF:
T.setEol(text, RW.EOL_LF)
|menuCRLF:
T.setEol(text, RW.EOL_CRLF)
|menuCR:
T.setEol(text, RW.EOL_CR)
|menuPipet:
K.Run("/sys/develop/pipet", "")
|menuMagnify:
K.Run("/sys/magnify", "")
|menuBoard:
K.Run("/sys/develop/board", "")
|menuSysFunc:
K.Run("/sys/docpack", "f")
|menuColors..menuMaxColors:
Ini.selectSection(IPC[2] - menuColors)
|menuMoveUp:
T.MoveLines(text, FALSE)
|menuMoveDown:
T.MoveLines(text, TRUE)
|menuDuplicate:
T.dupLine(text)
|menuRemove:
T.delLine(text)
|menuIncInd:
T.Indent(text, TRUE)
|menuDecInd:
T.Indent(text, FALSE)
|menuUpper:
T.chCase(text, TRUE)
|menuLower:
T.chCase(text, FALSE)
END;
IPC[0] := 0;
IPC[1] := 0
END
END receiveIPC;
PROCEDURE MenuKeyDown (menu: Menu.tMenu; key: INTEGER): BOOLEAN;
VAR
menuItem: INTEGER;
shift, ctrl: BOOLEAN;
BEGIN
menuItem := -1;
K.getKBState(shift, ctrl);
IF ctrl THEN
CASE key DIV 65536 OF
|17: menuItem := menuClose
|21: menuItem := menuRedo
|30: menuItem := menuSelectAll
|32: menuItem := menuDuplicate
|33,
35: menuItem := menuFind
|34: menuItem := menuGoto
|44: menuItem := menuUndo
|45: menuItem := menuCut
|46: menuItem := menuCopy
|47: menuItem := menuPaste
|24: menuItem := menuOpen
|31: menuItem := menuSave
|49: menuItem := menuNew
|67: menuItem := menuBuild
|83: menuItem := menuRemove
|22: menuItem := menuUpper
|38: menuItem := menuLower
|60: menuItem := menuToggleBookmark
|72: menuItem := menuMoveUp
|80: menuItem := menuMoveDown
|menuNew:
NewFile
|menuOpen:
OpenDial
|menuSave:
save(text);
repaint
|menuSaveAs:
saveAs(text);
repaint
|menuSaveAll:
saveAll;
repaint
|menuClose:
closeFile(TRUE, curText)
|menuFolder:
K.Run("/sys/File Managers/Eolite", text.fileName)
|menuExit:
Close
|menuUndo:
T.undo(text);
repaint
|menuRedo:
T.redo(text);
repaint
|menuFind:
ShowSearchPanel(FALSE)
|menuFindNext:
notFound := ~T.findNext(text, BKW.value);
menuFindClicked := TRUE
|menuFindPrev:
notFound := ~T.findNext(text, ~BKW.value);
menuFindClicked := TRUE
|menuGoto:
ShowSearchPanel(TRUE)
|menuToggleBookmark:
T.toggleLabel(text)
|menuNextBookmark:
T.gotoLabel(text, TRUE)
|menuPrevBookmark:
T.gotoLabel(text, FALSE)
|menuNumbers:
T.toggleNumbers(text)
|menuFontSize:
IF font = font1 THEN
font := font2
ELSE
END
ELSE
IF key DIV 65536 = 83 THEN
menuItem := menuDelete
ELSIF key DIV 65536 = 67 THEN
menuItem := menuRun
ELSIF key DIV 65536 = 15 THEN
menuItem := menuIncInd
ELSIF (key DIV 65536 = 14) & shift THEN
menuItem := menuDecInd
ELSIF key DIV 65536 = 60 THEN
IF shift THEN
menuItem := menuPrevBookmark
ELSE
menuItem := menuNextBookmark
END
END
font := font1
END;
resize
|menuText:
T.setLang(text, Languages.langText)
|menuC:
T.setLang(text, Languages.langC)
|menuFasm:
T.setLang(text, Languages.langFasm)
|menuIni:
T.setLang(text, Languages.langIni)
|menuJSON:
T.setLang(text, Languages.langJSON)
|menuLua:
T.setLang(text, Languages.langLua)
|menuOberon:
T.setLang(text, Languages.langOberon)
|menuPascal:
T.setLang(text, Languages.langPascal)
|menuBuild:
Script(buildScript)
|menuBuildScript:
setScript(buildScript)
|menuRun:
Script(runScript)
|menuRunScript:
setScript(runScript)
|menuDebug:
Script(debugScript)
|menuDebugScript:
setScript(debugScript)
|menuUTF8BOM:
T.setEnc(text, E.UTF8BOM)
|menuUTF8:
T.setEnc(text, E.UTF8)
|menuCP866:
T.setEnc(text, E.CP866)
|menuWin1251:
T.setEnc(text, E.W1251)
|menuLF:
T.setEol(text, RW.EOL_LF)
|menuCRLF:
T.setEol(text, RW.EOL_CRLF)
|menuCR:
T.setEol(text, RW.EOL_CR)
|menuPipet:
K.Run("/sys/develop/pipet", "")
|menuMagnify:
K.Run("/sys/magnify", "")
|menuBoard:
K.Run("/sys/develop/board", "")
|menuSysFunc:
K.Run("/sys/docpack", "f")
|menuColors..menuMaxColors:
Ini.selectSection(Menu.MenuItem - menuColors)
|menuMoveUp:
T.MoveLines(text, FALSE)
|menuMoveDown:
T.MoveLines(text, TRUE)
|menuDuplicate:
T.dupLine(text)
|menuRemove:
T.delLine(text)
|menuIncInd:
T.Indent(text, TRUE)
|menuDecInd:
T.Indent(text, FALSE)
|menuUpper:
T.chCase(text, TRUE)
|menuLower:
T.chCase(text, FALSE)
END;
IF menuItem # -1 THEN
IF Menu.isEnabled(menu, menuItem) THEN
MenuItemClick(menu, menuItem)
ELSE
menuItem := -1
END
END
RETURN menuItem # -1
END MenuKeyDown;
Menu.SetItem(0)
END ClickMenu;
PROCEDURE CreateContextMenu (): Menu.tMenu;
@@ -1348,7 +1259,7 @@ BEGIN
Menu.AddMenuItem(menu, menuDelete, "delete");
Menu.delimiter(menu);
Menu.AddMenuItem(menu, menuSelectAll, "select all ctrl-A");
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateContextMenu;
@@ -1367,7 +1278,7 @@ BEGIN
Menu.AddMenuItem(menu, menuClose, "close ctrl-W");
Menu.delimiter(menu);
Menu.AddMenuItem(menu, menuExit, "exit");
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuFile;
@@ -1392,7 +1303,7 @@ BEGIN
Menu.child(menu, subIndent);
Menu.AddMenuItem(menu, menuCase, "case");
Menu.child(menu, subCase);
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuEdit;
@@ -1408,7 +1319,7 @@ BEGIN
Menu.delimiter(menu);
Menu.AddMenuItem(menu, menuBookmark, "bookmark");
Menu.child(menu, subBookmark);
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuSearch;
@@ -1424,7 +1335,7 @@ BEGIN
Menu.delimiter(menu);
Menu.AddMenuItem(menu, menuEOL, "EOL");
Menu.child(menu, subEOL);
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuEncoding;
@@ -1436,7 +1347,7 @@ BEGIN
Menu.AddMenuItem(menu, menuCRLF, RW.eolNames[RW.EOL_CRLF]);
Menu.AddMenuItem(menu, menuLF, RW.eolNames[RW.EOL_LF]);
Menu.AddMenuItem(menu, menuCR, RW.eolNames[RW.EOL_CR]);
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuEOL;
@@ -1459,7 +1370,7 @@ BEGIN
colors := colors.next(Ini.tSection)
END;
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuView;
@@ -1477,7 +1388,7 @@ BEGIN
Menu.AddMenuItem(menu, menuPascal, "Pascal");
Menu.delimiter(menu);
Menu.AddMenuItem(menu, menuText, "Text");
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuLanguage;
@@ -1494,7 +1405,7 @@ BEGIN
Menu.delimiter(menu);
Menu.AddMenuItem(menu, menuDebug, "debug");
Menu.AddMenuItem(menu, menuDebugScript, "script");
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuProgram;
@@ -1507,7 +1418,7 @@ BEGIN
Menu.AddMenuItem(menu, menuMagnify, "magnify");
Menu.AddMenuItem(menu, menuBoard, "board");
Menu.AddMenuItem(menu, menuSysFunc, "system functions");
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuTools;
@@ -1520,7 +1431,7 @@ BEGIN
Menu.AddMenuItem(menu, menuMoveDown, "move down ctrl-Down");
Menu.AddMenuItem(menu, menuDuplicate, "duplicate ctrl-D");
Menu.AddMenuItem(menu, menuRemove, "remove ctrl-Del");
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuCurLine;
@@ -1531,7 +1442,7 @@ BEGIN
menu := List.create(NIL);
Menu.AddMenuItem(menu, menuIncInd, "increase Tab");
Menu.AddMenuItem(menu, menuDecInd, "decrease shift-Bksp");
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuIndent;
@@ -1542,7 +1453,7 @@ BEGIN
menu := List.create(NIL);
Menu.AddMenuItem(menu, menuUpper, "UPPER ctrl-U");
Menu.AddMenuItem(menu, menuLower, "lower ctrl-L");
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuCase;
@@ -1554,10 +1465,44 @@ BEGIN
Menu.AddMenuItem(menu, menuToggleBookmark, "toggle ctrl-F2");
Menu.AddMenuItem(menu, menuNextBookmark, "next F2");
Menu.AddMenuItem(menu, menuPrevBookmark, "previous shift-F2");
RETURN Menu.create(menu, MenuItemClick, MenuKeyDown)
RETURN Menu.create(menu)
END CreateMenuBookmark;
PROCEDURE Shortcuts;
BEGIN
Menu.AddShortcut(17 + CTRL, menuClose);
Menu.AddShortcut(21 + CTRL, menuRedo);
Menu.AddShortcut(30 + CTRL, menuSelectAll);
Menu.AddShortcut(32 + CTRL, menuDuplicate);
Menu.AddShortcut(33 + CTRL, menuFind);
Menu.AddShortcut(35 + CTRL, menuFind);
Menu.AddShortcut(34 + CTRL, menuGoto);
Menu.AddShortcut(44 + CTRL, menuUndo);
Menu.AddShortcut(45 + CTRL, menuCut);
Menu.AddShortcut(46 + CTRL, menuCopy);
Menu.AddShortcut(47 + CTRL, menuPaste);
Menu.AddShortcut(24 + CTRL, menuOpen);
Menu.AddShortcut(31 + CTRL, menuSave);
Menu.AddShortcut(49 + CTRL, menuNew);
Menu.AddShortcut(67 + CTRL, menuBuild);
Menu.AddShortcut(83 + CTRL, menuRemove);
Menu.AddShortcut(22 + CTRL, menuUpper);
Menu.AddShortcut(38 + CTRL, menuLower);
Menu.AddShortcut(60 + CTRL, menuToggleBookmark);
Menu.AddShortcut(72 + CTRL, menuMoveUp);
Menu.AddShortcut(80 + CTRL, menuMoveDown);
Menu.AddShortcut(83, menuDelete);
Menu.AddShortcut(67, menuRun);
Menu.AddShortcut(15, menuIncInd);
Menu.AddShortcut(14 + SHIFT, menuDecInd);
Menu.AddShortcut(60 + SHIFT, menuPrevBookmark);
Menu.AddShortcut(60, menuNextBookmark);
Menu.AddShortcut(61 + SHIFT, menuFindPrev);
Menu.AddShortcut(61, menuFindNext);
END Shortcuts;
PROCEDURE HideSearch;
BEGIN
SetFocus(FindEdit, FALSE);
@@ -1732,6 +1677,7 @@ VAR
middle, exit: BOOLEAN;
menu: Menu.tMenu;
BEGIN
exit := FALSE;
btn := K.ButtonCode(middle);
IF U.between(Tabs.btnID, btn, Tabs.btnID + maxTexts - 1) THEN
DEC(btn, Tabs.btnID);
@@ -1756,58 +1702,45 @@ BEGIN
btn := 0
END
END;
CASE btn OF
|Tabs.btnLeft: Tabs.scroll(tabs, -1); switch := TRUE; repaint
|Tabs.btnRight: Tabs.scroll(tabs, +1); switch := TRUE; repaint
|0:
|Tabs.btnLeft, Tabs.btnRight:
Tabs.scroll(tabs, btn);
switch := TRUE
|btnNo:
exit := closing;
closeFile(FALSE, curText);
repaint;
IF exit THEN
Close
END
repaint
|btnYes:
exit := closing;
save(text);
IF ~text.modified THEN
closeFile(FALSE, curText)
END;
repaint;
IF exit THEN
Close
END
|btnClose:
Close
|btnNew:
NewFile;
repaint
|btnClose:
exit := TRUE
|btnNew:
NewFile
|btnOpen:
OpenDial
|btnSave:
save(text);
repaint
save(text)
|btnSearch:
ShowSearchPanel(FALSE);
repaint
ShowSearchPanel(FALSE)
|btnCloseSearch:
Search
|btnHideSearch:
HideSearch
|btnUndo:
T.undo(text);
repaint
T.undo(text)
|btnRedo:
T.redo(text);
repaint
T.redo(text)
|btnUpper:
T.chCase(text, TRUE);
repaint
T.chCase(text, TRUE)
|btnLower:
T.chCase(text, FALSE);
repaint
T.chCase(text, FALSE)
|btnBuild:
Script(buildScript)
|btnRun:
@@ -1815,24 +1748,26 @@ BEGIN
|btnFindNext:
IF searchText # "" THEN
notFound := ~T.findNext(text, BKW.value);
SetFocus(FindEdit, FALSE);
repaint
SetFocus(FindEdit, FALSE)
END
|btnReplace:
T.replace(text, replaceText, LENGTH(searchText));
SetFocus(FindEdit, FALSE);
repaint
SetFocus(FindEdit, FALSE)
|btnReplaceAll:
notFound := ~T.search(text, searchText, cs, whole);
IF ~notFound THEN
replaced := T.replaceAll(text, replaceText, LENGTH(searchText));
END;
SetFocus(FindEdit, FALSE);
repaint
SetFocus(FindEdit, FALSE)
|btnGoto:
goto;
repaint
END
goto
END;
IF exit THEN
Close
ELSE
repaint
END
END BtnClick;
@@ -1884,6 +1819,7 @@ BEGIN
Scroll.mouse(hScroll);
Scroll.mouse(vScroll);
msState := K.MouseState();
T.getScroll(text, scrollX, scrollY);
IF (hScroll.value # scrollX) OR (vScroll.value # scrollY) THEN
T.scroll(text, hScroll.value - scrollX, vScroll.value - scrollY);
@@ -1935,7 +1871,13 @@ END MouseEvent;
PROCEDURE Redraw (VAR resized: BOOLEAN; VAR width, height, cliWidth, cliHeight: INTEGER);
VAR
onClose: BOOLEAN;
BEGIN
onClose := (Menu.MenuItem = menuClose) OR (Menu.MenuItem = menuExit);
IF ~onClose THEN
ClickMenu
END;
K.GetSystemColors;
IF ~K.RolledUp() THEN
K.ClientSize(width, height);
@@ -1945,7 +1887,7 @@ BEGIN
resize;
resized := TRUE
END;
K.SetEventsMask({0, 1, 2, 5, 6, 31})
K.SetEventsMask({0, 1, 2, 5, 31})
ELSE
SetCaption(text.fileName);
K.SetEventsMask({0, 30, 31})
@@ -1954,15 +1896,16 @@ BEGIN
IF SkinHeight # K.SkinHeight() THEN
SkinHeight := K.SkinHeight();
Redraw(resized, width, height, cliWidth, cliHeight)
END;
IF onClose THEN
ClickMenu
END
END Redraw;
PROCEDURE ScrollChange;
BEGIN
Scroll.change(hScroll);
Scroll.change(vScroll);
T.scroll(text, ORD(hScroll.Inc) - ORD(hScroll.Dec), ORD(vScroll.Inc) - ORD(vScroll.Dec));
T.scroll(text, hScroll.btn, vScroll.btn);
IF menuActive THEN
draw_window;
menuActive := FALSE
@@ -1985,8 +1928,6 @@ BEGIN
closing := FALSE;
textsCount := 0;
curText := 0;
mainTID := K.ThreadID();
K.SetIPC(IPC);
Args.GetArg(0, AppPath);
Ini.load(AppPath);
leftButton := FALSE;
@@ -2010,6 +1951,7 @@ BEGIN
T.init(resetTimer);
T.setCanvas(canvas);
Menu.init(resetTimer);
context := CreateContextMenu();
menuFile := CreateMenuFile();
subCurLine := CreateMenuCurLine();
@@ -2039,6 +1981,7 @@ BEGIN
Menu.AddMainItem(mainMenu, "language", menuLanguage);
Menu.AddMainItem(mainMenu, "program", menuProgram);
Menu.AddMainItem(mainMenu, "tools", menuTools);
Shortcuts;
Toolbar.create(toolbar, LEFT_PADDING + 5, toolbarTop);
Toolbar.add(toolbar, btnNew, 2, "");
@@ -2075,9 +2018,8 @@ BEGIN
END;
SwitchTab(textsCount - 1);
Scroll.init(ScrollChange);
Scroll.create(FALSE, canvas.width + 1, scrollWidth, scrollWidth, scrollWidth*3 DIV 2, hScroll);
Scroll.create(TRUE, scrollWidth, canvas.height + 2, scrollWidth, scrollWidth*3 DIV 2, vScroll);
Scroll.create(FALSE, canvas.width + 1, scrollWidth, scrollWidth, scrollWidth*3 DIV 2, ScrollChange, hScroll);
Scroll.create(TRUE, scrollWidth, canvas.height + 2, scrollWidth, scrollWidth*3 DIV 2, ScrollChange, vScroll);
T.resize(canvas.width, canvas.height);
confirm := FALSE;
notFound := FALSE;
@@ -2094,8 +2036,7 @@ BEGIN
OD := OpenDlg.Create(draw_window, OpenDlg.topen, filePath, "");
K.SetEventsMask({0, 1, 2, 5, 6, 31});
Menu.init(resetTimer);
K.SetEventsMask({0, 1, 2, 5, 31});
draw_window;
blink := Ini.blink;
IF blink <= 0 THEN
@@ -2112,13 +2053,13 @@ BEGIN
T.toggleCursor;
repaint
END;
CASE K.EventTimeout(10) OF
|0:
|1: Redraw(resized, width, height, cliWidth, cliHeight)
|2: KeyDown(K.GetKey())
|3: BtnClick
|6: MouseEvent(resized, firstClickX, firstClickY, time)
|7: receiveIPC
END
END
END main;