taro-ls: generalize nav_list_by_key
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmQgv9EACgkQO3+8IhRO Y5gX0Q/+Mz9HDeHM9dYA+gsiL423dxCNm0rcx6FszlpQ6jN2XKfwNyqzxbQTy6/X tvlDOPctzTAwvejkpqLIQuH7TqVVXuDVrYnTPabnMlZWW+g/oxjJkFuz9mew9UD/ ZSUOUuSadBbpm0NTUp0N2sT7yQbL4rHnbXHzYQVuF59znOLpn+skWhkHIXFhQDgh NWM7mKxLYgTa0mOQ3Yd0tNcPvpj1mnQ27AvYvLptbXv2IyGvWH3fWcP8voCRqGtG 4R3bhx+0ZBTAMXzpqok4cI7z5fJR1lFCsaeZlgdB839byNsf9/wyHBSf1J7x4s5u gJTEESYrXA21G1owyTlvL5ncmR68o12qUPPMUCgTQr1A6P0DkoFHWMIFDkg9EQlM DP7JjATq1o19kXPjsqbURWFSt1by22VL+iHOrKrhS1QjdD8p5VJoVooCFsB6U9/u O9fmgDZ2qissCLU0I0Y3iqJgkrNlaj5r38Lc/FqZNF+lLXTKJXwuaVENpRjMqlmI oPRvtr+A1if/aRG8j3PKxPcoGIDBSRvEg/Qx/GbELZ/DlTKcE5uxlduB8dQvjJuM NURJTS97y8TaXrEHgOa5vG349/FT2DNNYKxV3Z+pqwGfR+4Pm+sWc85GsS6dHAXz PwFAoVKZwUtQ+oeKqDoUgxXA6i8tV26sfnVYIe987JOfiR2jGuU= =fltU -----END PGP SIGNATURE-----
1 files changed,
18 insertions(+),
17 deletions(-)
jump to
M
taro-ls.tal
→
taro-ls.tal
@@ -328,7 +328,7 @@ DUP #0d NEQ ,&no_reader JCN
send_reader &no_reader DUP #09 NEQ ,&no_tab JCN - change_mbox_by_key + ;mbox_select_handler .mboxes [ .Controller/button DEI #04 AND ] nav_list_by_key &no_tab &check_btns POP@@ -339,31 +339,32 @@ DUP #20 NEQ ,&no_down JCN
&no_down BRK -@change_mbox_by_key ( -> ) - .Controller/button DEI #04 AND ,&back JCN +@nav_list_by_key ( onchange* list up? -- ) + ,&back JCN ( fwd ) - .mboxes/select_index LDZ2 INC2 .mboxes/len LDZ2 NEQ2 ,&can_go_fwd JCN + STHk LB_SELECT_IDX LDZ2 INC2 STHkr LB_LEN LDZ2 NEQ2 ,&can_go_fwd JCN ( jump to first ) - #0000 .mboxes/select_index STZ2 - #0000 .mboxes/top STZ2 - ,&end JMP + #0000 STHkr LB_SELECT_IDX STZ2 + #0000 STHkr LB_TOP STZ2 + ,&no_scroll_down JMP &can_go_fwd - .mboxes/select_index LDZ2 INC2 .mboxes/select_index STZ2 - .mboxes/select_index LDZ2 #00 .mboxes/height LDZ .mboxes/top LDZ2 ADD2 LTH2 ,&no_scroll_down JCN - .mboxes/top LDZ2 INC2 .mboxes/top STZ2 + STHkr LB_SELECT_IDX LDZ2 INC2 STHkr LB_SELECT_IDX STZ2 + STHkr LB_SELECT_IDX LDZ2 #00 STHkr LB_HEIGHT LDZ STHkr LB_TOP LDZ2 ADD2 LTH2 ,&no_scroll_down JCN + STHkr LB_TOP LDZ2 INC2 STHkr LB_TOP STZ2 &no_scroll_down ,&end JMP &back - .mboxes/select_index LDZ2 #0000 NEQ2 ,&can_go_back JCN - .mboxes/len LDZ2 #0001 SUB2 .mboxes/select_index STZ2 - .mboxes/len LDZ2 #00 .mboxes/height LDZ SUB2 .mboxes/top STZ2 + STHk LB_SELECT_IDX LDZ2 #0000 NEQ2 ,&can_go_back JCN + STHkr LB_LEN LDZ2 #0001 SUB2 STHkr LB_SELECT_IDX STZ2 + STHkr LB_LEN LDZ2 #00 STHkr LB_HEIGHT LDZ SUB2 STHkr LB_TOP STZ2 ,&end JMP &can_go_back - .mboxes/select_index LDZ2 #0001 SUB2 .mboxes/select_index STZ2 - .mboxes/select_index LDZ2 INC2 .mboxes/top LDZ2 GTH2 ,&no_scroll_up JCN - .mboxes/top LDZ2 #0001 SUB2 .mboxes/top STZ2 + STHkr LB_SELECT_IDX LDZ2 #0001 SUB2 STHkr LB_SELECT_IDX STZ2 + STHkr LB_SELECT_IDX LDZ2 INC2 STHkr LB_TOP LDZ2 GTH2 ,&no_scroll_up JCN + STHkr LB_TOP LDZ2 #0001 SUB2 STHkr LB_TOP STZ2 &no_scroll_up ,&end JMP &end - .mboxes mbox_select_handler + ( onchange ) + STHr ROT ROT JSR2 #01 .refresh/mboxes STZ #01 .refresh/list STZ JMP2r