Rev 9050 | Rev 9073 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9050 | Rev 9060 | ||
---|---|---|---|
Line 39... | Line 39... | ||
39 | 39 | ||
Line 40... | Line 40... | ||
40 | SHIFT* = 0; CTRL* = 1; |
40 | SHIFT* = 0; CTRL* = 1; |
41 | 41 | ||
42 | mark_width = 2; |
42 | mark_width = 2; |
43 | pad_left = mark_width + 3; |
43 | pad_left = mark_width + 3; |
Line 44... | Line 44... | ||
44 | pad_top = 1; |
44 | pad_top = 0; |
Line 1420... | Line 1420... | ||
1420 | END |
1420 | END |
1421 | RETURN res |
1421 | RETURN res |
1422 | END goto; |
1422 | END goto; |
Line -... | Line 1423... | ||
- | 1423 | ||
- | 1424 | ||
- | 1425 | PROCEDURE toggleLabel* (text: tText); |
|
- | 1426 | BEGIN |
|
- | 1427 | text.curLine.label := ~text.curLine.label |
|
- | 1428 | END toggleLabel; |
|
- | 1429 | ||
- | 1430 | ||
- | 1431 | PROCEDURE gotoLabel* (text: tText; frw: BOOLEAN); |
|
- | 1432 | VAR |
|
- | 1433 | line: tLine; |
|
- | 1434 | n: INTEGER; |
|
- | 1435 | BEGIN |
|
- | 1436 | n := text.cursor.Y; |
|
- | 1437 | line := text.curLine; |
|
- | 1438 | IF frw THEN |
|
- | 1439 | REPEAT |
|
- | 1440 | line := line.next(tLine); |
|
- | 1441 | INC(n) |
|
- | 1442 | UNTIL (line = NIL) OR line.label |
|
- | 1443 | ELSE |
|
- | 1444 | REPEAT |
|
- | 1445 | line := line.prev(tLine); |
|
- | 1446 | DEC(n) |
|
- | 1447 | UNTIL (line = NIL) OR line.label |
|
- | 1448 | END; |
|
- | 1449 | IF line # NIL THEN |
|
- | 1450 | IF goto(text, n + 1) THEN END |
|
- | 1451 | END |
|
- | 1452 | END gotoLabel; |
|
1423 | 1453 | ||
1424 | 1454 | ||
1425 | PROCEDURE changeCase (text: tText; upper: BOOLEAN); |
1455 | PROCEDURE changeCase (text: tText; upper: BOOLEAN); |
1426 | VAR |
1456 | VAR |
1427 | i: INTEGER; |
1457 | i: INTEGER; |
Line 1824... | Line 1854... | ||
1824 | guard.CurX := text.CurX; |
1854 | guard.CurX := text.CurX; |
1825 | guard.selected := text.select = text.select2; |
1855 | guard.selected := text.select = text.select2; |
Line 1826... | Line 1856... | ||
1826 | 1856 | ||
1827 | G.SetColor(canvas, colors.back); |
1857 | G.SetColor(canvas, colors.back); |
- | 1858 | G.clear(canvas); |
|
1828 | G.clear(canvas); |
1859 | wNum := charWidth; |
1829 | IF text.numbers THEN |
1860 | IF text.numbers THEN |
1830 | numWidth := U.lg10(text.count) + 2; |
- | |
1831 | wNum := charWidth; |
1861 | numWidth := U.lg10(text.count) + 2; |
1832 | xNum := numWidth*wNum - wNum DIV 2; |
1862 | xNum := numWidth*wNum - wNum DIV 2; |
1833 | setPadding(numWidth*wNum + pad_left, padding.top); |
1863 | setPadding(numWidth*wNum + pad_left, padding.top); |
1834 | ELSE |
1864 | ELSE |
1835 | setPadding(pad_left, padding.top) |
1865 | setPadding(pad_left + wNum*2, padding.top) |
1836 | END; |
1866 | END; |
1837 | getSelect(text, selBeg, selEnd); |
1867 | getSelect(text, selBeg, selEnd); |
1838 | y := padding.top + inter DIV 2; |
1868 | y := padding.top + inter DIV 2; |
1839 | n := text.scroll.Y; |
1869 | n := text.scroll.Y; |
Line 1866... | Line 1896... | ||
1866 | NextLine(line); |
1896 | NextLine(line); |
1867 | INC(y, charHeight); |
1897 | INC(y, charHeight); |
1868 | INC(n); |
1898 | INC(n); |
1869 | INC(cnt) |
1899 | INC(cnt) |
1870 | END; |
1900 | END; |
1871 | IF text.numbers THEN |
- | |
1872 | G.SetColor(canvas, colors.numback); |
1901 | G.SetColor(canvas, colors.numback); |
1873 | G.FillRect(canvas, 0, 0, padding.left - pad_left (*+ 1*), size.Y - 1); |
1902 | G.FillRect(canvas, 0, 0, padding.left - pad_left (*+ 1*), size.Y - 1); |
- | 1903 | line := firstLine; |
|
1874 | SetColor(colors.numtext, colors.numback); |
1904 | SetColor(colors.numtext, colors.numback); |
1875 | y := padding.top + inter DIV 2; |
1905 | y := padding.top + inter DIV 2; |
1876 | n := MIN(text.scroll.Y + textsize.Y + 1, text.count); |
1906 | n := MIN(text.scroll.Y + textsize.Y + 1, text.count); |
1877 | FOR i := text.scroll.Y + 1 TO n DO |
1907 | FOR i := text.scroll.Y + 1 TO n DO |
- | 1908 | IF text.numbers THEN |
|
1878 | IF (i MOD 10 = 0) OR (i - 1 = text.cursor.Y) THEN |
1909 | IF (i MOD 10 = 0) OR (i - 1 = text.cursor.Y) OR line.label THEN |
1879 | U.int2str(i, s); |
1910 | U.int2str(i, s); |
1880 | G.TextOut2(canvas, (numWidth - U.lg10(i) - 1)*wNum - wNum DIV 2, y, s, LENGTH(s)); |
1911 | G.TextOut2(canvas, (numWidth - U.lg10(i) - 1)*wNum - wNum DIV 2, y, s, LENGTH(s)) |
1881 | ELSIF i MOD 5 = 0 THEN |
1912 | ELSIF i MOD 5 = 0 THEN |
1882 | G.SetColor(canvas, colors.numtext); |
1913 | G.SetColor(canvas, colors.numtext); |
1883 | G.HLine(canvas, y - inter DIV 2 + charHeight DIV 2, xNum - wNum, xNum) |
1914 | G.HLine(canvas, y - inter DIV 2 + charHeight DIV 2, xNum - wNum, xNum) |
1884 | ELSE |
1915 | ELSE |
1885 | G.SetColor(canvas, colors.numtext); |
1916 | G.SetColor(canvas, colors.numtext); |
1886 | G.HLine(canvas, y - inter DIV 2 + charHeight DIV 2, xNum - wNum DIV 2, xNum) |
1917 | G.HLine(canvas, y - inter DIV 2 + charHeight DIV 2, xNum - wNum DIV 2, xNum) |
- | 1918 | END |
|
1887 | END; |
1919 | END; |
1888 | INC(y, charHeight) |
1920 | IF line.label THEN |
- | 1921 | FOR x := wNum DIV 2 TO (padding.left - pad_left) - wNum DIV 2 DO |
|
- | 1922 | G.notVLine(canvas, x, y, y + charHeight - inter); |
|
- | 1923 | G.xorVLine(canvas, x, y, y + charHeight - inter) |
|
1889 | END |
1924 | END |
1890 | END; |
1925 | END; |
- | 1926 | NextLine(line); |
|
- | 1927 | INC(y, charHeight) |
|
- | 1928 | END; |
|
Line 1891... | Line 1929... | ||
1891 | 1929 | ||
1892 | IF text.searchText # "" THEN |
1930 | IF text.searchText # "" THEN |
1893 | cnt := 0; |
1931 | cnt := 0; |
1894 | line := firstLine; |
1932 | line := firstLine; |
Line 1940... | Line 1978... | ||
1940 | 1978 | ||
1941 | IF drawCursor THEN |
1979 | IF drawCursor THEN |
1942 | cursor(text) |
1980 | cursor(text) |
1943 | END; |
1981 | END; |
- | 1982 | G.SetColor(canvas, K.borderColor); |
|
- | 1983 | G.HLine(canvas, size.Y - 1, 0, size.X - 1); |
|
1944 | G.SetColor(canvas, K.borderColor); |
1984 | G.VLine(canvas, 0, 0, size.Y - 1); |
1945 | G.Rect(canvas, 0, 0, size.X - 1, size.Y - 1); |
1985 | G.VLine(canvas, size.X - 1, 0, size.Y - 1) |
Line 1946... | Line 1986... | ||
1946 | END draw; |
1986 | END draw; |
1947 | 1987 |