/* * setupScroolBar - setup the size and position of the vertical scrollbar */ static void setupScrollBar( SAREA *use ) { vGadget.start = use->row + 1; vGadget.end = vGadget.start + use->height - 1; vGadget.anchor = helpScreen.area.width + 1; vGadget.win = &helpScreen; vGadget.total_size = helpLines; vGadget.page_size = use->height; vGadget.pos = 0; vGadget.slider = EV_SCROLL_VERTICAL; uiinitgadget( &vGadget ); }
a_list_info *uibeglistbox( VSCREEN *vs, SAREA *area, a_list *list ) { a_list_info *box; unsigned maxline; box = uicalloc( 1, sizeof( a_list_info ) ); if( box == NULL ) { return( NULL ); } if( list->get == NULL ) { list->get = ( bool (*) ( void *, unsigned, char *, unsigned ) ) uigetlistelement; } box->vs = vs; box->area = *area; box->line = list->choice; box->row = list->choice; box->attr = ATTR_EDIT; maxline = uilistsize( list ); box->gadget.win = box->vs; // Initialize gadget box->gadget.dir = VERTICAL; box->gadget.anchor = box->area.col + box->area.width + 1; box->gadget.start = box->area.row + 1; box->gadget.end = box->area.row + box->area.height; box->gadget.forward = EV_SCROLL_LINE_DOWN; box->gadget.backward = EV_SCROLL_LINE_UP; box->gadget.slider = EV_SCROLL_VERTICAL, box->gadget.pageforward = EV_SCROLL_PAGE_DOWN; box->gadget.pagebackward = EV_SCROLL_PAGE_UP; box->gadget.total_size = (int)maxline; if( box->gadget.total_size < (int)box->area.height ) box->gadget.total_size = (int)box->area.height; box->gadget.page_size = box->area.height; box->gadget.pos = 0; box->gadget.flags = GADGET_NONE; uiinitgadget( &box->gadget ); list->box = box; setstartline( list ); uipaintlistbox( list ); return( box ); }