forked from KolibriOS/kolibrios
CEDIT: new checkboxes
git-svn-id: svn://kolibrios.org@9182 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
3f871a7798
commit
4c7867ece9
Binary file not shown.
@ -24,11 +24,11 @@ IMPORT
|
|||||||
U := Utils, Lines, Menu, List,
|
U := Utils, Lines, Menu, List,
|
||||||
G := Graph, T := Text, E := Encodings,
|
G := Graph, T := Text, E := Encodings,
|
||||||
CB := Clipboard, Languages,
|
CB := Clipboard, Languages,
|
||||||
ChangeLog, Scroll,
|
ChangeLog, Scroll, CheckBox,
|
||||||
RW, Ini, box_lib, Icons, Tabs, Timer;
|
RW, Ini, box_lib, Icons, Tabs, Timer;
|
||||||
|
|
||||||
CONST
|
CONST
|
||||||
header = "CEdit (07-sep-2021)";
|
header = "CEdit (08-sep-2021)";
|
||||||
|
|
||||||
ShellFilter = "";
|
ShellFilter = "";
|
||||||
EditFilter = "SH|ASM|TXT|INC|OB07|C|CPP|H|PAS|PP|LUA|INI|JSON";
|
EditFilter = "SH|ASM|TXT|INC|OB07|C|CPP|H|PAS|PP|LUA|INI|JSON";
|
||||||
@ -199,7 +199,7 @@ VAR
|
|||||||
LEFT: INTEGER;
|
LEFT: INTEGER;
|
||||||
|
|
||||||
FindEdit, ReplaceEdit, GotoEdit: box_lib.edit_box;
|
FindEdit, ReplaceEdit, GotoEdit: box_lib.edit_box;
|
||||||
CS, WH, BKW: box_lib.checkbox;
|
CS, WH, BKW: CheckBox.tCheckBox;
|
||||||
|
|
||||||
new_searchText, searchText, replaceText, gotoText: T.tString;
|
new_searchText, searchText, replaceText, gotoText: T.tString;
|
||||||
cs, whole: BOOLEAN;
|
cs, whole: BOOLEAN;
|
||||||
@ -481,6 +481,11 @@ BEGIN
|
|||||||
T.getScroll(text, scrollX, scrollY);
|
T.getScroll(text, scrollX, scrollY);
|
||||||
DrawScroll(vScroll, LEFT + canvas.width, TOP - 1, scrollY, text.count - 1);
|
DrawScroll(vScroll, LEFT + canvas.width, TOP - 1, scrollY, text.count - 1);
|
||||||
DrawScroll(hScroll, LEFT, TOP + canvas.height, scrollX, text.maxLength);
|
DrawScroll(hScroll, LEFT, TOP + canvas.height, scrollX, text.maxLength);
|
||||||
|
IF search & searchOpened THEN
|
||||||
|
CheckBox.paint(BKW);
|
||||||
|
CheckBox.paint(CS);
|
||||||
|
CheckBox.paint(WH);
|
||||||
|
END;
|
||||||
|
|
||||||
G.DrawCanvas(canvas, LEFT, TOP);
|
G.DrawCanvas(canvas, LEFT, TOP);
|
||||||
NotFound;
|
NotFound;
|
||||||
@ -541,12 +546,12 @@ BEGIN
|
|||||||
K.DrawText866(left, top, K.textColor, "find");
|
K.DrawText866(left, top, K.textColor, "find");
|
||||||
K.DrawText866(left, top + 55, K.textColor, "replace with");
|
K.DrawText866(left, top + 55, K.textColor, "replace with");
|
||||||
K.DrawText866(left, top + 330, K.textColor, "go to line");
|
K.DrawText866(left, top + 330, K.textColor, "go to line");
|
||||||
BKW.top_s := BKW.top_s MOD 65536 + (top + 110) * 65536;
|
BKW.top := top + 110;
|
||||||
CS.top_s := CS.top_s MOD 65536 + (top + 140) * 65536;
|
BKW.left := left;
|
||||||
WH.top_s := WH.top_s MOD 65536 + (top + 170) * 65536;
|
CS.top := top + 140;
|
||||||
BKW.left_s := BKW.left_s MOD 65536 + left * 65536;
|
CS.left := left;
|
||||||
CS.left_s := CS.left_s MOD 65536 + left * 65536;
|
WH.top := top + 170;
|
||||||
WH.left_s := WH.left_s MOD 65536 + left * 65536;
|
WH.left := left;
|
||||||
FindEdit.top := top + 20;
|
FindEdit.top := top + 20;
|
||||||
ReplaceEdit.top := top + 75;
|
ReplaceEdit.top := top + 75;
|
||||||
GotoEdit.top := top + 350;
|
GotoEdit.top := top + 350;
|
||||||
@ -556,9 +561,6 @@ BEGIN
|
|||||||
box_lib.edit_box_draw(FindEdit);
|
box_lib.edit_box_draw(FindEdit);
|
||||||
box_lib.edit_box_draw(ReplaceEdit);
|
box_lib.edit_box_draw(ReplaceEdit);
|
||||||
box_lib.edit_box_draw(GotoEdit);
|
box_lib.edit_box_draw(GotoEdit);
|
||||||
box_lib.check_box_draw2(BKW); K.DrawText866(left + 20, top + 110, K.textColor, "backward");
|
|
||||||
box_lib.check_box_draw2(CS); K.DrawText866(left + 20, top + 140, K.textColor, "match case");
|
|
||||||
box_lib.check_box_draw2(WH); K.DrawText866(left + 20, top + 170, K.textColor, "whole word");
|
|
||||||
y := top + 200;
|
y := top + 200;
|
||||||
K.CreateButton(btnFindNext, left, y, btnWidth, btnHeight, K.btnColor, "next"); INC(y, btnHeight + 10);
|
K.CreateButton(btnFindNext, left, y, btnWidth, btnHeight, K.btnColor, "next"); INC(y, btnHeight + 10);
|
||||||
K.CreateButton(btnReplace, left, y, btnWidth, btnHeight, K.btnColor, "replace"); INC(y, btnHeight + 10);
|
K.CreateButton(btnReplace, left, y, btnWidth, btnHeight, K.btnColor, "replace"); INC(y, btnHeight + 10);
|
||||||
@ -992,9 +994,9 @@ BEGIN
|
|||||||
ReplaceEdit := createEdit(searchLeft, TOP + 20 + 55);
|
ReplaceEdit := createEdit(searchLeft, TOP + 20 + 55);
|
||||||
GotoEdit := createEdit(searchLeft, TOP + 20 + 330);
|
GotoEdit := createEdit(searchLeft, TOP + 20 + 330);
|
||||||
GotoEdit.flags := ORD(BITS(GotoEdit.flags) + BITS(8000H));
|
GotoEdit.flags := ORD(BITS(GotoEdit.flags) + BITS(8000H));
|
||||||
BKW := box_lib.kolibri_new_check_box(searchLeft, TOP + 90 + 20, 16, 16, "", 8*fontWidth + 4);
|
BKW := CheckBox.create("backward");
|
||||||
CS := box_lib.kolibri_new_check_box(searchLeft, TOP + 120 + 20, 16, 16, "", 10*fontWidth + 4);
|
CS := CheckBox.create("match case");
|
||||||
WH := box_lib.kolibri_new_check_box(searchLeft, TOP + 150 + 20, 16, 16, "", 10*fontWidth + 4);
|
WH := CheckBox.create("whole word");
|
||||||
END createSearchForm;
|
END createSearchForm;
|
||||||
|
|
||||||
|
|
||||||
@ -1048,6 +1050,11 @@ BEGIN
|
|||||||
T.scroll(text, 0, vScroll.value - scrollY);
|
T.scroll(text, 0, vScroll.value - scrollY);
|
||||||
repaint
|
repaint
|
||||||
END;
|
END;
|
||||||
|
IF search & searchOpened THEN
|
||||||
|
CheckBox.MouseDown(BKW, x + LEFT, y + TOP);
|
||||||
|
CheckBox.MouseDown(CS, x + LEFT, y + TOP);
|
||||||
|
CheckBox.MouseDown(WH, x + LEFT, y + TOP);
|
||||||
|
END;
|
||||||
IF (0 <= x) & (x < canvas.width) & (0 <= y) & (y < canvas.height) THEN
|
IF (0 <= x) & (x < canvas.width) & (0 <= y) & (y < canvas.height) THEN
|
||||||
leftButton := TRUE;
|
leftButton := TRUE;
|
||||||
SetFocus(FindEdit, FALSE);
|
SetFocus(FindEdit, FALSE);
|
||||||
@ -1065,7 +1072,10 @@ PROCEDURE LeftButtonUp;
|
|||||||
BEGIN
|
BEGIN
|
||||||
leftButton := FALSE;
|
leftButton := FALSE;
|
||||||
Scroll.MouseUp(hScroll);
|
Scroll.MouseUp(hScroll);
|
||||||
Scroll.MouseUp(vScroll)
|
Scroll.MouseUp(vScroll);
|
||||||
|
CheckBox.MouseUp(BKW);
|
||||||
|
CheckBox.MouseUp(CS);
|
||||||
|
CheckBox.MouseUp(WH);
|
||||||
END LeftButtonUp;
|
END LeftButtonUp;
|
||||||
|
|
||||||
|
|
||||||
@ -1201,32 +1211,32 @@ BEGIN
|
|||||||
CanvasToScreen(x, y)
|
CanvasToScreen(x, y)
|
||||||
END
|
END
|
||||||
ELSIF menu = menuEncoding THEN
|
ELSIF menu = menuEncoding THEN
|
||||||
Menu.setCheck(menu, menuUTF8BOM, ORD(text.enc = E.UTF8BOM)*2);
|
Menu.option(menu, menuUTF8BOM, text.enc = E.UTF8BOM);
|
||||||
Menu.setCheck(menu, menuUTF8, ORD(text.enc = E.UTF8)*2);
|
Menu.option(menu, menuUTF8, text.enc = E.UTF8);
|
||||||
Menu.setCheck(menu, menuCP866, ORD(text.enc = E.CP866)*2);
|
Menu.option(menu, menuCP866, text.enc = E.CP866);
|
||||||
Menu.setCheck(menu, menuWin1251, ORD(text.enc = E.W1251)*2);
|
Menu.option(menu, menuWin1251, text.enc = E.W1251);
|
||||||
INC(x, menuEncodingX)
|
INC(x, menuEncodingX)
|
||||||
ELSIF menu = menuEOL THEN
|
ELSIF menu = menuEOL THEN
|
||||||
Menu.setCheck(menu, menuCRLF, ORD(text.eol = RW.EOL_CRLF)*2);
|
Menu.option(menu, menuCRLF, text.eol = RW.EOL_CRLF);
|
||||||
Menu.setCheck(menu, menuLF, ORD(text.eol = RW.EOL_LF)*2);
|
Menu.option(menu, menuLF, text.eol = RW.EOL_LF);
|
||||||
Menu.setCheck(menu, menuCR, ORD(text.eol = RW.EOL_CR)*2);
|
Menu.option(menu, menuCR, text.eol = RW.EOL_CR);
|
||||||
INC(x, menuEOLX)
|
INC(x, menuEOLX)
|
||||||
ELSIF menu = menuView THEN
|
ELSIF menu = menuView THEN
|
||||||
Menu.setCheck(menu, menuNumbers, ORD(text.numbers));
|
Menu.check(menu, menuNumbers, text.numbers);
|
||||||
Menu.setCheck(menu, menuFontSize, ORD(font = font2));
|
Menu.check(menu, menuFontSize, font = font2);
|
||||||
FOR i := 0 TO Ini.sections.count - 1 DO
|
FOR i := 0 TO Ini.sections.count - 1 DO
|
||||||
Menu.setCheck(menu, menuColors + i, ORD(Ini.curSectionNum = i)*2)
|
Menu.option(menu, menuColors + i, Ini.curSectionNum = i)
|
||||||
END;
|
END;
|
||||||
INC(x, menuViewX)
|
INC(x, menuViewX)
|
||||||
ELSIF menu = menuSyntax THEN
|
ELSIF menu = menuSyntax THEN
|
||||||
Menu.setCheck(menu, menuNone, ORD(text.lang = Languages.langNone)*2);
|
Menu.option(menu, menuNone, text.lang = Languages.langNone);
|
||||||
Menu.setCheck(menu, menuC, ORD(text.lang = Languages.langC)*2);
|
Menu.option(menu, menuC, text.lang = Languages.langC);
|
||||||
Menu.setCheck(menu, menuFasm, ORD(text.lang = Languages.langFasm)*2);
|
Menu.option(menu, menuFasm, text.lang = Languages.langFasm);
|
||||||
Menu.setCheck(menu, menuIni, ORD(text.lang = Languages.langIni)*2);
|
Menu.option(menu, menuIni, text.lang = Languages.langIni);
|
||||||
Menu.setCheck(menu, menuJSON, ORD(text.lang = Languages.langJSON)*2);
|
Menu.option(menu, menuJSON, text.lang = Languages.langJSON);
|
||||||
Menu.setCheck(menu, menuLua, ORD(text.lang = Languages.langLua)*2);
|
Menu.option(menu, menuLua, text.lang = Languages.langLua);
|
||||||
Menu.setCheck(menu, menuOberon, ORD(text.lang = Languages.langOberon)*2);
|
Menu.option(menu, menuOberon, text.lang = Languages.langOberon);
|
||||||
Menu.setCheck(menu, menuPascal, ORD(text.lang = Languages.langPascal)*2);
|
Menu.option(menu, menuPascal, text.lang = Languages.langPascal);
|
||||||
INC(x, menuSyntaxX)
|
INC(x, menuSyntaxX)
|
||||||
ELSIF menu = menuProgram THEN
|
ELSIF menu = menuProgram THEN
|
||||||
Menu.setEnabled(menu, menuBuild, buildScript # "");
|
Menu.setEnabled(menu, menuBuild, buildScript # "");
|
||||||
@ -1352,10 +1362,10 @@ BEGIN
|
|||||||
ShowSearchPanel;
|
ShowSearchPanel;
|
||||||
SetFocus(FindEdit, TRUE)
|
SetFocus(FindEdit, TRUE)
|
||||||
|menuFindNext:
|
|menuFindNext:
|
||||||
notFound := ~T.findNext(text, box_lib.check_box_get_value(BKW));
|
notFound := ~T.findNext(text, BKW.value);
|
||||||
menuFindClicked := TRUE
|
menuFindClicked := TRUE
|
||||||
|menuFindPrev:
|
|menuFindPrev:
|
||||||
notFound := ~T.findNext(text, ~box_lib.check_box_get_value(BKW));
|
notFound := ~T.findNext(text, ~BKW.value);
|
||||||
menuFindClicked := TRUE
|
menuFindClicked := TRUE
|
||||||
|menuGoto:
|
|menuGoto:
|
||||||
ShowSearchPanel;
|
ShowSearchPanel;
|
||||||
@ -1731,9 +1741,9 @@ BEGIN
|
|||||||
key := -1;
|
key := -1;
|
||||||
IF search & (searchText # "") THEN
|
IF search & (searchText # "") THEN
|
||||||
IF shift THEN
|
IF shift THEN
|
||||||
notFound := ~T.findNext(text, ~box_lib.check_box_get_value(BKW))
|
notFound := ~T.findNext(text, ~BKW.value)
|
||||||
ELSE
|
ELSE
|
||||||
notFound := ~T.findNext(text, box_lib.check_box_get_value(BKW))
|
notFound := ~T.findNext(text, BKW.value)
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
ELSIF keyCode = 60 THEN (* F2 *)
|
ELSIF keyCode = 60 THEN (* F2 *)
|
||||||
@ -1945,7 +1955,7 @@ BEGIN
|
|||||||
Script(runScript)
|
Script(runScript)
|
||||||
|btnFindNext:
|
|btnFindNext:
|
||||||
IF searchText # "" THEN
|
IF searchText # "" THEN
|
||||||
notFound := ~T.findNext(text, box_lib.check_box_get_value(BKW));
|
notFound := ~T.findNext(text, BKW.value);
|
||||||
repaint
|
repaint
|
||||||
END
|
END
|
||||||
|btnReplace:
|
|btnReplace:
|
||||||
@ -2033,6 +2043,11 @@ BEGIN
|
|||||||
IF ~vScroll.mouse THEN
|
IF ~vScroll.mouse THEN
|
||||||
Scroll.MouseDown(vScroll, x + LEFT, y + TOP)
|
Scroll.MouseDown(vScroll, x + LEFT, y + TOP)
|
||||||
END;
|
END;
|
||||||
|
IF search & searchOpened THEN
|
||||||
|
CheckBox.MouseDown(BKW, x + LEFT, y + TOP);
|
||||||
|
CheckBox.MouseDown(CS, x + LEFT, y + TOP);
|
||||||
|
CheckBox.MouseDown(WH, x + LEFT, y + TOP);
|
||||||
|
END;
|
||||||
IF (ABS(x - firstClickX) < 5) & (ABS(y - firstClickY) < 5) THEN
|
IF (ABS(x - firstClickX) < 5) & (ABS(y - firstClickY) < 5) THEN
|
||||||
IF (0 <= x) & (x < canvas.width) & (0 <= y) & (y < canvas.height) THEN
|
IF (0 <= x) & (x < canvas.width) & (0 <= y) & (y < canvas.height) THEN
|
||||||
leftButton := FALSE;
|
leftButton := FALSE;
|
||||||
@ -2050,15 +2065,12 @@ BEGIN
|
|||||||
EditBox(FindEdit);
|
EditBox(FindEdit);
|
||||||
EditBox(ReplaceEdit);
|
EditBox(ReplaceEdit);
|
||||||
EditBox(GotoEdit);
|
EditBox(GotoEdit);
|
||||||
box_lib.check_box_mouse2(CS);
|
IF CS.value # cs THEN
|
||||||
box_lib.check_box_mouse2(WH);
|
|
||||||
box_lib.check_box_mouse2(BKW);
|
|
||||||
IF box_lib.check_box_get_value(CS) # cs THEN
|
|
||||||
cs := ~cs;
|
cs := ~cs;
|
||||||
notFound := ~T.search(text, searchText, cs, whole);
|
notFound := ~T.search(text, searchText, cs, whole);
|
||||||
repaint
|
repaint
|
||||||
END;
|
END;
|
||||||
IF box_lib.check_box_get_value(WH) # whole THEN
|
IF WH.value # whole THEN
|
||||||
whole := ~whole;
|
whole := ~whole;
|
||||||
notFound := ~T.search(text, searchText, cs, whole);
|
notFound := ~T.search(text, searchText, cs, whole);
|
||||||
repaint
|
repaint
|
||||||
|
119
programs/develop/cedit/SRC/CheckBox.ob07
Normal file
119
programs/develop/cedit/SRC/CheckBox.ob07
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
(*
|
||||||
|
Copyright 2021 Anton Krotov
|
||||||
|
|
||||||
|
This file is part of CEdit.
|
||||||
|
|
||||||
|
CEdit is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
CEdit is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with CEdit. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*)
|
||||||
|
|
||||||
|
MODULE CheckBox;
|
||||||
|
|
||||||
|
IMPORT G := Graph, K := KolibriOS;
|
||||||
|
|
||||||
|
CONST
|
||||||
|
padding = 4;
|
||||||
|
|
||||||
|
TYPE
|
||||||
|
tCheckBox* = POINTER TO RECORD
|
||||||
|
|
||||||
|
left*, top*: INTEGER;
|
||||||
|
width, height: INTEGER;
|
||||||
|
value*, mouse*: BOOLEAN;
|
||||||
|
text: ARRAY 32 OF WCHAR;
|
||||||
|
canvas: G.tCanvas
|
||||||
|
|
||||||
|
END;
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE mark (canvas: G.tCanvas);
|
||||||
|
BEGIN
|
||||||
|
G.DLine(canvas, 2, 6, 6, -1);
|
||||||
|
G.DLine(canvas, 2, 6, 7, -1);
|
||||||
|
G.DLine(canvas, 7, 13, 9, 1);
|
||||||
|
G.DLine(canvas, 7, 13, 10, 1);
|
||||||
|
END mark;
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE paint* (chkbox: tCheckBox);
|
||||||
|
VAR
|
||||||
|
canvas: G.tCanvas;
|
||||||
|
fontHeight: INTEGER;
|
||||||
|
BEGIN
|
||||||
|
canvas := chkbox.canvas;
|
||||||
|
fontHeight := canvas.font.height - 1;
|
||||||
|
G.SetColor(canvas, K.winColor);
|
||||||
|
G.clear(canvas);
|
||||||
|
G.SetColor(canvas, 0FFFFFFH);
|
||||||
|
G.FillRect(canvas, 0, 0, fontHeight, fontHeight);
|
||||||
|
G.SetColor(canvas, K.borderColor);
|
||||||
|
G.Rect(canvas, 0, 0, fontHeight, fontHeight);
|
||||||
|
IF chkbox.value THEN
|
||||||
|
G.SetColor(canvas, 0008000H);
|
||||||
|
mark(canvas)
|
||||||
|
END;
|
||||||
|
G.SetTextColor(canvas, K.textColor);
|
||||||
|
G.SetBkColor(canvas, K.winColor);
|
||||||
|
G.TextOut2(canvas, canvas.font.height + padding, 0, chkbox.text, LENGTH(chkbox.text));
|
||||||
|
G.DrawCanvas(canvas, chkbox.left, chkbox.top)
|
||||||
|
END paint;
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE create* (text: ARRAY OF WCHAR): tCheckBox;
|
||||||
|
VAR
|
||||||
|
res: tCheckBox;
|
||||||
|
font: G.tFont;
|
||||||
|
BEGIN
|
||||||
|
font := G.CreateFont(1, "", {});
|
||||||
|
NEW(res);
|
||||||
|
res.left := 0;
|
||||||
|
res.top := 0;
|
||||||
|
res.value := FALSE;
|
||||||
|
res.mouse := FALSE;
|
||||||
|
COPY(text, res.text);
|
||||||
|
res.canvas := G.CreateCanvas(font.height + padding + LENGTH(res.text)*font.width, font.height + 1);
|
||||||
|
G.SetFont(res.canvas, font);
|
||||||
|
res.width := res.canvas.width;
|
||||||
|
res.height := res.canvas.height;
|
||||||
|
RETURN res
|
||||||
|
END create;
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE between (a, b, c: INTEGER): BOOLEAN;
|
||||||
|
RETURN (a <= b) & (b <= c)
|
||||||
|
END between;
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE MouseDown* (chkbox: tCheckBox; x, y: INTEGER);
|
||||||
|
BEGIN
|
||||||
|
IF (chkbox # NIL) & ~chkbox.mouse THEN
|
||||||
|
DEC(x, chkbox.left);
|
||||||
|
DEC(y, chkbox.top);
|
||||||
|
chkbox.mouse := TRUE;
|
||||||
|
IF between(0, x, chkbox.width) & between(0, y, chkbox.height) THEN
|
||||||
|
chkbox.value := ~chkbox.value;
|
||||||
|
END;
|
||||||
|
paint(chkbox)
|
||||||
|
END
|
||||||
|
END MouseDown;
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE MouseUp* (chkbox: tCheckBox);
|
||||||
|
BEGIN
|
||||||
|
IF chkbox # NIL THEN
|
||||||
|
chkbox.mouse := FALSE
|
||||||
|
END
|
||||||
|
END MouseUp;
|
||||||
|
|
||||||
|
|
||||||
|
END CheckBox.
|
@ -420,15 +420,26 @@ BEGIN
|
|||||||
END setEnabled;
|
END setEnabled;
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE setCheck* (m: tMenu; id: INTEGER; value: INTEGER);
|
PROCEDURE check* (m: tMenu; id: INTEGER; value: BOOLEAN);
|
||||||
VAR
|
VAR
|
||||||
item: tItem;
|
item: tItem;
|
||||||
BEGIN
|
BEGIN
|
||||||
item := getItem(m, id);
|
item := getItem(m, id);
|
||||||
IF item # NIL THEN
|
IF item # NIL THEN
|
||||||
item.check := value
|
item.check := ORD(value)
|
||||||
END
|
END
|
||||||
END setCheck;
|
END check;
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE option* (m: tMenu; id: INTEGER; value: BOOLEAN);
|
||||||
|
VAR
|
||||||
|
item: tItem;
|
||||||
|
BEGIN
|
||||||
|
item := getItem(m, id);
|
||||||
|
IF item # NIL THEN
|
||||||
|
item.check := ORD(value)*2
|
||||||
|
END
|
||||||
|
END option;
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE isEnabled* (m: tMenu; id: INTEGER): BOOLEAN;
|
PROCEDURE isEnabled* (m: tMenu; id: INTEGER): BOOLEAN;
|
||||||
|
@ -311,8 +311,8 @@ PROCEDURE MouseDown* (VAR scroll: tScroll; x, y: INTEGER);
|
|||||||
VAR
|
VAR
|
||||||
c, size: INTEGER;
|
c, size: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
x := x - scroll.left;
|
DEC(x, scroll.left);
|
||||||
y := y - scroll.top;
|
DEC(y, scroll.top);
|
||||||
scroll.mouse := TRUE;
|
scroll.mouse := TRUE;
|
||||||
IF between(1, x, scroll.width - 2) & between(1, y, scroll.height - 2) THEN
|
IF between(1, x, scroll.width - 2) & between(1, y, scroll.height - 2) THEN
|
||||||
IF scroll.vertical THEN
|
IF scroll.vertical THEN
|
||||||
|
Loading…
Reference in New Issue
Block a user