LIBTUI:Improved LBOX

This commit is contained in:
burniouf 2024-01-26 15:05:51 +01:00
parent f0adfc775d
commit 02e4c892c8
4 changed files with 43 additions and 14 deletions

Binary file not shown.

View File

@ -10,8 +10,11 @@ NEW
.INB inc/libtui.i
*--------------------------------------
EV.SAVE .EQ $C0
EV.CHECKBOX .EQ $C1
EV.RADIO .EQ $C2
EV.QUIT .EQ $C1
EV.CHECKBOX .EQ $C2
EV.RADIO .EQ $C3
EV.LBOX1.CHANGED .EQ $C4
EV.LBOX1.PRESSED .EQ $C5
EV.OK .EQ $CE
EV.CANCEL .EQ $CF
*--------------------------------------
@ -146,10 +149,10 @@ CS.RUN.LOOP lda hSCRN
rts
.3 cmp #EV.RADIO
.3 cmp #EV.LBOX1.CHANGED
bne .8
* Do something when RADIO got a new value
* Do something
bra CS.RUN.LOOP
@ -227,6 +230,8 @@ CS.LBOX1.Init >PUSHB hSCRN hParent
>PUSHBI 1 Y1
>PUSHBI 20 W
>PUSHBI 9 H
>PUSHBI EV.LBOX1.CHANGED
>PUSHBI EV.LBOX1.PRESSED
>PUSHW L.LBOX1.List
>PUSHEA.G LBOX1.Var
>PUSHBI S.OBJ.F.bHBorder+S.OBJ.F.bVBorder

View File

@ -115,10 +115,12 @@ S.TBOX.BufCnt .EQ S.OBJ+14
*
S.TBOX .EQ S.OBJ+16
*--------------------------------------
S.LBOX.Idx .EQ S.OBJ+0
S.LBOX.VScroll .EQ S.OBJ+2
S.LBOX.EV.CHANGED .EQ S.OBJ+0
S.LBOX.EV.PRESSED .EQ S.OBJ+1
S.LBOX.Idx .EQ S.OBJ+2
S.LBOX.VScroll .EQ S.OBJ+4
*
S.LBOX .EQ S.OBJ+4
S.LBOX .EQ S.OBJ+6
*--------------------------------------
S.CBOX.HotKey .EQ S.OBJ+0
S.CBOX.EV .EQ S.OBJ+1
@ -139,7 +141,6 @@ S.RADIO.Idx .EQ S.OBJ+2
S.RADIO .EQ S.OBJ+4
*--------------------------------------
EV.RESIZE .EQ $80
EV.QUIT .EQ $81
EV.HL.SELECTED .EQ $82
EV.HL.PRESSED .EQ $83
*--------------------------------------

View File

@ -2,7 +2,7 @@ NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
* LBOX.New hParent,X1,Y1,W,H,pList,pVar,F 10
* LBOX.New hParent,X1,Y1,W,H,EV.CHANGED,EV.PRESSED,pList,pVar,F 12
*--------------------------------------
LBOX.New lda #S.OBJ.T.LBOX
jsr OBJ.Create
@ -17,7 +17,15 @@ LBOX.New lda #S.OBJ.T.LBOX
ldy #S.OBJ.pBuf
jsr OBJ.PullWordY
>PULLA
ldy #S.LBOX.EV.PRESSED
sta (ZPObjPtr),y
>PULLA
ldy #S.LBOX.EV.CHANGED
sta (ZPObjPtr),y
jsr OBJ.PullHW
jsr OBJ.PullY1X1hParent
@ -29,7 +37,7 @@ LBOX.New lda #S.OBJ.T.LBOX
* clc
rts
.9 >POP 10
.9 >POP 12
.99 rts
*--------------------------------------
@ -69,7 +77,7 @@ LBOX.Run ldy #S.OBJ.S
bra .7
.2 cmp #C.VT
bne .9
bne .3
ldy #S.LBOX.Idx
lda (ZPObjPtr),y
@ -92,16 +100,31 @@ LBOX.Run ldy #S.OBJ.S
>PUSHA
jsr OBJ.Draw.Body
inc pStack
bcs .99
ldy #S.LBOX.EV.CHANGED
lda (ZPObjPtr),y
* clc
rts
.3 cmp #C.SPACE
bne .9
ldy #S.LBOX.EV.PRESSED
lda (ZPObjPtr),y
clc
rts
.8 clc
.8 lda #0
clc
rts
.9 lda #0
sec
rts
.99 rts
*--------------------------------------
LBOX.Draw ldy #S.LBOX.VScroll
lda (ZPObjPtr),y