1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-06-30 05:10:37 +00:00

Current line highlight properly identifies multilines (ending with _)

ALSO:
- Fix "back" button flickering while typing.
This commit is contained in:
FellippeHeitor 2016-04-06 23:39:54 -03:00
parent c56d9cbd5d
commit 9c38822c13
2 changed files with 45 additions and 9 deletions

View file

@ -3,5 +3,5 @@ DIM SHARED BuildNum AS STRING
Version$ = "1.000" Version$ = "1.000"
'BuildNum format is YYYYMMDD/id, where id is a ever-increasing 'BuildNum format is YYYYMMDD/id, where id is a ever-increasing
'integer. If you make a change, update the date and increase the id! 'integer. If you make a change, update the date and increase the id!
BuildNum$ = "20160406/6" BuildNum$ = "20160406/7"

View file

@ -771,6 +771,9 @@ DO
if len(a$) > idewx - 5 then a$ = left$(a$, idewx - 11) + string$(3, 250) + " " if len(a$) > idewx - 5 then a$ = left$(a$, idewx - 11) + string$(3, 250) + " "
COLOR 1, 7: LOCATE 2, ((idewx / 2) - 1) - (LEN(a$) - 1) \ 2: PRINT a$; COLOR 1, 7: LOCATE 2, ((idewx / 2) - 1) - (LEN(a$) - 1) \ 2: PRINT a$;
'Draw navigation buttons (QuickNav)
GOSUB DrawQuickNav
'update search bar 'update search bar
GOSUB UpdateSearchBar GOSUB UpdateSearchBar
@ -1117,14 +1120,11 @@ DO
IF mB <> 0 AND idembmonitor = 1 THEN change = 1 IF mB <> 0 AND idembmonitor = 1 THEN change = 1
IF mB = 0 THEN idemouseselect = 0: idembmonitor = 0 IF mB = 0 THEN idemouseselect = 0: idembmonitor = 0
'Draw navigation buttons (QuickNav)
GOSUB DrawQuickNav
'Hover/click (QuickNav) 'Hover/click (QuickNav)
IF IdeSystem = 1 AND QuickNavTotal > 0 THEN IF IdeSystem = 1 AND QuickNavTotal > 0 THEN
IF mY = 2 THEN IF mY = 2 THEN
IF mX >= 4 AND mX <= 6 AND QuickNavTotal >= 1 THEN IF mX >= 4 AND mX <= 6 THEN
QuickNavHover = -1
LOCATE 2, 4 LOCATE 2, 4
COLOR 15, 3 COLOR 15, 3
PRINT " " + CHR$(17) + " "; PRINT " " + CHR$(17) + " ";
@ -1135,10 +1135,13 @@ DO
_DELAY .2 _DELAY .2
GOTO waitforinput GOTO waitforinput
END IF END IF
ELSE
IF QuickNavHover = -1 THEN QuickNavHover = 0: GOSUB DrawQuickNav: PCOPY 3, 0
END IF END IF
ELSE
IF QuickNavHover = -1 THEN QuickNavHover = 0: GOSUB DrawQuickNav: PCOPY 3, 0
END IF END IF
END IF END IF
PCOPY 3, 0
IF KALT THEN 'alt held IF KALT THEN 'alt held
@ -7170,13 +7173,47 @@ sx2 = idecx
IF sx1 > sx2 THEN SWAP sx1, sx2 IF sx1 > sx2 THEN SWAP sx1, sx2
l = idesy l = idesy
idecy_multilinestart = 0
idecy_multilineend = 0
a$ = idegetline(idecy)
IF RIGHT$(a$, 1) = "_" THEN
'Find the beginning of the multiline
FOR idecy_i = idecy - 1 TO 1 STEP -1
b$ = idegetline(idecy_i)
IF RIGHT$(b$, 1) <> "_" THEN idecy_multilinestart = idecy_i + 1: EXIT FOR
NEXT
IF idecy_multilinestart = 0 THEN idecy_multilinestart = 1
'Find the end of the multiline
FOR idecy_i = idecy + 1 TO iden
b$ = idegetline(idecy_i)
IF RIGHT$(b$, 1) <> "_" THEN idecy_multilineend = idecy_i: EXIT FOR
NEXT
IF idecy_multilineend = 0 THEN idecy_multilinestart = iden
ELSE
IF idecy > 1 THEN b$ = idegetline(idecy - 1) ELSE b$ = ""
IF RIGHT$(b$, 1) = "_" THEN
idecy_multilineend = idecy
'Find the beginning of the multiline
FOR idecy_i = idecy - 1 TO 1 STEP -1
b$ = idegetline(idecy_i)
IF RIGHT$(b$, 1) <> "_" THEN idecy_multilinestart = idecy_i + 1: EXIT FOR
NEXT
IF idecy_multilinestart = 0 THEN idecy_multilinestart = 1
END IF
END IF
IF idecy > 1 THEN b$ = idegetline(idecy - 1) ELSE b$ = ""
FOR y = 0 TO (idewy - 9) FOR y = 0 TO (idewy - 9)
LOCATE y + 3, 1 LOCATE y + 3, 1
COLOR 7, 1 COLOR 7, 1
PRINT CHR$(179); 'clear prev bookmarks from lhs PRINT CHR$(179); 'clear prev bookmarks from lhs
IF l = idefocusline AND idecy <> l THEN IF l = idefocusline AND idecy <> l THEN
COLOR 7, 4 COLOR 7, 4
ELSEIF idecy = l THEN ELSEIF idecy = l OR (l >= idecy_multilinestart AND l <= idecy_multilineend) THEN
COLOR 7, 6 COLOR 7, 6
ELSE ELSE
COLOR 7, 1 COLOR 7, 1
@ -7184,7 +7221,6 @@ FOR y = 0 TO (idewy - 9)
IF l <= iden THEN IF l <= iden THEN
a$ = idegetline(l) a$ = idegetline(l)
IF l = idecy THEN IF l = idecy THEN
IF idecx <= LEN(a$) THEN IF idecx <= LEN(a$) THEN
cc = ASC(a$, idecx) cc = ASC(a$, idecx)