Exemple #1
0
void windowing02( ) {

  WIN win;
  int ch;

  init_pair( 5, COLOR_CYAN, COLOR_BLACK );

  // erase the text on the window
  erase( );
  move( 0, 0 );

  // Assign border characters and starting width/height/position
  init_win_params( &win );
  print_win_params( &win );

  // Draw bold backgrounded text at the top of the screen
  attron( COLOR_PAIR(5) | A_BOLD );
  printw( "Press X to exit" );
  refresh( );
  attroff( COLOR_PAIR(5) | A_BOLD );
  attrset( A_NORMAL );

  // Draw the box onto the screen
  create_box( &win );
  // While the input character isn't an x, perform some actions
  while( (ch = getch()) != 'x' ) {
    // Use the keyboard keys to "move" the box (destroy and recreate it)
    switch ( ch ) {
      case KEY_LEFT:
        destroy_box( &win );
        win.startx--;
        create_box( &win );
        break;
      case KEY_RIGHT:
        destroy_box( &win );
        win.startx++;
        create_box( &win );
        break;
      case KEY_UP:
        destroy_box( &win );
        win.starty--;
        create_box( &win );
        break;
      case KEY_DOWN:
        destroy_box( &win );
        win.starty++;
        create_box( &win );
        break;
      default:
        break;
    }
  }

  return;
}
Exemple #2
0
int init_gui()
{	WIN win;
	int ch;
        int i;
        char ** files;

	initscr();			/* Start curses mode 		*/
	start_color();			/* Start the color functionality */
	cbreak();			/* Line buffering disabled, Pass on
					 * everty thing to me 		*/
	keypad(stdscr, TRUE);		/* I need that nifty F1 	*/
	noecho();
	init_pair(1, COLOR_CYAN, COLOR_BLACK);
        init_pair(2, COLOR_GREEN, COLOR_BLACK);

	/* Initialize the window parameters */
	init_win_params(&win);
	print_win_params(&win);

	attron(COLOR_PAIR(1));
        printw("F2: Ouvrir un fichier");
        printw("\t F3: Lancer l'émulation");
	printw("\t F5: Quitter");
        attron(A_BOLD);
        attron(COLOR_PAIR(2));
        char chaine[]="Welcome to ProcSI emulator";
        mvprintw((LINES/2) -3,(COLS-strlen(chaine))/2,chaine);
        attroff(A_BOLD);
	refresh();
	attroff(COLOR_PAIR(1));
	
	create_box(&win, TRUE);
        draw_menu(choices, execute_main_menu, "", 3);
        
	while((ch = getch()) != KEY_F(5))
	{
            switch(ch)
	    {	case KEY_F(5):
                        mvprintw(LINES-2, 0, "Exiting...");
                        endwin();			/* End curses mode		  */
                        exit(0);
            
                case KEY_F(2):
                        files = list_file("", &i);
                        draw_menu(files, execute_file_menu, "", i);
            }
            
	}
	endwin();			/* End curses mode		  */
	return 0;
}
Exemple #3
0
int main( int argc, char *argv[] )
{
  WIN win;
  int ch;

  initscr();               // start CURSES mode
  start_color();           // start color functionality
  cbreak();                // disable line buffering
  keypad( stdscr, TRUE );  // enable Fx notify
  noecho();
  init_pair( 1, COLOR_CYAN, COLOR_BLACK );

  init_win_params( &win ); // initialize window parameter
  print_win_params( &win );

  attron( COLOR_PAIR( 1 ) );
  printw( "Press F12 to exit" );
  refresh();
  attroff( COLOR_PAIR( 1 ) );

  create_box( &win, TRUE );
  while( ( ch = getch() ) != KEY_F( 12 ) ) {
    switch( ch ) {
    case KEY_LEFT:
      create_box( &win, FALSE );
      --win.startx;
      create_box( &win, TRUE );
      break;
    case KEY_RIGHT:
      create_box( &win, FALSE );
      ++win.startx;
      create_box( &win, TRUE );
      break;
    case KEY_UP:
      create_box( &win, FALSE );
      --win.starty;
      create_box( &win, TRUE );
      break;
    case KEY_DOWN:
      create_box( &win, FALSE );
      ++win.starty;
      create_box( &win, TRUE );
      break;
    }
  }

  endwin();         // end CURSES mode

  return 0;
}
Exemple #4
0
int main(int argc, char *argv[])
{	WIN win;
	int ch;

	initscr();			/* Start curses mode 		*/
	start_color();			/* Start the color functionality */
	cbreak();			/* Line buffering disabled, Pass on
					 * everty thing to me 		*/
	keypad(stdscr, TRUE);		/* I need that nifty F1 	*/
	noecho();
	init_pair(1, COLOR_CYAN, COLOR_BLACK);

	/* Initialize the window parameters */
	init_win_params(&win);
	print_win_params(&win);

	attron(COLOR_PAIR(1));
	printw("Press F1 to exit");
	refresh();
	attroff(COLOR_PAIR(1));
	
	create_box(&win, TRUE);
	while((ch = getch()) != KEY_F(1))
	{	switch(ch)
		{	case KEY_LEFT:
				create_box(&win, FALSE);
				--win.startx;
				create_box(&win, TRUE);
				break;
			case KEY_RIGHT:
				create_box(&win, FALSE);
				++win.startx;
				create_box(&win, TRUE);
				break;
			case KEY_UP:
				create_box(&win, FALSE);
				--win.starty;
				create_box(&win, TRUE);
				break;
			case KEY_DOWN:
				create_box(&win, FALSE);
				++win.starty;
				create_box(&win, TRUE);
				break;	
		}
	}
	endwin();			/* End curses mode		  */
	return 0;
}
int main(int argc, char const *argv[]) {
    WIN win;
    int ch;

    initscr();
    start_color();
    cbreak();

    keypad(stdscr, TRUE);
    noecho();
    init_pair(1, COLOR_CYAN, COLOR_BLACK);

    init_win_params(&win);
    print_win_params(&win);

    attron(COLOR_PAIR(1));
    printw("Press F1 to exit");
    refresh();
    attroff(COLOR_PAIR(1));

    create_box(&win, TRUE);
    while ((ch = getch()) != KEY_F(1)) {
        switch (ch) {
        case KEY_LEFT:
            create_box(&win, FALSE);
            --win.startx;
            create_box(&win, TRUE);
            break;
        case KEY_RIGHT:
            create_box(&win, FALSE);
            ++win.startx;
            create_box(&win, TRUE);
            break;
        case KEY_UP:
            create_box(&win, FALSE);
            --win.starty;
            create_box(&win, TRUE);
            break;
        case KEY_DOWN:
            create_box(&win, FALSE);
            ++win.starty;
            create_box(&win, TRUE);
            break;
        }
    }

    endwin();
    return 0;
}
Exemple #6
0
void printWin(int arr[HIGHT][WIDTH])
{
    init_pair(1, COLOR_RED, COLOR_BLACK);
    init_pair(2, COLOR_GREEN, COLOR_BLACK);
    init_pair(3, COLOR_YELLOW, COLOR_BLACK);
    init_pair(4, COLOR_BLUE, COLOR_BLACK);
    init_pair(5, COLOR_MAGENTA, COLOR_BLACK);
    init_pair(6, COLOR_CYAN, COLOR_BLACK);
    init_pair(7, COLOR_WHITE, COLOR_BLACK);

    init_pair(8, COLOR_WHITE, COLOR_YELLOW);

    WIN win[HIGHT][WIDTH];
    int i, j;
    for(i = 0; i < HIGHT; i++)
    {
        for(j = 0; j < WIDTH; j++)
        {
            int offset;
            WIN *thewin = &win[i][j];
            init_win_params(&win[i][j], j-3, i-3);
            print_win_params(&win[i][j]);
            attron(COLOR_PAIR(7));
            create_box(&win[i][j], TRUE);
            attroff(COLOR_PAIR(7));
            mvprintw(thewin->starty + WINY/2 , thewin->startx + WINX/2-4,"%s", "         ");
            if(arr[i][j] == 0){
                attron(COLOR_PAIR(1));
                offset = 0;
            } else {
                attron(COLOR_PAIR((int)log2((double)arr[i][j])%7 + 1));
                offset = (int)(log10((double)arr[i][j])/2);
            }
            mvprintw(thewin->starty + WINY/2 , thewin->startx + WINX/2-offset,"%d", arr[i][j]);
            if(arr[i][j] == 0){
                attroff(COLOR_PAIR(1));
            } else {
                attroff(COLOR_PAIR((int)log2((double)arr[i][j])%7 + 1));
            }
            mvprintw(10,10,"%s%d","Your Score: ", SCORE);
            move(1000,10000);
        }
    }
    refresh();
}
Exemple #7
0
int main(int argc, char *argv[])
{
	//initialize global variable
	index1=0; // index of movie list
	index2=0; // index of smi list
	index_inside_movie=TRUE;

	// initialize varables
	int ch;
	WIN win;	
	WIN win2;
	WINDOW *popup_win;
	
	// init ncurses window
	initscr();
	cbreak();
	//raw();
	keypad(stdscr, TRUE);
	noecho();
	curs_set(0);
	if(has_colors() == FALSE) { endwin();
		printf("Your terminal does not support color\n");
		exit(1);
	}
	start_color();
	init_pair(1, COLOR_BLACK, COLOR_WHITE);
	init_pair(2, COLOR_BLACK, COLOR_YELLOW);

	// print headline
	int start_line_number = print_headline();

	// load local files.
	loadFiles(".");

	// sorting
	std::sort(vMovieFiles.begin(), vMovieFiles.end(), sortOp);
	std::sort(vSmiFiles.begin(), vSmiFiles.end(), sortOp);

	// listFiles return 0 when no error
	if(listFiles() == 0)
	{

	init_win_params(&win, start_line_number+2, 0, 0, vMovieFiles.size() + 1);
	init_win_params(&win2, start_line_number+3+vMovieFiles.size()+3, 0, 0, vSmiFiles.size() + 1);
	create_box(&win, TRUE,1);
	create_box2(&win2, TRUE,1);

	while( (ch = getch()) != 'q')
	{
		switch(ch)
		{

			case 'j':
			case KEY_DOWN:
				{
					create_box(&win, FALSE,1);
					create_box(&win2, FALSE,1);

					if(index_inside_movie == TRUE) {
						if(index1 == vMovieFiles.size()-1) {
							index1 = 0;
						} else
						{
							index1++;
						}
					} else {
						if(index2 == vSmiFiles.size()-1) {
							index2 =0;
						} else
						{
							index2++;
						}
					}
					create_box(&win, TRUE,1);
					create_box2(&win2, TRUE,1);
					break;
				}
				
			case 'k':
			case KEY_UP:
				{
					create_box(&win, FALSE,1);
					create_box(&win2, FALSE,1);

					if(index_inside_movie == TRUE) {
						if(index1 == 0) {
							index1 = vMovieFiles.size()-1;
						} else
						{
							index1--;
						}
					} else {
						if(index2 == 0) {
							index2 = vSmiFiles.size()-1;
						} else
						{
							index2--;
						}
					}
					create_box(&win, TRUE,1);
					create_box2(&win2, TRUE,1);
					break;
				}

			case '\t':
			case KEY_BTAB:
				{
					index_inside_movie = !index_inside_movie; 
					create_box(&win, TRUE,1);
					create_box2(&win2, TRUE,1);
					break;
				}
			case 'd':
				{
					std::string popup_msg = "delete?(d/esc)";
					popup_win = create_win(3, popup_msg.length()+3, start_line_number+5,(int)COLS/2-popup_msg.length(),popup_msg);
					wrefresh(popup_win);
					
					int ch2;
					while( (ch2=getch()) != 'e')
					{
						switch(ch2)
						{
							case 'd':
							{
								if(index_inside_movie)
								{
									std::vector<std::string>::iterator iter1=vMovieFiles.begin();
								if(vMovieFiles.size()!=1){
									if(index1 == vMovieFiles.size()-1){
										vMovieFiles.erase(iter1 + index1);
										index1--;
									} else
										vMovieFiles.erase(iter1 + index1);
								}
								start_line_number = print_headline();
								init_win_params(&win, start_line_number+2, 0, 0, vMovieFiles.size() + 1);
								init_win_params(&win2, start_line_number+3+vMovieFiles.size()+3, 0, 0, vSmiFiles.size() + 1);

								} else
								{
									std::vector<std::string>::iterator iter2=vSmiFiles.begin();
								if(vSmiFiles.size()!=1){
									if(index2 == vSmiFiles.size()-1){
										vSmiFiles.erase(iter2 + index2);
										index2--;
									} else
										vSmiFiles.erase(iter2 + index2);
								}
								start_line_number = print_headline();
								init_win_params(&win, start_line_number+2, 0, 0, vMovieFiles.size() + 1);
								init_win_params(&win2, start_line_number+3+vMovieFiles.size()+3, 0, 0, vSmiFiles.size() + 1);

								}
								break;
							}
							case 'e':
							{
								delwin(popup_win);
								break;
							}
						} // switch
						if(ch2 == 'd')
							break;
					} //while

					clear();
					int start_line_number = print_headline();
					create_box(&win, TRUE,1);
					create_box2(&win2, TRUE,1);

					break;
				} // case d

			case ' ': //case space for selection to move
				{
					
					create_box(&win, TRUE,2);
					create_box2(&win2, TRUE,2);
					wrefresh(stdscr);

					std::string popup_msg = "down/up/esc?(j/k/e)";
					popup_win = create_win(3, popup_msg.length()+3, start_line_number+5,(int)COLS/2-popup_msg.length()/2,popup_msg);
					wrefresh(popup_win);
					
					int ch3;
					while( (ch3=getch()) != 'e')
					{
						switch(ch3)
						{
							case 'j':
							case KEY_DOWN:
							{
								swapVector(true);
								break;
							}
							case 'k':
							case KEY_UP:
							{
								swapVector(false);
								break;
							}
							case 'e':
							{
								delwin(popup_win);
								break;
							}
						} // end of switch	
						
					if(ch3 == 'j' || ch3 == 'k' || ch3 == KEY_DOWN || ch3 == KEY_UP)
						break;
					} // while

					clear();
					int start_line_number = print_headline();
					create_box(&win, TRUE,1);
					create_box2(&win2, TRUE,1);

					break; //end of case space
				} // case space

			case 'y':
				{

					// if counts are mismatched
					if(vMovieFiles.size() != vSmiFiles.size())
					{
						std::string popup_msg = "Mismatch Error! (e)";
						popup_win = create_win(3, popup_msg.length()+3, start_line_number+5,(int)COLS/2-popup_msg.length()/2,popup_msg);
						wrefresh(popup_win);

						int ch5;
						while ( (ch5=getch()) != 'e')
						{
							switch(ch5)
							{
								case 'e':
								{
									delwin(popup_win);
									break;
								}
							}
							if(ch5 == 'e')
								break;
						}

						clear();
						int start_line_number = print_headline();
						create_box(&win, TRUE,1);
						create_box2(&win2, TRUE,1);
						break;
					} // end of if statement = counts are mismatched

					std::string popup_msg = "confirm?(m)ovies (s)ubtitle(m/s/e)";
					popup_win = create_win(3, popup_msg.length()+3, start_line_number+5,(int)COLS/2-popup_msg.length()/2,popup_msg);
					wrefresh(popup_win);
					
					int ch4;
					while( (ch4=getch()) != 'e')
					{
						switch(ch4)
						{
							case 'm':
							{
								int err = renameSmiFiles();
								std::cout << "err: " << err << std::endl;
								break;
							}
							case 's':
							{
								int err = renameAviFiles();
								std::cout << "err: " << err << std::endl;
								break;
							}
							case 'e':
							{
								delwin(popup_win);
								break;
							}
						} // end of switch	
					if(ch4 == 'm' || ch4 == 's')
						break;
					} // while

					// rename it then files reloading
					// load local files.
					loadFiles(".");

					// sorting
					std::sort(vMovieFiles.begin(), vMovieFiles.end(), sortOp);
					std::sort(vSmiFiles.begin(), vSmiFiles.end(), sortOp);

					clear();
					init_win_params(&win, start_line_number+2, 0, 0, vMovieFiles.size() + 1);
					init_win_params(&win2, start_line_number+3+vMovieFiles.size()+3, 0, 0, vSmiFiles.size() + 1);
					int start_line_number = print_headline();
					create_box(&win, TRUE,1);
					create_box2(&win2, TRUE,1);

					break; // end of case y
				} // case y
		} // switch
	} // while
		
	}
	else
	{
		endwin();
		std::cout << "You don't have No relative files... Bye..." << std::endl;	
		return 1;
	}
	
	// delete ncurses window
	endwin();

	return 0;
} //end of main