From ae0fe17afddc2f958128a77b95cef1ce598b2a2b Mon Sep 17 00:00:00 2001 From: Anton Krotov Date: Fri, 25 Feb 2022 14:34:18 +0000 Subject: [PATCH] CEdit: close buttons on tabs, highlighting main menu items git-svn-id: svn://kolibrios.org@9730 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/develop/cedit/CEDIT | Bin 32175 -> 32578 bytes programs/develop/cedit/SRC/CEdit.ob07 | 81 ++++++++++++++++------ programs/develop/cedit/SRC/KolibriOS.ob07 | 12 ++++ programs/develop/cedit/SRC/Menu.ob07 | 70 +++++++++++++++---- programs/develop/cedit/SRC/Tabs.ob07 | 23 +++++- 5 files changed, 146 insertions(+), 40 deletions(-) diff --git a/programs/develop/cedit/CEDIT b/programs/develop/cedit/CEDIT index 69e82803cb9d87e5596f3091df858ea3d2a8d367..27aa7445cdf777eec5e70d284342fc24eb41e6b6 100644 GIT binary patch literal 32578 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 866"); Menu.AddMenuItem(menu, menuConv866_1251, "convert 866 >> 1251"); - RETURN Menu.create(menu) + Menu.delimiter(menu); + Menu.AddMenuItem(menu, menuEOL, "EOL"); + Menu.child(menu, subEOL); + RETURN Menu.create(menu, mainTID) END CreateMenuEncoding; @@ -1432,7 +1434,7 @@ BEGIN Menu.AddMenuItem(menu, menuCRLF, E.eolNames[E.EOL_CRLF]); Menu.AddMenuItem(menu, menuLF, E.eolNames[E.EOL_LF]); Menu.AddMenuItem(menu, menuCR, E.eolNames[E.EOL_CR]); - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuEOL; @@ -1456,7 +1458,7 @@ BEGIN colors := colors.next(Ini.tSection) END; - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuView; @@ -1474,7 +1476,7 @@ BEGIN Menu.AddMenuItem(menu, menuPascal, "Pascal"); Menu.delimiter(menu); Menu.AddMenuItem(menu, menuText, "Text"); - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuLanguage; @@ -1493,7 +1495,7 @@ BEGIN Menu.AddMenuItem(menu, menuDebugScript, "script"); Menu.delimiter(menu); Menu.AddMenuItem(menu, menuFASM, "Fasm"); - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuProgram; @@ -1506,7 +1508,7 @@ BEGIN Menu.AddMenuItem(menu, menuMagnify, "magnify"); Menu.AddMenuItem(menu, menuBoard, "board"); Menu.AddMenuItem(menu, menuSysFunc, "system functions"); - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuTools; @@ -1519,7 +1521,7 @@ BEGIN Menu.AddMenuItem(menu, menuAutoIndents, "automatic indents"); Menu.AddMenuItem(menu, menuAutoBrackets, "automatic brackets"); Menu.AddMenuItem(menu, menuTrimSpace, "trim trailing space"); - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuOptions; @@ -1532,7 +1534,7 @@ BEGIN Menu.AddMenuItem(menu, menuMoveDown, "move down ctrl-Down"); Menu.AddMenuItem(menu, menuDuplicate, "duplicate ctrl-D"); Menu.AddMenuItem(menu, menuRemove, "remove ctrl-Del"); - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuCurLine; @@ -1543,7 +1545,7 @@ BEGIN menu := List.create(NIL); Menu.AddMenuItem(menu, menuIncInd, "increase Tab"); Menu.AddMenuItem(menu, menuDecInd, "decrease shift-Bksp"); - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuIndent; @@ -1554,7 +1556,7 @@ BEGIN menu := List.create(NIL); Menu.AddMenuItem(menu, menuUpper, "UPPER ctrl-U"); Menu.AddMenuItem(menu, menuLower, "lower ctrl-L"); - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuCase; @@ -1566,7 +1568,7 @@ BEGIN Menu.AddMenuItem(menu, menuToggleBookmark, "toggle ctrl-F2"); Menu.AddMenuItem(menu, menuNextBookmark, "next F2"); Menu.AddMenuItem(menu, menuPrevBookmark, "previous shift-F2"); - RETURN Menu.create(menu) + RETURN Menu.create(menu, mainTID) END CreateMenuBookmark; @@ -1797,6 +1799,16 @@ BEGIN SwitchTab(btn) END; btn := 0 + ELSIF U.between(Tabs.btnClose, btn, Tabs.btnClose + maxTexts - 1) THEN + DEC(btn, Tabs.btnClose); + IF ~middle THEN + IF texts[btn].modified THEN + SwitchTab(btn) + END; + closeFile(TRUE, btn); + middle := TRUE + END; + btn := 0 ELSE IF middle THEN btn := 0 @@ -1959,6 +1971,10 @@ BEGIN firstClickY := y; time := click(firstClickX, firstClickY) END + END; + IF msState = {} THEN + mouse(x, y); + Menu.MouseMove(mainMenu, x + LEFT, y + TOP) END END; IF search & searchOpened THEN @@ -2022,6 +2038,20 @@ BEGIN END ScrollChange; +PROCEDURE receiveIPC; +VAR + x, y, cliX, cliY, winX, winY: INTEGER; +BEGIN + K.ClientPos(cliX, cliY); + K.WinPos(winX, winY); + x := IPC[2] DIV 65536 - cliX - winX; + y := IPC[2] MOD 65536 - cliY - winY; + Menu.MouseMove(mainMenu, x, y); + IPC[1] := 0; + IPC[0] := 0 +END receiveIPC; + + PROCEDURE main; VAR fileName, filePath: RW.tFileName; @@ -2031,6 +2061,7 @@ VAR key, scr: INTEGER; text_ptr, text_size, errno: INTEGER; BEGIN + mainTID := K.ThreadID(); header := ""; K.GetSystemColors; switch := FALSE; @@ -2067,6 +2098,8 @@ BEGIN Ini.selectSection(Ini.theme); T.setCanvas(canvas); + mainMenu := Menu.CreateMain(mainMenuBtn); + Menu.init(resetTimer); context := CreateContextMenu(); menuFile := CreateMenuFile(); @@ -2089,7 +2122,7 @@ BEGIN menuTools := CreateMenuTools(); menuOptions := CreateMenuOptions(); - mainMenu := Menu.CreateMain(mainMenuBtn); + Menu.AddMainItem(mainMenu, "file", menuFile); Menu.AddMainItem(mainMenu, "edit", menuEdit); Menu.AddMainItem(mainMenu, "search", menuSearch); @@ -2163,7 +2196,10 @@ BEGIN OD := OpenDlg.Create(draw_window, OpenDlg.topen, filePath, ""); - K.SetEventsMask({0, 1, 2, 5, 31}); + IPC[1] := 0; + IPC[0] := 0; + K.SetIPC(IPC); + K.SetEventsMask({0, 1, 2, 5, 6, 31}); draw_window; blink := Ini.blink; IF blink <= 0 THEN @@ -2197,6 +2233,7 @@ BEGIN ELSE scr := K.Scroll() END + |7: receiveIPC END END END main; diff --git a/programs/develop/cedit/SRC/KolibriOS.ob07 b/programs/develop/cedit/SRC/KolibriOS.ob07 index f02d6ccf2c..58cf561bff 100644 --- a/programs/develop/cedit/SRC/KolibriOS.ob07 +++ b/programs/develop/cedit/SRC/KolibriOS.ob07 @@ -393,6 +393,18 @@ BEGIN END PutPixel; +PROCEDURE SetIPC* (buffer: ARRAY OF INTEGER); +BEGIN + KOSAPI.sysfunc4(60, 1, SYSTEM.ADR(buffer[0]), LEN(buffer)*SYSTEM.SIZE(INTEGER)) +END SetIPC; + + +PROCEDURE SendIPC* (pid, ptr, size: INTEGER); +BEGIN + KOSAPI.sysfunc5(60, 2, pid, ptr, size) +END SendIPC; + + PROCEDURE docpack* (VAR param: ARRAY OF CHAR; VAR text_ptr, text_size: INTEGER); VAR i, size, ptr, ptr2: INTEGER; diff --git a/programs/develop/cedit/SRC/Menu.ob07 b/programs/develop/cedit/SRC/Menu.ob07 index e6fb57db7f..5199f69def 100644 --- a/programs/develop/cedit/SRC/Menu.ob07 +++ b/programs/develop/cedit/SRC/Menu.ob07 @@ -20,7 +20,7 @@ MODULE Menu; IMPORT - SYSTEM, G := Graph, List, K := KolibriOS; + SYSTEM, G := Graph, List, K := KolibriOS, U := Utils; CONST itemHeight = 22; @@ -53,13 +53,15 @@ TYPE tMainItem* = POINTER TO descMainItem; tMain* = POINTER TO RECORD (List.tList) - id: INTEGER + id: INTEGER; + canvas: G.tCanvas END; tMenu* = POINTER TO RECORD tid*: INTEGER; active*, keyboard: BOOLEAN; parent*, child: tMenu; + mainTID: INTEGER; mainID: INTEGER; x*, winX, winY, width*, height*: INTEGER; selItem, cliItem: INTEGER; @@ -81,7 +83,8 @@ TYPE id*, x: INTEGER; text: ARRAY 32 OF WCHAR; menu*: tMenu; - main: tMain + main: tMain; + selected: BOOLEAN END; tShortcut = POINTER TO RECORD (List.tItem) @@ -111,6 +114,7 @@ BEGIN COPY(text, item.text); item.menu := menu; item.main := main; + item.selected := FALSE; menu.mainID := item.id; List.append(main, item); prev := item.prev(tMainItem); @@ -119,7 +123,10 @@ BEGIN ELSE item.x := MainMenuX END; - menu.x := item.x + menu.x := item.x; + G.destroy(main.canvas); + main.canvas := G.CreateCanvas(item.x + LENGTH(item.text)*fontWidth + 9, MainMenuHeight); + G.SetFont(main.canvas, G.fonts[1]) END AddMainItem; @@ -130,6 +137,7 @@ VAR BEGIN NEW(res); res.id := id; + res.canvas := NIL; list := List.create(res) RETURN res END CreateMain; @@ -138,33 +146,62 @@ END CreateMain; PROCEDURE drawMainItem (item: tMainItem); VAR menuColor, textColor, n: INTEGER; + canvas: G.tCanvas; BEGIN IF item.menu.tid # 0 THEN menuColor := K.colors.work_text; textColor := K.colors.work ELSE - menuColor := K.colors.work; - textColor := K.colors.work_text + IF item.selected THEN + menuColor := K.colors.button; + textColor := K.colors.button_text + ELSE + menuColor := K.colors.work; + textColor := K.colors.work_text + END END; n := LENGTH(item.text); - K.DrawRect(item.x, 0, n*fontWidth + 2, MainMenuHeight, menuColor); - K.CreateButton(item.id + ORD({30}), item.x, 0, n*fontWidth + 2, MainMenuHeight, K.colors.button, ""); - K.DrawText(item.x + 1, (MainMenuHeight - K.fontHeight) DIV 2 + 1, textColor, item.text) + canvas := item.main.canvas; + G.SetColor(canvas, menuColor); + G.FillRect(canvas, item.x, 0, item.x + n*fontWidth + 2, MainMenuHeight - 1); + G.SetTextColor(canvas, textColor); + G.SetBkColor(canvas, menuColor); + G.TextOut2(canvas, item.x + 1, (MainMenuHeight - K.fontHeight) DIV 2 + 1, item.text, n); END drawMainItem; PROCEDURE DrawMain* (main: tMain); VAR - item: List.tItem; + item: tMainItem; BEGIN - item := main.first; + G.SetColor(main.canvas, K.colors.work); + G.clear(main.canvas); + item := main.first(tMainItem); WHILE item # NIL DO - drawMainItem(item(tMainItem)); - item := item.next - END + drawMainItem(item); + K.CreateButton(item.id + ORD({30}), item.x, 0, LENGTH(item.text)*fontWidth + 2, MainMenuHeight, 0, ""); + item := item.next(tMainItem) + END; + G.DrawCanvas(main.canvas, 0, 0) END DrawMain; +PROCEDURE MouseMove* (main: tMain; x, y: INTEGER); +VAR + item: tMainItem; +BEGIN + item := main.first(tMainItem); + WHILE item # NIL DO + item.selected := + U.between(item.x, x, item.x + LENGTH(item.text)*fontWidth - 1) & + U.between(0, y, MainMenuHeight - 1); + drawMainItem(item); + item := item.next(tMainItem) + END; + G.DrawCanvas(main.canvas, 0, 0) +END MouseMove; + + PROCEDURE getMainID (m: tMenu): INTEGER; BEGIN WHILE m.parent # NIL DO @@ -485,6 +522,8 @@ BEGIN repaint(m) |6: K.mouse(msState, x, y); + temp := (x + m.winX)*65536 + (y + m.winY); + K.SendIPC(m.mainTID, SYSTEM.ADR(temp), SYSTEM.SIZE(INTEGER)); IF (0 <= x) & (x < m.width) & (0 <= y) & (y < m.height) THEN m.active := TRUE; m.selItem := (y - TOP) DIV itemHeight; @@ -621,7 +660,7 @@ BEGIN END isEnabled; -PROCEDURE create* (items: List.tList): tMenu; +PROCEDURE create* (items: List.tList; mainTID: INTEGER): tMenu; VAR m: tMenu; maxLength: INTEGER; @@ -633,6 +672,7 @@ BEGIN m.parent := NIL; m.child := NIL; m.mainID := 0; + m.mainTID := mainTID; m.items := items; maxLength := 0; item := items.first(tItem); diff --git a/programs/develop/cedit/SRC/Tabs.ob07 b/programs/develop/cedit/SRC/Tabs.ob07 index dd24b771f3..313bbe6f0a 100644 --- a/programs/develop/cedit/SRC/Tabs.ob07 +++ b/programs/develop/cedit/SRC/Tabs.ob07 @@ -24,11 +24,13 @@ IMPORT List, K := KolibriOS, RW, U := Utils; CONST btnID* = 100; + btnClose* = btnID + 100; btnLeft* = btnID - 1; btnRight* = btnID - 2; tabHeight* = 22; curTabHeight = 26; scrWidth = 15; + btnCloseColor* = 0EF999FH; TYPE @@ -55,8 +57,11 @@ END DblClicked; PROCEDURE drawTab (t: tTabs; id, x, y, width, height: INTEGER; s: ARRAY OF CHAR; modified: BOOLEAN); +CONST + btnCloseSize = 14; VAR x2, y2, color: INTEGER; + left, top: INTEGER; BEGIN IF id = t.current THEN INC(height, curTabHeight - tabHeight); @@ -72,8 +77,12 @@ BEGIN K.DrawRect(x, y, width, height, color); K.DrawLine(x, y, x2, y, K.colors.line); K.DrawLine(x2, y, x2, y2, K.colors.line); + + top := y + 3; IF id # t.current THEN - K.DrawLine(x2 - 1, y2, x, y2, K.colors.line); + K.DrawLine(x2 - 1, y2, x, y2, K.colors.line) + ELSE + INC(top, (curTabHeight - tabHeight) DIV 2) END; K.DrawLine(x, y2, x, y, K.colors.line); @@ -81,12 +90,20 @@ BEGIN IF modified THEN K.DrawText866bk(x + K.fontWidth DIV 2, y + (height - K.fontHeight) DIV 2, K.colors.work_text, color, "*") END; - K.CreateButton(id + ORD({30}) + btnID, x + 1, y - 1, width - 1, height - 1, color, ""); + K.CreateButton(id + ORD({30}) + btnID, x + 1, y - 1, width - 1, height - 1, 0, ""); + left := x + width - btnCloseSize - 5; + K.CreateButton(id + btnClose, left, top, btnCloseSize, btnCloseSize, btnCloseColor, ""); + K.DrawLine(left + 5, top + 4, left + btnCloseSize - 4, top + btnCloseSize - 5, 0FFFFFFH); + K.DrawLine(left + 4, top + 4, left + btnCloseSize - 4, top + btnCloseSize - 4, 0FFFFFFH); + K.DrawLine(left + 4, top + 5, left + btnCloseSize - 5, top + btnCloseSize - 4, 0FFFFFFH); + K.DrawLine(left + 4, top + btnCloseSize - 4, left + btnCloseSize - 4, top + 4, 0FFFFFFH); + K.DrawLine(left + 4, top + btnCloseSize - 5, left + btnCloseSize - 5, top + 4, 0FFFFFFH); + K.DrawLine(left + 5, top + btnCloseSize - 4, left + btnCloseSize - 4, top + 5, 0FFFFFFH); END drawTab; PROCEDURE tabWidth (tab: tItem): INTEGER; - RETURN (LENGTH(tab.val) + 3)*K.fontWidth + RETURN (LENGTH(tab.val) + 5)*K.fontWidth END tabWidth;