/* The main window (title, tabs, footer) */ static void main_win(WINDOW *win, const SizeInfo info, Labels *data) { int i, cpt = 2; if(opts->color) { init_pair(DEFAULT_COLOR, COLOR_BLACK, COLOR_WHITE); wattrset(win, COLOR_PAIR(DEFAULT_COLOR)); } wclrscr(win); box(win, 0 , 0); mvwprintwc(win, TITLE_LINE, info.width / 2 - strlen(PRGNAME) / 2, TITLE_COLOR, PRGNAME); mvwprintwc(win, HEADER_LINE, 2, DEFAULT_COLOR, PRGNAME); mvwprintwc(win, HEADER_LINE, info.width / 2, DEFAULT_COLOR, data->tab_about[VERSIONSTR]); for(i = 1; i < info.width - 1; i++) mvwprintwc(win, TABS_LINE, i, INACTIVE_TAB_COLOR, " "); for(i = NO_CPU; i <= NO_ABOUT; i++) { if(i == page && opts->color) mvwprintwc(win, TABS_LINE, cpt, ACTIVE_TAB_COLOR, data->objects[i]); else if(i == page && !opts->color) mvwprintw(win, TABS_LINE, cpt++, "[%s]", data->objects[i]); else mvwprintwc(win, TABS_LINE, cpt, INACTIVE_TAB_COLOR, data->objects[i]); cpt += strlen(data->objects[i]) + 2; } wrefresh(win); }
void drawExplorer(WINDOW *window, struct filelist *dir_list[], int item, int max_item) /*! \brief Draw the list of files in explorer window * * \param window pointer to explorer window * \param dir_list array of pointers to all directory objects * \param item number of selected item in dir_list array * \param max_item the last item in dir_list array */ { int i, tmp, maxy, maxx; getmaxyx(window, maxy, maxx); wattrset(window, COLOR_PAIR(EXPLORER_COLOR) | WA_BOLD); wclrscr(window); tmp = item>maxy-15 ? item-maxy+15 : 0; for (i=tmp; (i<=max_item)&&(i<tmp+maxy-2); i++) { switch (dir_list[i]->f_type) { case 'd': if (i==item) wattrset(window, COLOR_PAIR(EXPLORER_DIR_SEL_COLOR) | WA_BOLD); else wattrset(window, COLOR_PAIR(EXPLORER_DIR_COLOR) | WA_BOLD); if (dir_list[i]->is_selected) mvwprintw(window,i+1-tmp,1, " </%s> ",dir_list[i]->f_name); else mvwprintw(window,i+1-tmp,1, " /%s ",dir_list[i]->f_name); break; case 'f': if (i==item) wattrset(window, COLOR_PAIR(EXPLORER_SEL_COLOR) | WA_BOLD); else wattrset(window, COLOR_PAIR(EXPLORER_COLOR) | WA_BOLD); if (dir_list[i]->is_selected) mvwprintw(window,i+1-tmp,1, " <%s> ",dir_list[i]->f_name); else mvwprintw(window,i+1-tmp,1, " %s ",dir_list[i]->f_name); break; case 'm': if (i==item) wattrset(window, COLOR_PAIR(EXPLORER_MEDIA_SEL_COLOR) | WA_BOLD); else wattrset(window, COLOR_PAIR(EXPLORER_MEDIA_COLOR) | WA_BOLD); if (dir_list[i]->is_selected) mvwprintw(window,i+1-tmp,1, " <%s> ",dir_list[i]->f_name); else mvwprintw(window,i+1-tmp,1, " %s ",dir_list[i]->f_name); break; } // mvwprintw(window,i+1-tmp,60," %c ",dir_list[i]->f_type); //for debug only!! // mvwprintw(window,i+1-tmp,70," %d ",dir_list[i]->is_selected); //for debug only!! } redrawWindow(window); }//drawExplorer