From 4f8b740144ca4fe0a2606214555cbe8919e62991 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Tue, 13 Jul 2021 10:30:43 +0000 Subject: [PATCH] sysfuncr.txt: translate 74.11 - 74.16 osupdate: add to ISO icons16.png: update icons of windows, kolibri, floppy cedit: update by akron1 git-svn-id: svn://kolibrios.org@9060 a494cfbc-eb01-0410-851d-a64ba20cac60 --- data/Tupfile.lua | 1 + data/common/icons16.png | Bin 10213 -> 10297 bytes kernel/trunk/docs/sysfuncr.txt | 119 ++++++++++++---------- programs/develop/cedit/CEDIT | Bin 30763 -> 31209 bytes programs/develop/cedit/README.TXT | 8 +- programs/develop/cedit/SRC/CEdit.ob07 | 87 +++++++++++----- programs/develop/cedit/SRC/KolibriOS.ob07 | 10 +- programs/develop/cedit/SRC/Lines.ob07 | 3 +- programs/develop/cedit/SRC/Tabs.ob07 | 41 +++++--- programs/develop/cedit/SRC/Text.ob07 | 72 ++++++++++--- 10 files changed, 224 insertions(+), 117 deletions(-) diff --git a/data/Tupfile.lua b/data/Tupfile.lua index cd7069fd53..5881c2e4e2 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -677,6 +677,7 @@ tup.append_table(extra_files, { {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"}, {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"}, {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"}, + {"kolibrios/utils/osupdate", PROGS .. "/cmm/misc/osupdate"}, }) end -- tup.getconfig('NO_CMM') ~= 'full' diff --git a/data/common/icons16.png b/data/common/icons16.png index e353e605703bc0c06c6126be165fb1f0200f1f96..6549cf0830c099429b137b9d84465b89da31a4b8 100644 GIT binary patch literal 10297 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

