mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-06-29 10:30:36 +00:00
Allows desselecting a char by clicking outside the chart (ASCII).
- Allows Ctrl+Arrows to move quickly around the chart. - Makes sure double-click occurs only when both clicks happen on the same glyph.
This commit is contained in:
parent
1604ca1599
commit
e0bfef4d87
|
@ -13818,11 +13818,12 @@ FUNCTION ideASCIIbox$
|
||||||
Hover = i
|
Hover = i
|
||||||
IF mCLICK THEN
|
IF mCLICK THEN
|
||||||
Selected = i
|
Selected = i
|
||||||
IF timeElapsedSince(lastClick!) <= .3 THEN
|
IF timeElapsedSince(lastClick!) <= .3 and lastClickOn = i THEN
|
||||||
'double click on chart
|
'double click on chart
|
||||||
GOTO insertChar
|
GOTO insertChar
|
||||||
END IF
|
END IF
|
||||||
lastClick! = TIMER
|
lastClick! = TIMER
|
||||||
|
lastClickOn = i
|
||||||
END IF
|
END IF
|
||||||
COLOR 7, 0
|
COLOR 7, 0
|
||||||
ELSE
|
ELSE
|
||||||
|
@ -13888,6 +13889,10 @@ FUNCTION ideASCIIbox$
|
||||||
NEXT
|
NEXT
|
||||||
'-------- end of generic input response --------
|
'-------- end of generic input response --------
|
||||||
|
|
||||||
|
IF mY > p.y AND mY < p.y + p.h AND mX > p.x AND mX < p.x + p.w THEN
|
||||||
|
IF Hover = 0 AND mCLICK THEN Selected = 0
|
||||||
|
END IF
|
||||||
|
|
||||||
IF K$ = CHR$(13) OR (Selected > 0 AND focus = 1 AND info <> 0) THEN
|
IF K$ = CHR$(13) OR (Selected > 0 AND focus = 1 AND info <> 0) THEN
|
||||||
IF Selected = 0 AND Hover > 0 THEN
|
IF Selected = 0 AND Hover > 0 THEN
|
||||||
Selected = Hover
|
Selected = Hover
|
||||||
|
@ -13914,28 +13919,58 @@ FUNCTION ideASCIIbox$
|
||||||
CASE 19712, 19200, 20480, 18432
|
CASE 19712, 19200, 20480, 18432
|
||||||
IF Selected = 0 AND Hover > 0 THEN Selected = Hover
|
IF Selected = 0 AND Hover > 0 THEN Selected = Hover
|
||||||
CASE 19712
|
CASE 19712
|
||||||
Selected = Selected + 1
|
IF KCTRL AND Selected > 0 THEN
|
||||||
|
DO UNTIL Selected MOD 16 = 0 OR Selected = 255
|
||||||
|
Selected = Selected + 1
|
||||||
|
LOOP
|
||||||
|
ELSE
|
||||||
|
Selected = Selected + 1
|
||||||
|
END IF
|
||||||
IF Selected > 255 THEN Selected = 1
|
IF Selected > 255 THEN Selected = 1
|
||||||
CASE 19200
|
CASE 19200
|
||||||
Selected = Selected - 1
|
IF KCTRL AND Selected > 0 THEN
|
||||||
|
DO UNTIL Selected MOD 16 = 1
|
||||||
|
Selected = Selected - 1
|
||||||
|
LOOP
|
||||||
|
ELSE
|
||||||
|
Selected = Selected - 1
|
||||||
|
END IF
|
||||||
IF Selected < 1 THEN Selected = 255
|
IF Selected < 1 THEN Selected = 255
|
||||||
CASE 20480
|
CASE 20480
|
||||||
IF Selected = 240 THEN
|
IF KCTRL AND Selected > 0 THEN
|
||||||
'corner case
|
IF Selected = 240 THEN
|
||||||
Selected = 255
|
Selected = 255
|
||||||
ELSEIF Selected + 16 <= 255 THEN
|
ELSE
|
||||||
Selected = Selected + 16
|
DO UNTIL Selected >= 240
|
||||||
|
Selected = Selected + 16
|
||||||
|
LOOP
|
||||||
|
END IF
|
||||||
|
IF Selected > 255 THEN Selected = 255
|
||||||
ELSE
|
ELSE
|
||||||
Selected = Selected + 16 - 256
|
IF Selected = 240 THEN
|
||||||
|
'corner case
|
||||||
|
Selected = 255
|
||||||
|
ELSEIF Selected + 16 <= 255 THEN
|
||||||
|
Selected = Selected + 16
|
||||||
|
ELSE
|
||||||
|
Selected = Selected + 16 - 256
|
||||||
|
END IF
|
||||||
END IF
|
END IF
|
||||||
CASE 18432
|
CASE 18432
|
||||||
IF Selected = 16 THEN
|
IF KCTRL AND Selected > 0 THEN
|
||||||
'corner case
|
DO UNTIL Selected <= 16
|
||||||
Selected = 240
|
Selected = Selected - 16
|
||||||
ELSEIF Selected - 16 >= 1 THEN
|
LOOP
|
||||||
Selected = Selected - 16
|
IF Selected < 1 THEN Selected = 0
|
||||||
ELSE
|
ELSE
|
||||||
Selected = Selected - 16 + 256
|
IF Selected = 16 THEN
|
||||||
|
'corner case
|
||||||
|
Selected = 240
|
||||||
|
ELSEIF Selected - 16 >= 1 THEN
|
||||||
|
Selected = Selected - 16
|
||||||
|
ELSE
|
||||||
|
Selected = Selected - 16 + 256
|
||||||
|
END IF
|
||||||
END IF
|
END IF
|
||||||
END SELECT
|
END SELECT
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue