示例#1
0
/* 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);
}
示例#2
0
文件: explorer.c 项目: Mbaroudi/junk
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