Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9209 → Rev 9210

/programs/develop/cedit/SRC/CEdit.ob07
28,10 → 28,10
RW, Ini, EB := EditBox, Icons, Tabs, Timer;
 
CONST
header = "CEdit (28-sep-2021)";
HEADER = "CEdit (03-oct-2021)";
 
ShellFilter = "";
EditFilter = "SH|ASM|TXT|INC|OB07|C|CPP|H|PAS|PP|LUA|INI|JSON";
EditFilter = "SH|INC|TXT|ASM|OB07|C|CPP|H|PAS|PP|LUA|INI|JSON";
 
fontWidth = K.fontWidth;
fontHeight = K.fontHeight;
51,14 → 51,14
 
btnYes = 40;
btnNo = 41;
btnFindNext = 60;
btnReplace = 61;
btnReplaceAll = 62;
btnGoto = 63;
btnCloseSearch = 64;
btnHideSearch = 65;
btnFindNext = 42;
btnReplace = 43;
btnReplaceAll = 44;
btnGoto = 45;
btnCloseSearch = 46;
btnHideSearch = 47;
 
mainMenuBtn = 70;
mainMenuBtn = 60;
 
btnHeight = 25;
btnWidth = 75;
184,10 → 184,10
 
switch, closing: BOOLEAN;
leftButton: BOOLEAN;
hScroll, vScroll: Scroll.tScroll;
LEFT: INTEGER;
 
FindEdit, ReplaceEdit, GotoEdit: EB.tEditBox;
hScroll, vScroll: Scroll.tScroll;
CS, WH, BKW: CheckBox.tCheckBox;
 
new_searchText, searchText, replaceText, gotoText: T.tString;
226,14 → 226,7
 
 
PROCEDURE EditBox_Focus (edit: EB.tEditBox): BOOLEAN;
VAR
res: BOOLEAN;
BEGIN
res := FALSE;
IF edit # NIL THEN
res := 1 IN edit.flags
END
RETURN res
RETURN 1 IN edit.flags
END EditBox_Focus;
 
 
249,7 → 242,7
END resetTimer;
 
 
PROCEDURE EditBox_SetFocus (edit: EB.tEditBox; value: BOOLEAN);
PROCEDURE EditBox_SetFocus (VAR edit: EB.tEditBox; value: BOOLEAN);
BEGIN
IF value THEN
INCL(edit.flags, 1)
262,7 → 255,7
END EditBox_SetFocus;
 
 
PROCEDURE SetFocus (edit: EB.tEditBox; value: BOOLEAN);
PROCEDURE SetFocus (VAR edit: EB.tEditBox; value: BOOLEAN);
BEGIN
EditBox_SetFocus(FindEdit, FALSE);
EditBox_SetFocus(ReplaceEdit, FALSE);
413,17 → 406,21
VAR
y: INTEGER;
s: ARRAY 24 OF WCHAR;
header: RW.tFileName;
BEGIN
y := (btnHeight - fontHeight) DIV 2 + btnTop;
s := "";
U.append(s, RW.eolNames[text.eol]);
U.append(s, 20X);
U.append(s, 20X + 20X);
U.append(s, E.names[text.enc]);
K.DrawRect(width - LEN(s)*fontWidth, y, LEN(s)*fontWidth, fontHeight, K.winColor);
K.DrawText(width - LENGTH(s)*fontWidth, y, K.textColor, s);
header := HEADER;
IF text.fileName # "" THEN
U.append8(header, " - ");
U.append8(header, text.fileName)
END;
K.SetCaption(header);
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.DrawRect(LEFT + 16*fontWidth, TOP + canvas.height + scrollWidth, width - LEFT - 24*fontWidth, BOTTOM - scrollWidth + 1, K.winColor);
K.DrawText866(LEFT + 16*fontWidth, y, K.textColor, text.fileName);
K.DrawText(width - (LENGTH(s) + 10)*fontWidth, y, K.textColor, s);
WriteModified(width - 8*fontWidth, y)
END DrawState;
 