?lM*Ah6 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 diff --git a/programs/develop/cedit/README.TXT b/programs/develop/cedit/README.TXT index 666674cc22..d31b70aedd 100644 --- a/programs/develop/cedit/README.TXT +++ b/programs/develop/cedit/README.TXT @@ -9,7 +9,7 @@ ctrl+F показать панель поиска Esc скрыть панель поиска F3 найти следующий - Shift+F3 найти предыдущий + shift+F3 найти предыдущий ctrl+Z отменить ctrl+Y вернуть ctrl+G перейти на строку... @@ -18,9 +18,15 @@ ctrl+Up переместить строку вверх ctrl+Down переместить строку вниз + ctrl+F2 установить/снять метку + F2 перейти к метке ниже + shift+F2 перейти к метке выше + ctrl+S сохранить ctrl+O открыть ctrl+N создать новый + ctrl+W закрыть файл + ctrl+Tab переключиться на следующую вкладку ctrl+F9 компилировать F9 выполнить diff --git a/programs/develop/cedit/SRC/CEdit.ob07 b/programs/develop/cedit/SRC/CEdit.ob07 index 67ae724a46..ffa99399b4 100644 --- a/programs/develop/cedit/SRC/CEdit.ob07 +++ b/programs/develop/cedit/SRC/CEdit.ob07 @@ -28,7 +28,7 @@ IMPORT RW, Ini, box_lib, Icons, Tabs; CONST - header = "CEdit (10-jul-2021)"; + header = "CEdit (12-jul-2021)"; ShellFilter = ""; EditFilter = "SH|ASM|TXT|INC|OB07|C|CPP|H|PAS|PP|LUA|INI"; @@ -428,7 +428,7 @@ BEGIN G.SetFont(canvas, font); T.setCanvas(canvas); T.resize(canvas.width, canvas.height); - Scroll.resize(vScroll, vScroll.xSize, canvas.height - scrollWidth*2 + 1); + Scroll.resize(vScroll, vScroll.xSize, canvas.height - scrollWidth*2 + 2); Scroll.resize(hScroll, canvas.width - scrollWidth*2, hScroll.ySize); END resize; @@ -437,6 +437,7 @@ PROCEDURE SearchPanel (left, top: INTEGER); VAR y, right, bottom, color: INTEGER; BEGIN + DEC(top, Tabs.tabHeight); right := left + EditBox_Width + SEARCH_PADDING*2; bottom := top + 395 + btnHeight + SEARCH_PADDING; color := K.borderColor; @@ -571,7 +572,7 @@ BEGIN toolbarIcons; - K.CreateButton(btnUp, LEFT + canvas.width - 1, TOP, scrollWidth - 1, scrollWidth, K.btnColor, 0X); + K.CreateButton(btnUp, LEFT + canvas.width - 1, TOP - 1, scrollWidth - 1, scrollWidth, K.btnColor, 0X); K.DrawText69(LEFT + canvas.width - 1 + (scrollWidth - 6) DIV 2, TOP + (scrollWidth - 9) DIV 2, K.btnTextColor, 18X); K.CreateButton(btnDown, LEFT + canvas.width - 1, TOP + canvas.height - scrollWidth - 1, scrollWidth - 1, scrollWidth, K.btnColor, 0X); K.DrawText69(LEFT + canvas.width - 1 + (scrollWidth - 6) DIV 2, TOP + canvas.height - scrollWidth + (scrollWidth - 9) DIV 2, K.btnTextColor, 19X); @@ -581,7 +582,7 @@ BEGIN K.CreateButton(btnRight, LEFT + canvas.width - scrollWidth - 1, TOP + canvas.height - 1, scrollWidth, scrollWidth - 1, K.btnColor, 0X); K.DrawText69(LEFT + canvas.width - scrollWidth - 1 + (scrollWidth - 6) DIV 2, TOP + canvas.height - 1 + (scrollWidth - 9) DIV 2 + 1, K.btnTextColor, 1AX); - K.PutPixel(LEFT + canvas.width + scrollWidth - 2, TOP, K.winColor); + K.PutPixel(LEFT + canvas.width + scrollWidth - 2, TOP - 1, K.winColor); K.PutPixel(LEFT, TOP + canvas.height + scrollWidth - 2, K.winColor); DrawState(text, width, height); @@ -787,19 +788,19 @@ BEGIN END Confirm; -PROCEDURE closeFile (conf: BOOLEAN); +PROCEDURE closeFile (conf: BOOLEAN; n: INTEGER); VAR i: INTEGER; BEGIN IF text.modified & conf THEN Confirm ELSE - Tabs.delete(tabs, curText); - FOR i := curText + 1 TO textsCount - 1 DO + Tabs.delete(tabs, n); + FOR i := n + 1 TO textsCount - 1 DO texts[i - 1] := texts[i] END; DEC(textsCount); - IF curText = textsCount THEN + IF (curText = textsCount) OR (n < curText) THEN DEC(curText) END; IF curText >= 0 THEN @@ -1000,7 +1001,7 @@ BEGIN Confirm; cont := FALSE ELSE - closeFile(FALSE); + closeFile(FALSE, curText); repaint END END @@ -1057,7 +1058,7 @@ BEGIN saveAll; repaint |menuClose: - closeFile(TRUE) + closeFile(TRUE, curText) |menuFolder: K.Run("/rd/1/File Managers/Eolite", text.fileName) |menuExit: @@ -1145,6 +1146,7 @@ BEGIN getKBState; IF (T.CTRL IN shift) THEN CASE key DIV 65536 OF + |17: menuItem := menuClose |21: menuItem := menuRedo |30: menuItem := menuSelectAll |33: menuItem := menuSearch @@ -1207,7 +1209,7 @@ BEGIN Menu.AddMenuItem(menu, menuSaveAll, "save all"); Menu.AddMenuItem(menu, menuFolder, "folder"); Menu.delimiter(menu); - Menu.AddMenuItem(menu, menuClose, "close"); + Menu.AddMenuItem(menu, menuClose, "close ctrl-W"); Menu.delimiter(menu); Menu.AddMenuItem(menu, menuExit, "exit"); RETURN Menu.create(menu, MenuItemClick, MenuKeyDown) @@ -1422,7 +1424,7 @@ VAR err: INTEGER; fileName, filePath: RW.tFileName; cliWidth, cliHeight: INTEGER; - resized: BOOLEAN; + resized, middle: BOOLEAN; firstClickX, firstClickY, time: INTEGER; BEGIN K.GetSystemColors; @@ -1480,7 +1482,7 @@ BEGIN OD := OpenDlg.Create(draw_window, OpenDlg.topen, filePath, ""); insert(0, text); - vScroll := Scroll.create(scrollWidth, canvas.height - scrollWidth*2 + 1); + vScroll := Scroll.create(scrollWidth, canvas.height - scrollWidth*2 + 2); hScroll := Scroll.create(canvas.width - scrollWidth*2, scrollWidth); T.resize(canvas.width, canvas.height); T.SetPos(text, 0, 0); @@ -1526,7 +1528,7 @@ BEGIN IF key DIV 65536 = 28 THEN (* Enter *) save(text); IF ~text.modified THEN - closeFile(FALSE) + closeFile(FALSE, curText) END; repaint END; @@ -1541,6 +1543,13 @@ BEGIN notFound := ~T.findNext(text, box_lib.check_box_get_value(BKW)) END END + ELSIF key DIV 65536 = 60 THEN (* F2 *) + key := -1; + IF T.CTRL IN shift THEN + T.toggleLabel(text) + ELSE + T.gotoLabel(text, ~(T.SHIFT IN shift)) + END ELSIF key DIV 65536 = 67 THEN (* F9 *) key := -1; IF T.CTRL IN shift THEN @@ -1555,6 +1564,12 @@ BEGIN END ELSIF (key DIV 65536 = 55) & (key DIV 256 MOD 256 = 52) THEN key := -1 (* PrtScn *) + ELSIF (T.CTRL IN shift) & (key DIV 65536 = 15) THEN (* ctrl+Tab *) + key := -1; + curText := (curText + 1) MOD textsCount; + Tabs.switch(tabs, curText); + Switch(texts[curText]); + draw_window ELSIF (T.CTRL IN shift) & (key DIV 65536 = 33) THEN key := -1; IF ~search THEN @@ -1562,7 +1577,7 @@ BEGIN END; EditBox_SetFocus(FindEdit, TRUE); EditBox_SetFocus(ReplaceEdit, FALSE); - EditBox_SetFocus(GotoEdit, FALSE); + EditBox_SetFocus(GotoEdit, FALSE) ELSIF (T.CTRL IN shift) & (key DIV 65536 = 34) THEN key := -1; IF ~search THEN @@ -1604,6 +1619,8 @@ BEGIN ELSE IF (T.CTRL IN shift) THEN CASE key DIV 65536 OF + |17: closeFile(TRUE, curText); + key := -2 |21: T.redo(text); key := -1 |22: key := ORD("U") @@ -1629,20 +1646,38 @@ BEGIN key := -1 END END; - IF key # -1 THEN + IF key >= 0 THEN T.key(text, key, shift) END END; - repaint + IF key # -2 THEN + repaint + END |3: - btn := K.ButtonCode(); - CASE btn OF - |Tabs.btnID .. Tabs.btnID + maxTexts - 1: + btn := K.ButtonCode(middle); + IF (Tabs.btnID <= btn) & (btn <= Tabs.btnID + maxTexts - 1) THEN DEC(btn, Tabs.btnID); - curText := btn; - Tabs.switch(tabs, btn); - Switch(texts[btn]); - draw_window + IF middle THEN + IF texts[btn].modified THEN + curText := btn; + Tabs.switch(tabs, btn); + Switch(texts[btn]); + draw_window; + END; + closeFile(TRUE, btn) + ELSE + curText := btn; + Tabs.switch(tabs, btn); + Switch(texts[btn]); + draw_window + END; + btn := 0 + ELSE + IF middle THEN + btn := 0 + END + END; + CASE btn OF |Tabs.btnID - 1: Tabs.scroll(tabs, -1); switch := TRUE; repaint |Tabs.btnID - 2: Tabs.scroll(tabs, +1); switch := TRUE; repaint @@ -1663,12 +1698,12 @@ BEGIN |btnTools: ShowMenu(menuTools) |btnNo: - closeFile(FALSE); + closeFile(FALSE, curText); repaint |btnYes: save(text); IF ~text.modified THEN - closeFile(FALSE) + closeFile(FALSE, curText) END; repaint |btnClose: diff --git a/programs/develop/cedit/SRC/KolibriOS.ob07 b/programs/develop/cedit/SRC/KolibriOS.ob07 index e556d6b2f1..efdad9a74d 100644 --- a/programs/develop/cedit/SRC/KolibriOS.ob07 +++ b/programs/develop/cedit/SRC/KolibriOS.ob07 @@ -30,7 +30,7 @@ VAR winColor*, textColor*, btnColor*, btnTextColor*, toolbarColor*, scrollColor*, scrollBkColor*, - borderColor*, shadowColor*, + borderColor*, shadowColor*, (*darkColor*, lightColor*,*) caseColor*, disCaseColor*: INTEGER; @@ -202,13 +202,17 @@ BEGIN END Pause; -PROCEDURE ButtonCode* (): INTEGER; +PROCEDURE ButtonCode* (VAR middle: BOOLEAN): INTEGER; VAR res: INTEGER; BEGIN + middle := FALSE; res := KOSAPI.sysfunc1(17); IF res MOD 256 = 0 THEN res := LSR(res, 8) + ELSIF res MOD 256 = 4 THEN + res := LSR(res, 8); + middle := TRUE ELSE res := 0 END @@ -343,6 +347,8 @@ BEGIN ASSERT(LEN(buf) >= 10); KOSAPI.sysfunc4(48, 3, SYSTEM.ADR(buf[0]), 40); +(* darkColor := buf[2]; + lightColor := buf[3];*) winColor := buf[5]; textColor := buf[8]; btnColor := buf[6]; diff --git a/programs/develop/cedit/SRC/Lines.ob07 b/programs/develop/cedit/SRC/Lines.ob07 index a78ad5fdea..1a758855df 100644 --- a/programs/develop/cedit/SRC/Lines.ob07 +++ b/programs/develop/cedit/SRC/Lines.ob07 @@ -31,7 +31,7 @@ TYPE tLine* = POINTER TO RECORD (List.tItem) ptr: INTEGER; length*: INTEGER; - modified*, saved*, temp: BOOLEAN; + modified*, saved*, temp, label*: BOOLEAN; cin*, cout*, pos*: INTEGER END; @@ -113,6 +113,7 @@ VAR line: tLine; BEGIN NEW(line); + line.label := FALSE; ASSERT(line # NIL); (* IF ~temp THEN _typedPtr(line) diff --git a/programs/develop/cedit/SRC/Tabs.ob07 b/programs/develop/cedit/SRC/Tabs.ob07 index e00422f8f1..6e7aadb525 100644 --- a/programs/develop/cedit/SRC/Tabs.ob07 +++ b/programs/develop/cedit/SRC/Tabs.ob07 @@ -1,4 +1,4 @@ -(* +(* Copyright 2021 Anton Krotov This file is part of CEdit. @@ -26,6 +26,7 @@ CONST btnID* = 100; tabHeight* = 22; curTabHeight = 26; + scrWidth = 10; TYPE @@ -48,21 +49,29 @@ TYPE PROCEDURE drawTab (t: tTabs; id, x, y, width, height: INTEGER; s: ARRAY OF CHAR); VAR - x2, y2: INTEGER; + x2, y2, color: INTEGER; BEGIN IF id = t.current THEN INC(height, curTabHeight - tabHeight); - DEC(y, curTabHeight - tabHeight) + DEC(y, curTabHeight - tabHeight); + (*color := K.lightColor + ELSE + color := K.darkColor*) END; + color := K.winColor; + DEC(x); INC(width); x2 := x + width - 1; y2 := y + height - 1; - K.DrawRect(x, y, width, height, K.winColor); + + K.DrawRect(x, y, width, height,color); K.DrawLine(x, y, x2, y, K.borderColor); K.DrawLine(x2, y, x2, y2, K.borderColor); - K.DrawLine(x2, y2, x, y2, K.borderColor); + IF id # t.current THEN + K.DrawLine(x2 - 1, y2, x, y2, K.borderColor); + END; K.DrawLine(x, y2, x, y, K.borderColor); - K.DrawText866bk(x + K.fontWidth, y + (height - K.fontHeight) DIV 2, K.textColor, K.winColor, s); - K.CreateButton(id + ORD({30}) + btnID, x, y - 1, width, height - 1, K.winColor, ""); + K.DrawText866bk(x + K.fontWidth, y + (height - K.fontHeight) DIV 2, K.textColor, color, s); + K.CreateButton(id + ORD({30}) + btnID, x, y - 1, width, height - 1, color, ""); END drawTab; @@ -89,21 +98,22 @@ END Width; PROCEDURE draw* (t: tTabs); -CONST - scrWidth = 10; VAR x, y, xmax, n, width: INTEGER; item: List.tItem; + scroll: BOOLEAN; BEGIN y := t.y; x := t.x; - K.DrawRect(x, y - (curTabHeight - tabHeight), t.width + 2*scrWidth, t.height + (curTabHeight - tabHeight), K.winColor); + K.DrawRect(x, y - (curTabHeight - tabHeight), t.width + 2*scrWidth, t.height + (curTabHeight - tabHeight) - 1, K.winColor); IF Width(t, 0, t.strings.count - 1) > t.width THEN INC(x, 2*scrWidth); K.CreateButton(btnID - 1, t.x, t.y, scrWidth, t.height - 1, K.btnColor, "<"); - K.CreateButton(btnID - 2, t.x + scrWidth, t.y, scrWidth, t.height - 1, K.btnColor, ">") + K.CreateButton(btnID - 2, t.x + scrWidth, t.y, scrWidth, t.height - 1, K.btnColor, ">"); + scroll := TRUE ELSE - t.first := 0 + t.first := 0; + scroll := FALSE END; xmax := x + t.width - 1; @@ -120,13 +130,14 @@ BEGIN t.first := n END; - K.DrawRect(x, y, t.width, t.height, K.winColor); + K.DrawRect(x, y, t.width, t.height - 1, K.winColor); + K.DrawLine(x, y + tabHeight - 1, x + t.width - 1 + 2*scrWidth*(1 - ORD(scroll)), y + tabHeight - 1, K.borderColor); item := List.getItem(t.strings, t.first); n := t.first; WHILE (item # NIL) & (x <= xmax) DO width := tabWidth(item(tItem)); IF x + width - 1 <= xmax THEN - drawTab(t, n, x, y, width, t.height, item(tItem).val) + drawTab(t, n, x + 1, y, width, t.height, item(tItem).val) END; INC(n); INC(x, width); @@ -195,7 +206,7 @@ PROCEDURE setArea* (t: tTabs; x, y, width, height: INTEGER); BEGIN t.x := x; t.y := y; - t.width := width; + t.width := width - 2*scrWidth; t.height := height END setArea; diff --git a/programs/develop/cedit/SRC/Text.ob07 b/programs/develop/cedit/SRC/Text.ob07 index adf0d60b67..52297e09f7 100644 --- a/programs/develop/cedit/SRC/Text.ob07 +++ b/programs/develop/cedit/SRC/Text.ob07 @@ -41,7 +41,7 @@ CONST mark_width = 2; pad_left = mark_width + 3; - pad_top = 1; + pad_top = 0; inter = 2; @@ -1422,6 +1422,36 @@ BEGIN END goto; +PROCEDURE toggleLabel* (text: tText); +BEGIN + text.curLine.label := ~text.curLine.label +END toggleLabel; + + +PROCEDURE gotoLabel* (text: tText; frw: BOOLEAN); +VAR + line: tLine; + n: INTEGER; +BEGIN + n := text.cursor.Y; + line := text.curLine; + IF frw THEN + REPEAT + line := line.next(tLine); + INC(n) + UNTIL (line = NIL) OR line.label + ELSE + REPEAT + line := line.prev(tLine); + DEC(n) + UNTIL (line = NIL) OR line.label + END; + IF line # NIL THEN + IF goto(text, n + 1) THEN END + END +END gotoLabel; + + PROCEDURE changeCase (text: tText; upper: BOOLEAN); VAR i: INTEGER; @@ -1826,13 +1856,13 @@ BEGIN G.SetColor(canvas, colors.back); G.clear(canvas); + wNum := charWidth; IF text.numbers THEN numWidth := U.lg10(text.count) + 2; - wNum := charWidth; xNum := numWidth*wNum - wNum DIV 2; setPadding(numWidth*wNum + pad_left, padding.top); ELSE - setPadding(pad_left, padding.top) + setPadding(pad_left + wNum*2, padding.top) END; getSelect(text, selBeg, selEnd); y := padding.top + inter DIV 2; @@ -1868,25 +1898,33 @@ BEGIN INC(n); INC(cnt) END; - IF text.numbers THEN - G.SetColor(canvas, colors.numback); - G.FillRect(canvas, 0, 0, padding.left - pad_left (*+ 1*), size.Y - 1); - SetColor(colors.numtext, colors.numback); - y := padding.top + inter DIV 2; - n := MIN(text.scroll.Y + textsize.Y + 1, text.count); - FOR i := text.scroll.Y + 1 TO n DO - IF (i MOD 10 = 0) OR (i - 1 = text.cursor.Y) THEN + G.SetColor(canvas, colors.numback); + G.FillRect(canvas, 0, 0, padding.left - pad_left (*+ 1*), size.Y - 1); + line := firstLine; + SetColor(colors.numtext, colors.numback); + y := padding.top + inter DIV 2; + n := MIN(text.scroll.Y + textsize.Y + 1, text.count); + FOR i := text.scroll.Y + 1 TO n DO + IF text.numbers THEN + IF (i MOD 10 = 0) OR (i - 1 = text.cursor.Y) OR line.label THEN U.int2str(i, s); - G.TextOut2(canvas, (numWidth - U.lg10(i) - 1)*wNum - wNum DIV 2, y, s, LENGTH(s)); + G.TextOut2(canvas, (numWidth - U.lg10(i) - 1)*wNum - wNum DIV 2, y, s, LENGTH(s)) ELSIF i MOD 5 = 0 THEN G.SetColor(canvas, colors.numtext); G.HLine(canvas, y - inter DIV 2 + charHeight DIV 2, xNum - wNum, xNum) ELSE G.SetColor(canvas, colors.numtext); G.HLine(canvas, y - inter DIV 2 + charHeight DIV 2, xNum - wNum DIV 2, xNum) - END; - INC(y, charHeight) - END + END + END; + IF line.label THEN + FOR x := wNum DIV 2 TO (padding.left - pad_left) - wNum DIV 2 DO + G.notVLine(canvas, x, y, y + charHeight - inter); + G.xorVLine(canvas, x, y, y + charHeight - inter) + END + END; + NextLine(line); + INC(y, charHeight) END; IF text.searchText # "" THEN @@ -1942,7 +1980,9 @@ BEGIN cursor(text) END; G.SetColor(canvas, K.borderColor); - G.Rect(canvas, 0, 0, size.X - 1, size.Y - 1); + G.HLine(canvas, size.Y - 1, 0, size.X - 1); + G.VLine(canvas, 0, 0, size.Y - 1); + G.VLine(canvas, size.X - 1, 0, size.Y - 1) END draw;