/programs/develop/cedit/CEDIT |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/programs/develop/cedit/CEDIT.INI |
---|
77,7 → 77,7 |
KW3 = |
[lang_Pascal] |
KW1 = AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,FILE,FOR,FUNCTION,GOTO,IF,IMPLEMENTATION,IN,INTERFACE,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,SHL,SHR,STRING,THEN,TO,TYPE,UNIT,UNTIL,USES,VAR,WHILE,WITH,XOR |
KW1 = and,array,begin,case,const,div,do,downto,else,end,file,for,function,goto,if,implementation,in,interface,label,mod,nil,not,of,or,packed,procedure,program,record,repeat,set,shl,shr,string,then,to,type,unit,until,uses,var,while,with,xor |
KW2 = |
KW3 = |
/programs/develop/cedit/SRC/CEdit.ob07 |
---|
24,11 → 24,11 |
U := Utils, Lines, Menu, List, |
G := Graph, T := Text, E := Encodings, |
CB := Clipboard, Languages, |
ChangeLog, Scroll, CheckBox, |
ChangeLog, Scroll, CheckBox, Icons, |
RW, Ini, EB := EditBox, Tabs, Toolbar, SB := StatusBar; |
CONST |
HEADER = "CEdit (21-jan-2023)"; |
HEADER = "CEdit (22-feb-2023)"; |
ShellFilter = ""; |
EditFilter = "SH|INC|TXT|ASM|OB07|C|CPP|H|PAS|PP|LUA|INI|JSON"; |
2149,20 → 2149,20 |
Shortcuts; |
Toolbar.create(toolbar, LEFT_PADDING + 5, toolbarTop); |
Toolbar.add(toolbar, btnNew, 2, ""); |
Toolbar.add(toolbar, btnOpen, 0, ""); |
Toolbar.add(toolbar, btnSave, 5, ""); |
Toolbar.add(toolbar, btnNew, Icons.icoNew, ""); |
Toolbar.add(toolbar, btnOpen, Icons.icoOpen, ""); |
Toolbar.add(toolbar, btnSave, Icons.icoSave, ""); |
Toolbar.delimiter(toolbar); |
Toolbar.add(toolbar, btnSearch, 49, ""); |
Toolbar.add(toolbar, btnSearch, Icons.icoSearch, ""); |
Toolbar.delimiter(toolbar); |
Toolbar.add(toolbar, btnUndo, 37, ""); |
Toolbar.add(toolbar, btnRedo, 36, ""); |
Toolbar.add(toolbar, btnUndo, Icons.icoUndo, ""); |
Toolbar.add(toolbar, btnRedo, Icons.icoRedo, ""); |
Toolbar.delimiter(toolbar); |
Toolbar.add(toolbar, btnUpper, -1, "AB"); |
Toolbar.add(toolbar, btnLower, -1, "ab"); |
Toolbar.delimiter(toolbar); |
Toolbar.add(toolbar, btnBuild, 54, ""); |
Toolbar.add(toolbar, btnRun, 53, ""); |
Toolbar.add(toolbar, btnBuild, Icons.icoBuild, ""); |
Toolbar.add(toolbar, btnRun, Icons.icoRun, ""); |
filePath := "/sys"; |
IF Args.argc = 1 THEN |
/programs/develop/cedit/SRC/ChangeLog.ob07 |
---|
1,5 → 1,5 |
(* |
Copyright 2021, 2022 Anton Krotov |
Copyright 2021-2023 Anton Krotov |
This file is part of CEdit. |
23,7 → 23,8 |
TYPE |
tIntItem = POINTER TO RECORD (List.tItem) |
adr, val: INTEGER |
cnt: INTEGER; |
adr, val: ARRAY 8 OF INTEGER |
END; |
tBoolItem = POINTER TO RECORD (List.tItem) |
33,11 → 34,13 |
END; |
tUntypedPtr = POINTER TO RECORD (List.tItem) |
p: INTEGER |
cnt: INTEGER; |
p: ARRAY 64 OF INTEGER |
END; |
tTypedPtr = POINTER TO RECORD (List.tItem) |
p: List.tItem |
cnt: INTEGER; |
p: ARRAY 64 OF List.tItem |
END; |
tGuard* = POINTER TO RECORD (List.tItem) |
45,7 → 48,7 |
END; |
tLog* = POINTER TO RECORD |
Log*, Pointers*: List.tList; |
Log*, TPointers, UPointers: List.tList; |
guard, first: tGuard; |
isLast: BOOLEAN |
END; |
103,9 → 106,13 |
PROCEDURE redo* (item: List.tItem); |
VAR |
i: INTEGER; |
BEGIN |
IF item IS tIntItem THEN |
SYSTEM.PUT(item(tIntItem).adr, item(tIntItem).val) |
FOR i := 0 TO item(tIntItem).cnt - 1 DO |
SYSTEM.PUT(item(tIntItem).adr[i], item(tIntItem).val[i]) |
END |
ELSIF item IS tBoolItem THEN |
SYSTEM.PUT(item(tBoolItem).adr, item(tBoolItem).val) |
END |
163,14 → 170,25 |
PROCEDURE changeWord (adrV, adrX: INTEGER); |
VAR |
item: tIntItem; |
cur: List.tItem; |
BEGIN |
NEW(item); |
item.adr := adrV; |
SYSTEM.GET(adrX, item.val); |
IF ~CL.isLast THEN |
clear(CL.guard) |
END; |
cur := CL.Log.last; |
WHILE (cur # NIL) & ~(cur IS tGuard) & ~(cur IS tIntItem) DO |
cur := cur.prev |
END; |
IF (cur IS tIntItem) & (cur(tIntItem).cnt < LEN(cur(tIntItem).adr)) THEN |
item := cur(tIntItem) |
ELSE |
NEW(item); |
item.cnt := 0; |
List.append(CL.Log, item) |
END; |
item.adr[item.cnt] := adrV; |
SYSTEM.GET(adrX, item.val[item.cnt]); |
INC(item.cnt) |
END changeWord; |
266,9 → 284,14 |
VAR |
item: tTypedPtr; |
BEGIN |
item := CL.TPointers.last(tTypedPtr); |
IF (item = NIL) OR (item.cnt = LEN(item.p)) THEN |
NEW(item); |
item.p := p; |
List.append(CL.Pointers, item) |
item.cnt := 0; |
List.append(CL.TPointers, item) |
END; |
item.p[item.cnt] := p; |
INC(item.cnt) |
END typedPtr; |
276,16 → 299,21 |
VAR |
item: tUntypedPtr; |
BEGIN |
item := CL.UPointers.last(tUntypedPtr); |
IF (item = NIL) OR (item.cnt = LEN(item.p)) THEN |
NEW(item); |
item.p := p; |
List.append(CL.Pointers, item) |
item.cnt := 0; |
List.append(CL.UPointers, item) |
END; |
item.p[item.cnt] := p; |
INC(item.cnt) |
END untypedPtr; |
PROCEDURE set* (_CL: tLog); |
PROCEDURE setLog* (_CL: tLog); |
BEGIN |
CL := _CL |
END set; |
END setLog; |
PROCEDURE create* (VAR maxLength: INTEGER): tLog; |
297,7 → 325,8 |
newLog.first := NIL; |
newLog.isLast := TRUE; |
newLog.Log := List.create(NIL); |
newLog.Pointers := List.create(NIL); |
newLog.TPointers := List.create(NIL); |
newLog.UPointers := List.create(NIL); |
CL := newLog; |
Lines.setMaxLength(maxLength) |
RETURN newLog |
307,7 → 336,7 |
PROCEDURE destroy* (VAR log: tLog); |
VAR |
item: List.tItem; |
res: INTEGER; |
res, i: INTEGER; |
BEGIN |
IF log # NIL THEN |
item := List.pop(log.Log); |
317,18 → 346,26 |
END; |
DISPOSE(log.Log); |
item := List.pop(log.Pointers); |
item := List.pop(log.TPointers); |
WHILE item # NIL DO |
IF item IS tUntypedPtr THEN |
res := API._DISPOSE(item(tUntypedPtr).p) |
ELSIF item IS tTypedPtr THEN |
DISPOSE(item(tTypedPtr).p) |
FOR i := 0 TO item(tTypedPtr).cnt - 1 DO |
DISPOSE(item(tTypedPtr).p[i]) |
END; |
DISPOSE(item); |
item := List.pop(log.Pointers) |
item := List.pop(log.TPointers) |
END; |
DISPOSE(log.Pointers); |
DISPOSE(log.TPointers); |
item := List.pop(log.UPointers); |
WHILE item # NIL DO |
FOR i := 0 TO item(tUntypedPtr).cnt - 1 DO |
res := API._DISPOSE(item(tUntypedPtr).p[i]) |
END; |
DISPOSE(item); |
item := List.pop(log.UPointers) |
END; |
DISPOSE(log.UPointers); |
DISPOSE(log) |
END |
END destroy; |
/programs/develop/cedit/SRC/Encodings.ob07 |
---|
1,5 → 1,5 |
(* |
Copyright 2021, 2022 Anton Krotov |
Copyright 2021-2023 Anton Krotov |
This file is part of CEdit. |
22,7 → 22,7 |
CONST |
CP866* = 0; CP1251* = 1; UTF8* = 2; UTF8BOM* = 3; (*UTF16LE* = 4;*) |
UNDEF* = -1; |
UNDEF* = ORD("?"); |
EOL_CRLF* = 0; EOL_LF* = 1; EOL_CR* = 2; |
CR = 0DX; LF = 0AX; |
35,7 → 35,7 |
VAR |
cp1251*, cp866*: CP; |
names*: ARRAY 4, 16 OF WCHAR; |
UNI*: ARRAY 65536, 2 OF INTEGER; |
UNI*: ARRAY 65536, 2 OF BYTE; |
eol*: ARRAY 3 OF tEOL; |
eolNames*: ARRAY 3, 16 OF WCHAR; |
117,13 → 117,9 |
UNI[i, CP1251] := UNDEF |
END; |
FOR i := 0 TO 255 DO |
IF cp1251[i] # UNDEF THEN |
UNI[cp1251[i], CP1251] := i |
END; |
IF cp866[i] # UNDEF THEN |
UNI[cp1251[i], CP1251] := i; |
UNI[cp866[i], CP866] := i |
END |
END |
END setUNI; |
/programs/develop/cedit/SRC/Graph.ob07 |
---|
268,7 → 268,7 |
CONST |
WCHAR_SIZE = 2; |
VAR |
color, i, ch: INTEGER; |
color, i: INTEGER; |
font: tFont; |
c: WCHAR; |
BEGIN |
299,12 → 299,7 |
c := 0X |
END; |
IF font = fonts[0] THEN |
ch := E.UNI[ORD(c), E.CP866]; |
IF ch = E.UNDEF THEN |
c := "?" |
ELSE |
c := WCHR(ch) |
END |
c := WCHR(E.UNI[ORD(c), E.CP866]) |
END; |
KOSAPI.sysfunc6(4, x*65536 + y, font.flags + color, SYSTEM.ADR(c), 1, canvas.bitmap - 8) |
END; |
/programs/develop/cedit/SRC/Icons.ob07 |
---|
26,36 → 26,23 |
fileName = "/sys/Icons16.png"; |
SIZE* = 18; |
VAR |
source: INTEGER; |
icoNew *= 0; |
icoOpen *= 1; |
icoSave *= 2; |
icoSearch *= 3; |
icoUndo *= 4; |
icoRedo *= 5; |
icoBuild *= 6; |
icoRun *= 7; |
(* |
PROCEDURE copy (src, dst: INTEGER); |
VAR |
src_width, src_height, |
dst_width, dst_height, |
src_data, dst_data: INTEGER; |
BEGIN |
LibImg.GetInf(src, src_width, src_height, src_data); |
LibImg.GetInf(dst, dst_width, dst_height, dst_data); |
ASSERT(src_width = dst_width); |
ASSERT(src_height = dst_height); |
SYSTEM.MOVE(src_data, dst_data, src_width*src_height*4) |
END copy; |
*) |
NumberOfIcons = 8; |
PROCEDURE [stdcall, "libimg.obj", ""] img_decode (data, size, options: INTEGER): INTEGER; END; |
PROCEDURE [stdcall, "Libimg.obj", ""] img_convert (src, dst, dst_type, flags, param: INTEGER): INTEGER; END; |
PROCEDURE [stdcall, "Libimg.obj", ""] img_destroy (img: INTEGER); END; |
PROCEDURE GetInf (img: INTEGER; VAR width, height, data: INTEGER); |
BEGIN |
SYSTEM.GET(img + 4, width); |
SYSTEM.GET(img + 8, height); |
SYSTEM.GET(img + 24, data); |
END GetInf; |
PROCEDURE GetImg (ptr, size: INTEGER): INTEGER; |
VAR |
image_data, dst, x, Type: INTEGER; |
90,22 → 77,28 |
PROCEDURE draw* (icons, n, x, y: INTEGER); |
VAR |
width, height, data: INTEGER; |
BEGIN |
GetInf(icons, width, height, data); |
KOSAPI.sysfunc7(65, data + SIZE*SIZE*4*n, SIZE*65536 + SIZE, x*65536 + y, 32, 0, 0) |
KOSAPI.sysfunc7(65, icons + SIZE*SIZE*4*n, SIZE*65536 + SIZE, x*65536 + y, 32, 0, 0) |
END draw; |
PROCEDURE copy (img: INTEGER; n: INTEGER; dst: INTEGER; m: INTEGER); |
VAR |
data: INTEGER; |
BEGIN |
SYSTEM.GET(img + 24, data); |
SYSTEM.MOVE(data + SIZE*SIZE*4*n, dst + SIZE*SIZE*4*m, SIZE*SIZE*4) |
END copy; |
PROCEDURE iconsBackColor (icons: INTEGER; BackColor: INTEGER); |
VAR |
width, height, data, x, y, pix: INTEGER; |
data, x, y, pix: INTEGER; |
b, g, r, gr: BYTE; |
BEGIN |
GetInf(icons, width, height, data); |
FOR y := 0 TO height - 1 DO |
FOR x := 0 TO width - 1 DO |
data := icons; |
FOR y := 0 TO SIZE*NumberOfIcons - 1 DO |
FOR x := 0 TO SIZE - 1 DO |
SYSTEM.GET32(data, pix); |
Graph.getRGB(pix, r, g, b); |
gr := (r + g + b) DIV 3; |
122,21 → 115,30 |
PROCEDURE get* (VAR icons, grayIcons: INTEGER; BackColor: INTEGER); |
VAR |
source: INTEGER; |
BEGIN |
IF source = 0 THEN |
source := load(); |
icons := load(); |
grayIcons := load(); |
IF source # 0 THEN |
icons := KOSAPI.malloc(SIZE*SIZE*4*NumberOfIcons*2); |
grayIcons := icons + SIZE*SIZE*4*NumberOfIcons; |
copy(source, 2, icons, icoNew); |
copy(source, 0, icons, icoOpen); |
copy(source, 5, icons, icoSave); |
copy(source, 49, icons, icoSearch); |
copy(source, 37, icons, icoUndo); |
copy(source, 36, icons, icoRedo); |
copy(source, 54, icons, icoBuild); |
copy(source, 53, icons, icoRun); |
img_destroy(source); |
source := 0; |
SYSTEM.MOVE(icons, grayIcons, SIZE*SIZE*4*NumberOfIcons); |
iconsBackColor(grayIcons, -1); |
iconsBackColor(grayIcons, BackColor); |
iconsBackColor(icons, BackColor) |
(*ELSE |
copy(source, icons); |
copy(source, grayIcons)*) |
END |
END get; |
BEGIN |
source := 0 |
END Icons. |
/programs/develop/cedit/SRC/Languages.ob07 |
---|
439,7 → 439,8 |
VAR |
s: ARRAY 16*1024 OF CHAR; |
key: ARRAY 4 OF CHAR; |
i: INTEGER; |
i, j, k: INTEGER; |
w: WCHAR; |
BEGIN |
FOR i := 0 TO LEN(delim) - 1 DO |
delim[i] := FALSE |
458,6 → 459,19 |
IF ~(lang IN csLang) THEN |
Utils.upcase(s) |
END; |
IF lang = langOberon THEN |
k := LENGTH(s); |
s[k] := ","; |
FOR j := 0 TO k - 1 DO |
s[j + k + 1] := s[j]; |
w := WCHR(ORD(s[j])); |
IF Utils.low(w) THEN |
s[j + k + 1] := CHR(ORD(w) MOD 256) |
END |
END; |
k := 2*k + 1; |
s[k] := 0X |
END; |
EnterKW(s, KW[i]) |
END |
END loadKW; |
/programs/develop/cedit/SRC/Menu.ob07 |
---|
1,5 → 1,5 |
(* |
Copyright 2021, 2022 Anton Krotov |
Copyright 2021-2023 Anton Krotov |
This file is part of CEdit. |
238,6 → 238,7 |
m.active := FALSE; |
resetTimer; |
m.tid := 0; |
G.destroy(m.canvas); |
K.Exit |
END exit; |
249,6 → 250,7 |
resetTimer |
END; |
m.tid := 0; |
G.destroy(m.canvas); |
K.Exit |
END escape; |
354,6 → 356,7 |
END; |
temp := m.tid; |
m.tid := 0; |
G.destroy(m.canvas); |
K.ExitID(temp); |
m.active := FALSE |
END |
509,6 → 512,7 |
IF m.parent # NIL THEN |
temp := m.parent.tid; |
m.parent.tid := 0; |
G.destroy(m.parent.canvas); |
K.ExitID(temp) |
END; |
exit(m) |
567,6 → 571,10 |
IF K.GetThreadSlot(TIDs[L]) = 0 THEN |
m.winX := x; |
m.winY := y; |
IF m.canvas = NIL THEN |
m.canvas := G.CreateCanvas(m.width + 1, m.height + 1); |
G.SetFont(m.canvas, m.font) |
END; |
SYSTEM.PUT(SYSTEM.ADR(stack[L][LEN(stack[0]) - 1]), m); |
m.tid := K.CreateThread(SYSTEM.ADR(window), stack[L]); |
TIDs[L] := m.tid |
678,8 → 686,8 |
m.width := maxLength*fontWidth + LEFT + RIGHT; |
m.height := items.count*itemHeight - 2; |
m.font := G.fonts[1]; |
m.canvas := G.CreateCanvas(m.width + 1, m.height + 1); |
G.SetFont(m.canvas, m.font) |
(* m.canvas := G.CreateCanvas(m.width + 1, m.height + 1); |
G.SetFont(m.canvas, m.font)*) |
RETURN m |
END create; |
/programs/develop/cedit/SRC/RW.ob07 |
---|
1,5 → 1,5 |
(* |
Copyright 2021, 2022 Anton Krotov |
Copyright 2021-2023 Anton Krotov |
This file is part of CEdit. |
136,7 → 136,7 |
END; |
IF n = -1 THEN |
code := E.UNDEF |
code := -1 |
END |
RETURN code |
244,7 → 244,7 |
text.cnt := cnt; |
text.pos := pos; |
WHILE (text.cnt > 0) & continue DO |
IF getCharUTF8(text) = E.UNDEF THEN |
IF getCharUTF8(text) = -1 THEN |
continue := FALSE |
END |
END; |
470,33 → 470,20 |
putByte(file, (code DIV 64) MOD 64 + 080H); |
putByte(file, code MOD 64 + 080H) |
ELSE |
putByte(file, ORD("?")) |
putByte(file, E.UNDEF) |
END |
END putCharUTF8; |
PROCEDURE putCharCP (file: tOutput; code, cp: INTEGER); |
VAR |
n: INTEGER; |
BEGIN |
n := E.UNI[code, cp]; |
IF n # E.UNDEF THEN |
putByte(file, n) |
ELSE |
putByte(file, ORD("?")) |
END |
END putCharCP; |
PROCEDURE putCharCP1251 (file: tOutput; code: INTEGER); |
BEGIN |
putCharCP(file, code, E.CP1251) |
putByte(file, E.UNI[code, E.CP1251]) |
END putCharCP1251; |
PROCEDURE putCharCP866 (file: tOutput; code: INTEGER); |
BEGIN |
putCharCP(file, code, E.CP866) |
putByte(file, E.UNI[code, E.CP866]) |
END putCharCP866; |
(* |
503,7 → 490,7 |
PROCEDURE putCharUTF16LE (file: tOutput; code: INTEGER); |
BEGIN |
IF ~((0 <= code) & (code <= 65535)) THEN |
code := ORD("?") |
code := E.UNDEF |
END; |
putByte(file, code MOD 256); |
putByte(file, code DIV 256) |
/programs/develop/cedit/SRC/Search.ob07 |
---|
1,5 → 1,5 |
(* |
Copyright 2021, 2022 Anton Krotov |
Copyright 2021-2023 Anton Krotov |
This file is part of CEdit. |
24,17 → 24,19 |
TYPE |
tBuffer* = CB.tBuffer; |
IdxTable* = ARRAY 65536, 2 OF INTEGER; |
tIdxTable = ARRAY 65536, 2 OF INTEGER; |
tPos* = POINTER TO RECORD (List.tItem) |
pos*: INTEGER |
END; |
VAR |
table: POINTER TO RECORD data: tIdxTable END; |
PROCEDURE index* (text: tBuffer; VAR table: IdxTable; cs: BOOLEAN): tBuffer; |
PROCEDURE _index (text: tBuffer; cs: BOOLEAN; VAR table: tIdxTable): tBuffer; |
VAR |
pChar, cnt, i: INTEGER; |
c: WCHAR; |
80,10 → 82,19 |
END |
RETURN res |
END _index; |
PROCEDURE index* (text: tBuffer; cs: BOOLEAN): tBuffer; |
BEGIN |
IF table = NIL THEN |
NEW(table) |
END |
RETURN _index(text, cs, table.data) |
END index; |
PROCEDURE find* (text: tBuffer; table: IdxTable; s: ARRAY OF WCHAR; whole: BOOLEAN; list: List.tList); |
PROCEDURE find* (text: tBuffer; s: ARRAY OF WCHAR; whole: BOOLEAN; list: List.tList); |
VAR |
k, pos, n, x, prev_item_pos: INTEGER; |
item: tPos; |
90,9 → 101,10 |
c1, c2: WCHAR; |
flag: BOOLEAN; |
BEGIN |
ASSERT(table # NIL); |
n := LENGTH(s); |
k := table[ORD(s[0]), 1]; |
pos := table[ORD(s[0]), 0]; |
k := table.data[ORD(s[0]), 1]; |
pos := table.data[ORD(s[0]), 0]; |
prev_item_pos := 0; |
WHILE k > 0 DO |
SYSTEM.GET(pos, x); |
105,7 → 117,8 |
c1 := 0X |
END; |
SYSTEM.GET(text.dataPtr + (x + n)*SYSTEM.SIZE(WCHAR), c2); |
flag := Utils.isLetter(c1) OR Utils.isLetter(c2) OR Utils.isDigit(c1) OR Utils.isDigit(c2) OR (c1 = "_") OR (c2 = "_") |
flag := Utils.isLetter(c1) OR Utils.isLetter(c2) OR Utils.isDigit(c1) OR Utils.isDigit(c2) OR |
(c1 = "_") OR (c2 = "_") |
END; |
IF ~flag & (x >= prev_item_pos) THEN |
prev_item_pos := x + n; |
120,4 → 133,14 |
END find; |
PROCEDURE close*; |
BEGIN |
IF table # NIL THEN |
DISPOSE(table) |
END |
END close; |
BEGIN |
table := NIL |
END Search. |
/programs/develop/cedit/SRC/Text.ob07 |
---|
100,7 → 100,6 |
size, textsize: tPoint; |
charWidth, charHeight: INTEGER; |
autoIndents*, lineNumbers*, autoBrackets*, trimSpace*: BOOLEAN; |
idxTable: Search.IdxTable; |
PROCEDURE setLang* (text: tText; lang: INTEGER); |
911,9 → 910,11 |
END; |
IF text.searchText # "" THEN |
plainText := plain(text); |
idxData := Search.index(plainText, idxTable, cs); |
Search.find(plainText, idxTable, text.searchText, whole, text.foundList); |
idxData := Search.index(plainText, cs); |
Search.find(plainText, text.searchText, whole, text.foundList); |
res := text.foundList.count > 0 |
ELSE |
Search.close |
END; |
CB.destroy(plainText); |
CB.destroy(idxData); |
2462,7 → 2463,7 |
PROCEDURE switch* (text: tText); |
BEGIN |
ChangeLog.set(text.chLog); |
ChangeLog.setLog(text.chLog); |
Lines.setMaxLength(text.maxLength); |
Lang.setCurLang(text.lang) |
END switch; |
/programs/develop/cedit/SRC/Toolbar.ob07 |
---|
1,5 → 1,5 |
(* |
Copyright 2021, 2022 Anton Krotov |
Copyright 2021-2023 Anton Krotov |
This file is part of CEdit. |
92,7 → 92,9 |
button: tButton; |
BEGIN |
setColors(toolbar); |
Icons.get(toolbar.icons, toolbar.grayIcons, toolbar.colors.back); |
IF (toolbar.icons = 0) OR (toolbar.grayIcons = 0) THEN |
Icons.get(toolbar.icons, toolbar.grayIcons, toolbar.colors.back) |
END; |
i := 0; |
WHILE i < toolbar.cnt DO |
button := toolbar.buttons[i]; |
160,7 → 162,9 |
toolbar.x := x; |
toolbar.y := y; |
toolbar.cnt := 0; |
toolbar.width := 0 |
toolbar.width := 0; |
toolbar.icons := 0; |
toolbar.grayIcons := 0; |
END create; |