576,7 → 573,7
 
BEGIN
K.BeginDraw;
K.CreateWindow(30 + K.GetTickCount() MOD 128, 30 + K.GetTickCount() MOD 128, winWidth, winHeight, K.winColor, 73H, 0, 0, header);
K.CreateWindow(30 + K.GetTickCount() MOD 128, 30 + K.GetTickCount() MOD 128, winWidth, winHeight, K.winColor, 73H, 0, 0, "");
IF (text # NIL) & ~K.RolledUp() THEN
IF confirm THEN
resetTimer
698,16 → 695,7
U.getFileName(text.fileName, OD.FileName, U.SLASH);
IF OD.FileName = "" THEN
OD.FileName := "NewFile.";
CASE text.lang OF
|Languages.langText: ext := "txt"
|Languages.langC: ext := "c"
|Languages.langFasm: ext := "asm"
|Languages.langIni: ext := "ini"
|Languages.langJSON: ext := "json"
|Languages.langLua: ext := "lua"
|Languages.langOberon: ext := "ob07"
|Languages.langPascal: ext := "pas"
END;
Languages.getExt(text.lang, ext);
U.append8(OD.FileName, ext)
END;
OpenFile(fileName, EditFilter);
923,26 → 911,11
END open;
 
 
PROCEDURE createEdit (left, top: INTEGER): EB.tEditBox;
VAR
edit, EditBox0: EB.tEditBox;
BEGIN
NEW(EditBox0);
EditBox0.text := K.malloc(EDITBOX_MAXCHARS + 2);
ASSERT(EditBox0.text # 0);
edit := EB.create(left, top, EditBox_Width, EDITBOX_MAXCHARS, EditBox0);
edit.flags := {1, 14};
edit.text_color := 30000000H;
EditBox_SetFocus(edit, FALSE)
RETURN edit
END createEdit;
 
 
PROCEDURE createSearchForm;
BEGIN
FindEdit := createEdit(searchLeft, TOP + 20);
ReplaceEdit := createEdit(searchLeft, TOP + 20 + 55);
GotoEdit := createEdit(searchLeft, TOP + 20 + 330);
EB.create(searchLeft, TOP + 20, EditBox_Width, EDITBOX_MAXCHARS, FindEdit);
EB.create(searchLeft, TOP + 20 + 55, EditBox_Width, EDITBOX_MAXCHARS, ReplaceEdit);
EB.create(searchLeft, TOP + 20 + 330, EditBox_Width, EDITBOX_MAXCHARS, GotoEdit);
INCL(GotoEdit.flags, 15);
CheckBox.create("backward", BKW);
CheckBox.create("match case", CS);
1041,8 → 1014,12
 
 
PROCEDURE MenuItemClick (menu: Menu.tMenu; id: INTEGER);
VAR
msg: ARRAY 2 OF INTEGER;
BEGIN
K.SendIPC(mainTID, id)
msg[0] := id;
msg[1] := 8;
K.SendIPC(mainTID, msg)
END MenuItemClick;
 
 
1940,9 → 1917,10
VAR
msState: SET;
scroll, x, y, scrollX, scrollY: INTEGER;
pos1, pos2: T.tPoint;
 
 
PROCEDURE EditBox (eb: EB.tEditBox);
PROCEDURE EditBox (VAR eb: EB.tEditBox);
VAR
focus: BOOLEAN;
BEGIN
1969,10 → 1947,14
END;
IF leftButton THEN
IF K.GetTickCount() - time >= DELAY THEN
T.getPos(text, pos1.Y, pos1.X);
mouse(x, y);
T.mouse(text, x, y);
T.getPos(text, pos2.Y, pos2.X);
IF (pos1.X # pos2.X) OR (pos1.Y # pos2.Y) THEN
repaint
END
END
END;
 
Scroll.mouse(hScroll);