Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9409 → Rev 9410

/programs/develop/cedit/SRC/CEdit.ob07
28,7 → 28,7
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
END toolbarIcons;
 
 
PROCEDURE WriteModified (x, y: INTEGER);
PROCEDURE getIdx (text: T.tText): INTEGER;
VAR
i: INTEGER;
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")
i := 0;
WHILE texts[i] # text DO
INC(i)
END
END WriteModified;
RETURN i
END getIdx;
 
 
PROCEDURE MarkModified;
BEGIN
modified := text.modified;
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
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
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
 
 
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
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
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,8 → 756,9
curText := getIdx(text);
Switch(text);
saveAs(text)
END;
Tabs.modify(tabs, getIdx(text), text.modified)
END
END
END save;
 
 
756,14 → 765,18
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
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
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
END
END
ELSE
error("'cedit: too many files' -E")
error("too many files")
END
END open;
 
1050,9 → 1063,9
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
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
search := FALSE;
Search
END;
IF flag THEN
SetFocus(FindEdit, FALSE)
ELSIF goto THEN
IF goto THEN
SetFocus(GotoEdit, TRUE)
ELSE
SetFocus(FindEdit, TRUE)
SetFocus(FindEdit, (*~flag*)TRUE)
END
END ShowSearchPanel;
 
1737,6 → 1748,9
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
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
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)