toolbox pour des tui - retour accueil
git clone git://bebou.netlib.re/tuit
Log | Files | Refs |
commit c99c11b1a70c4cb42c33df353e129b97f20b56fb parent ae9096deb07b102539d545fdf0fad94866add98e Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Thu, 12 Jun 2025 22:23:24 +0200 ishown -> filtered Diffstat:
M | choose.c | | | 30 | +++++++++++++++--------------- |
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/choose.c b/choose.c @@ -28,20 +28,20 @@ int main(int argc, char **argv) { tb_set_input_mode(TB_INPUT_ESC | TB_INPUT_MOUSE); struct tb_event ev; char buf[7]; buf[0]='\0'; - signed int ishown[count+1]; - ishown[count]=-1; - for (int i=0;i<count;i++) ishown[i]=i; + signed int filtered[count+1]; + filtered[count]=-1; + for (int i=0;i<count;i++) filtered[i]=i; while(1) { tb_clear(); tb_printf(0,0,TB_DEFAULT,TB_DEFAULT,"> %s",buf); int y=1; for (int i=0;i<tb_height();i++) { - if(ishown[i+start]==-1) break; + if(filtered[i+start]==-1) break; if (i==curline-2) - tb_printf(0,y++,TB_BLACK,TB_WHITE,"> %s",list[ishown[i+start]]); + tb_printf(0,y++,TB_BLACK,TB_WHITE,"> %s",list[filtered[i+start]]); else - tb_printf(0,y++,TB_DEFAULT,TB_DEFAULT," %s",list[ishown[i+start]]); + tb_printf(0,y++,TB_DEFAULT,TB_DEFAULT," %s",list[filtered[i+start]]); } tb_present(); tb_poll_event(&ev); @@ -61,13 +61,13 @@ int main(int argc, char **argv) { case 65517: if(curline==2) start=max(0,start-1); curline=max(2,curline-1); - curelem=ishown[curline+start-2]; + curelem=filtered[curline+start-2]; break; /* down */ case 65516: if(curline==tb_height()) start=start+1; curline=min(count+1,min(tb_height(),curline+1)); - curelem=ishown[curline+start-2]; + curelem=filtered[curline+start-2]; break; /* pageup and pagedown */ case 65519: @@ -89,10 +89,10 @@ int main(int argc, char **argv) { buf[tb_utf8_unicode_to_char(buf, ev.ch)] = '\0'; start=0; int j=0; for (int i=0;i<count;i++) - if (strchr(list[i],buf[0])) { ishown[j]=i; j++; } - ishown[j]=-1; + if (strchr(list[i],buf[0])) { filtered[j]=i; j++; } + filtered[j]=-1; curline=2; - curelem=ishown[0]; + curelem=filtered[0]; default: break; } @@ -101,23 +101,23 @@ int main(int argc, char **argv) { switch(ev.key) { case 65512: /*MouseLeft*/ curline=min(ev.y,count)+1; - curelem=ishown[curline+start-2]; + curelem=filtered[curline+start-2]; break; case 65511: /*MouseRight*/ curline=min(ev.y,count)+1; - curelem=ishown[curline+start-2]; + curelem=filtered[curline+start-2]; tb_shutdown(); printf("%s",list[curelem]); return 0; case 65508: /*MouseWheelUp*/ if(curline==2) start=max(0,start-1); curline=max(2,curline-1); - curelem=ishown[curline+start-2]; + curelem=filtered[curline+start-2]; break; case 65507: /*MouseWheelDown*/ if(curline==tb_height()) start=start+1; curline=min(count+1,min(tb_height(),curline+1)); - curelem=ishown[curline+start-2]; + curelem=filtered[curline+start-2]; break; } }