diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index de9b8659..f91f0feb 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/TUITEST.S.txt b/BIN/TUITEST.S.txt index 0935b28d..56cf7a18 100644 --- a/BIN/TUITEST.S.txt +++ b/BIN/TUITEST.S.txt @@ -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 diff --git a/INC/LIBTUI.I.txt b/INC/LIBTUI.I.txt index d0cb2163..1dab7505 100644 --- a/INC/LIBTUI.I.txt +++ b/INC/LIBTUI.I.txt @@ -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 *-------------------------------------- diff --git a/LIB/LIBTUI.S.LBOX.txt b/LIB/LIBTUI.S.LBOX.txt index b535ab1e..63f861dc 100644 --- a/LIB/LIBTUI.S.LBOX.txt +++ b/LIB/LIBTUI.S.LBOX.txt @@ -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