From efffea064427a6c03ccdbe57d11e19bb3dcc0c31 Mon Sep 17 00:00:00 2001 From: Anton Krotov Date: Wed, 8 Dec 2021 14:02:53 +0000 Subject: [PATCH] CEdit: bugfixes, added ctrl+E (select word), added c-- keywords, small GUI changes git-svn-id: svn://kolibrios.org@9410 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/develop/cedit/CEDIT | Bin 30072 -> 30123 bytes programs/develop/cedit/CEDIT.INI | 2 +- programs/develop/cedit/SHORTCUT.TXT | 1 + programs/develop/cedit/SRC/CEdit.ob07 | 109 +++++++++++++++----------- programs/develop/cedit/SRC/Tabs.ob07 | 28 +++++-- programs/develop/cedit/SRC/Text.ob07 | 1 - 6 files changed, 87 insertions(+), 54 deletions(-) diff --git a/programs/develop/cedit/CEDIT b/programs/develop/cedit/CEDIT index aeeb71db34bd92f6b4cd170b33e7629be5febe1d..67137b35d58ea561fa204a7fd850c41b08c00bf4 100644 GIT binary patch literal 30123 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

G<14q9T!8 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 diff --git a/programs/develop/cedit/CEDIT.INI b/programs/develop/cedit/CEDIT.INI index 5bad974dea..5590ce5147 100644 --- a/programs/develop/cedit/CEDIT.INI +++ b/programs/develop/cedit/CEDIT.INI @@ -54,7 +54,7 @@ KW2 = KW3 = [lang_C] -KW1 = auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,if,int,long,register,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,while +KW1 = auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,if,int,long,register,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,while,dword,byte,bool,NULL KW2 = define,error,include,elif,if,line,else,ifdef,pragma,endif,ifndef,undef KW3 = diff --git a/programs/develop/cedit/SHORTCUT.TXT b/programs/develop/cedit/SHORTCUT.TXT index 6f57671d73..a7e4a61e7c 100644 --- a/programs/develop/cedit/SHORTCUT.TXT +++ b/programs/develop/cedit/SHORTCUT.TXT @@ -21,6 +21,7 @@ ctrl+D дублировать строку ctrl+Up переместить строку вверх ctrl+Down переместить строку вниз + ctrl+E выделить слово Tab увеличить отступ для выделенного текста shift+ diff --git a/programs/develop/cedit/SRC/CEdit.ob07 b/programs/develop/cedit/SRC/CEdit.ob07 index e91de17c04..fda6a97039 100644 --- a/programs/develop/cedit/SRC/CEdit.ob07 +++ b/programs/develop/cedit/SRC/CEdit.ob07 @@ -28,7 +28,7 @@ IMPORT RW, Ini, EB := EditBox, Icons, Tabs, Timer; CONST - HEADER = "CEdit (27-nov-2021)"; + HEADER = "CEdit (08-dec-2021)"; ShellFilter = ""; EditFilter = "SH|INC|TXT|ASM|OB07|C|CPP|H|PAS|PP|LUA|INI|JSON"; @@ -393,21 +393,42 @@ BEGIN END toolbarIcons; -PROCEDURE WriteModified (x, y: INTEGER); +PROCEDURE getIdx (text: T.tText): INTEGER; +VAR + i: INTEGER; +BEGIN + i := 0; + WHILE texts[i] # text DO + INC(i) + END + RETURN i +END getIdx; + + +PROCEDURE MarkModified; BEGIN modified := text.modified; - K.DrawRect(x, TOP + canvas.height + scrollWidth, 8*fontWidth, BOTTOM - scrollWidth + 1, K.winColor); - IF modified THEN - K.DrawText866(x, y, K.textColor, "modified") - END -END WriteModified; + Tabs.modify(tabs, getIdx(text), modified) +END MarkModified; + + +PROCEDURE SetCaption (fileName: RW.tFileName); +VAR + header: RW.tFileName; +BEGIN + header := HEADER; + IF text.fileName # "" THEN + U.append8(header, " - "); + U.append8(header, text.fileName) + END; + K.SetCaption(header) +END SetCaption; PROCEDURE DrawState (text: T.tText; width, height: INTEGER); VAR y: INTEGER; s: ARRAY 24 OF WCHAR; - header: RW.tFileName; BEGIN eol := T.getEol(text); enc := T.getEnc(text); @@ -415,16 +436,11 @@ BEGIN U.append(s, RW.eolNames[eol]); U.append(s, 20X + 20X); U.append(s, E.names[enc]); - header := HEADER; - IF text.fileName # "" THEN - U.append8(header, " - "); - U.append8(header, text.fileName) - END; - K.SetCaption(header); + SetCaption(text.fileName); K.DrawRect(LEFT + 16*fontWidth, TOP + canvas.height + scrollWidth, width - (LEFT + 16*fontWidth), BOTTOM - scrollWidth + 1, K.winColor); y := height - (BOTTOM - scrollWidth) + (BOTTOM - scrollWidth - 16) DIV 2; - K.DrawText(width - (LENGTH(s) + 10)*fontWidth, y, K.textColor, s); - WriteModified(width - 8*fontWidth, y) + K.DrawText(width - LENGTH(s)*fontWidth, y, K.textColor, s); + MarkModified END DrawState; @@ -468,7 +484,7 @@ BEGIN IF (enc # T.getEnc(text)) OR (eol # T.getEol(text)) THEN DrawState(text, width, height) ELSIF modified # text.modified THEN - WriteModified(width - 8*fontWidth, y) + MarkModified END; T.getScroll(text, scrollX, scrollY); @@ -675,8 +691,13 @@ END OpenFile; PROCEDURE error (s: RW.tFileName); +VAR + temp: RW.tFileName; BEGIN - K.Run("/rd/1/@notify", s) + temp := "'CEdit: "; + U.append8(temp, s); + U.append8(temp, "' -E"); + K.Run("/rd/1/@notify", temp) END error; @@ -684,9 +705,8 @@ PROCEDURE saveError (name: RW.tFileName); VAR s: RW.tFileName; BEGIN - s := "'cedit: error saving file "; + s := "error saving file "; U.append8(s, name); - U.append8(s, "' -E"); error(s) END saveError; @@ -716,18 +736,6 @@ BEGIN END saveAs; -PROCEDURE getIdx (text: T.tText): INTEGER; -VAR - i: INTEGER; -BEGIN - i := 0; - WHILE texts[i] # text DO - INC(i) - END - RETURN i -END getIdx; - - PROCEDURE Switch (txt: T.tText); BEGIN Tabs.switch(tabs, curText); @@ -748,7 +756,8 @@ BEGIN curText := getIdx(text); Switch(text); saveAs(text) - END + END; + Tabs.modify(tabs, getIdx(text), text.modified) END END save; @@ -756,14 +765,18 @@ END save; PROCEDURE saveAll; VAR i: INTEGER; + txt: T.tText; BEGIN i := textsCount - 1; WHILE i >= 0 DO - IF texts[i].modified THEN - save(texts[i]) + txt := texts[i]; + IF txt.modified THEN + T.switch(txt); + save(txt) END; DEC(i) END; + T.switch(text) END saveAll; @@ -845,7 +858,7 @@ BEGIN T.SetPos(nov, 0, 0); insert(textsCount, nov) ELSE - error("'cedit: too many files' -E") + error("too many files") END END NewFile; @@ -901,7 +914,7 @@ BEGIN IF n = -1 THEN nov := T.open(fileName, err); IF nov = NIL THEN - error("'cedit: error opening file' -E") + error("error opening file") ELSE insert(textsCount, nov); T.SetPos(nov, 0, 0) @@ -911,7 +924,7 @@ BEGIN END END ELSE - error("'cedit: too many files' -E") + error("too many files") END END open; @@ -1050,9 +1063,9 @@ END Script; PROCEDURE ShowSearchPanel (goto: BOOLEAN); VAR i: INTEGER; - flag: BOOLEAN; + (*flag: BOOLEAN;*) BEGIN - flag := FALSE; + (*flag := FALSE;*) IF T.selected(text) & ~goto THEN T.getSelectedText(text, new_searchText); IF new_searchText # "" THEN @@ -1064,7 +1077,7 @@ BEGIN searchText := new_searchText; EB.setValue(FindEdit, searchText); notFound := ~T.search(text, searchText, cs, whole); - flag := TRUE + (*flag := TRUE*) END END END; @@ -1074,12 +1087,10 @@ BEGIN search := FALSE; Search END; - IF flag THEN - SetFocus(FindEdit, FALSE) - ELSIF goto THEN - SetFocus(GotoEdit, TRUE) + IF goto THEN + SetFocus(GotoEdit, TRUE) ELSE - SetFocus(FindEdit, TRUE) + SetFocus(FindEdit, (*~flag*)TRUE) END END ShowSearchPanel; @@ -1737,6 +1748,9 @@ BEGIN ELSIF (keyCode = 34) & ctrl THEN (* ctrl+G *) key := -1; ShowSearchPanel(TRUE) + ELSIF (keyCode = 18) & ctrl THEN (* ctrl+E *) + key := -1; + T.selectWord(text) ELSE IF EditBox_Focus(FindEdit) THEN IF keyCode = 15 THEN (* Tab *) @@ -2040,6 +2054,7 @@ BEGIN END; K.SetEventsMask({0, 1, 2, 5, 6, 31}) ELSE + SetCaption(text.fileName); K.SetEventsMask({0, 30, 31}) END; draw_window @@ -2138,7 +2153,7 @@ BEGIN ELSE text := T.open(fileName, err); IF text = NIL THEN - error("'cedit: error opening file' -E"); + error("error opening file"); K.Exit ELSE U.getPath(fileName, filePath) diff --git a/programs/develop/cedit/SRC/Tabs.ob07 b/programs/develop/cedit/SRC/Tabs.ob07 index ec13a844bf..94507160af 100644 --- a/programs/develop/cedit/SRC/Tabs.ob07 +++ b/programs/develop/cedit/SRC/Tabs.ob07 @@ -32,7 +32,8 @@ TYPE tItem = POINTER TO RECORD (List.tItem) - val: RW.tFileName + val: RW.tFileName; + modified: BOOLEAN END; @@ -46,7 +47,7 @@ TYPE END; -PROCEDURE drawTab (t: tTabs; id, x, y, width, height: INTEGER; s: ARRAY OF CHAR); +PROCEDURE drawTab (t: tTabs; id, x, y, width, height: INTEGER; s: ARRAY OF CHAR; modified: BOOLEAN); VAR x2, y2, color: INTEGER; BEGIN @@ -68,13 +69,17 @@ BEGIN 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, color, s); + + K.DrawText866bk(x + K.fontWidth + K.fontWidth DIV 2, y + (height - K.fontHeight) DIV 2, K.textColor, color, s); + IF modified THEN + K.DrawText866bk(x + K.fontWidth DIV 2, y + (height - K.fontHeight) DIV 2, K.textColor, color, "*") + END; K.CreateButton(id + ORD({30}) + btnID, x + 1, y - 1, width - 1, height - 1, color, ""); END drawTab; PROCEDURE tabWidth (tab: tItem): INTEGER; - RETURN (LENGTH(tab.val) + 2)*K.fontWidth + RETURN (LENGTH(tab.val) + 3)*K.fontWidth END tabWidth; @@ -135,7 +140,7 @@ BEGIN WHILE (item # NIL) & (x <= xmax) DO width := tabWidth(item(tItem)); IF x + width - 1 <= xmax THEN - drawTab(t, n, x + 1, y, width, t.height, item(tItem).val) + drawTab(t, n, x + 1, y, width, t.height, item(tItem).val, item(tItem).modified) END; INC(n); INC(x, width); @@ -150,10 +155,23 @@ VAR BEGIN NEW(item); item.val := s; + item.modified := FALSE; List.append(t.strings, item); END add; +PROCEDURE modify* (t: tTabs; n: INTEGER; val: BOOLEAN); +VAR + item: List.tItem; +BEGIN + item := List.getItem(t.strings, n); + IF item(tItem).modified # val THEN + item(tItem).modified := val; + draw(t) + END +END modify; + + PROCEDURE rename* (t: tTabs; n: INTEGER; s: ARRAY OF CHAR); VAR item: List.tItem; diff --git a/programs/develop/cedit/SRC/Text.ob07 b/programs/develop/cedit/SRC/Text.ob07 index 6a6cfaef96..4305a14a49 100644 --- a/programs/develop/cedit/SRC/Text.ob07 +++ b/programs/develop/cedit/SRC/Text.ob07 @@ -1834,7 +1834,6 @@ END wordSel; PROCEDURE getWordPos (line: tLine; pos: INTEGER): INTEGER; VAR c: WCHAR; - BEGIN c := getChar(line, pos); IF isWordChar(c) THEN