diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index d4b8bc64..20c69e45 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 56cf7a18..3fd23ba5 100644 --- a/BIN/TUITEST.S.txt +++ b/BIN/TUITEST.S.txt @@ -53,7 +53,6 @@ CS.START cld L.LIBTUI .DA LIBTUI *-------------------------------------- L.SCRN.Title .DA SCRN.Title -L.SCRN.Status .DA SCRN.Status L.TBOX1.Title .DA TBOX1.Title L.TBOX1.Status .DA TBOX1.Status @@ -152,8 +151,10 @@ CS.RUN.LOOP lda hSCRN .3 cmp #EV.LBOX1.CHANGED bne .8 -* Do something - + >PUSHB hSCRN + >PUSHBI S.OBJ.pSTATUS + >PUSHW.G LBOX1.Var + >LIBCALL hLIBTUI,LIBTUI.SetProp bra CS.RUN.LOOP .8 cmp #EV.QUIT @@ -181,7 +182,7 @@ CS.SCRN.Init >PUSHB hCTX hParent >PUSHB hSCRN >PUSHBI S.OBJ.pSTATUS - >PUSHW L.SCRN.Status + >PUSHW L.LBOX1.List >LIBCALL hLIBTUI,LIBTUI.SetProp .9 rts @@ -413,33 +414,34 @@ LIBTUI .AZ "libtui" hLIBTUI .BS 1 *-------------------------------------- SCRN.Title .AZ "Window: X1=%d,Y1=%d, W=%d,H=%d, X2=%d,Y2=%d, iX=%d,iY=%d, iW=%d,iH=%d" -SCRN.Status .AZ "Status bar..." *-------------------------------------- TBOX1.Title .AZ "Text Box Title" TBOX1.Status .AZ "Text Box Status" *-------------------------------------- -LBOX1.List .CS "Item 1\r" - .CS "Item 2\r" - .CS "Item 3\r" - .CS "Item 4\r" - .CS "Item 5\r" - .CS "Item 6 very long line\r" - .CS "Item 7\r" - .CS "Item 8\r" - .CS "Item 9\r" - .CS "Item 10\r" - .CS "Item 11\r" - .CS "Item 12\r" - .CS "Item 13\r" - .CZ "Item 14 last one\r" +LBOX1.List .CZ "Item 1" + .CZ "Item 2" + .CZ "Item 3" + .CZ "Item 4" + .CZ "Item 5" + .CZ "Item 6 very long line" + .CZ "Item 7" + .CZ "Item 8" + .CZ "Item 9" + .CZ "Item 10" + .CZ "Item 11" + .CZ "Item 12" + .CZ "Item 13" + .CZ "Item 14 last one" + .HS 00 *-------------------------------------- LABEL.Label .AZ "This is a label." *-------------------------------------- TLINE.Default .AZ "This is a Line." *-------------------------------------- -RADIO1.List .CS "\e[91mRed\r" - .CS "\e[92mGreen\r" - .CZ "\e[96mBlue\r" +RADIO1.List .CZ "\e[91mRed" + .CZ "\e[92mGreen" + .CZ "\e[96mBlue" + .HS 00 *-------------------------------------- CBOX1.Label .AZ "Check Me" *-------------------------------------- @@ -456,7 +458,7 @@ SCRN.TitleBuf .BS 80 TLINE.Buf .BS 65 CBOX1.Var .BS 1 RADIO1.Var .BS 1 -LBOX1.Var .BS 1 +LBOX1.Var .BS 2 TBOX1.hBuf .BS 1 DS.END .ED *-------------------------------------- diff --git a/LIB/LIBTUI.S.LBOX.txt b/LIB/LIBTUI.S.LBOX.txt index 63f861dc..aee12de5 100644 --- a/LIB/LIBTUI.S.LBOX.txt +++ b/LIB/LIBTUI.S.LBOX.txt @@ -105,10 +105,17 @@ LBOX.Run ldy #S.OBJ.S bcs .99 + jsr LBOX.SetpVar + ldy #S.LBOX.EV.CHANGED lda (ZPObjPtr),y -* clc + clc rts + + +.9 lda #0 + sec +.99 rts .3 cmp #C.SPACE bne .9 @@ -121,10 +128,6 @@ LBOX.Run ldy #S.OBJ.S .8 lda #0 clc rts - -.9 lda #0 - sec -.99 rts *-------------------------------------- LBOX.Draw ldy #S.LBOX.VScroll lda (ZPObjPtr),y @@ -153,9 +156,11 @@ LBOX.Draw ldy #S.LBOX.VScroll jsr LB.Ptr1OutEscMaxX txa - beq .8 bne .6 + clc + rts + .5 ldy #S.OBJ.InnerW lda (ZPObjPtr),y tax @@ -169,6 +174,25 @@ LBOX.Draw ldy #S.LBOX.VScroll .8 clc rts *-------------------------------------- +LBOX.SetpVar ldy #S.LBOX.Idx + lda (ZPObjPtr),y + tax + + jsr OBJ.GetLineXAtY + bcs .8 + + jsr OBJ.GetpVarPtr2 + + lda ZPPtr1 + sta (ZPPtr2) + lda ZPPtr1+1 + ldy #1 + sta (ZPPtr2),y + +.8 clc + +LBOX.SetpVar.9 rts +*-------------------------------------- MAN SAVE usr/src/lib/libtui.s.lbox LOAD usr/src/lib/libtui.s diff --git a/LIB/LIBTUI.S.OBJ.txt b/LIB/LIBTUI.S.OBJ.txt index 16a160f7..041f5680 100644 --- a/LIB/LIBTUI.S.OBJ.txt +++ b/LIB/LIBTUI.S.OBJ.txt @@ -961,24 +961,7 @@ OBJ.GetLineXAtY jsr OBJ.GetpBufPtr1 .2 inc TempI - ldy #$ff - -.4 iny - lda (ZPPtr1),y - clc - beq .5 - - cmp #C.CR - bne .4 - -* sec - -.5 tya - adc ZPPtr1 - sta ZPPtr1 - bcc .1 - - inc ZPPtr1+1 + jsr OBJ.NextLinePtr1 bra .1 .8 clc @@ -987,6 +970,30 @@ OBJ.GetLineXAtY jsr OBJ.GetpBufPtr1 .9 sec rts *-------------------------------------- +OBJ.NextLinePtr1 + ldy #$ff + +.1 iny + lda (ZPPtr1),y + bne .1 + + tya + beq .9 Empty Line + + sec + adc ZPPtr1 + sta ZPPtr1 + bcc .8 + + inc ZPPtr1+1 + + clc + +.8 rts + +.9 sec + rts +*-------------------------------------- MAN SAVE usr/src/lib/libtui.s.obj LOAD usr/src/lib/libtui.s diff --git a/LIB/LIBTUI.S.RADIO.txt b/LIB/LIBTUI.S.RADIO.txt index 6f3ee8f5..6b86a612 100644 --- a/LIB/LIBTUI.S.RADIO.txt +++ b/LIB/LIBTUI.S.RADIO.txt @@ -30,29 +30,11 @@ RADIO.New lda #S.OBJ.T.RADIO ldx #0 -.1 ldy #$ff - -.2 iny - lda (ZPPtr1),y - clc - beq .20 - - cmp #C.CR - bne .2 +.1 jsr OBJ.NextLinePtr1 + bcs .5 empty line -* sec - -.20 tya - beq .5 empty line - - adc ZPPtr1 - sta ZPPtr1 - bcc .3 - - inc ZPPtr1+1 - -.3 tya - clc + tya +* clc adc #5 room for " ( ) " ldy #S.OBJ.W cmp (ZPObjPtr),y @@ -192,6 +174,7 @@ RADIO.Draw lda (pStack) Relative Y bra .13 .11 lda #C.SPACE + .13 jsr LB.COut ldx #')'